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

Reply via email to