This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/38668] advance="no": no buffering, truncate and seek
- From: "jb at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jan 2009 09:38:08 -0000
- Subject: [Bug libfortran/38668] advance="no": no buffering, truncate and seek
- References: <bug-38668-10391@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from jb at gcc dot gnu dot org 2009-01-18 09:38 -------
My patch for PR25561 fixes this partially, with the patch the strace output is:
write(3, "a", 1) = 1
write(3, "a", 1) = 1
write(3, "a", 1) = 1
write(3, "a", 1) = 1
write(3, "a", 1) = 1
write(3, "a", 1) = 1
I distinctly remember that in finalize_transfer() or some related function, we
flush the buffers in case of advance='no', presumably in order to get the
common advance='no' case of waiting on user input correct. However, this check
should be tightened to additionally check that the unit is a tty, which should
fix this case. Assigning this to myself, will fix once the mega-patch for 25561
is in after 4.5 opens.
--
jb at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |25561
AssignedTo|unassigned at gcc dot gnu |jb at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-01-18 09:38:08
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38668