https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111824
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's just idiotic to request strict mode and then undefine the macro that tells the library the compiler is being strict. How can the library know if it can use extensions if you lie to it about the compiler's (lack of) support for those extensions? Quite apart from the stupidity of doing it, that is not a macro that users are allowed to define/undefine, it's in the implementation space and not documented as one that users can/should mess with. Just don't do this.