https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69602
--- Comment #17 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #16) > There are straightforward ways to avoid interspersing code with preprocessor > conditionals: Will GCC adopt this approach so that the warning can be enabled with -Wextra? Because the reason it was moved out of -Wextra was due to warning for this type of code in GCC itself. > Marek and Jakub will likely have an idea of how common it is > once they rebuild Fedora with GCC 7. If you have data of your own that > might be helpful as well. Most people use just "-Wall -Wextra". This warning needs to be enabled explicitly, so I doubt many programs use it. The reason is precisely these false positives. Well, at least PR61534. A similar case is: static const int EWOULDBLOCK = 1; static const int EAGAIN = 1; int errno; int foo(void) { if (errno == EAGAIN || errno == EWOULDBLOCK) return 1; return 0; } for which we also warn but I honestly think we should not.