| // RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -o - %s | FileCheck %s |
| |
| void t1() __attribute__((nodebug)); |
| |
| void t1() |
| { |
| int a = 10; |
| a++; |
| } |
| |
| void t2() |
| { |
| int b = 10; |
| b++; |
| } |
| |
| // With nodebug, IR should have no llvm.dbg.* calls, or !dbg annotations. |
| // CHECK-LABEL: @t1 |
| // CHECK-NOT: dbg |
| // CHECK: } |
| |
| // For sanity, check those things do occur normally. |
| // CHECK-LABEL: @t2 |
| // CHECK: call{{.*}}llvm.dbg |
| // CHECK: !dbg |
| // CHECK: } |
| |
| // We should see a function description for t2 but not t1. |
| // CHECK-NOT: DISubprogram(name: "t1" |
| // CHECK: DISubprogram(name: "t2" |
| // CHECK-NOT: DISubprogram(name: "t1" |
| |