libgfortran ChangeLog:

2005-11-26  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libgfortran/24945
	* io/open.c (edit_modes): Check for STATUS_UNKNOWN flag.
	
testsuite ChangeLog

2005-11-26  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libgfortran/24945
	* gfortran.dg/open_status_2.f90: New test.

From-SVN: r107538
This commit is contained in:
Janne Blomqvist 2005-11-26 11:12:36 +02:00
parent 18eaea7f15
commit cea51b427a
4 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-11-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/24945
* gfortran.dg/open_status_2.f90: New test.
2005-11-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.c-torture/execute/builtins/fprintf.c,

View File

@ -0,0 +1,12 @@
! { dg-do run }
! PR 25036
! Test reopening file without status specifier or with
! status='unknown'. The standard says that these two must behave
! identically, but the actual behaviour is processor dependent.
program open_status_2
open(10, file="f", form='unformatted', status='unknown')
open(10, file="f", form='unformatted', status='unknown')
open(10, file="f", form='unformatted')
close(10, status='delete')
end program open_status_2

View File

@ -1,3 +1,8 @@
2005-11-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/24945
* io/open.c (edit_modes): Check for STATUS_UNKNOWN flag.
2005-11-25 Richard Henderson <rth@redhat.com>
* io/list_read.c (nml_parse_qualifier): Use memcpy to extract

View File

@ -144,9 +144,10 @@ edit_modes (st_parameter_open *opp, gfc_unit * u, unit_flags * flags)
/* Status must be OLD if present. */
if (flags->status != STATUS_UNSPECIFIED && flags->status != STATUS_OLD)
if (flags->status != STATUS_UNSPECIFIED && flags->status != STATUS_OLD &&
flags->status != STATUS_UNKNOWN)
generate_error (&opp->common, ERROR_BAD_OPTION,
"OPEN statement must have a STATUS of OLD");
"OPEN statement must have a STATUS of OLD or UNKNOWN");
if (u->flags.form == FORM_UNFORMATTED)
{