http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55671
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-12-13 10:35:58 UTC --- Surely this is by design, as documented: Warnings about conversions between signed and unsigned integers are disabled by default in C++ unless -Wsign-conversion is explicitly enabled.