1; RUN: llvm-as %s -disable-output 2>&1 | FileCheck %s 2 3; CHECK: function declaration may not have a !dbg attachment 4declare !dbg !4 void @f1() 5 6; CHECK: function must have a single !dbg attachment 7define void @f2() !dbg !4 !dbg !4 { 8 unreachable 9} 10 11; CHECK: DISubprogram attached to more than one function 12define void @f3() !dbg !4 { 13 unreachable 14} 15 16; CHECK: DISubprogram attached to more than one function 17define void @f4() !dbg !4 { 18 unreachable 19} 20 21; CHECK-NOT: !dbg 22; CHECK: function !dbg attachment must be a subprogram 23; CHECK-NEXT: void ()* @bar 24; CHECK-NEXT: !{{[0-9]+}} = !{} 25define void @bar() !dbg !3 { 26 unreachable 27} 28 29; CHECK: warning: ignoring invalid debug info 30!llvm.module.flags = !{!0} 31!0 = !{i32 2, !"Debug Info Version", i32 3} 32 33!llvm.dbg.cu = !{!1} 34!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2) 35!2 = !DIFile(filename: "t.c", directory: "/path/to/dir") 36!3 = !{} 37!4 = distinct !DISubprogram(name: "foo", scope: !1, file: !2, unit: !1) 38