diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2019-05-15 21:02:36 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2019-05-15 21:02:36 +0300 |
commit | 0c15ebf1bd0d7ec8111acfecf71542acac4115b1 (patch) | |
tree | d8d96f02445161f81d85ccf4298ddc0a5f9fa39e /libgfortran/io/open.c | |
parent | 40c81f845c6f1c5e6df74442ca59279090ac1e8d (diff) | |
download | gcc-0c15ebf1bd0d7ec8111acfecf71542acac4115b1.zip gcc-0c15ebf1bd0d7ec8111acfecf71542acac4115b1.tar.gz gcc-0c15ebf1bd0d7ec8111acfecf71542acac4115b1.tar.bz2 |
Allow opening file on multiple units
As of Fortran 2018 it's allowed to open the same file on multiple
units.
libgfortran/ChangeLog:
2019-05-15 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/90461
* io/open.c (new_unit): Don't check if the file is already open
for F2018.
testsuite/ChangeLog:
2019-05-15 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/90461
* gfortran.dg/open_errors_2.f90: Add -std=f2008, adjust line number.
* gfortran.dg/open_errors_3.f90: New test.
From-SVN: r271260
Diffstat (limited to 'libgfortran/io/open.c')
-rw-r--r-- | libgfortran/io/open.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c index b48afab..d3bb11f 100644 --- a/libgfortran/io/open.c +++ b/libgfortran/io/open.c @@ -515,7 +515,8 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags *flags) Do not error if opening file preconnected to stdin, stdout, stderr. */ u2 = NULL; - if ((opp->common.flags & IOPARM_OPEN_HAS_FILE) != 0) + if ((opp->common.flags & IOPARM_OPEN_HAS_FILE) != 0 + && !(compile_options.allow_std & GFC_STD_F2018)) u2 = find_file (opp->file, opp->file_len); if (u2 != NULL && (options.stdin_unit < 0 || u2->unit_number != options.stdin_unit) |