http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55005
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-10-23 14:32:02 UTC --- This is similar case as do-1.f90. We have: Statement _6 = m_5 * 2147483647; is executed at most 2 (bounded by 2) + 1 times in loop 1. coming from: while (i--) { g (i * 2147483647); } This overflows for i==4 and leads to undefined effect. So I think the testcase is invalid. Honza