https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117577
--- Comment #2 from Carlos Galvez <carlosgalvezp at gmail dot com> --- Ah, I see now that it is indeed an error by default, not a warning. As you say it would have been clearer if it printed -Werror=incompatible-pointer-types. I agree the behavior is inconsistent with your last example, it'd be great to fix that. Thanks!