The following is non-standard and the compiler should probably generate a warning/error with '-pedantic -std=f95', but does not do so with gcc version 4.3.0 20080103 (experimental) [trunk revision 131300] (GCC)
PROGRAM test IMPLICIT NONE INTEGER :: i DO i=1,100 CALL do_something() ENDDO CONTAINS SUBROUTINE do_something() IMPLICIT NONE DO i=1,10 ENDDO END SUBROUTINE do_something END PROGRAM test -- Summary: modifies do loop variable Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34656