From 9f843aecc23981aec6ed1eaa8be06e6786a47f0d Mon Sep 17 00:00:00 2001 From: Roberto Bagnara Date: Wed, 19 Dec 2012 08:42:19 +0100 Subject: [PATCH] GMP version 5.1.0 (and, presumably, later versions) defines std::numeric_limits. --- src/mp_std_bits.cc | 6 ++++++ src/mp_std_bits.defs.hh | 6 ++++++ 2 files changed, 12 insertions(+) --- a/src/mp_std_bits.cc +++ b/src/mp_std_bits.cc @@ -26,6 +26,9 @@ site: http://www.cs.unipr.it/ppl/ . */ #include #include "mp_std_bits.defs.hh" +#if __GNU_MP_VERSION < 5 \ + || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) + const bool std::numeric_limits::is_specialized; const int std::numeric_limits::digits; const int std::numeric_limits::digits10; @@ -71,3 +74,6 @@ const bool std::numeric_limits::traps; const bool std::numeric_limits::tininess_before; const std::float_round_style std::numeric_limits::round_style; + +#endif // __GNU_MP_VERSION < 5 + // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) --- a/src/mp_std_bits.defs.hh +++ b/src/mp_std_bits.defs.hh @@ -39,6 +39,9 @@ void swap(mpz_class& x, mpz_class& y); #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS) void swap(mpq_class& x, mpq_class& y); +#if __GNU_MP_VERSION < 5 \ + || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) + namespace std { #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS @@ -165,6 +168,9 @@ public: } // namespace std +#endif // __GNU_MP_VERSION < 5 + // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) + #include "mp_std_bits.inlines.hh" #endif // !defined(PPL_mp_std_bits_defs_hh)