Browse Source

Merge branch 'maint-0.2.9' into maint-0.3.0

Nick Mathewson 6 years ago
parent
commit
55777b3ff9
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/common/util.c

+ 3 - 2
src/common/util.c

@@ -5734,13 +5734,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. */
@@ -5768,7 +5769,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
 }