1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
/* The bit-field below would have a problem if __INT_MAX__ is too small. */ #if __INT_MAX__ < 2147483647 int main (void) { exit (0); } #else f () { struct { int x : 18; int y : 14; } foo; foo.x = 10; foo.y = 20; return foo.y; } main () { if (f () != 20) abort (); exit (0); } #endif