Nested functions are causing a lot of problems: the stack must be executable and GCC at Mac OS X still doesn't support them correctly.
The nested functions can be replaced by declaring all local variables in a struct. Nested functions get a pointer to the struct of their lexical scope. A struct might need to have a pointer a struct of its own lexical outer scope. As an alternative, nested functions could be given pointers to structs for all outer lexical scopes.
Description
Nested functions are causing a lot of problems: the stack must be executable and GCC at Mac OS X still doesn't support them correctly.
The nested functions can be replaced by declaring all local variables in a struct. Nested functions get a pointer to the struct of their lexical scope. A struct might need to have a pointer a struct of its own lexical outer scope. As an alternative, nested functions could be given pointers to structs for all outer lexical scopes.
Eelco Visser [2006-08-03 22:15]
The development of the new compilation scheme has been finished in revision 15511; the build of the development branch was succesful.