浏览代码

Fix cycle for x86_64-win64 target with -Cr option

git-svn-id: trunk@33014 -
pierre 9 年之前
父节点
当前提交
d081d9fdc0
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      compiler/constexp.pas

+ 3 - 1
compiler/constexp.pas

@@ -219,7 +219,7 @@ begin
   else if not a.signed and (a.uvalue>qword(high(int64))) then
   else if not a.signed and (a.uvalue>qword(high(int64))) then
     goto try_qword
     goto try_qword
   else
   else
-    sspace:=a.uvalue+qword(abs(low(int64)));
+    sspace:=a.uvalue+abs_low_int64;
   if sspace>=b then
   if sspace>=b then
     begin
     begin
       result.signed:=true;
       result.signed:=true;
@@ -288,7 +288,9 @@ begin
     begin
     begin
       result.overflow:=false;
       result.overflow:=false;
       result.signed:=true;
       result.signed:=true;
+      {$push} {$Q-}
       result.svalue:=-a.svalue;
       result.svalue:=-a.svalue;
+      {$pop}
     end;
     end;
 end;
 end;