[4.5, patch, fortran] Implement DEFERRED bindings

Daniel Kraft d@domob.eu
Sun Dec 7 18:44:00 GMT 2008


Hi all,

here's my contribution for gfortran 4.5 patches :D  This implements 
DEFERRED bindings for gfortran based on my type-bound procedures and 
ABSTRACT derived-types implementation.

It should be quite an "obvious" patch, except maybe the detection of 
things like that:

TYPE, ABSTRACT t1
CONTAINS
   PROCEDURE(intf), DEFERRED :: proc
END TYPE t1

TYPE, EXTENDS(t1) :: t2
END TYPE t2
! t2 inherits the DEFERRED binding and does not override
! it, but is not ABSTRACT itself!

See resolve.c:ensure_not_abstract in the patch for how I do it.  There 
are faster algorithms possible, but I don't think this is time critical 
and I believe it is quite the clearest solution as I did it.

I hope I got all of DEFERRED semantics correct and did not miss 
anything...  See the tests for what the patch is supposed to handle. 
Comments very welcome as usual!

No regressions on GNU/Linux-x86-32.  Ok for 4.5?

Yours,
Daniel

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


More information about the Fortran mailing list