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 <tkoe...@gcc.gnu.org> 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.