1 /* { dg-do run } */
2 /* { dg-options "-ftree-loop-if-convert" } */
3 
4 void abort (void);
5 
6 int a, b, c, d, o = 1, p;
7 short e;
8 
9 int
fn1(int * p1)10 fn1 (int * p1)
11 {
12   int f, g, h, j = 0, k = 0, l = 0;
13   unsigned int i;
14   int *m[1] = { &l };
15   for (; b >= 0; b--)
16     {
17       if (*p1)
18 	if (j >= 0)
19 	  {
20 	    int n = 1;
21 	    e = 1;
22 	    h = a ? a : 1 % n;
23 	    g = h > 0 ? 0 : h + 1;
24 	    k = c + g;
25 	  }
26 	else
27 	  continue;
28       else
29 	{
30 
31 	  f = d > 0 ? 0 : d + 1;
32 	  i = f;
33 	  j = 1 + i;
34 	}
35       l++;
36     }
37   return k;
38 }
39 
40 int
main()41 main ()
42 {
43   for (;; p++)
44     {
45       fn1 (&o);
46       break;
47     }
48   if (e != 1)
49     abort ();
50   return 0;
51 }
52