This is the mail archive of the
mailing list for the GCC project.
Re: [Patch, libfortran] PR 30162 pipe I/O regression with 4.7/4.8
- From: Jerry DeLisle <jvdelisle at charter dot net>
- To: Janne Blomqvist <blomqvist dot janne at gmail dot com>
- Cc: Fortran List <fortran at gcc dot gnu dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 20 Feb 2013 17:28:16 -0800
- Subject: Re: [Patch, libfortran] PR 30162 pipe I/O regression with 4.7/4.8
- References: <CAO9iq9EvoA_saUTXW=uyOUQLrUuQUCzMDkhcV=0O9NbCtqcu5g@mail.gmail.com>
On 02/19/2013 02:40 PM, Janne Blomqvist wrote:
Hi,Patch is OK.
attached is an attempt to fix writing formatted sequential I/O to a
pipe (The PR was reopened in comment #22, which refers to formatted
I/O so the PR title is incorrect). I think the underlying reason was
that the introduction of the ssize() member function led to a change
in semantics (size of a non-seekable fd is now 0 rather than -1), and
thus in io/open.c test_endfile() we incorrectly concluded that the
file was not positioned at the end, and thus we try to truncate after
writing, leading to the failure.
At the same time, the patch reverts the previous fix; Unformatted
sequential requires seeking due to updating the record markers, I
think that issue can be closed as WONTFIX.
Regtested on x86_64-unknown-linux-gnu, Ok for trunk/4.7?