/* PR tree-optimization/18694 | |
The dominator optimization didn't take the PHI evaluation order | |
into account when threading an edge. */ | |
extern void abort (void) __attribute__((noreturn)); | |
extern void exit (int) __attribute__((noreturn)); | |
void __attribute__((noinline)) | |
foo (int i) | |
{ | |
int next_n = 1; | |
int j = 0; | |
for (; i != 0; i--) | |
{ | |
int n; | |
for (n = next_n; j < n; j++) | |
next_n++; | |
if (j != n) | |
abort (); | |
} | |
} | |
int | |
main (void) | |
{ | |
foo (2); | |
exit (0); | |
} |