http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39464
--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-12-06 19:29:09 UTC --- (In reply to comment #11) > warning to actual sign differences only, i.e. > else if (warn_pointer_sign > && TYPE_UNSIGNED (mvl) != TYPE_UNSIGNED (mvr)) > If we want to warn about other cases (I think they are generally outside of > the > scope of ISO C anyway), then we should have a differently worded warning after > this one for the TYPE_UNSIGNED (mvl) == TYPE_UNSIGNED (mvr) case. The only case which is not outside of the scope of ISO C is "char" vs "signed char" vs "unsigned char" They are all three distinct types and we should get a warning about them.