Do not try to push dead variable's debug info into namespace info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-12-08 15:01:35 +00:00
parent 69cee6151d
commit 018b66038c
2 changed files with 23 additions and 3 deletions

View File

@ -1837,10 +1837,12 @@ void DwarfDebug::beginModule(Module *M, MachineModuleInfo *mmi) {
constructGlobalVariableDIE(*I);
else if (GVContext.isNameSpace()) {
DIE *GVDie = createGlobalVariableDIE(ModuleCU, GV);
if (GVDie) {
DINameSpace NS(GVContext.getNode());
DIE *NDie = getOrCreateNameSpace(NS);
NDie->addChild(GVDie);
}
}
else
ScopedGVs.push_back(*I);
}

View File

@ -0,0 +1,18 @@
; RUN: llc %s -o /dev/null
; PR 5713
define i32 @_Z3foov() nounwind readnone ssp {
entry:
ret i32 0, !dbg !4
}
!llvm.dbg.gv = !{!0}
!0 = metadata !{i32 458804, i32 0, metadata !1, metadata !"X", metadata !"X", metadata !"_ZN1A1XE", metadata !2, i32 3, metadata !3, i1 false, i1 true, null}; [DW_TAG_variable ]
!1 = metadata !{i32 458809, metadata !2, metadata !"A", metadata !2, i32 2}; [DW_TAG_namespace ]
!2 = metadata !{i32 458769, i32 0, i32 4, metadata !"ng.cc", metadata !"/tmp", metadata !"4.2.1 (Based on Apple Inc. build 5653) (LLVM build)", i1 true, i1 true, metadata !"", i32 0}; [DW_TAG_compile_unit ]
!3 = metadata !{i32 458788, metadata !2, metadata !"int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5}; [DW_TAG_base_type ]
!4 = metadata !{i32 7, i32 0, metadata !5, null}
!5 = metadata !{i32 458798, i32 0, metadata !2, metadata !"foo", metadata !"foo", metadata !"_Z3foov", metadata !2, i32 6, metadata !6, i1 false, i1 true, i32 0, i32 0, null}; [DW_TAG_subprogram ]
!6 = metadata !{i32 458773, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0}; [DW_TAG_subroutine_type ]
!7 = metadata !{metadata !3}