summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/coinor-bcp')
-rw-r--r--sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild4
-rw-r--r--sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch36
2 files changed, 40 insertions, 0 deletions
diff --git a/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild b/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
index b4b5f58fbe9e..a904acfd1336 100644
--- a/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
+++ b/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
@@ -25,6 +25,10 @@ BDEPEND="
doc? ( app-doc/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc11-exceptions.patch
+)
+
src_prepare() {
default
# Prevent unneeded call to pkg-config that needs ${ED}'s in path.
diff --git a/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch b/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch
new file mode 100644
index 000000000000..d37e8b024396
--- /dev/null
+++ b/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch
@@ -0,0 +1,36 @@
+https://github.com/coin-or/Bcp/commit/e581a2dd4b55352eb318c15e8281b3cc9d8abe23.patch
+https://bugs.gentoo.org/786306
+
+From e581a2dd4b55352eb318c15e8281b3cc9d8abe23 Mon Sep 17 00:00:00 2001
+From: Julien Schueller <schueller@phimeca.com>
+Date: Fri, 14 Aug 2020 09:58:47 +0200
+Subject: [PATCH] Fix deprecated dynamic exception warning
+
+warning: dynamic exception specifications are deprecated in C++11
+--- a/src/include/BCP_buffer.hpp
++++ b/src/include/BCP_buffer.hpp
+@@ -101,13 +101,13 @@ class BCP_buffer{
+ /**@name Modifying methods */
+ /*@{*/
+ /** Position the read head in the buffer. Must be between 0 and size(). */
+- inline void set_position(const int pos) throw(BCP_fatal_error) {
++ inline void set_position(const int pos) {
+ if (pos < 0 || pos > size())
+ throw BCP_fatal_error("Incorrest buffer position setting.\n");
+ _pos = pos;
+ }
+ /** Cut off the end of the buffer. Must be between 0 and size(). */
+- inline void set_size(const int s) throw(BCP_fatal_error) {
++ inline void set_size(const int s) {
+ if (s < 0 || s > size())
+ throw BCP_fatal_error("Incorrest buffer position setting.\n");
+ _size = s;
+@@ -221,7 +221,7 @@ class BCP_buffer{
+ */
+ template <class T> BCP_buffer& unpack(T*& values, int& length,
+ bool allocate = true)
+- throw(BCP_fatal_error) {
++ {
+ if (allocate) {
+ #ifdef PARANOID
+ if (_pos + sizeof(int) > _size)