https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66298
--- Comment #1 from Florian Weimer <fw at gcc dot gnu.org> --- Other examples. All should receive warnings. while (check_something()) // do_something(); (commented out) do_something(); if (check_something()) #include "/dev/null" do_something(); if (check_something()) #define MACRO do_something(); if (check_something()) #pragma GCC poison ignored do_something(); (#pragma is tricky; they sometimes count as statements, I think.)