1 /* { dg-do run } */ 2 /* { dg-options "-Os" } */ 3 /* { dg-require-effective-target int32plus } */ 4 5 union U 6 { 7 unsigned int f0; 8 int f1; 9 }; 10 11 int a, d; 12 13 void fn1(union U p)14fn1 (union U p) 15 { 16 if (p.f1 <= 0) 17 if (a) 18 d = 0; 19 } 20 21 void fn2()22fn2 () 23 { 24 d = 0; 25 union U b = { 4294967286U }; 26 fn1 (b); 27 } 28 29 int main()30main () 31 { 32 fn2 (); 33 return 0; 34 } 35