diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-09 03:15:04 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-09 03:15:04 +0000 |
commit | b73f66ae5ba3058e6c03e98ed2520d16964fa371 (patch) | |
tree | b6bc35395f9d2ba8c52c9fd4e1f68acf98807204 /libgfortran | |
parent | 9c9a0c2130dfe4167503ed91f4e5b70c2d440c99 (diff) |
2009-06-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40334
* io/list_read.c (list_formatted_read_scalar): Set the end file
conditions after a return from EOF error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@148303 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/list_read.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 38c96ade12b..358cd4391b0 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2009-06-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/40334 + * io/list_read.c (list_formatted_read_scalar): Set the end file + conditions after a return from EOF error. + 2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR fortran/40019 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 7cd1f6089de..3ca63de82e9 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -1687,6 +1687,11 @@ list_formatted_read_scalar (st_parameter_dt *dtp, volatile bt type, void *p, if (setjmp (eof_jump)) { generate_error (&dtp->common, LIBERROR_END, NULL); + if (!is_internal_unit (dtp)) + { + dtp->u.p.current_unit->endfile = AFTER_ENDFILE; + dtp->u.p.current_unit->current_record = 0; + } goto cleanup; } |