http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60777
--- Comment #1 from kargl at gcc dot gnu.org --- Index: expr.c =================================================================== --- expr.c (revision 208947) +++ expr.c (working copy) @@ -2733,12 +2733,10 @@ external_spec_function (gfc_expr *e) return false; } - if (f->attr.recursive) - { - gfc_error ("Specification function '%s' at %L cannot be RECURSIVE", - f->name, &e->where); + if (f->attr.recursive + && !gfc_notify_std (GFC_STD_F2003, "Specification function '%s' " + "at %L cannot be RECURSIVE", f->name, &e->where)); return false; - } return restricted_args (e->value.function.actual); }