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’.


Reply via email to