Bläddra i källkod

* 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 -
nickysn 12 år sedan
förälder
incheckning
b79569ed2f
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      compiler/nmat.pas

+ 2 - 2
compiler/nmat.pas

@@ -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);