@@ -37,13 +37,17 @@ STATIC_ASSERT(__builtin_types_compatible_p(typeof(enum unsigned_enum), unsigned
3737
3838// The enum gets bigger as required, but note that the constant is now unsigned.
3939enum large_enum1 { LARGE_CONSTANT1 = 0x100000000 };
40- STATIC_ASSERT (__builtin_types_compatible_p (typeof (LARGE_CONSTANT1 ), unsigned long ));
41- STATIC_ASSERT (__builtin_types_compatible_p (typeof (enum large_enum1 ), unsigned long ));
40+ STATIC_ASSERT (__builtin_types_compatible_p (typeof (LARGE_CONSTANT1 ), unsigned long ) ||
41+ __builtin_types_compatible_p (typeof (LARGE_CONSTANT1 ), unsigned long long ));
42+ STATIC_ASSERT (__builtin_types_compatible_p (typeof (enum large_enum1 ), unsigned long ) ||
43+ __builtin_types_compatible_p (typeof (enum large_enum1 ), unsigned long long ));
4244
4345// Also works when signed
4446enum large_enum2 { NEG = -1 , LARGE_CONSTANT2 = 0x100000000 };
45- STATIC_ASSERT (__builtin_types_compatible_p (typeof (LARGE_CONSTANT2 ), signed long ));
46- STATIC_ASSERT (__builtin_types_compatible_p (typeof (enum large_enum2 ), signed long ));
47+ STATIC_ASSERT (__builtin_types_compatible_p (typeof (LARGE_CONSTANT2 ), signed long ) ||
48+ __builtin_types_compatible_p (typeof (LARGE_CONSTANT2 ), signed long long ));
49+ STATIC_ASSERT (__builtin_types_compatible_p (typeof (enum large_enum2 ), signed long ) ||
50+ __builtin_types_compatible_p (typeof (enum large_enum2 ), signed long long ));
4751
4852// 'Packed' is interesting.
4953enum __attribute__ ((packed )) packed_enum1 { POS_PACKED = 1 };
0 commit comments