Fix to make statically-evaluated unsigned comparisons evaluate to 1 if true.

Previously, they evaluated to -1. The following example shows the problem:

#include <stdio.h>
int main(void)
{
    printf("%i\n", 0U <= 5U);
}
This commit is contained in:
Stephen Heumann 2016-12-19 14:02:26 -06:00
parent 018f5a7548
commit 0cf948e3bd
1 changed files with 4 additions and 8 deletions

View File

@ -145,8 +145,7 @@ result equ 0
lda x
cmp y
lb1 blt lb2
dec result
dec result+2
inc result
lb2 return 2:result
end
@ -170,8 +169,7 @@ result equ 0
lda x
cmp y
lb1 ble lb2
dec result
dec result+2
inc result
lb2 return 2:result
end
@ -195,8 +193,7 @@ result equ 0
lda x
cmp y
lb1 bgt lb2
dec result
dec result+2
inc result
lb2 return 2:result
end
@ -220,8 +217,7 @@ result equ 0
lda x
cmp y
lb1 bge lb2
dec result
dec result+2
inc result
lb2 return 2:result
end