Dear Julius,
Am Dienstag, den 29.11.2016, 14:20 -0800 schrieb Julius Werner:
> > A lot of the GNU extensions are used in our codebase, so if somebody
> > feels strongly about moving away from GNU11 to C11, the code needs to
> > be cleaned up. But that should be done in a different patch set.
>
> I'd like to explicitly object to that. There are many GNU extensions
> which are simply necessary to write sane, readable and performant code
> (e.g. to implement non-double-evaluating MIN()/MAX() macros, to
> cleanly control linking into particular sections, to get performant
> code generated for IO accessor functions, etc.). The C standard by
> itself is simply insufficient to support all systems programming use
> cases, and if we forbade GNU extensions we'd have to rewrite
> significant parts of coreboot in pure assembly and add weird, hardly
> readable workarounds for many code patterns. I don't see how this
> would be worth it just to try to get compatibility with compilers
> nobody wants to use anyway, or for some theoretical goal of "standards
> compliance" with no practical benefit. (Note that many GNU extensions
> are implicitly available even without -std=gnuXX, some of them even if
> you also enable -Werror=pedantic. But that doesn't not make them GNU
> extensions, and there'd be no reason to treat them differently from
> ones that require the -std flag. Ditching GNU extensions would mean
> that every __attribute__, every __builtin and every extended asm
> becomes illegal.)
Thank you for the elaborate explanation. I never intended to take on
that task, but if I had, you would have convinced me.
I hope using GNU11 suits everyone.
Thanks,
Paul