1 // RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s 2 3 // CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "A" 4 // CHECK-NOT: DIFlagFwdDecl 5 // CHECK-SAME: ){{$}} 6 class A { 7 public: 8 int z; 9 }; 10 11 A *foo (A* x) { 12 A *a = new A(*x); 13 return a; 14 } 15 16 // CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "B" 17 // CHECK-NOT: DIFlagFwdDecl 18 // CHECK-SAME: ){{$}} 19 20 class B { 21 public: 22 int y; 23 }; 24 25 extern int bar(B *b); 26 int baz(B *b) { 27 return bar(b); 28 } 29 30 31 // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "C" 32 // CHECK-SAME: flags: DIFlagFwdDecl 33 34 struct C { 35 }; 36 37 C (*x)(C); 38