blob: b8c5cbd285859cd1bf556b79b31009c00fbe6ca0 [file] [log] [blame]
/* { dg-require-effective-target int32plus } */
union U
{
const int a;
unsigned b : 20;
};
static union U u = { 0x12345678 };
/* Constant folding used to fail to account for endianness when folding a
union. */
int
main (void)
{
#ifdef __BYTE_ORDER__
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
return u.b - 0x45678;
#else
return u.b - 0x12345;
#endif
#endif
return 0;
}