https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100125
Bug ID: 100125 Summary: -Wunused-macros generated while should be ignored; if undef is seen? Product: gcc Version: 10.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: gcc at behdad dot org Target Milestone: --- We're facing this in HarfBuzz. I narrowed down the bug to this: Works: ```c++ #pragma GCC diagnostic ignored "-Wunused-macros" #define A B ``` $ g++ a.cc -c -Wunused-macros (fine; no warning) But if I add an `undef` to that file: ```c++ #pragma GCC diagnostic ignored "-Wunused-macros" #define A B #undef A ``` $ g++ a.cc -c -Wunused-macros a.cc:3: warning: macros "A" is not used [-Wunused-macros] 3 | #define A B Am I missing something?