forked from OSchip/llvm-project
Debug Info: Fix for break due to r181271
Apparently we didn't keep an association of Compile Unit metadata nodes to DIEs so looking up that parental context failed & thus caused no DW_TAG_imported_modules to be emitted at the CU scope. Fix this by adding the mapping & sure up the test case to verify this. llvm-svn: 181339
This commit is contained in:
parent
c363245ff2
commit
6baa776173
|
@ -685,6 +685,7 @@ CompileUnit *DwarfDebug::constructCompileUnit(const MDNode *N) {
|
|||
CompileUnit *NewCU = new CompileUnit(GlobalCUIndexCount++,
|
||||
DIUnit.getLanguage(), Die, Asm,
|
||||
this, &InfoHolder);
|
||||
NewCU->insertDIE(N, Die);
|
||||
|
||||
FileIDCUMap[NewCU->getUniqueID()] = 0;
|
||||
// Call this to emit a .file directive if it wasn't emitted for the source
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F1]])
|
||||
; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x04)
|
||||
; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS2]]})
|
||||
; CHECK: NULL
|
||||
; CHECK-NOT: NULL
|
||||
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK-NEXT: DW_AT_MIPS_linkage_name
|
||||
|
@ -39,6 +41,15 @@
|
|||
; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
|
||||
; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x0b)
|
||||
; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS2]]})
|
||||
; CHECK: NULL
|
||||
; CHECK: NULL
|
||||
; CHECK-NOT: NULL
|
||||
|
||||
; CHECK: DW_TAG_imported_module
|
||||
; Same bug as above, this should be F2, not F1
|
||||
; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F1]])
|
||||
; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x07)
|
||||
; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS1]]})
|
||||
|
||||
; CHECK: file_names[ [[F1]]]{{.*}}debug-info-namespace.cpp
|
||||
; CHECK: file_names[ [[F2]]]{{.*}}foo.cpp
|
||||
|
|
Loading…
Reference in New Issue