mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
fp.c: Suppress float-conversion warnings on FreeBSD.
We used to do this on Windows only, but it appears to affect multiple platforms when building with certain versions of GCC, and a common pattern for defining the floating-point classifier functions. Fixes part of 31687. I'm calling this a bugfux on 31687, when we started suppressing these warnings on Windows.
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
o Minor bugfixes (compilation):
|
||||
- Suppress spurious float-conversion warnings from GCC when calling
|
||||
floating-point classifier functions on FreeBSD. Fixes part of bug
|
||||
31687; bugfix on 0.3.1.5-alpha.
|
||||
+5
-1
@@ -62,12 +62,16 @@ clamp_double_to_int64(double number)
|
||||
{
|
||||
int exponent;
|
||||
|
||||
#if defined(MINGW_ANY) && GCC_VERSION >= 409
|
||||
#if (defined(MINGW_ANY)||defined(__FreeBSD__)) && 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.
|
||||
|
||||
FreeBSD's math.h uses an __fp_type_select() macro, which dispatches
|
||||
based on sizeof -- again, this can generate type warnings from
|
||||
branches that are not taken.
|
||||
*/
|
||||
#define PROBLEMATIC_FLOAT_CONVERSION_WARNING
|
||||
DISABLE_GCC_WARNING(float-conversion)
|
||||
|
||||
Reference in New Issue
Block a user