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
14 fn1 (int p1, unsigned p2)
15 {
16 return p1 + p2;
17 }
18
19 void
20 fn2 ()
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 }