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

--- Comment #4 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
Well this is getting quite interesting. There is a bit of discussion going on
the Fortran Discourse about this.

https://fortran-lang.discourse.group/t/tab-formatting-with-stream-access/5466/47

After thinking about this a lot and going back in my mind to the beginning, we
had no concept of a "STREAM" file having a "record". In fact we never even try
to track where the end of a record may be. So my thoughts are is when doing
formatted "STREAM" writes I can introduce a variable in the gfc_unit structure
to keep track in the stream where the end of the last "record" occurred. Now by
"record" this would be either when a /n or /n/r ocurred.  You can think of a
complication where someone just decides to write out a /n or a /n/r explicitly
not using NEWLINE and not using the implicit EOR that happens with every
formatted write statement.

So I begin to believe this is a conceptual error in the standard. The fact that
there is such discussion about it implies that it is a conceptual error.

Regardless, I think I can handle the implicit EOR that occurs and track this,
but I do not want to waste my time with explicit things. Why? The real purpose
of STREAM was suppose to be, in my mind, a way to write a binary stream
irrespective of formatting.

(sigh)

More as I proceed.

Reply via email to