DI: Require subprogram definitions to be distinct
[oota-llvm.git] / test / Verifier / dbg.ll
1 ; RUN: not llvm-as -disable-output <%s 2>&1 | FileCheck %s
2
3 define void @foo() {
4 entry:
5   br label %exit, !dbg !DILocation(scope: !1, inlinedAt: !{})
6 ; CHECK: inlined-at should be a location
7 ; CHECK-NEXT: !{{[0-9]+}} = !DILocation(line: 0, scope: !{{[0-9]+}}, inlinedAt: ![[IA:[0-9]+]])
8 ; CHECK-NEXT: ![[IA]] = !{}
9
10 exit:
11   ret void, !dbg !{}
12 ; CHECK: invalid !dbg metadata attachment
13 ; CHECK-NEXT: ret void, !dbg ![[LOC:[0-9]+]]
14 ; CHECK-NEXT: ![[LOC]] = !{}
15 }
16
17 !llvm.module.flags = !{!0}
18 !0 = !{i32 2, !"Debug Info Version", i32 3}
19 !1 = distinct !DISubprogram()