/* The bit-field below would have a problem if __INT_MAX__ is too | |
small. */ | |
#if __INT_MAX__ < 2147483647 | |
int | |
main (void) | |
{ | |
exit (0); | |
} | |
#else | |
struct S | |
{ | |
int a:3; | |
unsigned b:1, c:28; | |
}; | |
struct S x = {1, 1, 1}; | |
main () | |
{ | |
x = (struct S) {b:0, a:0, c:({ struct S o = x; o.a == 1 ? 10 : 20;})}; | |
if (x.c != 10) | |
abort (); | |
exit (0); | |
} | |
#endif |