https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84246

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andre Vehreschild <ve...@gcc.gnu.org>:

https://gcc.gnu.org/g:35f56012806432fd89bbae431950a8dc5f6729a3

commit r15-3035-g35f56012806432fd89bbae431950a8dc5f6729a3
Author: Andre Vehreschild <ve...@gcc.gnu.org>
Date:   Wed Jul 17 12:30:52 2024 +0200

    Fortran: Fix [Coarray] ICE in conv_caf_send, at
fortran/trans-intrinsic.c:1950 [PR84246]

    Fix ICE caused by converted expression already being pointer by checking
    for its type.  Lift rewrite to caf_send completely into resolve and
    prevent more temporary arrays.

            PR fortran/84246

    gcc/fortran/ChangeLog:

            * resolve.cc (caf_possible_reallocate): Detect arrays that may
            be reallocated by caf_send.
            (resolve_ordinary_assign): More reliably detect assignments
            where a rewrite to caf_send is needed.
            * trans-expr.cc (gfc_trans_assignment_1): Remove rewrite to
            caf_send, because this is done by resolve now.
            * trans-intrinsic.cc (conv_caf_send): Prevent unneeded temporary
            arrays.

    libgfortran/ChangeLog:

            * caf/single.c (send_by_ref): Created array's lbound is now 1
            and the offset set correctly.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/coarray_allocate_7.f08: Adapt to array being
            allocate by caf_send.
  • [Bug fortran/84246] [12/13/14/1... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to