https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100125
Lewis Hyatt <lhyatt at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lhyatt at gcc dot gnu.org Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #1 from Lewis Hyatt <lhyatt at gcc dot gnu.org> --- The reason it works without #undef is that cpp_finish() is called late by the C++ frontend, after it has processed everything including pragmas. With #undef, the warning is generated immediately by libcpp and so is subject to PR53431. There is a patch waiting for review that will resolve it. *** This bug has been marked as a duplicate of bug 53431 ***