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.