56 lines · plain
1; RUN: llvm-as -disable-output <%s 2>&1 | FileCheck %s2define void @foo() {3entry:4 #dbg_value(5 ptr undef,6 !DILocalVariable(scope: !1),7 !DIExpression(),8 !{})9; CHECK-LABEL: invalid #dbg record DILocation10; CHECK-NEXT: #dbg_value({{.*}})11 12 #dbg_declare(13 ptr undef,14 !DILocalVariable(scope: !1),15 !DIExpression(),16 !{})17; CHECK-LABEL: invalid #dbg record DILocation18; CHECK-NEXT: #dbg_declare({{.*}})19 20 #dbg_value(21 ptr undef,22 !DILocalVariable(scope: !1),23 !DIExpression(),24 !DILocation(scope: !2))25; CHECK-LABEL: mismatched subprogram between #dbg record variable and DILocation26; CHECK-NEXT: #dbg_value({{[^,]+}}, ![[VAR:[0-9]+]], {{[^,]+}}, ![[LOC:[0-9]+]]27; CHECK-NEXT: label %entry28; CHECK-NEXT: ptr @foo29; CHECK-NEXT: ![[VAR]] = !DILocalVariable({{.*}}scope: ![[VARSP:[0-9]+]]30; CHECK-NEXT: ![[VARSP]] = distinct !DISubprogram(31; CHECK-NEXT: ![[LOC]] = !DILocation({{.*}}scope: ![[LOCSP:[0-9]+]]32; CHECK-NEXT: ![[LOCSP]] = distinct !DISubprogram(33 34 #dbg_declare(35 ptr undef,36 !DILocalVariable(scope: !1),37 !DIExpression(),38 !DILocation(scope: !2))39; CHECK-LABEL: mismatched subprogram between #dbg record variable and DILocation40; CHECK-NEXT: #dbg_declare({{[^,]+}}, ![[VAR:[0-9]+]], {{.*[^,]+}}, ![[LOC:[0-9]+]]41; CHECK-NEXT: label %entry42; CHECK-NEXT: ptr @foo43; CHECK-NEXT: ![[VAR]] = !DILocalVariable({{.*}}scope: ![[VARSP:[0-9]+]]44; CHECK-NEXT: ![[VARSP]] = distinct !DISubprogram(45; CHECK-NEXT: ![[LOC]] = !DILocation({{.*}}scope: ![[LOCSP:[0-9]+]]46; CHECK-NEXT: ![[LOCSP]] = distinct !DISubprogram(47 48 ret void49}50 51 52!llvm.module.flags = !{!0}53!0 = !{i32 2, !"Debug Info Version", i32 3}54!1 = distinct !DISubprogram(name: "foo")55!2 = distinct !DISubprogram(name: "bar")56