http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50438
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org |gnu.org | --- Comment #5 from janus at gcc dot gnu.org 2013-04-27 11:33:29 UTC --- (In reply to comment #3) > Here is a simple patch to avoid this: > > [...] > > It cures both test cases, but I'm pretty sure it will have quite a number of > testsuite failures (haven't checked yet). The patch from comment #3 indeed shows a huge number of failures (as expected). > If we remove it here, > 'gfc_reduce_init_expr' should be called somewhere at resolution stage, of > course! We just need a suitable place for doing this ... e.g. something like 'resolve_values' or 'resolve_structure_cons'? However, I'm thinking that this approach may be too big of a hammer for the problem at hand. A somewhat less invasive patch: Index: gcc/fortran/expr.c =================================================================== --- gcc/fortran/expr.c (revision 198155) +++ gcc/fortran/expr.c (working copy) @@ -2522,6 +2522,8 @@ gfc_check_init_expr (gfc_expr *e) break; } + else if (e->symtree->n.sym->attr.flavor == FL_PROCEDURE) + break; if (gfc_in_match_data ()) break; This is also sufficient to remove the error. Regtesting now ...