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

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |patch
                 CC|                            |mikael at gcc dot gnu.org
   Last reconfirmed|                            |2023-10-12

--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> ---
Confirmed.

This should fix it:

diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 1042b8c18e8..e2e0fc8eba3 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -285,6 +285,7 @@ gfc_resolve_formal_arglist (gfc_symbol *proc)
       sym->attr.always_explicit = 1;
     }

+  bool saved_formal_arg_flag = formal_arg_flag;
   formal_arg_flag = true;

   for (f = proc->formal; f; f = f->next)
@@ -533,7 +534,7 @@ gfc_resolve_formal_arglist (gfc_symbol *proc)
            }
        }
     }
-  formal_arg_flag = false;
+  formal_arg_flag = saved_formal_arg_flag;
 }

Reply via email to