crosstool-ng/patches/ppl/0.11.2/400-fix-build-with-gmp-5.1.patch

53 lines
1.7 KiB
Diff
Raw Normal View History

From 9f843aecc23981aec6ed1eaa8be06e6786a47f0d Mon Sep 17 00:00:00 2001
From: Roberto Bagnara <bagnara@cs.unipr.it>
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 <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
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
@@ -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)