------- 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