| // 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); |