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