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