소스 검색

* fix .seh_savereg: the offset is checked with a bitmask, not a divisor, so use "and", not "mod"

git-svn-id: trunk@39877 -
svenbarth 6 년 전
부모
커밋
2f74a51eb8
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      compiler/x86_64/rax64att.pas

+ 1 - 1
compiler/x86_64/rax64att.pas

@@ -185,7 +185,7 @@ Unit rax64att;
               Consume(AS_COMMA);
               hnum:=BuildConstExpression(false,false);
               if (hnum<0) or (hnum>maxoffset[actsehdirective=ash_setframe]) or
-                ((hnum mod modulo[actsehdirective=ash_setframe])<>0) then
+                ((hnum and modulo[actsehdirective=ash_setframe])<>0) then
                 Message1(asmr_e_bad_seh_directive_offset,sehdirectivestr[actsehdirective])
               else
                 curlist.concat(cai_seh_directive.create_reg_offset(actsehdirective,hreg,hnum));