blob: 50927dc1d53a1f65e2514a396a24d854edc48be4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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;
}
|