Hi, > + r += !a == ~b; > + r += !a == ~(int) b;
I don't understand why ~b should not be warned at -Wall. Frankly I don't even understand why the above statements are completely optimized away. r += !a == ~b; is optimized away, but b = ~b; r += !a == b; Is not. Why? Bernd.