1 /* { dg-do compile } */ 2 /* { dg-options "-O3" } */ 3 4 struct S 5 { 6 int f1; 7 int f2; 8 } a; 9 10 int b, c, d, e; 11 short f; 12 13 int fn1(int p1,unsigned p2)14fn1 (int p1, unsigned p2) 15 { 16 return p1 + p2; 17 } 18 19 void fn2()20fn2 () 21 { 22 struct S g; 23 int h; 24 for (; c; c++) 25 for (f = -3; f < 3; f = fn1 (f, 8)) 26 { 27 a.f1 = e; 28 if (b) 29 a = g; 30 else 31 for (; h; h++) 32 d = b; 33 } 34 } 35