1 /* { dg-do compile } */
2 /* { dg-options "-O2 -floop-interchange" } */
3 
4 int a[1], c[1];
5 int b, d, e;
6 
7 void
fn1(int p1)8 fn1 (int p1)
9 {
10   for (;;)
11     ;
12 }
13 
14 int
fn3()15 fn3 ()
16 {
17   for (; e; e++)
18     c[e] = 2;
19   for (; d; d--)
20     a[d] = 8;
21   return 0;
22 }
23 
24 int fn5 (int);
25 
26 int
fn2()27 fn2 ()
28 {
29   fn3 ();
30 }
31 
32 void
fn4()33 fn4 ()
34 {
35   fn1 (b || fn5 (fn2 ()));
36 }
37