| /* 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; | |
| } |