summaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-01-03 00:48:38 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-01-03 00:48:38 +0000
commit58b28147c5531250268038039f00ecaad421dcd1 (patch)
treed272349227b1e6ee5d6ea6d7a136564d98561624 /lib/CodeGen
parent303421884aee881b93ca3717f0bac82a04604d33 (diff)
downloadllvm-58b28147c5531250268038039f00ecaad421dcd1.tar.gz
llvm-58b28147c5531250268038039f00ecaad421dcd1.tar.bz2
llvm-58b28147c5531250268038039f00ecaad421dcd1.tar.xz
Reverting r193835 due to weirdness with Go...
Apologies for the noise - we're seeing some Go failures with cgo interacting with Clang's debug info due to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198385 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfUnit.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
index 17eb5037d4..93df498377 100644
--- a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
@@ -1875,9 +1875,6 @@ void DwarfUnit::constructMemberDIE(DIE &Buffer, DIDerivedType DT) {
addSourceLine(MemberDie, DT);
- DIEBlock *MemLocationDie = new (DIEValueAllocator) DIEBlock();
- addUInt(MemLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_plus_uconst);
-
if (DT.getTag() == dwarf::DW_TAG_inheritance && DT.isVirtual()) {
// For C++, virtual base classes are not at fixed offset. Use following
@@ -1922,7 +1919,11 @@ void DwarfUnit::constructMemberDIE(DIE &Buffer, DIDerivedType DT) {
} else
// This is not a bitfield.
OffsetInBytes = DT.getOffsetInBits() >> 3;
- addUInt(MemberDie, dwarf::DW_AT_data_member_location, None, OffsetInBytes);
+
+ DIEBlock *MemLocationDie = new (DIEValueAllocator) DIEBlock();
+ addUInt(MemLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_plus_uconst);
+ addUInt(MemLocationDie, dwarf::DW_FORM_udata, OffsetInBytes);
+ addBlock(MemberDie, dwarf::DW_AT_data_member_location, MemLocationDie);
}
if (DT.isProtected())