Richard Braun <rbr...@sceen.net> skribis: > On Fri, Oct 25, 2013 at 02:32:08PM -0700, Roland McGrath wrote: >> > Clang does not support nested functions [1], and there is no plan to >> > support them upstream. As such, any file that uses nested functions >> > (or any gcc extension not supported by clang) is excluded from the >> > analysis (see e.g. [2]). Richard has no special love for them, iiuc >> > b/c the semantic is not too well defined. I propose to deprecate their >> > use for the Hurd and to gradually rewrite the code that uses them, >> >> That's a non-starter. They are an excellent extension and their semantics >> are thoroughly well-defined. >> > > Unless I'm mistaken, their semantics imply executable stacks, which is > great for security, and they don't bring anything we couldn't do with > regular callbacks,
Closures. Imagine writing the Hurd parts of libc without them (such as uses of the hurd_file* functions.) Sure one could do without them, but that would be much less elegant and convenient. Ludo’.