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