&I);
}
- // Don't recurse into !dbg attachments (leave that for verifyDebugInfo()),
- // but at least check that it's a legal type.
if (MDNode *N = I.getDebugLoc().getAsMDNode()) {
- Assert(isa<MDLocation>(N),
- "invalid !dbg metadata attachment", &I, N);
+ Assert(isa<MDLocation>(N), "invalid !dbg metadata attachment", &I, N);
+ visitMDNode(*N);
}
InstsInThisBlock.insert(&I);
; RUN: not llvm-as -disable-output <%s 2>&1 | FileCheck %s
define void @foo() {
- ret void, !dbg !{}
-}
+entry:
+ br label %exit, !dbg !MDLocation(scope: !MDSubprogram(), inlinedAt: !{})
+; CHECK: inlined-at should be a location
+; CHECK-NEXT: !{{[0-9]+}} = !MDLocation(line: 0, scope: !{{[0-9]+}}, inlinedAt: ![[IA:[0-9]+]])
+; CHECK-NEXT: ![[IA]] = !{}
+exit:
+ ret void, !dbg !{}
; CHECK: invalid !dbg metadata attachment
; CHECK-NEXT: ret void, !dbg ![[LOC:[0-9]+]]
; CHECK-NEXT: ![[LOC]] = !{}
+}
!llvm.module.flags = !{!0}
!0 = !{i32 2, !"Debug Info Version", i32 3}