Revert r176120 as it caused a failure at static-member.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176129 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Manman Ren 2013-02-26 22:35:53 +00:00
parent f15fe8195b
commit d61c840fcd
2 changed files with 4 additions and 7 deletions

View File

@ -1349,10 +1349,7 @@ void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
// Add linkage name. // Add linkage name.
StringRef LinkageName = GV.getLinkageName(); StringRef LinkageName = GV.getLinkageName();
if (!LinkageName.empty() && isGlobalVariable) if (!LinkageName.empty() && isGlobalVariable)
// For static member variables, AT_MIPS_linkage_name should be on addString(VariableDIE, dwarf::DW_AT_MIPS_linkage_name,
// specification DIE to make old gdb work.
addString(IsStaticMember && VariableSpecDIE ?
VariableSpecDIE : VariableDIE, dwarf::DW_AT_MIPS_linkage_name,
getRealLinkageName(LinkageName)); getRealLinkageName(LinkageName));
} else if (const ConstantInt *CI = } else if (const ConstantInt *CI =
dyn_cast_or_null<ConstantInt>(GV.getConstant())) { dyn_cast_or_null<ConstantInt>(GV.getConstant())) {

View File

@ -97,6 +97,7 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
; PRESENT: DW_AT_external ; PRESENT: DW_AT_external
; PRESENT: DW_AT_declaration ; PRESENT: DW_AT_declaration
; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x03) ; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x03)
; PRESENT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1C1aE"
; PRESENT: DW_TAG_member ; PRESENT: DW_TAG_member
; PRESENT-NEXT: DW_AT_name {{.*}} "const_a" ; PRESENT-NEXT: DW_AT_name {{.*}} "const_a"
; PRESENT: DW_AT_external ; PRESENT: DW_AT_external
@ -106,6 +107,7 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
; PRESENT: 0x[[DECL_B:[0-9a-f]+]]: DW_TAG_member ; PRESENT: 0x[[DECL_B:[0-9a-f]+]]: DW_TAG_member
; PRESENT-NEXT: DW_AT_name {{.*}} "b" ; PRESENT-NEXT: DW_AT_name {{.*}} "b"
; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x02) ; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x02)
; PRESENT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1C1bE"
; PRESENT: DW_TAG_member ; PRESENT: DW_TAG_member
; PRESENT-NEXT: DW_AT_name {{.*}} "const_b" ; PRESENT-NEXT: DW_AT_name {{.*}} "const_b"
; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x02) ; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x02)
@ -113,6 +115,7 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
; PRESENT: 0x[[DECL_C:[0-9a-f]+]]: DW_TAG_member ; PRESENT: 0x[[DECL_C:[0-9a-f]+]]: DW_TAG_member
; PRESENT-NEXT: DW_AT_name {{.*}} "c" ; PRESENT-NEXT: DW_AT_name {{.*}} "c"
; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x01) ; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x01)
; PRESENT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1C1cE"
; PRESENT: DW_TAG_member ; PRESENT: DW_TAG_member
; PRESENT-NEXT: DW_AT_name {{.*}} "const_c" ; PRESENT-NEXT: DW_AT_name {{.*}} "const_c"
; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x01) ; PRESENT: DW_AT_accessibility [DW_FORM_data1] (0x01)
@ -128,15 +131,12 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
; PRESENT: DW_TAG_variable ; PRESENT: DW_TAG_variable
; PRESENT-NEXT: DW_AT_specification {{.*}} {0x[[DECL_A]]} ; PRESENT-NEXT: DW_AT_specification {{.*}} {0x[[DECL_A]]}
; PRESENT-NEXT: DW_AT_location ; PRESENT-NEXT: DW_AT_location
; PRESENT-NEXT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1C1aE"
; PRESENT: DW_TAG_variable ; PRESENT: DW_TAG_variable
; PRESENT-NEXT: DW_AT_specification {{.*}} {0x[[DECL_B]]} ; PRESENT-NEXT: DW_AT_specification {{.*}} {0x[[DECL_B]]}
; PRESENT-NEXT: DW_AT_location ; PRESENT-NEXT: DW_AT_location
; PRESENT-NEXT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1C1bE"
; PRESENT: DW_TAG_variable ; PRESENT: DW_TAG_variable
; PRESENT-NEXT: DW_AT_specification {{.*}} {0x[[DECL_C]]} ; PRESENT-NEXT: DW_AT_specification {{.*}} {0x[[DECL_C]]}
; PRESENT-NEXT: DW_AT_location ; PRESENT-NEXT: DW_AT_location
; PRESENT-NEXT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1C1cE"
; ABSENT verifies that static member declarations do not have either ; ABSENT verifies that static member declarations do not have either
; DW_AT_location or DW_AT_data_member_location; also, variables do not ; DW_AT_location or DW_AT_data_member_location; also, variables do not