Hello, Consider the following test C function:
int f(void) { volatile struct { unsigned char a; unsigned char b; } s; s.a = 0xbc; s.b = s.a ^ 0xff; return s.a != (s.b ^ 0xff); } When compiled by gcc 4.6.1 with: gcc -c wpromoted-simple.c -Wsign-compare I'm getting: wpromoted-simple.c: In function 'f': wpromoted-simple.c:11:13: warning: comparison of promoted ~unsigned with unsigned [-Wsign-compare] This is unexpected to me. Without the volatile, I don't get the warning. Is this a different effect of bug #38341 ? Thanks, -- Pedro Pedruzzi