http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2010.11.26 16:01:20
Ever Confirmed|0 |1
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-26
16:01:20 UTC ---
(In reply to comment #4)
> While gfortran rejects TBP, it accepts PPC (proc pointer components)
>
> CALL polymorphic%abstract_type%PPC()
To make it a bit clearer:
R1221 procedure-designator is ... or proc-component-ref or ...
R739 proc-component-ref is scalar-variable % procedure-component-name
where "variable" can be a "designator" which can be a "structure-component"
which is a "data-ref". Thus, we are back at C611 which tells that the
right-most part-ref (here: "abstract-type") must not be both abstract and
not-polymorphic.
For TBP the check is done in resolve.c's check_typebound_baseobject; for PPC
the check should be added at update_ppc_arglist -- few lines up.