// RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s | |
// RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck --check-prefix=CHECK-C %s | |
// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "A" | |
// CHECK-NOT: DIFlagFwdDecl | |
// CHECK-SAME: ){{$}} | |
class A { | |
public: | |
int z; | |
}; | |
A *foo (A* x) { | |
A *a = new A(*x); | |
return a; | |
} | |
// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "B" | |
// CHECK-SAME: flags: DIFlagFwdDecl | |
class B { | |
public: | |
int y; | |
}; | |
extern int bar(B *b); | |
int baz(B *b) { | |
return bar(b); | |
} | |
// CHECK-C: !DICompositeType(tag: DW_TAG_structure_type, name: "C" | |
// CHECK-C-SAME: flags: DIFlagFwdDecl | |
struct C { | |
}; | |
C (*x)(C); |