소스 검색

* 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