aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog12
-rw-r--r--libgfortran/io/transfer.c3
2 files changed, 11 insertions, 4 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index c342589..4dbc337 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,9 +1,15 @@
+2007-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/31052
+ * io/transfer.c (next_record_r): Do not call test_endfile if in namelist
+ mode.
+
2007-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31199
- *io/io.h: Add saved_pos to gfc_unit structure.
- *io/open.c (new_unit): Initialize saved_pos.
- *io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos.
+ * io/io.h: Add saved_pos to gfc_unit structure.
+ * io/open.c (new_unit): Initialize saved_pos.
+ * io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos.
(next_record_w): Fix whitespace.
(finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for
later use. If not ADVANCE="no" set saved_pos to zero.
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 94bda09..2555898 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -2228,7 +2228,8 @@ next_record_r (st_parameter_dt *dtp)
break;
}
- if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL)
+ if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL
+ && !dtp->u.p.namelist_mode)
test_endfile (dtp->u.p.current_unit);
}