1 /* { dg-do compile } */ 2 3 short a, c; 4 union { 5 unsigned f0; 6 unsigned short f1; 7 } b; 8 volatile int d; fn1(short p1)9 short fn1(short p1) { return p1 + a; } fn2()10 void fn2() 11 { 12 b.f0 = 0; 13 for (;; b.f0 = fn1(b.f0)) 14 (c && b.f1) || d; 15 } 16