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)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 27 int main(void)28main (void) 29 { 30 foo (2); 31 exit (0); 32 } 33