瀏覽代碼

* Prevent range check error.

git-svn-id: trunk@7666 -
daniel 18 年之前
父節點
當前提交
b034a88c9c
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      compiler/constexp.pas

+ 4 - 1
compiler/constexp.pas

@@ -355,7 +355,10 @@ begin
       if sa xor sb then
         begin
           result.signed:=true;
-          result.svalue:=-r;
+          if r>qword(high(int64)) then
+            result.overflow:=true
+          else
+            result.svalue:=-int64(r);
         end
       else
         begin