aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2010-11-09 13:51:57 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2010-11-09 13:51:57 +0000
commitd5cc4f8c36f485ca08e78ea5757ba6f948af3137 (patch)
tree882446a9f0c3efc08138424739a31c3802936371 /libgfortran
parent07e459d034a66bb9df99174b0646d16e6cabc006 (diff)
2010-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/46373 * io/transfer.c (data_transfer_init): Do not call flush_if_preconnected if this is an internal unit. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@166490 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/io/transfer.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index f7fe9e1d391..8e511901ce0 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/46373
+ * io/transfer.c (data_transfer_init): Do not call flush_if_preconnected
+ if this is an internal unit.
+
2010-11-04 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/44931
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 05425ca2515..6f13113c6b2 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -2646,7 +2646,8 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag)
}
/* Bugware for badly written mixed C-Fortran I/O. */
- flush_if_preconnected(dtp->u.p.current_unit->s);
+ if (!is_internal_unit (dtp))
+ flush_if_preconnected(dtp->u.p.current_unit->s);
dtp->u.p.current_unit->mode = dtp->u.p.mode;