2013-08-27 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr57521.c
blobe7832cb00e83a509b24672218e461f989e8a520a
1 /* { dg-do run } */
2 /* { dg-options "-ftree-loop-if-convert" } */
4 void abort (void);
6 int a, b, c, d, o = 1, p;
7 short e;
9 int
10 fn1 (int * p1)
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--)
17 if (*p1)
18 if (j >= 0)
20 int n = 1;
21 e = 1;
22 h = a ? a : 1 % n;
23 g = h > 0 ? 0 : h + 1;
24 k = c + g;
26 else
27 continue;
28 else
31 f = d > 0 ? 0 : d + 1;
32 i = f;
33 j = 1 + i;
35 l++;
37 return k;
40 int
41 main ()
43 for (;; p++)
45 fn1 (&o);
46 break;
48 if (e != 1)
49 abort ();
50 return 0;