struct {unsigned long x:31;} s1;
struct {unsigned long x:32;} s2;
struct {unsigned long x:33;} s3;
int c1 = __builtin_types_compatible_p(typeof(+s1.x), int);
int c2 = __builtin_types_compatible_p(typeof(+s2.x), unsigned);
int c3 = __builtin_types_compatible_p(typeof(+s3.x), unsigned long);