Alexandre Julliard : include: Use gcc builtin for HUGE_VAL.
Module: wine Branch: master Commit: 32eae49275be2c9ffa8e92ce48ce77ca1f703d16 URL: https://source.winehq.org/git/wine.git/?a=commit;h=32eae49275be2c9ffa8e92ce4... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Nov 19 13:29:01 2020 +0100 include: Use gcc builtin for HUGE_VAL. Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- include/msvcrt/math.h | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/include/msvcrt/math.h b/include/msvcrt/math.h index a6bcbf9ada6..615f9a6bf24 100644 --- a/include/msvcrt/math.h +++ b/include/msvcrt/math.h @@ -201,21 +201,10 @@ float __cdecl _hypotf(float, float); int __cdecl _matherr(struct _exception*); double __cdecl _cabs(struct _complex); -#ifndef HUGE_VAL -# if defined(__GNUC__) && (__GNUC__ >= 3) -# define HUGE_VAL (__extension__ 0x1.0p2047) -# else -static const union { - unsigned char __c[8]; - double __d; -} __huge_val = { { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } }; -# define HUGE_VAL (__huge_val.__d) -# endif -#endif - #if (defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))) || defined(__clang__) # define INFINITY __builtin_inff() # define NAN __builtin_nanf("") +# define HUGE_VAL __builtin_huge_val() #else static const union { unsigned int __i; @@ -223,6 +212,7 @@ static const union { } __inff = { 0x7f800000 }, __nanf = { 0x7fc00000 }; # define INFINITY (__inff.__f) # define NAN (__nanf.__f) +# define HUGE_VAL ((double)INFINITY) #endif #define FP_INFINITE 1
participants (1)
-
Alexandre Julliard