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
commit54d4b3bcb2af59050745e7ffa031e9fad7bb4b65 (patch)
tree882446a9f0c3efc08138424739a31c3802936371 /libgfortran
parentfc489e4a0749622dcaa653cb871d865dbeaf594e (diff)
downloadgcc-54d4b3bcb2af59050745e7ffa031e9fad7bb4b65.zip
gcc-54d4b3bcb2af59050745e7ffa031e9fad7bb4b65.tar.gz
gcc-54d4b3bcb2af59050745e7ffa031e9fad7bb4b65.tar.bz2
re PR libfortran/46373 (fflush called when reading from a string)
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. From-SVN: r166490
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 f7fe9e1..8e51190 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 05425ca..6f13113 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;