Function pointers to a nested function / contained procedure

Richard Biener richard.guenther@gmail.com
Wed Mar 27 09:02:00 GMT 2019


On Wed, Mar 27, 2019 at 8:48 AM Thomas König <tk@tkoenig.net> wrote:
>
> Hi Eric,
> > There is an entire machinery in the middle-end and the back-ends to support this (look for trampolines/descriptors in the manual and the source code). This should essentially work out of the box for any language front-end.
> Thanks for the pointer. The documentation I have seen seems to point out what to do in a back end to implement this, less towards what to do in a front end. And the source is big :-)
> Could somebody maybe shed some additional light on what magic I would have to invoke in the Fortran front end?

I think the only thing required is that the function nesting is
appearant by means of DECL_CONTEXT of the inner function being
the outer function.  Of course accesses of outer function variables
from the inner function have to use the same decl tree
(not just a copy of the decl with the same name).

Richard.

> Regards, Thomas



More information about the Fortran mailing list