<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Hi,<br></div>this sounds like a problem occuring with inferred types (CCodeGenerator&gt;&gt;returnTypeForSend:in:)<br></div>For example, in translation of BitBltSimulation&gt;&gt;sourceSkewAndPointerInit<br>    sxLowBits := sx bitAnd: pixPerM1.<br>    dxLowBits := dx bitAnd: pixPerM1.<br></div>snip...<br>    ifFalse:<br>        [dWid := bbW min: dxLowBits + 1.<br>        preload := (sxLowBits - dWid + 1) &lt; 0].<br><br></div>This gives those types:<br>    sqInt dWid;<br>    usqInt dxLowBits;<br>    usqInt sxLowBits;<br><br></div>And the last line gives a nice warning:<br>                preload = ((sxLowBits - dWid) + 1) &lt; 0;  &lt;- comparison of unsigned expression &lt; 0 is allways false<br><br></div>Yet another wonderful case of unwanted promotion to unsigned...<br><br></div><div>Nicolas<br></div><div><br></div></div></div></div></div></div>