]> git.ipfire.org Git - thirdparty/gcc.git/commit
Do not generate formal arglist from actual if we have already resolved it.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 11 May 2025 05:40:23 +0000 (07:40 +0200)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 11 May 2025 05:46:35 +0000 (07:46 +0200)
commit004bf889e0b1b96ae50f93339104d3602a88deb5
tree3965f0ad6e0dbf14583057790c60e7300a036e59
parent66d17ba3cb47980455ee9d6b4123dce61aef2fa2
Do not generate formal arglist from actual if we have already resolved it.

This bug was another case of generating a formal arglist from
an actual one where we should not have done so.  The fix is
straightforward:  If we have resolved the formal arglist, we should
not generare a new one.

OK for trunk and backport?

gcc/fortran/ChangeLog:

PR fortran/120163
* gfortran.h: Add formal_resolved to gfc_symbol.
* resolve.cc (gfc_resolve_formal_arglist): Set it.
(resolve_function): Do not call gfc_get_formal_from_actual_arglist
if we already resolved a formal arglist.
(resolve_call): Likewise.

gcc/testsuite/ChangeLog:

PR fortran/120163
* gfortran.dg/interface_61.f90: New test.
gcc/fortran/gfortran.h
gcc/fortran/resolve.cc
gcc/testsuite/gfortran.dg/interface_61.f90 [new file with mode: 0644]