소스 검색

* refactored tunaryplusnode.pass_typecheck as well

git-svn-id: branches/i8086@24185 -
nickysn 12 년 전
부모
커밋
0dcbb4f1cc
1개의 변경된 파일9개의 추가작업 그리고 12개의 파일을 삭제
  1. 9 12
      compiler/nmat.pas

+ 9 - 12
compiler/nmat.pas

@@ -958,22 +958,19 @@ implementation
             result:=left;
             left:=nil;
           end
-{$ifndef cpu64bitaddr}
-        else if is_64bit(left.resultdef) then
+        else if is_oversizedord(left.resultdef) then
           begin
-            inserttypeconv(left,s64inttype);
+            if is_64bit(left.resultdef) then
+              inserttypeconv(left,s64inttype)
+            else if is_32bit(left.resultdef) then
+              inserttypeconv(left,s32inttype)
+            else if is_16bit(left.resultdef) then
+              inserttypeconv(left,s16inttype)
+            else
+              internalerror(2013040702);
             result:=left;
             left:=nil;
           end
-{$endif not cpu64bitaddr}
-{$if defined(cpu16bitalu) or defined(cpu8bitalu)}
-         else if is_32bitint(left.resultdef) then
-           begin
-             inserttypeconv(left,s32inttype);
-             result:=left;
-             left:=nil;
-           end
-{$endif cpu16bitalu or cpu8bitalu}
         else if (left.resultdef.typ=orddef) then
           begin
             inserttypeconv(left,sinttype);