The following program outputs "FAIL" when compiled with g++, but "PASS"
when compiled with gcc (on IA32):

#include <stdio.h>

int main(void) {
        short a = 0x1a10;
        short b = 0xb34e;

        if((unsigned int)a >= (unsigned int)b)
                printf("FAIL\n");
        else printf("PASS\n");

        return 0;
}

When using g++, the variable "b" seems to be treated as a negative
number even though it is cast to unsigned int. Is this a bug? Any
ideas?

Versions:
g++ (GCC) 3.2.3 20030502
gcc (GCC) 3.2.3 20030502

Thanks,
Erik

_______________________________________________
Help-gplusplus mailing list
Help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to