1/* PR rtl-optimization/58726 */ 2 3int a, c; 4union { int f1; int f2 : 1; } b; 5 6short 7foo (short p) 8{ 9 return p < 0 ? p : a; 10} 11 12int 13main () 14{ 15 if (sizeof (short) * __CHAR_BIT__ != 16 16 || sizeof (int) * __CHAR_BIT__ != 32) 17 return 0; 18 b.f1 = 56374; 19 unsigned short d; 20 int e = b.f2; 21 d = e == 0 ? b.f1 : 0; 22 c = foo (d); 23 if (c != (short) 56374) 24 __builtin_abort (); 25 return 0; 26} 27