Module Debugging: Use the clang module signature as the module's dwo_id

when building a module. Clang already records the module signature when
building a skeleton CU to reference a clang module.

Matching the id in the skeleton with the one in the module allows a DWARF
consumer to verify that they found the correct version of the module
without them needing to know about the clang module format.

llvm-svn: 248345
This commit is contained in:
Adrian Prantl
2015-09-22 23:26:43 +00:00
parent adbd2b1f32
commit a5206ce72a
8 changed files with 27 additions and 8 deletions

View File

@@ -142,7 +142,6 @@ public:
CodeGenOpts.ThreadModel = "single";
CodeGenOpts.DebugTypeExtRefs = true;
CodeGenOpts.setDebugInfo(CodeGenOptions::FullDebugInfo);
CodeGenOpts.SplitDwarfFile = OutputFileName;
}
~PCHContainerGenerator() override = default;
@@ -201,6 +200,7 @@ public:
M->setTargetTriple(Ctx.getTargetInfo().getTriple().getTriple());
M->setDataLayout(Ctx.getTargetInfo().getDataLayoutString());
Builder->getModuleDebugInfo()->setDwoId(Buffer->Signature);
// Finalize the Builder.
if (Builder)