aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-10-05 23:22:08 +0000
committerDevang Patel <dpatel@apple.com>2009-10-05 23:22:08 +0000
commitb71a16d10dd47f70947386064783eeac2abe29b2 (patch)
tree91dc475e09ddc7eb8dd7b046090dfd3de225005b /lib/CodeGen/AsmPrinter/DwarfDebug.cpp
parenta2c7535e64c23fc25dffec097f41a61561cc1fb6 (diff)
Set address while constructing DIE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index e364c0d9bc..7614c481c9 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -1107,6 +1107,14 @@ DIE *DwarfDebug::CreateGlobalVariableDIE(CompileUnit *DW_Unit,
if (!GV.isLocalToUnit())
AddUInt(GVDie, dwarf::DW_AT_external, dwarf::DW_FORM_flag, 1);
AddSourceLine(GVDie, &GV);
+
+ // Add address.
+ DIEBlock *Block = new DIEBlock();
+ AddUInt(Block, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_addr);
+ AddObjectLabel(Block, 0, dwarf::DW_FORM_udata,
+ Asm->Mang->getMangledName(GV.getGlobal()));
+ AddBlock(GVDie, dwarf::DW_AT_location, 0, Block);
+
return GVDie;
}
@@ -1582,13 +1590,6 @@ void DwarfDebug::ConstructGlobalVariableDIE(MDNode *N) {
DIE *VariableDie = CreateGlobalVariableDIE(ModuleCU, DI_GV);
- // Add address.
- DIEBlock *Block = new DIEBlock();
- AddUInt(Block, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_addr);
- AddObjectLabel(Block, 0, dwarf::DW_FORM_udata,
- Asm->Mang->getMangledName(DI_GV.getGlobal()));
- AddBlock(VariableDie, dwarf::DW_AT_location, 0, Block);
-
// Add to map.
Slot = VariableDie;