mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
Only disable -Wfloat-conversion on mingw when it exists.
The 22081 fix disabled -Wfloat-conversion, but -Wfloat-conversion didn't exist in every relevant mingw; it was added in GCC 4.9.x some time, if the documentation can be trusted. Bug not in any released version of tor.
This commit is contained in:
parent
32c0066e4b
commit
dfc0614840
@ -5695,13 +5695,14 @@ clamp_double_to_int64(double number)
|
||||
{
|
||||
int exponent;
|
||||
|
||||
#if defined(__MINGW32__) || defined(__MINGW64__)
|
||||
#if (defined(__MINGW32__) || defined(__MINGW64__)) && GCC_VERSION >= 409
|
||||
/*
|
||||
Mingw's math.h uses gcc's __builtin_choose_expr() facility to declare
|
||||
isnan, isfinite, and signbit. But as implemented in at least some
|
||||
versions of gcc, __builtin_choose_expr() can generate type warnings
|
||||
even from branches that are not taken. So, suppress those warnings.
|
||||
*/
|
||||
#define PROBLEMATIC_FLOAT_CONVERSION_WARNING
|
||||
DISABLE_GCC_WARNING(float-conversion)
|
||||
#endif
|
||||
/* NaN is a special case that can't be used with the logic below. */
|
||||
@ -5729,7 +5730,7 @@ DISABLE_GCC_WARNING(float-conversion)
|
||||
|
||||
/* Handle infinities and finite numbers with magnitude >= 2^63. */
|
||||
return signbit(number) ? INT64_MIN : INT64_MAX;
|
||||
#if defined(__MINGW32__) || defined(__MINGW64__)
|
||||
#ifdef PROBLEMATIC_FLOAT_CONVERSION_WARNING
|
||||
ENABLE_GCC_WARNING(float-conversion)
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user