https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59513

Manfred Schwarb <manfred99 at gmx dot ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |manfred99 at gmx dot ch

--- Comment #22 from Manfred Schwarb <manfred99 at gmx dot ch> ---
I just encountered the same issue, with some convoluted legacy code.
The scheme seems to be the same:

      READ(lun,END=100) buffer
100   WRITE(lun,*) "whatever"

As the used code definitely was used in practice, mainly before the year
2000, I guess that older compiler supported this.

And yes, the BACKSPACE() trick works. However, common sense suggest
that with END= we are at the end of the file. This sounds a bit like the
old joke, where you have a room with 5 people, you are taking 6 out, so
someone has to go in for the room to be empty. Beyond EOF simply does
not exist.

Jerry, concerning your cited standard:
"If the file contains an endfile record" suggests that there is some
special marker in the file to be read/written.
In this example, we are doing some formatted IO to a plain text file,
there are no special markers.
Do I miss something?

What does/should ftell() report in such a case? That we are one
character beyond EOF?

Reply via email to