1// Test for bitfield alignment in structs on IA-32 2// { dg-do run } 3// { dg-require-effective-target ilp32 } 4// { dg-options "-O2" } 5// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } } 6 7extern void abort (void); 8extern void exit (int); 9 10struct X { 11 char a; 12 long long : 0; 13 char b; 14} x; 15 16int main () { 17 if (&x.b - &x.a != 4) 18 abort (); 19 if (sizeof (x) != 5) 20 abort (); 21 22 exit (0); 23} 24