1/* PR tree-optimization/18694
2
3   The dominator optimization didn't take the PHI evaluation order
4   into account when threading an edge.  */
5
6extern void abort (void) __attribute__((noreturn));
7extern void exit (int) __attribute__((noreturn));
8
9void __attribute__((noinline))
10foo (int i)
11{
12  int next_n = 1;
13  int j = 0;
14
15  for (; i != 0; i--)
16    {
17      int n;
18
19      for (n = next_n; j < n; j++)
20	next_n++;
21
22      if (j != n)
23	abort ();
24    }
25}
26
27int
28main (void)
29{
30  foo (2);
31  exit (0);
32}
33