0 < -0x80000000 == 1 with 5c.

the problem is caused by this:

                if(a == ACMP && f1->op == OCONST && p->from.offset < 0) {
                        p->as = ACMN;
                        p->from.offset = -p->from.offset;
                }

because 0x80000000 == -0x80000000

adding the following check to that if expression fixes it:

&& p->from.offset != -p->from.offset

silly python code.

--
cinap

Reply via email to