On Tue, Aug 11, 2015 at 1:49 PM, Adrian Prantl <apra...@apple.com> wrote:
> aprantl created this revision. > aprantl added reviewers: dblaikie, echristo. > aprantl added a subscriber: cfe-commits. > aprantl set the repository for this revision to rL LLVM. > > This patch adds a -gmodules option to the driver and a -dwarf-ext-refs to > cc1 to enable the use of external type references in the debug info (a.k.a. > module debugging). > > The driver expands -gmodules to "-g -fmodule-format=obj -dwarf-ext-refs" > and passes that to cc1. > Most options that start with -g (e.g., -gdwarf-2) also turn on -g, and > module requires object-container-wrapped modules, "-dwarf-ext-refs" been > the actual low-level option for turning on external type references. > > Rationale for the choice of names (and this is really all there is to > review in this patch): > "-gmodules": is meant to pair nicely with "-fmodules" > "-dwarf-ext-refs": Fits into the naming scheme of similar options like > "-dwarf-column-info" and "-dwarf-debug-flags". Spelling out the option > "-dwarf-external-type-references" seemed to be overkill. > Sounds reasonable - and the flag will be for more than just types eventually anyway (specifically references to members (functions, etc) of types too). > All this does at the moment is set a flag codegenopts. Having this flag in > place is a prerequisite for emitting debug info into modules: The debug > info for a module needs to use external type references for types defined > in (other) modules or we would violate the minimal deserialization > requirements (cf. test/PCH/check-deserializations.cpp). > Could you explain what you mean by "violate the minimal deserialization requirements" Mechanically, the patch looks fine/exactly what you'd expect. Feel free to commit whenever you're ready. > > Repository: > rL LLVM > > http://reviews.llvm.org/D11958 > > Files: > docs/CommandGuide/clang.rst > include/clang/Driver/CC1Options.td > include/clang/Driver/Options.td > include/clang/Frontend/CodeGenOptions.def > lib/CodeGen/CGDebugInfo.cpp > lib/CodeGen/CGDebugInfo.h > lib/CodeGen/ObjectFilePCHContainerOperations.cpp > lib/Driver/Tools.cpp > lib/Frontend/CompilerInvocation.cpp > test/Driver/debug-options.c > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits