https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65446
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Tobias Burnus from comment #0) > It doesn't warn but should warn for > printf("%u\n", _short); Actually, it (correctly) does warn in this case (as short it promoted to int, which is also unsigned).