http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45748
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |janus at gcc dot gnu.org AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org |gnu.org | --- Comment #5 from janus at gcc dot gnu.org 2010-10-02 08:06:53 UTC --- The following (pretty obvious) patch fixes it: Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 164899) +++ gcc/fortran/resolve.c (working copy) @@ -297,11 +297,9 @@ resolve_formal_arglist (gfc_symbol *proc) continue; } - if (sym->ts.type == BT_UNKNOWN) - { - if (!sym->attr.function || sym->result == sym) - gfc_set_default_type (sym, 1, sym->ns); - } + if (sym->ts.type == BT_UNKNOWN && !proc->attr.intrinsic + && (!sym->attr.function || sym->result == sym)) + gfc_set_default_type (sym, 1, sym->ns); gfc_resolve_array_spec (sym->as, 0);