summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch')
-rw-r--r--dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch b/dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch
new file mode 100644
index 000000000000..f16d29142215
--- /dev/null
+++ b/dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/686048
+
+./SolverTypes.h:122:20: error: friend declaration of ‘Clause* Clause_new(const V&, bool)’ specifies default arguments and isn’t a definition [-fpermissive]
+ 122 | friend Clause* Clause_new(const V& ps, bool learnt = false);
+ | ^~~~~~~~~~
+
+--- a/packages/swi-minisat2/C/SolverTypes.h
++++ b/packages/swi-minisat2/C/SolverTypes.h
+@@ -97,6 +97,9 @@
+ //=================================================================================================
+ // Clause -- a simple class for representing a clause:
+
++class Clause;
++template<class V>
++Clause* Clause_new(const V& ps, bool learnt = false);
+
+ class Clause {
+ uint32_t size_etc;
+@@ -119,7 +122,7 @@
+
+ // -- use this function instead:
+ template<class V>
+- friend Clause* Clause_new(const V& ps, bool learnt = false);
++ friend Clause* Clause_new(const V& ps, bool learnt);
+
+ int size () const { return size_etc >> 3; }
+ void shrink (int i) { assert(i <= size()); size_etc = (((size_etc >> 3) - i) << 3) | (size_etc & 7); }