--- ./src/rdb_protocol/geo/s2/util/math/exactfloat/exactfloat.cc.orig +++ ./src/rdb_protocol/geo/s2/util/math/exactfloat/exactfloat.cc @@ -104,9 +104,9 @@ ExactFloat::ExactFloat(double v) { BN_init(&bn_); sign_ = signbit(v) ? -1 : 1; - if (isnan(v)) { + if (std::isnan(v)) { set_nan(); - } else if (isinf(v)) { + } else if (std::isinf(v)) { set_inf(sign_); } else { // The following code is much simpler than messing about with bit masks, --- ./src/rdb_protocol/geo/s2/util/math/mathlimits.h.orig +++ ./src/rdb_protocol/geo/s2/util/math/mathlimits.h @@ -195,11 +195,11 @@ static bool IsNegInf(const Type x) { return _fpclass(x) == _FPCLASS_NINF; } #else #define DECL_FP_LIMIT_FUNCS \ - static bool IsFinite(const Type x) { return !isinf(x) && !isnan(x); } \ - static bool IsNaN(const Type x) { return isnan(x); } \ - static bool IsInf(const Type x) { return isinf(x); } \ - static bool IsPosInf(const Type x) { return isinf(x) && x > 0; } \ - static bool IsNegInf(const Type x) { return isinf(x) && x < 0; } + static bool IsFinite(const Type x) { return !std::isinf(x) && !std::isnan(x); } \ + static bool IsNaN(const Type x) { return std::isnan(x); } \ + static bool IsInf(const Type x) { return std::isinf(x); } \ + static bool IsPosInf(const Type x) { return std::isinf(x) && x > 0; } \ + static bool IsNegInf(const Type x) { return std::isinf(x) && x < 0; } #endif // We can't put floating-point constant values in the header here because --- ./src/rdb_protocol/geo/s2/util/math/mathlimits.h.orig +++ ./src/rdb_protocol/geo/s2/util/math/mathlimits.h @@ -14,7 +14,7 @@ #define UTIL_MATH_MATHLIMITS_H__ #include -#include +#include #include #include "rdb_protocol/geo/s2/base/basictypes.h" --- ./src/threading.hpp.orig +++ ./src/threading.hpp @@ -1,6 +1,7 @@ #ifndef THREADING_HPP_ #define THREADING_HPP_ +#include #include "errors.hpp" // A thread number as used by the thread pool. --- ./src/threading.hpp.orig +++ ./src/threading.hpp @@ -2,6 +2,7 @@ #define THREADING_HPP_ #include +#include #include "errors.hpp" // A thread number as used by the thread pool. --- ./src/containers/printf_buffer.hpp.orig +++ ./src/containers/printf_buffer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include // Cannot include utils.hpp, we are included by utils.hpp. #include "errors.hpp" --- ./src/containers/buffer_group.hpp.orig +++ ./src/containers/buffer_group.hpp @@ -4,6 +4,7 @@ #include #include +#include #include "errors.hpp" --- ./src/errors.cc.orig +++ ./src/errors.cc @@ -87,7 +87,7 @@ } const char *errno_string_maybe_using_buffer(int errsv, char *buf, size_t buflen) { -#ifdef _GNU_SOURCE +#ifdef __GLIBC__ return strerror_r(errsv, buf, buflen); #else // The result is either 0 or ERANGE (if the buffer is too small) or EINVAL (if the error number