http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52865
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-16 10:47:18 UTC --- BTW, does Fortran have well defined number of iterations if say a do loop goes from (unknown to compiler): integer :: i, m, n m = huge(0) - 7 n = huge(0) - 2 do i = m, n, 4 ... end do ? If it must iterate exactly twice (for i = huge(0) - 7 and i = huge(0) - 3), then it can't be expressed as a corresponding C loop (which would end up with undefined behavior). But using a temporary, increment and then test of the temporary should be doable in the FE, the question is if it does cure this.