/* PR rtl-optimization/58726 */ | |
int a, c; | |
union { int f1; int f2 : 1; } b; | |
short | |
foo (short p) | |
{ | |
return p < 0 ? p : a; | |
} | |
int | |
main () | |
{ | |
if (sizeof (short) * __CHAR_BIT__ != 16 | |
|| sizeof (int) * __CHAR_BIT__ != 32) | |
return 0; | |
b.f1 = 56374; | |
unsigned short d; | |
int e = b.f2; | |
d = e == 0 ? b.f1 : 0; | |
c = foo (d); | |
if (c != (short) 56374) | |
__builtin_abort (); | |
return 0; | |
} |