summaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-01-10 01:38:41 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-01-10 01:38:41 +0000
commit0f09c9f5ac4017f4accda3691832e71ba7158c2c (patch)
tree161809182317eec31084007020362bf64dcc23e2 /lib/CodeGen/AsmPrinter/DwarfUnit.cpp
parentd9615670b7d2b6b43d19d6e8706e9d504f91030e (diff)
downloadllvm-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.cpp4
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) {