// Test for bitfield alignment in structs on IA-32 | |
// { dg-do run { target i?86-*-* } } | |
/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */ | |
// { dg-options "-O2" } | |
// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } } | |
extern void abort (void); | |
extern void exit (int); | |
struct X { | |
char a; | |
long long : 0; | |
char b; | |
} x; | |
int main () { | |
if (&x.b - &x.a != 4) | |
abort (); | |
if (sizeof (x) != 5) | |
abort (); | |
exit (0); | |
} |