------- Comment #1 from pinskia at gcc dot gnu dot org  2009-07-14 19:21 -------
Theses are not false warnings:
        c >>= 1;

is really c = (int)c >> 1;

        c += (char) 1;

c =  (int)c + (int)(char)1;

        c += c2;

c = (int)c + (int) c2;


        c = ~c2;

c = ~(int)c2;

Only the last one might be a false warning depending on if c2 is negative or
unsigned or not.  The rest are correct because of the way C/C++ define
arithmetic operations and automatic promotions.


-- 


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

Reply via email to