Debug Info: add support to mark member variables as artificial
authorDavid Blaikie <dblaikie@gmail.com>
Thu, 13 Dec 2012 22:43:07 +0000 (22:43 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Thu, 13 Dec 2012 22:43:07 +0000 (22:43 +0000)
This is the LLVM portion of r170154.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170156 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
test/DebugInfo/X86/elf-names.ll

index f0ea8893ca4dcec7c74a6f5f15dad544c6bec627..83dfa54da599f4a4309a1eeb54fd808b078bca41 100644 (file)
@@ -1559,6 +1559,9 @@ DIE *CompileUnit::createMemberDIE(DIDerivedType DT) {
       MemberDie->addValue(dwarf::DW_AT_APPLE_property, dwarf::DW_FORM_ref4,
                           PropertyDie);
 
+  if (DT.isArtificial())
+    addFlag(MemberDie, dwarf::DW_AT_artificial);
+
   // This is only for backward compatibility.
   StringRef PropertyName = DT.getObjCPropertyName();
   if (!PropertyName.empty()) {
index b908bcefe478128201af288bac31b33b83479056..6e7154cfe80f1318d0a5b04578b03d01a860ab4b 100644 (file)
@@ -7,6 +7,7 @@
 ; CHECK: 0x0000003d:     DW_AT_name [DW_FORM_strp]       ( .debug_str[0x0000006d] = "D")
 ; CHECK: 0x00000044:     DW_TAG_member
 ; CHECK: 0x00000045:       DW_AT_name [DW_FORM_strp]     ( .debug_str[0x0000005d] = "c1")
+; CHECK: 0x0000008d:       DW_AT_artificial [DW_FORM_flag_present]       (true)
 
 %class.D = type { i32, i32, i32, i32 }