1 /* { dg-do run } */
2 
3 int *a, b, c, **d = &a, e, f, **h, i, j, k, l, m, *n, o, **q, r, s;
4 
fn1(int p)5 void fn1 (int p) { }
6 
7 void
fn3()8 fn3 ()
9 {
10   for (; j; j++)
11     for (; k; k++)
12       l++;
13   f++;
14 }
15 
16 static int
fn4(char p1,int * p2)17 fn4 (char p1, int *p2)
18 {
19   for (; m < 1;)
20     {
21       fn1 (q == &p2);
22       for (; o; o++)
23 	;
24       n = p2;
25       return 0;
26     }
27   for (;;)
28     {
29       for (; s; s++)
30 	b = r;
31       *d = 0;
32     }
33 }
34 
35 static int *fn2 (char, int, int *);
36 
37 static int
fn5()38 fn5 ()
39 {
40   int *g = &c;
41   fn3 ();
42   fn2 (0, 0, g);
43   return e;
44 }
45 
46 static int *
fn2(char p1,int p2,int * p3)47 fn2 (char p1, int p2, int *p3)
48 {
49   fn4 (0, p3);
50   fn1 (&p3 == h);
51   for (; i;)
52     fn5 ();
53   fn4 (0, p3);
54   return *d;
55 }
56 
57 int
main()58 main ()
59 {
60   fn5 ();
61   return 0;
62 }
63