[Patch, Fortran] Revised DEFERRED bindings

Daniel Kraft d@domob.eu
Wed Feb 11 14:14:00 GMT 2009


Hi,

this is a new version of my DEFERRED patch.  The previous one was 
already approved by Tobias, except that we discussed what gfortran 
should do about calls like this:

TYPE(concrete_t) :: obj ! concrete_t extends abstract abstract_t
CALL obj%abstract_t%proc ()

IIRC, we concluded that calls of type-bound procedures (no matter if 
DEFERRED or not) are illegal in this case (i.e., with an ABSTRACT typed 
base-object).  The only change in the new patch is to enforce this, see 
abstract_type_5.f03 in the patch.  While this is in fact an ABSTRACT 
type fix, I think it fits in well with this patch.

The changed code is in resolve.c, namely the new procedure 
check_typebound_baseobject, and its calls in resolve_compcall and 
resolve_typebound_call.

Regression-testing at the moment on GNU/Linux-x86-32.  Ok for 4.5 (with 
this change) if no failures?

Thanks,
Daniel

-- 
Done:  Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.changelog
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20090211/9c654fb2/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.diff
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20090211/9c654fb2/attachment-0001.ksh>


More information about the Fortran mailing list