------- Comment #6 from janus at gcc dot gnu dot org  2009-07-14 13:50 -------
The error goes away with the following patch:

Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c       (revision 149623)
+++ gcc/fortran/resolve.c       (working copy)
@@ -9845,20 +9845,6 @@ resolve_symbol (gfc_symbol *sym)
   if (sym->formal_ns && sym->formal_ns != gfc_current_ns)
     gfc_resolve (sym->formal_ns);

-  /* Make sure the formal namespace is present.  */
-  if (sym->formal && !sym->formal_ns)
-    {
-      gfc_formal_arglist *formal = sym->formal;
-      while (formal && !formal->sym)
-       formal = formal->next;
-
-      if (formal)
-       {
-         sym->formal_ns = formal->sym->ns;
-         sym->formal_ns->refs++;
-       }
-    }
-
   /* Check threadprivate restrictions.  */
   if (sym->attr.threadprivate && !sym->attr.save && !sym->ns->save_all
       && (!sym->attr.in_common

However, I don't quite see the connection yet. Also, this will regress e.g. on
proc_ptr_22.f90 (which is the reason why I added this hunk for PR40646).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40743

Reply via email to