https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100796
--- Comment #2 from Giuseppe D'Angelo <dangelog at gmail dot com> --- Well, GCC 8-9-10 don't have this problem at all for us. This appeared only when upgrading to 11. Anyways, I'm not sure if it's the same issue. PR 53431 seems to be about the preprocessor itself ignoring the pragmas -- like raising -Wundef even under a pragma. Here is not quite about the preprocessor (in fact, the not-honored pragma can only be honored by the compiler, it's about -Wsuggest-override). The compiler seems to ignore that pragma in _random_ places (it's very inconsistent; the majority of code is not flagged, except for a few occurrences). If I run the preprocessor manually, the pragma is still correctly present in the preprocessed output. However: running the compiler over that preprocessed output does NOT raise the warning. That leads to the fact that adding -no-integrated-cpp is a successful workaround; this makes me think something broke in there...?