1f79470583759d20c20268711e6111461aefa8461Jim Grosbach// REQUIRES: arm-registered-target
2e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy// RUN: %clang_cc1 -target-abi aapcs -triple armv7-apple-darwin10 %s -verify
38e8fb3be5bd78f0564444eca02b404566a5f3b5dAndy Gibbs// expected-no-diagnostics
4e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
5e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy#include <stddef.h>
6e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
7e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t1
8e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
9e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
10e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
11e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
12e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
13e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr1_offset[(offsetof(struct t1, bar) == 1) ? 0 : -1];
14e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr1_sizeof[(sizeof(struct t1) == 4) ? 0 : -1];
15e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
16e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t2
17e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
18e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
19e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short : 0;
20e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
21e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
22e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr2_offset[(offsetof(struct t2, bar) == 2) ? 0 : -1];
23e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr2_sizeof[(sizeof(struct t2) == 4) ? 0 : -1];
24e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
25e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t3
26e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
27e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
28e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int : 0;
29e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
30e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
31e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr3_offset[(offsetof(struct t3, bar) == 4) ? 0 : -1];
32e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr3_sizeof[(sizeof(struct t3) == 8) ? 0 : -1];
33e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
34e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t4
35e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
36e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
37e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
38e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
39e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
40e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr4_offset[(offsetof(struct t4, bar) == 4) ? 0 : -1];
41e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr4_sizeof[(sizeof(struct t4) == 8) ? 0 : -1];
42e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
43e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t5
44e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
45e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
46e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long long : 0;
47e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
48e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
49e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr5_offset[(offsetof(struct t5, bar) == 8) ? 0 : -1];
50e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr5_sizeof[(sizeof(struct t5) == 16) ? 0 : -1];
51e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
52e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t6
53e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
54e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
55e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
56e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar : 1;
57e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
58e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
59e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr6_offset[(offsetof(struct t6, bar2) == 2) ? 0 : -1];
60e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr6_sizeof[(sizeof(struct t6) == 4) ? 0 : -1];
61e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
62e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t7
63e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
64e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
65e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short : 0;
66e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1 : 1;
67e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
68e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
69e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr7_offset[(offsetof(struct t7, bar2) == 3) ? 0 : -1];
70e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr7_sizeof[(sizeof(struct t7) == 4) ? 0 : -1];
71e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
72e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t8
73e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
74e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
75e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int : 0;
76e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1 : 1;
77e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
78e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
79e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr8_offset[(offsetof(struct t8, bar2) == 5) ? 0 : -1];
80e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr8_sizeof[(sizeof(struct t8) == 8) ? 0 : -1];
81e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
82e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t9
83e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
84e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
85e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
86e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1 : 1;
87e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
88e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
89e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr9_offset[(offsetof(struct t9, bar2) == 5) ? 0 : -1];
90e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr9_sizeof[(sizeof(struct t9) == 8) ? 0 : -1];
91e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
92e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t10
93e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
94e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
95e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long long : 0;
96e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1 : 1;
97e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
98e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
99e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr10_offset[(offsetof(struct t10, bar2) == 9) ? 0 : -1];
100e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr10_sizeof[(sizeof(struct t10) == 16) ? 0 : -1];
101e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
102e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t11
103e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
104e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
105e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long long : 0;
106e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
107e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1 : 1;
108e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
109e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
110e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr11_offset[(offsetof(struct t11, bar2) == 9) ? 0 : -1];
111e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr11_sizeof[(sizeof(struct t11) == 16) ? 0 : -1];
112e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
113e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t12
114e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
115e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
116e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
117e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long long : 0;
118e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
119e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
120e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
121e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr12_offset[(offsetof(struct t12, bar) == 8) ? 0 : -1];
122e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr12_sizeof[(sizeof(struct t12) == 16) ? 0 : -1];
123e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
124e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t13
125e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
126e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo;
127e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
128e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
129e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
130e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr13_offset[(offsetof(struct t13, bar) == 4) ? 0 : -1];
131e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr13_sizeof[(sizeof(struct t13) == 8) ? 0 : -1];
132e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
133e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t14
134e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
135e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo1;
136e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int : 0;
137e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo2 : 1;
138e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short foo3 : 16;
139e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
140e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short foo4 : 16;
141e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1;
142e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int : 0;
143e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar2;
144e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
145e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr14_bar1_offset[(offsetof(struct t14, bar1) == 10) ? 0 : -1];
146e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr14_bar2_offset[(offsetof(struct t14, bar2) == 12) ? 0 : -1];
147e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr14_sizeof[(sizeof(struct t14) == 16) ? 0 : -1];
148e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
149e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t15
150e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
151e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo;
152e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
153e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int : 0;
154e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
155e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
156e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
157e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
158e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr15_offset[(offsetof(struct t15, bar) == 4) ? 0 : -1];
159e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr15_sizeof[(sizeof(struct t15) == 8) ? 0 : -1];
160e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
161e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t16
162e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
163e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
164e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
165e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
166e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr16_offset[(offsetof(struct t16, bar) == 0) ? 0 : -1];
167e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr16_sizeof[(sizeof(struct t16) == 4) ? 0 : -1];
168e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
169e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t17
170e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
171e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo;
172e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
173e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
174e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
175e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
176e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
177e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr17_offset[(offsetof(struct t17, bar) == 4) ? 0 : -1];
178e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr17_sizeof[(sizeof(struct t17) == 8) ? 0 : -1];
179e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
180e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t18
181e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
182e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
183e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
184e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
185e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
186e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr18_sizeof[(sizeof(struct t18) == 0) ? 0 : -1];
187e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
188e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t19
189e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
190e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo1;
191e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long foo2 : 1;
192e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
193e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long foo3 : 32;
194e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
195e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
196e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr19_offset[(offsetof(struct t19, bar) == 8) ? 0 : -1];
197e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr19_sizeof[(sizeof(struct t19) == 12) ? 0 : -1];
198e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
199e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t20
200e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
201e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short : 0;
202e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo : 1;
203e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
204e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar;
205e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
206e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr20_offset[(offsetof(struct t20, bar) == 4) ? 0 : -1];
207e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr20_sizeof[(sizeof(struct t20) == 8) ? 0 : -1];
208e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
209e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystruct t21
210e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy{
211e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short : 0;
212e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo1 : 1;
213e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
214e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo2 : 16;
215e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
216e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char bar1;
217e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int bar2;
218e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long bar3;
219e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char foo3 : 8;
220e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  char : 0;
221e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long : 0;
222e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  int foo4 : 32;
223e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short foo5: 1;
224e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  long bar4;
225e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short foo6: 16;
226e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short foo7: 16;
227e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  short foo8: 16;
228e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy};
229e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr21_bar1_offset[(offsetof(struct t21, bar1) == 4) ? 0 : -1];
230e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr21_bar2_offset[(offsetof(struct t21, bar2) == 8) ? 0 : -1];
231e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr21_bar3_offset[(offsetof(struct t21, bar3) == 12) ? 0 : -1];
232e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr21_bar4_offset[(offsetof(struct t21, bar4) == 28) ? 0 : -1];
233e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloystatic int arr21_sizeof[(sizeof(struct t21) == 40) ? 0 : -1];
234e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
235e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloyint main() {
236e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy  return 0;
237e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy}
238e45b9b71b9ead9873c50ccd149a10f554f71bd9fJames Molloy
239