DebugInfo: Assert that a CU's subprogram list contains only subprograms.
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 14 May 2014 21:52:37 +0000 (21:52 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 14 May 2014 21:52:37 +0000 (21:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208816 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfDebug.cpp
test/DebugInfo/2009-11-06-NamelessGlobalVariable.ll
test/DebugInfo/X86/dbg-at-specficiation.ll

index 0c85c6bcade79fd471102a428d72f92e2db8074c..902bc3a4a5d5b1c98a32be5f8d9ab55c816ef53d 100644 (file)
@@ -871,8 +871,8 @@ void DwarfDebug::collectDeadVariables() {
         DISubprogram SP(Subprograms.getElement(i));
         if (ProcessedSPNodes.count(SP) != 0)
           continue;
-        if (!SP.isSubprogram())
-          continue;
+        assert(SP.isSubprogram() &&
+               "CU's subprogram list contains a non-subprogram");
         if (!SP.isDefinition())
           continue;
         DIArray Variables = SP.getVariables();
index 5a1045905306f03eed824c03310ba2248a1cdd71..9beab2008b883dc3159a715c27b386a34fb78b64 100644 (file)
@@ -5,7 +5,7 @@
 !llvm.module.flags = !{!9}
 
 !0 = metadata !{i32 720913, metadata !8, i32 12, metadata !"clang version 3.0 (trunk 139632)", i1 true, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !3, null, metadata !""} ; [ DW_TAG_compile_unit ]
-!2 = metadata !{i32 0}
+!2 = metadata !{}
 !3 = metadata !{metadata !5}
 !5 = metadata !{i32 720948, i32 0, null, metadata !"a", metadata !"a", metadata !"", metadata !6, i32 2, metadata !7, i32 0, i32 1, i32* @0, null} ; [ DW_TAG_variable ]
 !6 = metadata !{i32 720937, metadata !8} ; [ DW_TAG_file_type ]
index 8003a0fc15b7df8e8067c232c122c3ac589887a3..c76536719f4f1ced3c66ad96effb2f1a5fc48a62 100644 (file)
@@ -9,7 +9,7 @@
 !llvm.module.flags = !{!12}
 
 !0 = metadata !{i32 720913, metadata !11, i32 12, metadata !"clang version 3.0 (trunk 140253)", i1 true, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !3, null, i32 0} ; [ DW_TAG_compile_unit ]
-!2 = metadata !{i32 0}
+!2 = metadata !{}
 !3 = metadata !{metadata !5}
 !5 = metadata !{i32 720948, i32 0, null, metadata !"a", metadata !"a", metadata !"", metadata !6, i32 1, metadata !7, i32 0, i32 1, [10 x i32]* @a, null} ; [ DW_TAG_variable ]
 !6 = metadata !{i32 720937, metadata !11} ; [ DW_TAG_file_type ]