https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101255

            Bug ID: 101255
           Summary: FLUSH statement - error should be negative
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
  Target Milestone: ---

F2018 states:

"Fortran 2008 specifies that the IOSTAT= variable shall be set to a
processor-dependent negative value if the flush operation is not supported for
the unit specified. This document specifies that the processor-dependent
negative27integer value shall be different from the named constants IOSTAT_EOR
or IOSTAT_END from the intrinsic28module ISO_FORTRAN_ENV."

However, the following program prints:
        5002 Specified UNIT in FLUSH is not connected          
          -2          -1
shouldn't the 5002 be a negative number (such as -5002)?

use iso_fortran_env
implicit none
character(len=50) :: err
integer :: i
!open(99)
!close(99)
flush(99,iostat=i,iomsg=err)
print *, i, err
print *, IOSTAT_EOR , IOSTAT_END 
end

Reply via email to