A Comprehensive Proposal Overviewing Blocks, Nested Functions, and Lambdas for C

9 matt_d 2 7/8/2025, 11:26:12 PM thephd.dev ↗

Comments (2)

rurban · 1h ago
The oldest functions-with-data attempt for C (ie compiler people call that closures) was much older, Bruno Haible's callback library. https://savannah.gnu.org/projects/libffcall/
uecker · 3h ago
Since I am quoted out of context, I should point out that my proposal 1) to add GNU nested functions to ISO C clearly points out the problem with executable stacks and points out alternative ways to implement them (including having a new function type 2).

https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2661.pdf

https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2862.pdf

Having clarified this, I am not sure it is fair to say that non-executable stack cause vulnerabilities, as they are a mitigation technique and return-oriented programming often defeats it. There are still important though.