Hi Paul,

the patch looks reasonable to me. Ok for mainline.

Just a side-thought: Could it be possible, that the for-loop in trans-decl does
not find the result? Would an assert after the loop at least give a hint, where
something went wrong? That's just from reading the code, so if you think that
can not happen, feel free to commit w/o the assert.

Regards,
        Andre

On Wed, 22 Jan 2025 14:03:15 +0000
Paul Richard Thomas <paul.richard.tho...@gmail.com> wrote:

> Hi All,
>
> This patch fixes a double ICE arising from confusion between the dummy
> symbol arising from a module function/subroutine interface and the module
> procedure itself. In both cases, use of the name is unambiguous, as
> explained in the ChangeLog. The testcase contains both the original and the
> variant in comment 1.
>
> Regtests OK with FC41/x86_64 - OK for mainline and later backporting?
>
> Paul
>
> Fortran: Regression- fix ICE at fortran/trans-decl.c:1575 [PR96087]
>
> 2025-01-22  Paul Thomas  <pa...@gcc.gnu.org>
>
> gcc/fortran
> PR fortran/96087
> * trans-decl.cc (gfc_get_symbol_decl): If a dummy is missing a
> backend decl, it is likely that it has come from a module proc
> interface. Look for the formal symbol by name in the containing
> proc and use its backend decl.
> * trans-expr.cc (gfc_apply_interface_mapping_to_expr): For the
> same reason, match the name, rather than the symbol address to
> perform the mapping.
>
> gcc/testsuite/
> PR fortran/96087
> * gfortran.dg/pr96087.f90: New test.


--
Andre Vehreschild * Email: vehre ad gmx dot de

Reply via email to