Debug Info: add support to mark member variables as artificial

This is the LLVM portion of r170154.

llvm-svn: 170156
This commit is contained in:
David Blaikie 2012-12-13 22:43:07 +00:00
parent 1117cb2f16
commit 37fefc3f8d
2 changed files with 4 additions and 0 deletions

View 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()) {

View 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 }