diff mbox

[Fortran,4.8/4.9/5,Regression] PR59513 READ or WRITE not allowed after EOF

Message ID 550F2E81.8040600@charter.net
State New
Headers show

Commit Message

Jerry DeLisle March 22, 2015, 9:05 p.m. UTC
On 03/22/2015 08:47 AM, Janne Blomqvist wrote:
> On Sat, Mar 21, 2015 at 12:24 AM, Jerry DeLisle <jvdelisle@charter.net> wrote:
>> The attached patch allows the attempt to READ or WRITE after an EOF for
>> legacy code.  The runtime error is suppressed for -std=legacy and -std=gnu.
>> For standard conformance the error is retained as is now.
> Since it's a standard violation rather than a GNU extension, I'd
> prefer if it were enabled only with -std=legacy.
> Ok with this change.

The attached patch adds documentation under 'extensions' in gfortran.texi.

Tested with make html.

I will commit soon with a ChangeLog entry


diff mbox


Index: gfortran.texi
--- gfortran.texi	(revision 221544)
+++ gfortran.texi	(working copy)
@@ -1404,6 +1404,7 @@  without warning.
 * OpenMP::
 * OpenACC::
 * Argument list functions::
+* Read/Write after EOF marker::
 @end menu
 @node Old-style kind specifications
@@ -2049,7 +2050,19 @@  For details refer to the g77 manual
 Also, @code{c_by_val.f} and its partner @code{c_by_val.c} of the
 GNU Fortran testsuite are worth a look.
+@node Read/Write after EOF marker
+@subsection Read/Write after EOF marker
+@cindex @code{EOF}
+@cindex @code{BACKSPACE}
+@cindex @code{REWIND}
+Some legacy codes rely on allowing @code{READ} or @code{WRITE} after the
+EOF file marker in order to find the end of a file. GNU Fortran normally
+rejects these codes with a run-time error message and suggests the user
+consider @code{BACKSPACE} or @code{REWIND} to properly position
+the file before the EOF marker.  As an extension, the run-time error may
+be disabled using -std=legacy.
 @node Extensions not implemented in GNU Fortran
 @section Extensions not implemented in GNU Fortran
 @cindex extensions, not implemented