1 // RUN: %clang_cc1 -x c -debug-info-kind=limited -debugger-tuning=gdb -dwarf-version=4 -O -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s 2 // RUN: %clang_cc1 -x c++ -debug-info-kind=limited -debugger-tuning=gdb -dwarf-version=4 -O -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 void t1(); 9 10 void use() { t1(); } 11 12 __attribute__((nodebug)) void t1() { 13 int a = 10; 14 a++; 15 } 16 17 #ifdef __cplusplus 18 } 19 #endif 20 21 // CHECK-LABEL: define{{.*}} void @use() 22 // CHECK-SAME: !dbg 23 // CHECK-SAME: { 24 // CHECK: !dbg 25 // CHECK: } 26 27 // PR50767 Function __attribute__((nodebug)) inconsistency causes crash 28 // illegal (non-distinct) !dbg metadata was being added to _Z2t1v definition 29 30 // CHECK-LABEL: define{{.*}} void @t1() 31 // CHECK-NOT: !dbg 32 // CHECK-SAME: { 33 // CHECK-NOT: !dbg 34 // CHECK: } 35