1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 #define assert(x) if (!(x)) __builtin_abort ()
5 
6 int a, b, c, d, e, f, g;
7 
8 int
fn1()9 fn1 ()
10 {
11   int *h = &c;
12   for (; c < 1; c++)
13     {
14       int *i = &a, *k = &a;
15       f = 0;
16       if (b)
17 	return 0;
18       if (*h)
19 	{
20 	  int **j = &i;
21 	  *j = 0;
22 	  d = 0;
23 	}
24       else
25 	g = e = 0;
26       if (*h)
27 	{
28 	  int **l = &k;
29 	  *l = &g;
30 	}
31       d &= *h;
32       assert (k == &a || k);
33       assert (i);
34     }
35   return 0;
36 }
37 
38 int
main()39 main ()
40 {
41   fn1 ();
42   return 0;
43 }
44