http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56968
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Keywords| |rejects-valid Last reconfirmed| |2013-04-15 CC| |janus at gcc dot gnu.org AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 Summary|Issue with a procedure |[F03] Issue with a |defined with a generic name |procedure defined with a |returning procedure pointer |generic name returning | |procedure pointer --- Comment #1 from janus at gcc dot gnu.org 2013-04-15 14:44:25 UTC --- Here is a draft patch which fixes the behavior for the test case: Index: gcc/fortran/expr.c =================================================================== --- gcc/fortran/expr.c (revision 197943) +++ gcc/fortran/expr.c (working copy) @@ -3540,7 +3540,11 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_ex } else if (rvalue->expr_type == EXPR_FUNCTION) { - s2 = rvalue->symtree->n.sym->result; + if (rvalue->symtree->n.sym->attr.generic) + s2 = rvalue->value.function.esym->result; + else + s2 = rvalue->symtree->n.sym->result; + name = s2->name; } else Regtesting now ...