Sean Callanan ee6d3fa07e Fixed layout of test/ASTMerge.
As outlined in a previous RFC, the test/ASTMerge/Inputs folder is getting full and the tests are starting to become interdependent. This is undesirable because

- it makes it harder to write new tests
- it makes it harder to figure out at a glance what old tests are doing, and
- it adds the risk of breaking one test while changing a different one, because of the interdependencies.

To fix this, according to the conversation in the RFC, I have changed the layout from

a.c
Inputs/a1.c
Inputs/a2.c

to

a/test.c
a/Inputs/a1.c
a/Inputs/a2.c
for all existing tests. I have also eliminated interdependencies by replicating the input files for each test that uses them.

https://reviews.llvm.org/D26571

llvm-svn: 287129
2016-11-16 18:21:00 +00:00

61 lines
907 B
C

// Matches
struct S0 {
int field1;
float field2;
};
struct S0 x0;
// Mismatch in field type
struct S1 {
int field1;
float field2;
};
struct S1 x1;
// Mismatch in tag kind.
union S2 { int i; float f; } x2;
// Missing fields
struct S3 { int i; float f; } x3;
// Extra fields
struct S4 { int i; float f; } x4;
// Bit-field matches
struct S5 { int i : 8; unsigned j : 8; } x5;
// Bit-field mismatch
struct S6 { int i : 8; unsigned j; } x6;
// Bit-field mismatch
struct S7 { int i : 8; unsigned j : 16; } x7;
// Incomplete type
struct S8 { int i; float f; } *x8;
// Incomplete type
struct S9 *x9;
// Incomplete type
struct S10 *x10;
// Matches
struct ListNode {
int value;
struct ListNode *Next;
} xList;
// Mismatch due to struct used internally
struct DeepError {
int value;
struct DeeperError { int i; float f; } *Deeper;
} xDeep;
// Matches
struct {
int i;
float f;
} x11;