X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage0%2Fpatches%2Fcommon%2Fppl-0.12.1-resolve-conflicts-with-gmp-5.1.0.patch;fp=stage0%2Fpatches%2Fcommon%2Fppl-0.12.1-resolve-conflicts-with-gmp-5.1.0.patch;h=1c1d1b8de0a85299ab71222115e2b9db3382deb7;hb=f17ab848cb756cad27489bf0c2746e5ead466658;hp=0000000000000000000000000000000000000000;hpb=a1358efe562a4e73ef23f25c606a346f684e1c93;p=hvlinux.git diff --git a/stage0/patches/common/ppl-0.12.1-resolve-conflicts-with-gmp-5.1.0.patch b/stage0/patches/common/ppl-0.12.1-resolve-conflicts-with-gmp-5.1.0.patch new file mode 100644 index 0000000..1c1d1b8 --- /dev/null +++ b/stage0/patches/common/ppl-0.12.1-resolve-conflicts-with-gmp-5.1.0.patch @@ -0,0 +1,130 @@ +Submitted By: Hugo Villeneuve +Date: 2013-06-01 +Initial Package Version: 0.12.1 +Upstream Status: Not sent +Origin: https://raw.github.com/niXman/mingw-builds/master/patches/ppl/ppl-resolve-conflicts-with-gmp-5.1.0.patch +Description: Fix compilation errors similar to that: + + error: redefinition of 'class > std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >' + +GMP version 5.1.0 (and, presumably, later versions) defines std::numeric_limits. + +diff -Naur ppl-0.12.1.orig/src/mp_std_bits.cc ppl-0.12.1.patched/src/mp_std_bits.cc +--- ppl-0.12.1.orig/src/mp_std_bits.cc 2012-04-16 08:12:30.000000000 -0400 ++++ ppl-0.12.1.patched/src/mp_std_bits.cc 2013-05-31 09:57:56.453911121 -0400 +@@ -25,6 +25,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::is_specialized; + const int std::numeric_limits::digits; + const int std::numeric_limits::digits10; +@@ -70,3 +73,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) +diff -Naur ppl-0.12.1.orig/src/mp_std_bits.cc.orig ppl-0.12.1.patched/src/mp_std_bits.cc.orig +--- ppl-0.12.1.orig/src/mp_std_bits.cc.orig 1969-12-31 19:00:00.000000000 -0500 ++++ ppl-0.12.1.patched/src/mp_std_bits.cc.orig 2012-04-16 08:12:30.000000000 -0400 +@@ -0,0 +1,72 @@ ++/* Definitions of specializations of std::numeric_limits objects for ++ multi-precision types. ++ Copyright (C) 2001-2010 Roberto Bagnara ++ Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com) ++ ++This file is part of the Parma Polyhedra Library (PPL). ++ ++The PPL is free software; you can redistribute it and/or modify it ++under the terms of the GNU General Public License as published by the ++Free Software Foundation; either version 3 of the License, or (at your ++option) any later version. ++ ++The PPL is distributed in the hope that it will be useful, but WITHOUT ++ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software Foundation, ++Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. ++ ++For the most up-to-date information see the Parma Polyhedra Library ++site: http://bugseng.com/products/ppl/ . */ ++ ++#include "ppl-config.h" ++#include "mp_std_bits.defs.hh" ++ ++const bool std::numeric_limits::is_specialized; ++const int std::numeric_limits::digits; ++const int std::numeric_limits::digits10; ++const bool std::numeric_limits::is_signed; ++const bool std::numeric_limits::is_integer; ++const bool std::numeric_limits::is_exact; ++const int std::numeric_limits::radix; ++const int std::numeric_limits::min_exponent; ++const int std::numeric_limits::min_exponent10; ++const int std::numeric_limits::max_exponent; ++const int std::numeric_limits::max_exponent10; ++const bool std::numeric_limits::has_infinity; ++const bool std::numeric_limits::has_quiet_NaN; ++const bool std::numeric_limits::has_signaling_NaN; ++const std::float_denorm_style std::numeric_limits::has_denorm; ++const bool std::numeric_limits::has_denorm_loss; ++const bool std::numeric_limits::is_iec559; ++const bool std::numeric_limits::is_bounded; ++const bool std::numeric_limits::is_modulo; ++const bool std::numeric_limits::traps; ++const bool std::numeric_limits::tininess_before; ++const std::float_round_style std::numeric_limits::round_style; ++ ++const bool std::numeric_limits::is_specialized; ++const int std::numeric_limits::digits; ++const int std::numeric_limits::digits10; ++const bool std::numeric_limits::is_signed; ++const bool std::numeric_limits::is_integer; ++const bool std::numeric_limits::is_exact; ++const int std::numeric_limits::radix; ++const int std::numeric_limits::min_exponent; ++const int std::numeric_limits::min_exponent10; ++const int std::numeric_limits::max_exponent; ++const int std::numeric_limits::max_exponent10; ++const bool std::numeric_limits::has_infinity; ++const bool std::numeric_limits::has_quiet_NaN; ++const bool std::numeric_limits::has_signaling_NaN; ++const std::float_denorm_style std::numeric_limits::has_denorm; ++const bool std::numeric_limits::has_denorm_loss; ++const bool std::numeric_limits::is_iec559; ++const bool std::numeric_limits::is_bounded; ++const bool std::numeric_limits::is_modulo; ++const bool std::numeric_limits::traps; ++const bool std::numeric_limits::tininess_before; ++const std::float_round_style std::numeric_limits::round_style; +diff -Naur ppl-0.12.1.orig/src/mp_std_bits.defs.hh ppl-0.12.1.patched/src/mp_std_bits.defs.hh +--- ppl-0.12.1.orig/src/mp_std_bits.defs.hh 2012-04-16 08:12:30.000000000 -0400 ++++ ppl-0.12.1.patched/src/mp_std_bits.defs.hh 2013-05-31 09:57:56.453911121 -0400 +@@ -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)