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.

Reply via email to