diff options
author | Matthew Dawson <matthew@mjdsystems.ca> | 2016-10-16 23:17:19 -0400 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2016-10-30 00:30:12 +0200 |
commit | abc1591d87c0376c9b344794658b8adb31c1d86e (patch) | |
tree | 03454d3d5ec3d0d157b5df1132bd38aac9bade36 /sci-mathematics/cvc3 | |
parent | sci-mathematics/cvc3: Bump EAPI to 6 (diff) | |
download | gentoo-abc1591d87c0376c9b344794658b8adb31c1d86e.tar.gz gentoo-abc1591d87c0376c9b344794658b8adb31c1d86e.tar.bz2 gentoo-abc1591d87c0376c9b344794658b8adb31c1d86e.zip |
sci-mathematics/cvc3: Add a patch to fix compiling with GCC 6
Gentoo-bug: 593982
Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/2575
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-mathematics/cvc3')
-rw-r--r-- | sci-mathematics/cvc3/cvc3-2.4.1-r1.ebuild | 2 | ||||
-rw-r--r-- | sci-mathematics/cvc3/files/cvc3-2.4.1-gccv6-fix.patch | 76 |
2 files changed, 78 insertions, 0 deletions
diff --git a/sci-mathematics/cvc3/cvc3-2.4.1-r1.ebuild b/sci-mathematics/cvc3/cvc3-2.4.1-r1.ebuild index 853171013a3c..705deae37238 100644 --- a/sci-mathematics/cvc3/cvc3-2.4.1-r1.ebuild +++ b/sci-mathematics/cvc3/cvc3-2.4.1-r1.ebuild @@ -29,6 +29,8 @@ DEPEND="${RDEPEND} SITEFILE="50${PN}-gentoo.el" +PATCHES=( "${FILESDIR}/${P}-gccv6-fix.patch" ) + src_prepare() { default diff --git a/sci-mathematics/cvc3/files/cvc3-2.4.1-gccv6-fix.patch b/sci-mathematics/cvc3/files/cvc3-2.4.1-gccv6-fix.patch new file mode 100644 index 000000000000..1fb3516b8c27 --- /dev/null +++ b/sci-mathematics/cvc3/files/cvc3-2.4.1-gccv6-fix.patch @@ -0,0 +1,76 @@ +commit 4eb28b907e89be05d92eb704115f821b9b848e60 +Author: Matthew Dawson <matthew@mjdsystems.ca> +Date: Sun Oct 16 22:06:03 2016 -0400 + + Fix gcc v6 compile failures. + + * Use std::hash<const char*> over std::hash<char *>, as throwing away the const is not allowed. + * Use Hash::hash by default in CDMap over std::hash, to get Hash::hash<CVC3::expr> + +diff --git a/src/expr/expr_value.cpp b/src/expr/expr_value.cpp +index 0c85ff6..e4dd251 100644 +--- a/src/expr/expr_value.cpp ++++ b/src/expr/expr_value.cpp +@@ -29,7 +29,7 @@ namespace CVC3 { + // Class ExprValue static members + //////////////////////////////////////////////////////////////////////// + +-std::hash<char*> ExprValue::s_charHash; ++std::hash<const char*> ExprValue::s_charHash; + std::hash<long int> ExprValue::s_intHash; + + //////////////////////////////////////////////////////////////////////// +diff --git a/src/include/cdmap.h b/src/include/cdmap.h +index faf682a..c3b094c 100644 +--- a/src/include/cdmap.h ++++ b/src/include/cdmap.h +@@ -43,9 +43,9 @@ namespace CVC3 { + // Auxiliary class: almost the same as CDO (see cdo.h), but on + // setNull() call it erases itself from the map. + +-template <class Key, class Data, class HashFcn = std::hash<Key> > class CDMap; ++template <class Key, class Data, class HashFcn = Hash::hash<Key> > class CDMap; + +-template <class Key, class Data, class HashFcn = std::hash<Key> > ++template <class Key, class Data, class HashFcn = Hash::hash<Key> > + class CDOmap :public ContextObj { + Key d_key; + Data d_data; +diff --git a/src/include/expr_hash.h b/src/include/expr_hash.h +index b2107d7..baa2eab 100644 +--- a/src/include/expr_hash.h ++++ b/src/include/expr_hash.h +@@ -20,7 +20,6 @@ + * hash_set over Expr class. + */ + /*****************************************************************************/ +- + #ifndef _cvc3__expr_h_ + #include "expr.h" + #endif +diff --git a/src/include/expr_value.h b/src/include/expr_value.h +index 95102b2..f53aa4d 100644 +--- a/src/include/expr_value.h ++++ b/src/include/expr_value.h +@@ -179,7 +179,7 @@ protected: + // Static hash functions. They don't depend on the context + // (ExprManager and such), so it is still thread-safe to have them + // static. +- static std::hash<char*> s_charHash; ++ static std::hash<const char*> s_charHash; + static std::hash<long int> s_intHash; + + static size_t pointerHash(void* p) { return s_intHash((long int)p); } +diff --git a/src/theory_core/theory_core.cpp b/src/theory_core/theory_core.cpp +index df5289f..37ccab9 100644 +--- a/src/theory_core/theory_core.cpp ++++ b/src/theory_core/theory_core.cpp +@@ -710,7 +710,7 @@ TheoryCore::TheoryCore(ContextManager* cm, + // d_termTheorems(cm->getCurrentContext()), + d_predicates(cm->getCurrentContext()), + d_solver(NULL), +- d_simplifyInPlace(false), ++ d_simplifyInPlace(NULL), + d_currentRecursiveSimplifier(NULL), + d_resourceLimit(0), + d_timeBase(0), |