Following code fails to report the runtime error. The program goes into infinite loop.
$ cat test.f90 program modify_by_include implicit none integer i do i = 1, 10 call dangerous_inclusion write(*,'(a,i0)') ' i = ', i end do contains subroutine dangerous_inclusion i = i+2 end subroutine dangerous_inclusion end program modify_by_include $ gfortran test.f90 $ ./a.out i = 3 i = 6 i = 9 i = 12 i = 15 i = 18 i = 21 i = 24 i = 27 i = 30 i = 33 i = 36 i = 39 i = 42 i = 45 i = 48 i = 51 i = 54 i = 57 i = 60 ... Infinite loop -- Summary: fails to report runtime error Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: uttamp at us dot ibm dot com GCC build triplet: powerpc64-linux GCC host triplet: powerpc64-linux GCC target triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24885