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

Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jvdelisle at gcc dot gnu.org
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
F2018 standard section 13.10.3 List-directed Input

There is a note NOTE 13.29 at the end of the first sub-section 13.10.3.1"

"An allocatable, deferred-length character effective item does not have its
allocation status or allocated length changed as a result of list-directed
input."

This implies that if the strings of the array are not already allocated to a
resonable length, for example a string of blanks, then the read will attempt to
transfer the file contents into unallocated strings.

If the status is unallocated the list READ cannot do any allocation to change
its status to ALLOCATED.

Thus all bets are off if it crashes. The read routines have no idea of the size
to allocate the length to until the read is completed.  There may be other
places in the standard to clarify this, but looks like invalid fortran.

Reply via email to