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