[Bug fortran/83057] New: OPEN(3f) without a filename and without STATUS='SCRATCH' does not produce a warning as being an extension on unassigned files
urbanjost at comcast dot net
gcc-bugzilla@gcc.gnu.org
Mon Nov 20 01:33:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83057
Bug ID: 83057
Summary: OPEN(3f) without a filename and without
STATUS='SCRATCH' does not produce a warning as being
an extension on unassigned files
Product: gcc
Version: 6.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: urbanjost at comcast dot net
Target Milestone: ---
The standard states if a unconnected file is opened with a unit but
not with a filename that STATUS='SCRATCH' must be supplied. If so,
the two OPEN(3f) statements below are not standard, but no warning
is produced. Instead, files fort.20 and fort.-10 are created. The
program creates the files if they do not exist, and produces no errors
if they do exist.
I know many compilers (at least in the past) that create files with
a default name when a unit without a FILE= specifier is used such as
below, but it appears that is non-standard.
So should the OPEN(3f) statements below at least produce a warning
about being non-standard? I am using GNU Fortran (GCC) 6.4.0:
gfortran -std=f2008 -Wall xxx.F90
Perhaps something like
'Warning: GNU Fortran extension: OPEN(3f) of an unconnected file without
a filename requires STATUS='SCRATCH' be specified'
! If the NEWUNIT= specifier appears in an OPEN statement, either the
! FILE= specifier shall appear, or the STATUS= specifier shall appear
! with a value of SCRATCH. The unit identified by a NEWUNIT value shall
! not be preconnected.
!
! If the filename is omitted and the unit is not connected to a file,
! the STATUS= specifier shall be specified with a value of SCRATCH;
! in this case, the connection is made to a processor-dependent file.
open(20)
open(newunit=lun)
end
More information about the Gcc-bugs
mailing list