The following program should print "OK". This is a regression as gfortran 4.1.3
and 4.2.2 print "OK" and not "FAIL" as gfortran 4.3.0.

(Found using the Fortran Company Fortran 90 Test Suite (Lite), Version 1.4)

implicit none
integer :: i
! NAME_FIELD is an internal file.
CHARACTER * 80 :: NAME_FIELD
integer::name_array(17)=0
do i=1,16
  write(name_field(5*i-4:5*i),"(i5)")i
end do
! If the array NAME_ARRAY has more than 16 elements,
!   an end-of-file condition will occur and the statement
!   labeled 98 will be executed next.
READ (NAME_FIELD, 100, END=98) NAME_ARRAY
100 FORMAT (16I5)
97 print*,'FAIL - expected END=98'
stop
98 print*,'OK'
end


-- 
           Summary: Regression 4.3: I/O internal read: END expected, but no
                    failure
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 32834
             nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34560

Reply via email to