--- src/mp_std_bits.cc.orig 2011-02-27 17:07:47.000000000 +0800 +++ src/mp_std_bits.cc 2013-02-08 22:15:06.787128471 +0800 @@ -26,6 +26,9 @@ #include <ppl-config.h> #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<mpz_class>::is_specialized; const int std::numeric_limits<mpz_class>::digits; const int std::numeric_limits<mpz_class>::digits10; @@ -71,3 +74,6 @@ const bool std::numeric_limits<mpq_class>::traps; const bool std::numeric_limits<mpq_class>::tininess_before; const std::float_round_style std::numeric_limits<mpq_class>::round_style; + +#endif // __GNU_MP_VERSION < 5 + // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) --- src/mp_std_bits.defs.hh.orig 2011-02-27 17:07:47.000000000 +0800 +++ src/mp_std_bits.defs.hh 2013-02-08 22:13:40.264790164 +0800 @@ -39,6 +39,9 @@ #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 @@ } // 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)