1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
3
4 int a, b, c, d, *e;
5 void f(int h) {
6 if (b) {
7 int g;
8 while (g++)
9 d = *e;
10 e++;
11 }
12 }
13 static void i();
14 static void j(int *h, int k, int *l) {
15 if (c) {
16 int *o = h, m;
17 f(*l);
18 i(m);
19 j(o, 1, o);
20 for (;;)
21 ;
22 }
23 }
24 void i() {
25 int *n = &a;
26 while (1)
27 j(n, 1, n);
28 }
29 int main() {
30 j(&a, 0, &a);
31 return 0;
32 }