1*361e4f14SYaxun (Sam) Liu // RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm %s -O3 \
2*361e4f14SYaxun (Sam) Liu // RUN:   -debug-info-kind=limited -o - -debugger-tuning=gdb -dwarf-version=4 \
3*361e4f14SYaxun (Sam) Liu // RUN:   | FileCheck %s
4*361e4f14SYaxun (Sam) Liu 
5*361e4f14SYaxun (Sam) Liu // Makes sure there is no !dbg between function attributes and '{'.
6*361e4f14SYaxun (Sam) Liu // CHECK-LABEL: define void @foo{{.*}} #{{[0-9]+}} {
7*361e4f14SYaxun (Sam) Liu // CHECK-NOT: ret {{.*}}!dbg
8*361e4f14SYaxun (Sam) Liu __attribute__((nodebug)) void foo(int *a) {
9*361e4f14SYaxun (Sam) Liu   *a = 1;
10*361e4f14SYaxun (Sam) Liu }
11*361e4f14SYaxun (Sam) Liu 
12*361e4f14SYaxun (Sam) Liu // CHECK-LABEL: define {{.*}}@bar{{.*}}!dbg
13*361e4f14SYaxun (Sam) Liu void bar(int *a) {
14*361e4f14SYaxun (Sam) Liu   foo(a);
15*361e4f14SYaxun (Sam) Liu }
16