2010-02-12 02:18:11 +08:00
|
|
|
typedef int Int;
|
|
|
|
typedef float Float;
|
|
|
|
|
2010-02-12 03:21:55 +08:00
|
|
|
// Matches
|
2010-02-12 02:18:11 +08:00
|
|
|
struct S0 {
|
|
|
|
Int field1;
|
|
|
|
Float field2;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct S0 x0;
|
|
|
|
|
2010-02-12 03:21:55 +08:00
|
|
|
// Mismatch in field type
|
2010-02-12 02:18:11 +08:00
|
|
|
struct S1 {
|
|
|
|
Int field1;
|
|
|
|
int field2;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct S1 x1;
|
2010-02-12 03:21:55 +08:00
|
|
|
|
|
|
|
// Mismatch in tag kind.
|
|
|
|
struct S2 { int i; float f; } x2;
|
|
|
|
|
|
|
|
// Missing fields
|
|
|
|
struct S3 { int i; float f; double d; } x3;
|
|
|
|
|
|
|
|
// Extra fields
|
|
|
|
struct S4 { int i; } x4;
|
|
|
|
|
|
|
|
// Bit-field matches
|
|
|
|
struct S5 { int i : 8; unsigned j : 8; } x5;
|
|
|
|
|
|
|
|
// Bit-field mismatch
|
|
|
|
struct S6 { int i : 8; unsigned j : 8; } x6;
|
|
|
|
|
|
|
|
// Bit-field mismatch
|
|
|
|
struct S7 { int i : 8; unsigned j : 8; } x7;
|
2010-02-12 08:09:27 +08:00
|
|
|
|
|
|
|
// Incomplete type
|
|
|
|
struct S8 *x8;
|
|
|
|
|
|
|
|
// Incomplete type
|
|
|
|
struct S9 { int i; float f; } *x9;
|
|
|
|
|
|
|
|
// Incomplete type
|
|
|
|
struct S10 *x10;
|
|
|
|
|
2010-02-16 06:01:00 +08:00
|
|
|
// Matches
|
2010-02-13 07:44:20 +08:00
|
|
|
struct ListNode {
|
|
|
|
int value;
|
|
|
|
struct ListNode *Next;
|
|
|
|
} xList;
|
2010-02-16 06:01:00 +08:00
|
|
|
|
|
|
|
// Mismatch due to struct used internally
|
|
|
|
struct DeepError {
|
|
|
|
int value;
|
|
|
|
struct DeeperError { int i; int f; } *Deeper;
|
|
|
|
} xDeep;
|
2010-02-16 07:54:17 +08:00
|
|
|
|
|
|
|
// Matches
|
|
|
|
struct {
|
|
|
|
Int i;
|
|
|
|
float f;
|
|
|
|
} x11;
|