Piotr Caban : msvcrt: Use floating point exception signals definition from public header.

Alexandre Julliard julliard at winehq.org
Tue Dec 1 15:40:35 CST 2020


Module: wine
Branch: master
Commit: 9e085387ac8e6a6c34bc6e7bec8135ef84a247d6
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=9e085387ac8e6a6c34bc6e7bec8135ef84a247d6

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Dec  1 13:52:16 2020 +0100

msvcrt: Use floating point exception signals definition from public header.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/except.c | 19 ++++++++++---------
 dlls/msvcrt/msvcrt.h | 12 ------------
 2 files changed, 10 insertions(+), 21 deletions(-)

diff --git a/dlls/msvcrt/except.c b/dlls/msvcrt/except.c
index 94cee55a7d7..91db1b67332 100644
--- a/dlls/msvcrt/except.c
+++ b/dlls/msvcrt/except.c
@@ -21,6 +21,7 @@
  * FIXME: Incomplete support for nested exceptions/try block cleanup.
  */
 
+#include <float.h>
 #include <stdarg.h>
 #include <stdbool.h>
 
@@ -79,13 +80,13 @@ static const struct
     NTSTATUS status;
     int signal;
 } float_exception_map[] = {
- { EXCEPTION_FLT_DENORMAL_OPERAND, MSVCRT__FPE_DENORMAL },
- { EXCEPTION_FLT_DIVIDE_BY_ZERO, MSVCRT__FPE_ZERODIVIDE },
- { EXCEPTION_FLT_INEXACT_RESULT, MSVCRT__FPE_INEXACT },
- { EXCEPTION_FLT_INVALID_OPERATION, MSVCRT__FPE_INVALID },
- { EXCEPTION_FLT_OVERFLOW, MSVCRT__FPE_OVERFLOW },
- { EXCEPTION_FLT_STACK_CHECK, MSVCRT__FPE_STACKOVERFLOW },
- { EXCEPTION_FLT_UNDERFLOW, MSVCRT__FPE_UNDERFLOW },
+ { EXCEPTION_FLT_DENORMAL_OPERAND, _FPE_DENORMAL },
+ { EXCEPTION_FLT_DIVIDE_BY_ZERO, _FPE_ZERODIVIDE },
+ { EXCEPTION_FLT_INEXACT_RESULT, _FPE_INEXACT },
+ { EXCEPTION_FLT_INVALID_OPERATION, _FPE_INVALID },
+ { EXCEPTION_FLT_OVERFLOW, _FPE_OVERFLOW },
+ { EXCEPTION_FLT_STACK_CHECK, _FPE_STACKOVERFLOW },
+ { EXCEPTION_FLT_UNDERFLOW, _FPE_UNDERFLOW },
 };
 
 static LONG msvcrt_exception_filter(struct _EXCEPTION_POINTERS *except)
@@ -131,7 +132,7 @@ static LONG msvcrt_exception_filter(struct _EXCEPTION_POINTERS *except)
             {
                 EXCEPTION_POINTERS **ep = (EXCEPTION_POINTERS**)MSVCRT___pxcptinfoptrs(), *old_ep;
                 unsigned int i;
-                int float_signal = MSVCRT__FPE_INVALID;
+                int float_signal = _FPE_INVALID;
 
                 sighandlers[MSVCRT_SIGFPE] = MSVCRT_SIG_DFL;
                 for (i = 0; i < ARRAY_SIZE(float_exception_map); i++)
@@ -242,7 +243,7 @@ int CDECL MSVCRT_raise(int sig)
             old_ep = *ep;
             *ep = NULL;
             if (sig == MSVCRT_SIGFPE)
-                ((float_handler)handler)(sig, MSVCRT__FPE_EXPLICITGEN);
+                ((float_handler)handler)(sig, _FPE_EXPLICITGEN);
             else
                 handler(sig);
             *ep = old_ep;
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index 5b1e5ac40b0..2e720999318 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -678,18 +678,6 @@ typedef void (__cdecl *MSVCRT___sighandler_t)(int);
 #define MSVCRT_SIG_IGN ((MSVCRT___sighandler_t)1)
 #define MSVCRT_SIG_ERR ((MSVCRT___sighandler_t)-1)
 
-#define MSVCRT__FPE_INVALID            0x81
-#define MSVCRT__FPE_DENORMAL           0x82
-#define MSVCRT__FPE_ZERODIVIDE         0x83
-#define MSVCRT__FPE_OVERFLOW           0x84
-#define MSVCRT__FPE_UNDERFLOW          0x85
-#define MSVCRT__FPE_INEXACT            0x86
-#define MSVCRT__FPE_UNEMULATED         0x87
-#define MSVCRT__FPE_SQRTNEG            0x88
-#define MSVCRT__FPE_STACKOVERFLOW      0x8a
-#define MSVCRT__FPE_STACKUNDERFLOW     0x8b
-#define MSVCRT__FPE_EXPLICITGEN        0x8c
-
 #define MSVCRT__TRUNCATE ((size_t)-1)
 
 #define _MAX__TIME64_T    (((__time64_t)0x00000007 << 32) | 0x93406FFF)




More information about the wine-cvs mailing list