------- Comment #7 from pault at gcc dot gnu dot org 2010-05-01 17:16 ------- I do not see any reason not to confirm this one.
This Index: gcc/fortran/resolve.c =================================================================== *** gcc/fortran/resolve.c (revision 158958) --- gcc/fortran/resolve.c (working copy) *************** resolve_typebound_generic_call (gfc_expr *** 5132,5137 **** --- 5132,5138 ---- { gfc_typebound_proc* genproc; const char* genname; + gfc_symtree *st; gcc_assert (e->expr_type == EXPR_COMPCALL); genname = e->value.compcall.name; *************** resolve_typebound_generic_call (gfc_expr *** 5199,5204 **** --- 5200,5214 ---- return FAILURE; success: + genname = e->value.compcall.tbp->u.specific->name; + if (*genname == '@') + genname = e->value.compcall.tbp->u.specific->n.sym->name; + + st = gfc_find_typebound_proc (e->symtree->n.sym->ts.u.derived, NULL, + genname, false, &e->where); + if (st) + e->value.compcall.tbp = st->n.tb; + return SUCCESS; } is a fix for the first testcase - the only regression is dynamic_dispatch_5.f03, which needs dealing with in the same way as the fix for its PR; ie. the derived type needs to be that of the final reference. I'll have something ready by the end of the weekend. 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-05-01 17:16:57 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43945