https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113414
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >The code should be warned, but it did not. No that is by design. You need to use -Wformat-signedness for that. But for the second example, the fix it note is wrong only with -Wformat-signedness .