I thought gcc's primary aim was to be a *C* compiler. That would suggest to me that enabling GNU extensions should not be the default, but an option. That is one of the goals, another goal is GCC is the compiler for the GNU system and its variant where we wish to make life easier for hackers by providing useful features, that might not be standard. You can usually work around these problems by calling c99/c89 instead of calling gcc.