Hello guys, Wednesday, July 9, 2008, 8:08:02 PM, has been written:
>>> -Do not declare functions inside other functions; ANSI C says that >>> -such declarations have file scope regardless of the nesting of the >>> -declaration. >>> -Hiding file declarations in what appears to be a local >>> -scope is undesirable and will elicit complaints from a good compiler. >>> +Do not declare functions inside other functions; nested functions are >>> +a GCC extension and are not permitted by ANSI C. >>> >> >> We use lots of extensions that aren't strict ANSI C. I think the >> real reason not to use them is that gcc's nested functions are >> particularly unwieldily. First, they're not true lexical closures >> (and can't be), which makes them much less useful. Second, they >> are unsupported unless a number of assumptions are met, e.g., must >> have an executable stack, must be able to invalidate the I cache >> from userland, and must not have separate I and D address spaces. >> Nested functions abominable enough that Apple disabled the feature >> in OS X's build of gcc --- and the Sun and Intel compilers don't >> support them, even though Intel claims nearly complete gcc >> compatibility. >> > I think from non-technical side, nested functions are not expected by > most programmers. > From my point of view there are many new extensions that a good for > quick hacking, but > not for the production code. So may I leave my change in the current state, or do you guys want me to do some additional changes? -- Best regards, Daniel mailto:[EMAIL PROTECTED] _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"