------- Comment #1 from burnus at gcc dot gnu dot org 2010-02-27 00:04 ------- Draft patch:
Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (Revision 157097) +++ gcc/fortran/resolve.c @@ -4902,10 +4902,11 @@ check_typebound_baseobject (gfc_expr* e) gcc_assert (base->ts.type == BT_DERIVED || base->ts.type == BT_CLASS); - if (base->ts.type == BT_DERIVED && base->ts.u.derived->attr.abstract) + if (e->value.compcall.tbp->deferred) { - gfc_error ("Base object for type-bound procedure call at %L is of" - " ABSTRACT type '%s'", &e->where, base->ts.u.derived->name); + gfc_error ("Type bound-bound procedure of base type '%s' in call " + "at %L has a DEFERRED binding", base->ts.u.derived->name, + &e->where); return FAILURE; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43193