------- Comment #12 from pault at gcc dot gnu dot org  2008-01-01 17:23 -------
Ah! I feel a light bulb moment coming on.

The type mismatch necessitates the use of the internal real to integer
conversion function, which in its turn checks the interface with 'get_nfirst'. 
Being a formal argument to a use associated function, 'numclusters' seems to
wind up with a bad namespace.  I have encountered this before and should now
sort it out properly.  A kludgy fix is:

Index: ../trunk/gcc/fortran/trans-decl.c
===================================================================
*** ../trunk/gcc/fortran/trans-decl.c   (revision 131237)
--- ../trunk/gcc/fortran/trans-decl.c   (working copy)
*************** gfc_get_symbol_decl (gfc_symbol * sym)
*** 896,901 ****
--- 896,904 ----
                || sym->attr.use_assoc
                || sym->ns->proc_name->attr.if_source == IFSRC_IFBODY);

+   if (sym->ns && !sym->ns->proc_name)
+     sym->ns = gfc_current_ns;
+
    if (sym->ns && sym->ns->proc_name->attr.function)
      byref = gfc_return_by_reference (sym->ns->proc_name);
    else

Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2007-12-21 06:09:04         |2008-01-01 17:23:35
               date|                            |


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

Reply via email to