
Problem found by Nico, originally committed by me in r213213. The .test prefix wasn't actually being run. Once that was fixed the test cases had outdated command line syntax and IR debug info format, so updated for those issues to get them back up and running. Thanks Nico! llvm-svn: 271188
53 lines
1.0 KiB
C++
53 lines
1.0 KiB
C++
|
|
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "PR16214",{{.*}} line: [[@LINE+2]],{{.*}}
|
|
// CHECK-NOT: DIFlagFwdDecl
|
|
struct PR16214 {
|
|
int i;
|
|
};
|
|
|
|
typedef PR16214 bar;
|
|
|
|
bar *a;
|
|
bar b;
|
|
|
|
namespace PR14467 {
|
|
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "foo",{{.*}} line: [[@LINE+2]],{{.*}}
|
|
// CHECK-NOT: DIFlagFwdDecl
|
|
struct foo {
|
|
};
|
|
|
|
foo *bar(foo *a) {
|
|
foo *b = new foo(*a);
|
|
return b;
|
|
}
|
|
}
|
|
|
|
namespace test1 {
|
|
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "foo",{{.*}} line: [[@LINE+1]],{{.*}} flags: DIFlagFwdDecl
|
|
struct foo {
|
|
};
|
|
|
|
extern int bar(foo *a);
|
|
int baz(foo *a) {
|
|
return bar(a);
|
|
}
|
|
}
|
|
|
|
namespace test2 {
|
|
// FIXME: if we were a bit fancier, we could realize that the 'foo' type is only
|
|
// required because of the 'bar' type which is not required at all (or might
|
|
// only be required to be declared)
|
|
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "foo",{{.*}} line: [[@LINE+2]],{{.*}}
|
|
// CHECK-NOT: DIFlagFwdDecl
|
|
struct foo {
|
|
};
|
|
|
|
struct bar {
|
|
foo f;
|
|
};
|
|
|
|
void func() {
|
|
foo *f;
|
|
}
|
|
}
|