浏览代码

* fixed floating point div-by-zero RTE code on Darwin (208 instead of 200,
fixes webtbs/tw32671)

git-svn-id: trunk@42045 -

Jonas Maebe 6 年之前
父节点
当前提交
5c20481c7b
共有 4 个文件被更改,包括 9 次插入9 次删除
  1. 2 2
      rtl/darwin/aarch64/sighnd.inc
  2. 2 2
      rtl/darwin/arm/sighnd.inc
  3. 2 2
      rtl/darwin/ppcgen/ppchnd.inc
  4. 3 3
      rtl/darwin/x86/x86hnd.inc

+ 2 - 2
rtl/darwin/aarch64/sighnd.inc

@@ -23,8 +23,8 @@ begin
     SIGFPE :
     SIGFPE :
       begin
       begin
         Case Info^.si_code Of
         Case Info^.si_code Of
-          FPE_FLTDIV,
-          FPE_INTDIV : Res:=200;  { floating point divide by zero }
+          FPE_FLTDIV : Res:=200;  { floating point divide by zero }
+          FPE_INTDIV : Res:=208;  { integer divide by zero }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTRES,             { floating point inexact result }
           FPE_FLTRES,             { floating point inexact result }

+ 2 - 2
rtl/darwin/arm/sighnd.inc

@@ -24,8 +24,8 @@ begin
     SIGFPE :
     SIGFPE :
       begin
       begin
         Case Info^.si_code Of
         Case Info^.si_code Of
-          FPE_FLTDIV,
-          FPE_INTDIV : Res:=200;  { floating point divide by zero }
+          FPE_FLTDIV : Res:=208;  { floating point divide by zero }
+          FPE_INTDIV : Res:=200;  { integer point divide by zero }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTRES,             { floating point inexact result }
           FPE_FLTRES,             { floating point inexact result }

+ 2 - 2
rtl/darwin/ppcgen/ppchnd.inc

@@ -24,8 +24,8 @@ begin
     SIGFPE :
     SIGFPE :
       begin
       begin
         Case Info^.si_code Of
         Case Info^.si_code Of
-          FPE_FLTDIV,
-          FPE_INTDIV : Res:=200;  { floating point divide by zero }
+          FPE_FLTDIV : Res:=208;  { floating point divide by zero }
+          FPE_INTDIV : Res:=200;  { integer divide by zero }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTRES,             { floating point inexact result }
           FPE_FLTRES,             { floating point inexact result }

+ 3 - 3
rtl/darwin/x86/x86hnd.inc

@@ -25,13 +25,13 @@ begin
     SIGFPE :
     SIGFPE :
       begin
       begin
         Case Info^.si_code Of
         Case Info^.si_code Of
-          FPE_INTDIV,             { integer divide by zero -NOTIMP on Mac OS X 10.4.7 }
-          FPE_FLTDIV : Res:=200;  { floating point divide by zero }
+          FPE_INTDIV : Res:=200;  { integer divide by zero -NOTIMP on Mac OS X 10.4.7 }
+          FPE_FLTDIV : Res:=208;  { floating point divide by zero }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTOVF : Res:=205;  { floating point overflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTUND : Res:=206;  { floating point underflow }
           FPE_FLTRES,             { floating point inexact result }
           FPE_FLTRES,             { floating point inexact result }
           FPE_FLTINV : Res:=207;  { invalid floating point operation }
           FPE_FLTINV : Res:=207;  { invalid floating point operation }
-          Else
+          else
             begin
             begin
               { Assume that if an integer divide was executed, the }
               { Assume that if an integer divide was executed, the }
               { error was a divide-by-zero (FPE_INTDIV is not      }
               { error was a divide-by-zero (FPE_INTDIV is not      }