[multiple changes]

2005-08-29  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23598
	* io/lock.c(library_start):  If ioparm.iostat is present, clear
	it unconditionally.

2005-02-29  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23598
	* gfortran.dg/iostat_1.f90:  New test.

From-SVN: r103613
This commit is contained in:
Thomas Koenig 2005-08-29 20:40:02 +00:00 committed by Thomas Koenig
parent 57247f4b28
commit 827afb8629
4 changed files with 26 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2005-02-29 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/23598
* gfortran.dg/iostat_1.f90: New test.
2005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23408

View File

@ -0,0 +1,14 @@
! { dg-do run }
! PR 23598 - The iostat variable wasn't reset if the previous
! I/O library call had an error.
program main
implicit none
integer :: ios, i
open (10, pad='no', status='scratch')
write (10, '(A)') '1','1'
rewind (10)
read (10,'(I2)',iostat=ios) i
ios = -4321
read (10, '(I1)', iostat=ios) i
if (ios /= 0) call abort
end program main

View File

@ -1,3 +1,9 @@
2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/23598
* io/lock.c(library_start): If ioparm.iostat is present, clear
it unconditionally.
2005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see

View File

@ -54,7 +54,7 @@ library_start (void)
stay within the library. */
g.in_library = 1;
if (ioparm.iostat != NULL && ioparm.library_return == LIBRARY_OK)
if (ioparm.iostat != NULL)
*ioparm.iostat = ERROR_OK;
ioparm.library_return = LIBRARY_OK;