------- Comment #9 from pault at gcc dot gnu dot org  2007-06-23 10:48 -------
This does the job:

Index: /svn/trunk/gcc/fortran/resolve.c
===================================================================
--- /svn/trunk/gcc/fortran/resolve.c    (revision 125970)
+++ /svn/trunk/gcc/fortran/resolve.c    (working copy)
@@ -3229,7 +3229,8 @@ check_host_association (gfc_expr *e)
     return e->expr_type == EXPR_FUNCTION;

   old_sym = e->symtree->n.sym;
-  if (gfc_current_ns->parent
+  if (!old_sym->attr.use_assoc
+       && gfc_current_ns->parent
        && gfc_current_ns->parent->parent
        && old_sym->ns != gfc_current_ns)
     {

and we probably need to exclude intrinsics, I suppose.  I'll think about it.

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-06-22 18:17:45         |2007-06-23 10:48:39
               date|                            |


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

Reply via email to