aboutsummaryrefslogtreecommitdiff
path: root/test/ASTMerge/Inputs/struct2.c
blob: 4b43df71d8d68239c1e63f59e110fce35a722f04 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// 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;