1f79470583759d20c20268711e6111461aefa8461Jim Grosbach// REQUIRES: arm-registered-target
24ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier// RUN: %clang_cc1 -target-abi apcs-gnu -triple armv7-apple-darwin10 %s -verify
361a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier//
461a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier// Note: gcc forces the alignment to 4 bytes, regardless of the type of the
561a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier// zero length bitfield.
661a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier// rdar://9859156
74ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
84ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier#include <stddef.h>
94ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
104ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t1
114ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
124ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
134ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char : 0;
144ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar;
154ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
1661a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr1_offset[(offsetof(struct t1, bar) == 4) ? 0 : -1];
1761a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr1_sizeof[(sizeof(struct t1) == 8) ? 0 : -1];
184ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
194ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t2
204ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
214ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
224ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  short : 0;
234ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar;
244ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
2561a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr2_offset[(offsetof(struct t2, bar) == 4) ? 0 : -1];
2661a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr2_sizeof[(sizeof(struct t2) == 8) ? 0 : -1];
274ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
284ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t3
294ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
304ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
314ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int : 0;
324ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar;
334ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
3461a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr3_offset[(offsetof(struct t3, bar) == 4) ? 0 : -1];
3561a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr3_sizeof[(sizeof(struct t3) == 8) ? 0 : -1];
364ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
374ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t4
384ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
394ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
404ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  long : 0;
414ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar;
424ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
4361a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr4_offset[(offsetof(struct t4, bar) == 4) ? 0 : -1];
4461a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr4_sizeof[(sizeof(struct t4) == 8) ? 0 : -1];
454ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
464ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t5
474ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
484ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
494ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  long long : 0;
504ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar;
514ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
5261a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr5_offset[(offsetof(struct t5, bar) == 4) ? 0 : -1];
5361a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr5_sizeof[(sizeof(struct t5) == 8) ? 0 : -1];
544ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
554ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t6
564ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
574ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
584ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char : 0;
594ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar : 1;
604ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar2;
614ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
62b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr6_offset[(offsetof(struct t6, bar2) == 5) ? 0 : -1];
63b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr6_sizeof[(sizeof(struct t6) == 8) ? 0 : -1];
644ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
654ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t7
664ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
674ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
684ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  short : 0;
694ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar1 : 1;
704ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar2;
714ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
72b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr7_offset[(offsetof(struct t7, bar2) == 5) ? 0 : -1];
73b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr7_sizeof[(sizeof(struct t7) == 8) ? 0 : -1];
744ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
754ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t8
764ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
774ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
784ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int : 0;
794ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar1 : 1;
804ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar2;
814ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
82b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr8_offset[(offsetof(struct t8, bar2) == 5) ? 0 : -1];
83b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr8_sizeof[(sizeof(struct t8) == 8) ? 0 : -1];
844ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
854ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t9
864ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
874ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
884ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  long : 0;
894ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar1 : 1;
904ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar2;
914ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
92b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr9_offset[(offsetof(struct t9, bar2) == 5) ? 0 : -1];
93b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr9_sizeof[(sizeof(struct t9) == 8) ? 0 : -1];
944ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
954ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t10
964ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
974ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
984ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  long long : 0;
994ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar1 : 1;
1004ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar2;
1014ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
102b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr10_offset[(offsetof(struct t10, bar2) == 5) ? 0 : -1];
103b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr10_sizeof[(sizeof(struct t10) == 8) ? 0 : -1];
1044ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
1054ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierstruct t11
1064ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier{
1074ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  int foo : 1;
1084ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  long long : 0;
1094ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char : 0;
1104ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar1 : 1;
1114ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  char bar2;
1124ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier};
113b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr11_offset[(offsetof(struct t11, bar2) == 5) ? 0 : -1];
114b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr11_sizeof[(sizeof(struct t11) == 8) ? 0 : -1];
1154ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
11661a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstruct t12
11761a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier{
11861a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier  int foo : 1;
11961a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier  char : 0;
12061a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier  long long : 0;
12161a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier  char : 0;
12261a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier  char bar;
12361a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier};
12461a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr12_offset[(offsetof(struct t12, bar) == 4) ? 0 : -1];
12561a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosierstatic int arr12_sizeof[(sizeof(struct t12) == 8) ? 0 : -1];
12661a62216a0bb33fb668ab653d9f9a704e43d2fc6Chad Rosier
127b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t13
128b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
129b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo;
130b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
131b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar;
132b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
133b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr13_offset[(offsetof(struct t13, bar) == 4) ? 0 : -1];
134b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr13_sizeof[(sizeof(struct t13) == 8) ? 0 : -1];
135b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
136b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t14
137b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
138b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo1;
139b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int : 0;
140b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo2 : 1;
141b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short foo3 : 16;
142b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
143b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short foo4 : 16;
144b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar1;
145b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int : 0;
146b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar2;
147b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
148b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr14_bar1_offset[(offsetof(struct t14, bar1) == 10) ? 0 : -1];
149b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr14_bar2_offset[(offsetof(struct t14, bar2) == 12) ? 0 : -1];
150b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr14_sizeof[(sizeof(struct t14) == 16) ? 0 : -1];
151b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
152b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t15
153b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
154b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo;
155b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
156b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int : 0;
157b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar;
158b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
159b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
160b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
161b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr15_offset[(offsetof(struct t15, bar) == 4) ? 0 : -1];
162b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr15_sizeof[(sizeof(struct t15) == 8) ? 0 : -1];
163b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
164b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t16
165b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
166b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
167b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar;
168b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
169b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr16_offset[(offsetof(struct t16, bar) == 0) ? 0 : -1];
170b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr16_sizeof[(sizeof(struct t16) == 4) ? 0 : -1];
171b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
172b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t17
173b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
174b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo;
175b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
176b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
177b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
178b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar;
179b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
180b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr17_offset[(offsetof(struct t17, bar) == 4) ? 0 : -1];
181b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr17_sizeof[(sizeof(struct t17) == 8) ? 0 : -1];
182b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
183b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t18
184b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
185b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
186b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
187b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
188b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
189b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr18_sizeof[(sizeof(struct t18) == 0) ? 0 : -1];
190b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
191b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t19
192b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
193b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo1;
194b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long foo2 : 1;
195b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
196b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long foo3 : 32;
197b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar;
198b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
199b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr19_offset[(offsetof(struct t19, bar) == 8) ? 0 : -1];
200b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr19_sizeof[(sizeof(struct t19) == 12) ? 0 : -1];
201b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
202b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t20
203b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
204b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short : 0;
205b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int foo : 1;
206b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
207b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar;
208b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
209b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr20_offset[(offsetof(struct t20, bar) == 4) ? 0 : -1];
210b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr20_sizeof[(sizeof(struct t20) == 8) ? 0 : -1];
211b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
212b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstruct t21
213b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier{
214b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short : 0;
215b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int foo1 : 1;
216b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
217b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int foo2 : 16;
218b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
219b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char bar1;
220b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int bar2;
221b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long bar3;
222b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char foo3 : 8;
223b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  char : 0;
224b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long : 0;
225b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  int foo4 : 32;
226b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short foo5: 1;
227b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  long bar4;
228b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short foo6: 16;
229b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short foo7: 16;
230b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier  short foo8: 16;
231b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier};
232b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr21_bar1_offset[(offsetof(struct t21, bar1) == 8) ? 0 : -1];
233b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr21_bar2_offset[(offsetof(struct t21, bar2) == 12) ? 0 : -1];
234b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr21_bar3_offset[(offsetof(struct t21, bar3) == 16) ? 0 : -1];
235b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr21_bar4_offset[(offsetof(struct t21, bar4) == 32) ? 0 : -1];
236b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosierstatic int arr21_sizeof[(sizeof(struct t21) == 44) ? 0 : -1];
237b8fca90263760e579d2e463f02c846faa54d03a0Chad Rosier
2384ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosierint main() {
2394ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier  return 0;
2404ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier}
2414ab00241dd2d03bd6c4a399fb63b7d46250e8499Chad Rosier
242