https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60304
--- Comment #20 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Manuel López-Ibáñez from comment #19) > (In reply to Jonathan Wakely from comment #18) > > 17.6.4.3.1 [macro.names] > > "A translation unit that includes a header shall not contain any macros that > > define names declared or defined in that header. Nor shall such a > > translation unit define macros for names lexically identical to keywords." > (Also, why is this not an error with -std=c++11 -pedantic-errors?) In fact, if that quote appears in C++98, then it should be an error with -pedantic-errors in any C++ -std= mode.