------- 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
