diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-01-10 01:38:41 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-01-10 01:38:41 +0000 |
commit | 0f09c9f5ac4017f4accda3691832e71ba7158c2c (patch) | |
tree | 161809182317eec31084007020362bf64dcc23e2 /lib/CodeGen/AsmPrinter/DwarfUnit.cpp | |
parent | d9615670b7d2b6b43d19d6e8706e9d504f91030e (diff) | |
download | llvm-0f09c9f5ac4017f4accda3691832e71ba7158c2c.tar.gz llvm-0f09c9f5ac4017f4accda3691832e71ba7158c2c.tar.bz2 llvm-0f09c9f5ac4017f4accda3691832e71ba7158c2c.tar.xz |
Revert "Revert r198851, "Prototype of skeleton type units for fission""
This reverts commit r198865 which reverts r198851.
ASan identified a use-of-uninitialized of the DwarfTypeUnit::Ty variable
in skeleton type units.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198908 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfUnit.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index b066c95fe9..7cf66954e4 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -1987,7 +1987,9 @@ void DwarfTypeUnit::emitHeader(const MCSection *ASection, Asm->OutStreamer.AddComment("Type Signature"); Asm->OutStreamer.EmitIntValue(TypeSignature, sizeof(TypeSignature)); Asm->OutStreamer.AddComment("Type DIE Offset"); - Asm->OutStreamer.EmitIntValue(Ty->getOffset(), sizeof(Ty->getOffset())); + // In a skeleton type unit there is no type DIE so emit a zero offset. + Asm->OutStreamer.EmitIntValue(Ty ? Ty->getOffset() : 0, + sizeof(Ty->getOffset())); } void DwarfTypeUnit::initSection(const MCSection *Section) { |