summaryrefslogtreecommitdiff
path: root/tools/ppl/patches/001-gmp-conflicts.patch
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ppl/patches/001-gmp-conflicts.patch')
-rw-r--r--tools/ppl/patches/001-gmp-conflicts.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/ppl/patches/001-gmp-conflicts.patch b/tools/ppl/patches/001-gmp-conflicts.patch
new file mode 100644
index 0000000000..cf65ee5245
--- /dev/null
+++ b/tools/ppl/patches/001-gmp-conflicts.patch
@@ -0,0 +1,41 @@
+--- a/src/mp_std_bits.cc
++++ b/src/mp_std_bits.cc
+@@ -25,6 +25,9 @@ site: http://bugseng.com/products/ppl/ . */
+ #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;
+@@ -70,3 +73,6 @@ const bool std::numeric_limits<mpq_class>::is_modulo;
+ 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)
+--- a/src/mp_std_bits.defs.hh
++++ b/src/mp_std_bits.defs.hh
+@@ -38,6 +38,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
+@@ -164,6 +167,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)