summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2012-12-13 22:43:07 +0000
committerDavid Blaikie <dblaikie@gmail.com>2012-12-13 22:43:07 +0000
commit37fefc3f8d6b43ccde214e68ec29f9c7f82fe902 (patch)
tree4010fd075fa9b0cc83a44c6461e54b22b12d7303
parent1117cb2f16db0f029532ef62f3d230a9805d24e9 (diff)
downloadbcm5719-llvm-37fefc3f8d6b43ccde214e68ec29f9c7f82fe902.tar.gz
bcm5719-llvm-37fefc3f8d6b43ccde214e68ec29f9c7f82fe902.zip
Debug Info: add support to mark member variables as artificial
This is the LLVM portion of r170154. llvm-svn: 170156
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp3
-rw-r--r--llvm/test/DebugInfo/X86/elf-names.ll1
2 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index f0ea8893ca4..83dfa54da59 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -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()) {
diff --git a/llvm/test/DebugInfo/X86/elf-names.ll b/llvm/test/DebugInfo/X86/elf-names.ll
index b908bcefe47..6e7154cfe80 100644
--- a/llvm/test/DebugInfo/X86/elf-names.ll
+++ b/llvm/test/DebugInfo/X86/elf-names.ll
@@ -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 }
OpenPOWER on IntegriCloud