------- Comment #14 from photon at seznam dot cz  2009-07-15 18:24 -------
(In reply to comment #13)
> Or rather from SCHAR_MAX + 1 to SCHAR_MIN :).  Since it is 0x7F + 1 ==
> (int)0x80.  So we have a negative value now from a positive value.
> 

This occurs regardless of the implicit conversion. The implicit conversion
cannot alter the result. Therefore, the warning is false in this case too.

{
        char c = 0x7f;
        ++c;
        // c is 0x80 here

        c = 0x7f;
        c = (int)c + 1;
        // c is 0x80 here
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40752

Reply via email to