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