1// RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -o - %s | FileCheck %s 2 3void t1() __attribute__((nodebug)); 4 5void t1() 6{ 7 int a = 10; 8 a++; 9} 10 11void t2() 12{ 13 int b = 10; 14 b++; 15} 16 17// With nodebug, IR should have no llvm.dbg.* calls, or !dbg annotations. 18// CHECK-LABEL: @t1 19// CHECK-NOT: dbg 20// CHECK: } 21 22// For sanity, check those things do occur normally. 23// CHECK-LABEL: @t2 24// CHECK: call{{.*}}llvm.dbg 25// CHECK: !dbg 26// CHECK: } 27 28// We should see a function description for t2 but not t1. 29// CHECK-NOT: DISubprogram(name: "t1" 30// CHECK: DISubprogram(name: "t2" 31// CHECK-NOT: DISubprogram(name: "t1" 32 33