1 /* { dg-additional-options "-fno-rerun-cse-after-loop -fno-guess-branch-probability -fno-tree-fre" } */
2 
3 int x;
4 
5 void fn2 ();
6 void fn3 ();
7 void fn4 ();
8 void fn5 ();
9 void fn6 ();
10 
11 void
fn1(void)12 fn1 (void)
13 {
14   int n;
15   for (n = 0;; ++n) {
16     {
17       struct { char a[n]; } s;
18       fn2 (s);
19     }
20     struct { unsigned a[x]; } s;
21     int i, b;
22     for (i = 0; i < n; ++i)
23       ;
24     fn2 (s);
25     {
26       struct { char a[n]; } s;
27       int i;
28       for (i = 0; i < n; ++i)
29         s.a[i] = i;
30       fn3 (s, s);
31     }
32     fn4 ();
33     {
34       struct { unsigned a[n]; } s;
35       fn5 (s);
36     }
37     {
38       struct { char a[b]; } s;
39       for (; i < n;)
40         s.a[i] = i;
41       fn6 (s);
42     }
43   }
44 }
45