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