1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef int Int;
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef float Float;
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Matches
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S0 {
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  Int field1;
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  Float field2;
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S0 x0;
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Mismatch in field type
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S1 {
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  Int field1;
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int field2;
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S1 x1;
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Mismatch in tag kind.
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S2 { int i; float f; } x2;
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Missing fields
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S3 { int i; float f; double d; } x3;
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Extra fields
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S4 { int i; } x4;
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Bit-field matches
30ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S5 { int i : 8; unsigned j : 8; } x5;
31ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
32ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Bit-field mismatch
33ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S6 { int i : 8; unsigned j : 8; } x6;
34ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
35ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Bit-field mismatch
36ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S7 { int i : 8; unsigned j : 8; } x7;
37ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
38ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Incomplete type
39ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S8 *x8;
40ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
41ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Incomplete type
42ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S9 { int i; float f; } *x9;
43ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
44ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Incomplete type
45ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S10 *x10;
46ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
47ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Matches
48ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct ListNode {
49ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int value;
50ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  struct ListNode *Next;
51ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} xList;
52ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
53ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Mismatch due to struct used internally
54ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct DeepError {
55ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int value;
56ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  struct DeeperError { int i; int f; } *Deeper;
57ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} xDeep;
58ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
59ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Matches
60ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct {
61ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  Int i;
62ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  float f;
63ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} x11;
64