diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-07 17:40:24 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-07 17:40:24 +0000 |
commit | 12eacd7e3469608e142cb3e1e6d9a7505473fd0f (patch) | |
tree | b08e2d76f68c8f7f9c7cf363e710cd8aab81fb92 /libgfortran | |
parent | 7a236826c9e620f98913d2dea7465532d7f49b23 (diff) | |
download | gcc-12eacd7e3469608e142cb3e1e6d9a7505473fd0f.tar.gz |
2009-06-07 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/trunk@148251 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 c1204932abe..6558936b1d0 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2009-06-07 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-04 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/40330 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 7cd1f6089de..f6d5687ba8e 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; } |