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 
6 extern void abort (void) __attribute__((noreturn));
7 extern void exit (int) __attribute__((noreturn));
8 
9 void __attribute__((noinline))
foo(int i)10 foo (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 
27 int
main(void)28 main (void)
29 {
30   foo (2);
31   exit (0);
32 }
33