https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105361
--- Comment #1 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- This "fixes" the bug in question, but is almost certainly entirely incorrect for a lot of other cases. Will have to look a bit further. --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -2364,13 +2364,13 @@ finish_list_read (st_parameter_dt *dtp) if (likely (dtp->u.p.child_saved_iostat == LIBERROR_OK)) { c = next_char (dtp); if (c == EOF) { free_line (dtp); - hit_eof (dtp); + // hit_eof (dtp); return; } if (c != '\n') eat_line (dtp); } }