https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100227
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #6 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Fixed by
https://gcc.gnu.org/g:d7e3855d5dd8c001bb65dc7da1cda0249bfc2986
https://gcc.gnu.org/g:ba58662d013aa14d408a0e7172765e3da707a9eb
https://gcc.gnu.org/g:750d7364d9719e70b444d0c25d53550c65f180d1
https://gcc.gnu.org/g:5f8227f7c91fc59e4ad2d35114bed1272f7b0b2d
respectively for 12,11,10 and 9.
Why the commits did not hit bugzilla I do not know.
Thanks for the bug report!
Author: Thomas Koenig <[email protected]>
Date: Tue Jul 6 07:04:09 2021 +0200
Do not replace variable op variable in I/O implied DO loop replacement.
This PR came about because index expressions of the form k+k in
implied DO loops in I/O statements were considered for replacement
by array slices.
Fixed by only doing the transformation if the expression is of the
type expr OP contastant.
gcc/fortran/ChangeLog:
PR fortran/100227
* frontend-passes.c (traverse_io_block): Adjust test for
when a variable is eligible for the transformation to
array slice.
gcc/testsuite/ChangeLog:
PR fortran/100227
* gfortran.dg/implied_do_io_7.f90: New test.