summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-07 17:40:24 +0000
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-07 17:40:24 +0000
commit12eacd7e3469608e142cb3e1e6d9a7505473fd0f (patch)
treeb08e2d76f68c8f7f9c7cf363e710cd8aab81fb92 /libgfortran
parent7a236826c9e620f98913d2dea7465532d7f49b23 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--libgfortran/io/list_read.c5
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;
}