diff options
author | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2018-12-06 19:14:01 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-01-23 12:46:24 +0300 |
commit | b14a879d85b171960df789ac8ba2332004f838e0 (patch) | |
tree | 532dd01e4a882b5cf7d50ad237082574c01e67f6 /winsup/cygwin | |
parent | 1f10a00ba717b22b154205508e60af0dcb641ed3 (diff) |
Remove matherr, and SVID and X/Open math library configurations
Default math library configuration is now IEEE
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/common.din | 1 | ||||
-rw-r--r-- | winsup/cygwin/i686.din | 1 | ||||
-rw-r--r-- | winsup/cygwin/include/cygwin/version.h | 3 | ||||
-rw-r--r-- | winsup/cygwin/math/acosh.def.h | 4 | ||||
-rw-r--r-- | winsup/cygwin/math/complex_internal.h | 31 | ||||
-rw-r--r-- | winsup/cygwin/math/cos.def.h | 4 | ||||
-rw-r--r-- | winsup/cygwin/math/exp.def.h | 6 | ||||
-rw-r--r-- | winsup/cygwin/math/expm1.def.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/math/log.def.h | 4 | ||||
-rw-r--r-- | winsup/cygwin/math/pow.def.h | 8 | ||||
-rw-r--r-- | winsup/cygwin/math/powi.def.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/math/sin.def.h | 4 | ||||
-rw-r--r-- | winsup/cygwin/math/sqrt.def.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/release/2.12.0 | 3 |
14 files changed, 23 insertions, 52 deletions
diff --git a/winsup/cygwin/common.din b/winsup/cygwin/common.din index 384cf0b15..ca819c63e 100644 --- a/winsup/cygwin/common.din +++ b/winsup/cygwin/common.din @@ -907,7 +907,6 @@ malloc_stats SIGFE malloc_trim SIGFE malloc_usable_size SIGFE mallopt SIGFE -matherr NOSIGFE mblen NOSIGFE mbrlen NOSIGFE mbrtowc NOSIGFE diff --git a/winsup/cygwin/i686.din b/winsup/cygwin/i686.din index 934243bbc..174e73dd0 100644 --- a/winsup/cygwin/i686.din +++ b/winsup/cygwin/i686.din @@ -366,7 +366,6 @@ _lseek64 = lseek64 SIGFE _lstat = lstat SIGFE _lstat64 = lstat64 SIGFE _malloc = malloc SIGFE -_matherr = matherr NOSIGFE _mblen = mblen NOSIGFE _mbstowcs = mbstowcs NOSIGFE _mbtowc = mbtowc NOSIGFE diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h index d6dcbea0e..c3e971ed8 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h @@ -504,12 +504,13 @@ details. */ 331: Add timer_getoverrun, DELAYTIMER_MAX. 332: Add signalfd. 333: Add timerfd_create, timerfd_gettime, timerfd_settime. + 334: Remove matherr. Note that we forgot to bump the api for ualarm, strtoll, strtoull, sigaltstack, sethostname. */ #define CYGWIN_VERSION_API_MAJOR 0 -#define CYGWIN_VERSION_API_MINOR 333 +#define CYGWIN_VERSION_API_MINOR 334 /* There is also a compatibity version number associated with the shared memory regions. It is incremented when incompatible changes are made to the shared diff --git a/winsup/cygwin/math/acosh.def.h b/winsup/cygwin/math/acosh.def.h index c039bd8eb..1fc5deb14 100644 --- a/winsup/cygwin/math/acosh.def.h +++ b/winsup/cygwin/math/acosh.def.h @@ -52,12 +52,12 @@ __FLT_ABI(acosh) (__FLT_TYPE x) int x_class = fpclassify (x); if (x_class == FP_NAN || x < __FLT_CST(1.0)) { - __FLT_RPT_DOMAIN ("acosh", x, 0.0, __FLT_NAN); + errno = EDOM; return __FLT_NAN; } else if (x_class == FP_INFINITE) { - __FLT_RPT_DOMAIN ("acosh", x, 0.0, __FLT_NAN); + errno = EDOM; return __FLT_NAN; } diff --git a/winsup/cygwin/math/complex_internal.h b/winsup/cygwin/math/complex_internal.h index b230b15b8..83b17b0f5 100644 --- a/winsup/cygwin/math/complex_internal.h +++ b/winsup/cygwin/math/complex_internal.h @@ -120,34 +120,3 @@ #else # error "Unknown complex number type" #endif - -#define __FLT_RPT_DOMAIN(NAME, ARG1, ARG2, RSLT) \ - errno = EDOM, \ - __mingw_raise_matherr (_DOMAIN, __FLT_REPORT(NAME), (double) (ARG1), \ - (double) (ARG2), (double) (RSLT)) -#define __FLT_RPT_ERANGE(NAME, ARG1, ARG2, RSLT, OVL) \ - errno = ERANGE, \ - __mingw_raise_matherr (((OVL) ? _OVERFLOW : _UNDERFLOW), \ - __FLT_REPORT(NAME), (double) (ARG1), \ - (double) (ARG2), (double) (RSLT)) - -#ifdef __CYGWIN__ -inline void __attribute__ ((always_inline)) -__mingw_raise_matherr (int typ, const char *name, double a1, double a2, - double rslt) -{ - if (_LIB_VERSION != _POSIX_) - { - struct exception ex; - ex.type = typ; - ex.name = (char*)name; - ex.arg1 = a1; - ex.arg2 = a2; - ex.retval = rslt; - matherr(&ex); - } -} -#define _DOMAIN DOMAIN -#define _OVERFLOW OVERFLOW -#define _UNDERFLOW UNDERFLOW -#endif diff --git a/winsup/cygwin/math/cos.def.h b/winsup/cygwin/math/cos.def.h index 1058d031f..cbb226e49 100644 --- a/winsup/cygwin/math/cos.def.h +++ b/winsup/cygwin/math/cos.def.h @@ -53,12 +53,12 @@ __FLT_ABI(cos) (__FLT_TYPE x) int x_class = fpclassify (x); if (x_class == FP_NAN) { - __FLT_RPT_DOMAIN ("cos", x, 0.0, x); + errno = EDOM; return x; } else if (x_class == FP_INFINITE) { - __FLT_RPT_DOMAIN ("cos", x, 0.0, __FLT_NAN); + errno = EDOM; return __FLT_NAN; } return (__FLT_TYPE) __cosl_internal ((long double) x); diff --git a/winsup/cygwin/math/exp.def.h b/winsup/cygwin/math/exp.def.h index 2419ef6d1..678e7c1ee 100644 --- a/winsup/cygwin/math/exp.def.h +++ b/winsup/cygwin/math/exp.def.h @@ -109,13 +109,13 @@ __FLT_ABI(exp) (__FLT_TYPE x) int x_class = fpclassify (x); if (x_class == FP_NAN) { - __FLT_RPT_DOMAIN ("exp", x, 0.0, x); + errno = EDOM; return x; } else if (x_class == FP_INFINITE) { __FLT_TYPE r = (signbit (x) ? __FLT_CST (0.0) : __FLT_HUGE_VAL); - __FLT_RPT_ERANGE ("exp", x, 0.0, r, signbit (x)); + errno = ERANGE; return r; } else if (x_class == FP_ZERO) @@ -124,7 +124,7 @@ __FLT_ABI(exp) (__FLT_TYPE x) } else if (x > __FLT_MAXLOG) { - __FLT_RPT_ERANGE ("exp", x, 0.0, __FLT_HUGE_VAL, 1); + errno = ERANGE; return __FLT_HUGE_VAL; } else if (x < __FLT_MINLOG) diff --git a/winsup/cygwin/math/expm1.def.h b/winsup/cygwin/math/expm1.def.h index 5a2b6f498..64fe42860 100644 --- a/winsup/cygwin/math/expm1.def.h +++ b/winsup/cygwin/math/expm1.def.h @@ -51,7 +51,7 @@ __FLT_ABI(expm1) (__FLT_TYPE x) int x_class = fpclassify (x); if (x_class == FP_NAN) { - __FLT_RPT_DOMAIN ("expm1", x, 0.0, x); + errno = EDOM; return x; } else if (x_class == FP_INFINITE) diff --git a/winsup/cygwin/math/log.def.h b/winsup/cygwin/math/log.def.h index 94a77007f..2ba7421a2 100644 --- a/winsup/cygwin/math/log.def.h +++ b/winsup/cygwin/math/log.def.h @@ -53,12 +53,12 @@ __FLT_ABI(log) (__FLT_TYPE x) int x_class = fpclassify (x); if (x_class == FP_ZERO) { - __FLT_RPT_ERANGE ("log", x, 0.0, -__FLT_HUGE_VAL, 1); + errno = ERANGE; return -__FLT_HUGE_VAL; } else if (signbit (x)) { - __FLT_RPT_DOMAIN ("log", x, 0.0, __FLT_NAN); + errno = EDOM; return __FLT_NAN; } else if (x_class == FP_INFINITE) diff --git a/winsup/cygwin/math/pow.def.h b/winsup/cygwin/math/pow.def.h index a5513c1f9..e1538d9fa 100644 --- a/winsup/cygwin/math/pow.def.h +++ b/winsup/cygwin/math/pow.def.h @@ -122,7 +122,7 @@ __FLT_ABI(pow) (__FLT_TYPE x, __FLT_TYPE y) else if (x_class == FP_NAN || y_class == FP_NAN) { rslt = (signbit(x) ? -__FLT_NAN : __FLT_NAN); - __FLT_RPT_DOMAIN ("pow", x, y, rslt); + errno = EDOM; return rslt; } else if (x_class == FP_ZERO) @@ -133,7 +133,7 @@ __FLT_ABI(pow) (__FLT_TYPE x, __FLT_TYPE y) if (signbit(x) && internal_modf (y, &d) != 0.0) { return signbit (y) ? (1.0 / -x) : __FLT_CST (0.0); - /*__FLT_RPT_DOMAIN ("pow", x, y, -__FLT_NAN); + /*errno = EDOM; return -__FLT_NAN; */ } odd_y = (internal_modf (__FLT_ABI (ldexp) (y, -1), &d) != 0.0) ? 1 : 0; @@ -167,7 +167,7 @@ __FLT_ABI(pow) (__FLT_TYPE x, __FLT_TYPE y) if (signbit(x) && internal_modf (y, &d) != 0.0) { return signbit(y) ? 1.0 / -x : -x; - /*__FLT_RPT_DOMAIN ("pow", x, y, -__FLT_NAN); + /*errno = EDOM; return -__FLT_NAN;*/ } odd_y = (internal_modf (__FLT_ABI (ldexp) (y, -1), &d) != 0.0) ? 1 : 0; @@ -195,7 +195,7 @@ __FLT_ABI(pow) (__FLT_TYPE x, __FLT_TYPE y) { if (signbit (x)) { - __FLT_RPT_DOMAIN ("pow", x, y, -__FLT_NAN); + errno = EDOM; return -__FLT_NAN; } if (y == __FLT_CST(0.5)) diff --git a/winsup/cygwin/math/powi.def.h b/winsup/cygwin/math/powi.def.h index f7fa860a6..e3840e757 100644 --- a/winsup/cygwin/math/powi.def.h +++ b/winsup/cygwin/math/powi.def.h @@ -83,7 +83,7 @@ __FLT_ABI(__powi) (__FLT_TYPE x, int y) else if (x_class == FP_NAN) { rslt = (signbit(x) ? -__FLT_NAN : __FLT_NAN); - __FLT_RPT_DOMAIN ("__powi", x, (__FLT_TYPE) y, rslt); + errno = EDOM; return rslt; } else if (x_class == FP_ZERO) diff --git a/winsup/cygwin/math/sin.def.h b/winsup/cygwin/math/sin.def.h index c9b3b0499..dfb1cb49f 100644 --- a/winsup/cygwin/math/sin.def.h +++ b/winsup/cygwin/math/sin.def.h @@ -53,12 +53,12 @@ __FLT_ABI(sin) (__FLT_TYPE x) int x_class = fpclassify (x); if (x_class == FP_NAN) { - __FLT_RPT_DOMAIN ("sin", x, 0.0, x); + errno = EDOM; return x; } else if (x_class == FP_INFINITE) { - __FLT_RPT_DOMAIN ("sin", x, 0.0, __FLT_NAN); + errno = EDOM; return __FLT_NAN; } return (__FLT_TYPE) __sinl_internal ((long double) x); diff --git a/winsup/cygwin/math/sqrt.def.h b/winsup/cygwin/math/sqrt.def.h index 2690d1d9f..ee858a785 100644 --- a/winsup/cygwin/math/sqrt.def.h +++ b/winsup/cygwin/math/sqrt.def.h @@ -73,7 +73,7 @@ __FLT_ABI (sqrt) (__FLT_TYPE x) if (x_class == FP_ZERO) return __FLT_CST (-0.0); - __FLT_RPT_DOMAIN ("sqrt", x, 0.0, x); + errno = EDOM; return x; } else if (x_class == FP_ZERO) diff --git a/winsup/cygwin/release/2.12.0 b/winsup/cygwin/release/2.12.0 index ba911ee54..af74b099e 100644 --- a/winsup/cygwin/release/2.12.0 +++ b/winsup/cygwin/release/2.12.0 @@ -53,6 +53,9 @@ What changed: - Wctype functions updated to Unicode 11.0. +- Remove matherr, and SVID and X/Open math library configurations. + Default math library configuration is now IEEE. + Bug Fixes --------- |