// RUN: %clang_cc1 -no-opaque-pointers -w -debug-info-kind=line-tables-only -std=c++11 -fexceptions -fcxx-exceptions -S -mllvm -no-discriminators -emit-llvm %s -o - -triple %itanium_abi_triple | FileCheck %s
// RUN: %clang_cc1 -no-opaque-pointers -w -debug-info-kind=line-tables-only -std=c++11 -fexceptions -fcxx-exceptions -S -mllvm -no-discriminators -emit-llvm %s -o - -triple i686-linux-gnu | FileCheck %s
// RUN: %clang_cc1 -no-opaque-pointers -w -debug-info-kind=line-directives-only -std=c++11 -fexceptions -fcxx-exceptions -S -mllvm -no-discriminators -emit-llvm %s -o - -triple %itanium_abi_triple | FileCheck %s
// RUN: %clang_cc1 -no-opaque-pointers -w -debug-info-kind=line-directives-only -std=c++11 -fexceptions -fcxx-exceptions -S -mllvm -no-discriminators -emit-llvm %s -o - -triple i686-linux-gnu | FileCheck %s
int &;
int *;
extern "C" __complex float ;
extern "C" __complex float *;
// CHECK-LABEL: define
void
;
// CHECK-LABEL: define
:
i // CHECK: store i32 {{.*}} !dbg [[DBG_FOO_VALUE:!.*]]
,
j // CHECK: store i32* {{.*}} !dbg [[DBG_FOO_REF:!.*]]
,
k // CHECK: store float {{.*}} !dbg [[DBG_FOO_COMPLEX:!.*]]
// CHECK-LABEL: define {{.*}}f2{{.*}}
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
;
agg ;
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
inline void *operator new noexcept
// CHECK-LABEL: define
void
// noexcept just to simplify the codegen a bit
void ;
;
// global ctor cleanup
// CHECK-LABEL: define
// CHECK: invoke{{ }}
// CHECK: invoke{{ }}
// CHECK: to label {{.*}}, !dbg [[DBG_GLBL_CTOR_B:!.*]]
// terminate caller
// CHECK-LABEL: define
// global dtor cleanup
// CHECK-LABEL: define
// CHECK: invoke{{ }}
// CHECK: invoke{{ }}
// CHECK: to label {{.*}}, !dbg [[DBG_GLBL_DTOR_B:!.*]]
bar b = ;
// CHECK-LABEL: define{{.*}}f11
__complex double
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
;
// CHECK-LABEL: define
;
;
// CHECK-LABEL: define
// CHECK-LABEL: define
void ;
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
void
// CHECK-LABEL: define
int ;
void ;
void
// CHECK-LABEL: define
;
void
// CHECK-LABEL: define
;
f23_struct ;
void ;
void
// CHECK-LABEL: define
void ;
void
// CHECK-LABEL: define
void
void
// CHECK: [[DBG_F1]] = !DILocation(line: 100,
// CHECK: [[DBG_FOO_VALUE]] = !DILocation(line: 200,
// CHECK: [[DBG_FOO_REF]] = !DILocation(line: 202,
// CHECK: [[DBG_FOO_COMPLEX]] = !DILocation(line: 204,
// CHECK: [[DBG_F2]] = !DILocation(line: 300,
// CHECK: [[DBG_F3]] = !DILocation(line: 400,
// CHECK: [[DBG_F4]] = !DILocation(line: 500,
// CHECK: [[DBG_F5]] = !DILocation(line: 600,
// CHECK: [[DBG_F6]] = !DILocation(line: 700,
// CHECK: [[DBG_F7]] = !DILocation(line: 800,
// CHECK: [[DBG_F8]] = !DILocation(line: 900,
// CHECK: [[DBG_F9]] = !DILocation(line: 1000,
// CHECK: [[DBG_F10_STORE]] = !DILocation(line: 1100,
// CHECK: [[DBG_GLBL_CTOR_B]] = !DILocation(line: 1200,
// CHECK: [[DBG_GLBL_DTOR_B]] = !DILocation(line: 0,
// CHECK: [[DBG_F11]] = !DILocation(line: 1300,
// CHECK: [[DBG_F12]] = !DILocation(line: 1400,
// CHECK: [[DBG_F13]] = !DILocation(line: 1500,
// CHECK: [[DBG_F14_CTOR_CALL]] = !DILocation(line: 1600,
// CHECK: [[DBG_F15]] = !DILocation(line: 1700,
// CHECK: [[DBG_F16]] = !DILocation(line: 1800,
// CHECK: [[DBG_F17]] = !DILocation(line: 1900,
// CHECK: [[DBG_F18_1]] = !DILocation(line: 2000,
// CHECK: [[DBG_F18_2]] = !DILocation(line: 2001,
// CHECK: [[DBG_F19_1]] = !DILocation(line: 2100,
// CHECK: [[DBG_F19_2]] = !DILocation(line: 2101,
// CHECK: [[DBG_F20_1]] = !DILocation(line: 2200,
// CHECK: [[DBG_F23]] = !DILocation(line: 2500,
// CHECK: [[DBG_F24]] = !DILocation(line: 2600,