https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118542
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- https://gcc.gnu.org/pipermail/gcc-patches/2016-August/454527.html >* it's *always* active for object-like macros (dangerous in portable code); >* it's behind -Weverything / -pedantic for function-like macros (not even >-Wextra). Not at the time GCC added it, clang had it included in -Wall. and GCC decided to have it as -Wextra. Let me find the commits on the clang side to understand why they changed it.