* Borland Pascal compatibility for 16-bit CPUs: int16 shl int32 now produces int32; this fixes writeln(longint) on the i8086-msdos target

git-svn-id: branches/i8086@24011 -
This commit is contained in:
nickysn 2013-03-26 00:59:04 +00:00
parent e16e08b2b6
commit b79569ed2f

View File

@ -656,7 +656,7 @@ implementation
{$elseif defined(cpu64bitalu) or defined(cpu32bitalu)}
inserttypeconv(left,s32inttype)
{$elseif defined(cpu16bitalu)}
if left.resultdef.size > 2 then
if (left.resultdef.size > 2) or (right.resultdef.size > 2) then
inserttypeconv(left,s32inttype)
else
inserttypeconv(left,sinttype);
@ -671,7 +671,7 @@ implementation
{$elseif defined(cpu64bitalu) or defined(cpu32bitalu)}
inserttypeconv(left,u32inttype);
{$elseif defined(cpu16bitalu)}
if left.resultdef.size > 2 then
if (left.resultdef.size > 2) or (right.resultdef.size > 2) then
inserttypeconv(left,u32inttype)
else
inserttypeconv(left,uinttype);