This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PING: [4.5, patch, fortran] Implement DEFERRED bindings


Hi,

I just stumbled across this one, hopefully do be committed soon in 4.5.

Daniel

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-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri-Ran


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]