summaryrefslogtreecommitdiff
path: root/sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch')
-rw-r--r--sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch b/sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch
new file mode 100644
index 000000000000..896b58225890
--- /dev/null
+++ b/sci-libs/beagle/files/beagle-3.0.3-fix-c++14.patch
@@ -0,0 +1,30 @@
+Fix building with C++14, where destructors are noexcept(true) by default.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=597342
+
+--- a/PACC/Threading/Thread.cpp
++++ b/PACC/Threading/Thread.cpp
+@@ -79,6 +79,9 @@
+ \attention If the destructor in the derived thread class (e.g. MyThread above) does not wait for thread termination, the potential hazardous situation is that the runtime system will have deleted all of its members before calling this destructor (in C++, class destructors are called in reversed sequence). Thus, the still running thread could access deleted data members with unpredictable and unexpected results. So beware!
+ */
+ Threading::Thread::~Thread(void)
++#if __cplusplus >= 201103L
++ noexcept(false)
++#endif
+ {
+ lock();
+ if(mThread) {
+--- a/PACC/Threading/Thread.hpp
++++ b/PACC/Threading/Thread.hpp
+@@ -53,7 +53,11 @@
+ class Thread : public Condition {
+ public:
+ Thread(void);
+- virtual ~Thread(void);
++ virtual ~Thread(void)
++#if __cplusplus >= 201103L
++ noexcept(false)
++#endif
++ ;
+
+ void cancel(void);
+ bool isRunning(void) const;