------- Comment #2 from janus at gcc dot gnu dot org 2009-11-15 12:50 ------- With the following patch, the errors go away:
Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 154188) +++ gcc/fortran/resolve.c (working copy) @@ -10217,11 +10217,6 @@ resolve_fl_derived (gfc_symbol *sym) return FAILURE; } } - else if (c->attr.proc_pointer && c->ts.type == BT_UNKNOWN) - { - c->ts = *gfc_get_default_type (c->name, NULL); - c->attr.implicit_type = 1; - } /* Procedure pointer components: Check PASS arg. */ if (c->attr.proc_pointer && !c->tb->nopass && c->tb->pass_arg_num == 0) but then one gets: internal compiler error: in gfc_walk_variable_expr, at fortran/trans-array.c:6308 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42045