Hi!

     Small remark about casting in "c -= (UBYTE)('a' - 'A')". For OW I wrote
bug (?) report:

______________O\_/_________________________________\_/O______________
Code generator:

- WPP promotes `char' to `int' too often:
        ; unsigned char c = *mem;
        mov         al,byte ptr [bx]
        ; if (c < ' ') c = '.';
        mov         dl,al
        xor         dh,dh
        cmp         dx,20H
        jge         L$14
        mov         al,2eH
  With explicit cast this code reduced:
        ; if (c < (unsigned char)' ') c = '.';
        mov al,byte ptr [bx]
        cmp al,20H
        jae L$14
        mov al,2eH
_____________________________________________________________________
              O/~\                                 /~\O

In BC are similar troubles: given expression with and without casting makes
different code (and it worser without casting).

Attachment: inthndlr.pat
Description: Binary data

Reply via email to