Only emit DW_AT_object_pointer if this is a definition.
authorEric Christopher <echristo@apple.com>
Thu, 20 Sep 2012 22:51:57 +0000 (22:51 +0000)
committerEric Christopher <echristo@apple.com>
Thu, 20 Sep 2012 22:51:57 +0000 (22:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164326 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
test/DebugInfo/X86/DW_AT_object_pointer.ll

index 58e65c06d4e0685118674b993199b77b78c1d9ac..0007f13e91868e596578cae1cde788094cf5f03b 100644 (file)
@@ -1109,9 +1109,6 @@ DIE *CompileUnit::getOrCreateSubprogramDIE(DISubprogram SP) {
         addType(Arg, ATy);
         if (ATy.isArtificial())
           addFlag(Arg, dwarf::DW_AT_artificial);
-        if (ATy.isObjectPointer())
-          addDIEEntry(SPDie, dwarf::DW_AT_object_pointer, dwarf::DW_FORM_ref4,
-                      Arg);
         SPDie->addChild(Arg);
       }
   }
index 13889902f7739d9374e8d019a0d2443863e4759f..163a1e7cec731fb981acb43a04f2e3d2ce27be94 100644 (file)
@@ -1,8 +1,8 @@
 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
 ; RUN: llvm-dwarfdump %t | FileCheck %s
 
-; CHECK: DW_AT_object_pointer [DW_FORM_ref4]     (cu + 0x00c3 => {0x000000c3})
-; CHECK: 0x000000c3:     DW_TAG_formal_parameter [12]
+; CHECK: DW_AT_object_pointer [DW_FORM_ref4]     (cu + 0x00bf => {0x000000bf})
+; CHECK: 0x000000bf:     DW_TAG_formal_parameter [12]
 ; CHECK-NEXT: DW_AT_name [DW_FORM_strp]     ( .debug_str[0x00000085] = "this")
 
 %class.A = type { i32 }