http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54985
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |4.6.3 Keywords| |wrong-code Last reconfirmed| |2012-10-19 Component|middle-end |tree-optimization Ever Confirmed|0 |1 Summary|Dom optimization erroneous |[4.7/4.8 Regression] dom |remove conditional goto. |optimization erroneous | |remove conditional goto. Target Milestone|--- |4.7.3 Known to fail| |4.7.2, 4.8.0 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-19 11:19:38 UTC --- Confirmed. Single-file testcase, fails with 4.7 and 4.8. typedef struct st { int a; } ST; int __attribute__((noinline,noclone)) foo(ST *s, int c) { int first = 1; int count = c; ST *item = s; int a = s->a; int x; while (count--) { x = item->a; if (first) first = 0; else if (x >= a) return 1; a = x; item++; } return 0; } extern void abort (void); int main () { ST _1[2] = {{2}, {1}}; if (foo(_1, 2) != 0) abort (); return 0; }