From 9e085387ac8e6a6c34bc6e7bec8135ef84a247d6 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 1 Dec 2020 13:52:16 +0100 Subject: [PATCH] msvcrt: Use floating point exception signals definition from public header. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- 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 #include #include @@ -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)