mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Verifier: Start recursing into !dbg attachments
The main verifier already recurses through the other entry points, so we might as well descend here too. This temporarily duplicates some work already done in `verifyDebugInfo()`, but eventually I'll be removing the other side. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eeb2ba6d46
commit
15a873a6e2
@ -2567,11 +2567,9 @@ void Verifier::visitInstruction(Instruction &I) {
|
||||
&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);
|
||||
|
@ -1,12 +1,18 @@
|
||||
; 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}
|
||||
|
Loading…
x
Reference in New Issue
Block a user