https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114731
--- Comment #17 from Alejandro Colomar <alx at kernel dot org> --- Neither -Wall nor -Wextra (nor -Wincompatible-pointer-types) imply -pedantic. (Ahh, this is the pedwarn reference from Andrew.) Which means the compiler could decide to turn off -Wincompatible-pointer-types in dead _Generic() branches, as long as -pedantic is not specified. Maybe split the warning into -Wincompatible-pointer-types-generic -Wincompatible-pointer-types And make the -generic one not present in -Wall -Wextra, and only enabled by -pedantic.