>> I found an interesting article about why they're bad... >> https://thephd.dev/lambdas-nested-functions-block-expressions-oh-my > That's a good argument for why GCC's implementation of nested functions is b$
What security blunder is that? Based on your next line, I'm going to assume it's "implementing them via stack trampolines". (I would have to go to a work machine to tell, because thephd.dev has apparently drunk the "it's good to ram HTTPS down everyone's throat" koolaid. Even the stack trampoline mechanism, I would say, is not a security blunder per se; I see it as a security issue only in that it exacerbates the effects of certain other security issues. Also don't forget that early gcc arose in a very different environment from today's.) > I don't believe ALGOL implementations needed executable stacks to implement $ Neither would gcc...IF it can set the ABI. There really was very little choice for gcc when it started. It had to be ABI-compatible with existing procedure calling sequences. It also had to be compatible with existing longjmps. That eliminates pretty close to everything _but_ stack trampolines. Other ways of doing nested functions is one of the things I want to experiment with. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B