Home | History | Annotate | Download | only in CodeGen
      1 // RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -o - %s | FileCheck %s
      2 
      3 void t1() __attribute__((nodebug));
      4 
      5 void t1()
      6 {
      7   int a = 10;
      8   a++;
      9 }
     10 
     11 void 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