[Bug libfortran/92569] [8/9/10 Regression] gfortran read with end directive does not trigger with -ffrontend-optimize
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 22 20:54:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92569
--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
(In reply to anlauf from comment #6)
> Something like the following fixes the testcase, but leads to regressions
> elsewhere in the testsuite (e.g. direct_io_{9,10}.f):
You've found the right spot, I think.
Index: io/transfer.c
===================================================================
--- io/transfer.c (Revision 278025)
+++ io/transfer.c (Arbeitskopie)
@@ -2544,6 +2544,10 @@
while (data)
{
+ if (unlikely (dtp->u.p.current_unit
+ && dtp->u.p.current_unit->endfile == AFTER_ENDFILE))
+ return;
+
dtp->u.p.transfer (dtp, iotype, data, kind, size, tsize);
data += stride0 * tsize;
count[0] += tsize;
seems to be better...
More information about the Gcc-bugs
mailing list