You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
3.2 KiB
164 lines
3.2 KiB
Fix compilation with GCC 6.x (C++14 as default standard). Remove throw
|
|
specificator from function declaration when compilation is performed with
|
|
standard >= C++11. Adds one cast to argument in C++11, C++14.
|
|
Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=593928
|
|
|
|
--- a/cult/cli/file-arguments.hxx
|
|
+++ b/cult/cli/file-arguments.hxx
|
|
@@ -46,8 +46,12 @@
|
|
{
|
|
if (i >= size ())
|
|
throw Bounds ();
|
|
-
|
|
- args_.erase (args_.begin () + i);
|
|
+
|
|
+#if __cplusplus < 201103L
|
|
+ args_.erase (args_.begin() + i);
|
|
+#else
|
|
+ args_.erase ((Containers::Vector<String>::ConstIterator)(args_.begin () + i));
|
|
+#endif
|
|
}
|
|
|
|
private:
|
|
--- a/cult/mm/new.cxx
|
|
+++ b/cult/mm/new.cxx
|
|
@@ -140,7 +140,12 @@
|
|
using namespace Cult;
|
|
|
|
Void*
|
|
-operator new (Size s) throw (MM::StdBadAlloc)
|
|
+operator new (Size s)
|
|
+#if __cplusplus < 201103L
|
|
+throw (MM::StdBadAlloc)
|
|
+#else
|
|
+noexcept(false)
|
|
+#endif
|
|
{
|
|
return MM::allocate (s, *MM::counted);
|
|
}
|
|
--- a/cult/mm/new.hxx
|
|
+++ b/cult/mm/new.hxx
|
|
@@ -255,7 +255,13 @@
|
|
}
|
|
|
|
Cult::Void*
|
|
-operator new (Cult::Size) throw (Cult::MM::StdBadAlloc);
|
|
+operator new (Cult::Size)
|
|
+#if __cplusplus < 201103L
|
|
+throw (Cult::MM::StdBadAlloc)
|
|
+#else
|
|
+noexcept(false)
|
|
+#endif
|
|
+;
|
|
|
|
Cult::Void*
|
|
operator new (Cult::Size,
|
|
--- a/cult/sched/condition.cxx
|
|
+++ b/cult/sched/condition.cxx
|
|
@@ -12,6 +12,9 @@
|
|
{
|
|
Condition::
|
|
~Condition ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
{
|
|
if (Int e = pthread_cond_destroy (&cond_))
|
|
throw Implementation (e);
|
|
--- a/cult/sched/condition.hxx
|
|
+++ b/cult/sched/condition.hxx
|
|
@@ -19,7 +19,11 @@
|
|
class Condition: public NonCopyable
|
|
{
|
|
public:
|
|
- ~Condition ();
|
|
+ ~Condition ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
+ ;
|
|
|
|
Condition (Mutex& mutex);
|
|
|
|
--- a/cult/sched/mutex.cxx
|
|
+++ b/cult/sched/mutex.cxx
|
|
@@ -12,6 +12,9 @@
|
|
{
|
|
Mutex::
|
|
~Mutex ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
{
|
|
if (Int e = pthread_mutex_destroy (&mutex_))
|
|
throw Implementation (e);
|
|
--- a/cult/sched/mutex.hxx
|
|
+++ b/cult/sched/mutex.hxx
|
|
@@ -17,7 +17,11 @@
|
|
class Mutex: public NonCopyable
|
|
{
|
|
public:
|
|
- ~Mutex ();
|
|
+ ~Mutex ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
+ ;
|
|
|
|
Mutex ();
|
|
|
|
--- a/cult/sched/spin.cxx
|
|
+++ b/cult/sched/spin.cxx
|
|
@@ -12,6 +12,9 @@
|
|
{
|
|
Spin::
|
|
~Spin ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
{
|
|
if (Int e = pthread_spin_destroy (&spin_))
|
|
throw Implementation (e);
|
|
--- a/cult/sched/spin.hxx
|
|
+++ b/cult/sched/spin.hxx
|
|
@@ -17,7 +17,11 @@
|
|
class Spin: public NonCopyable
|
|
{
|
|
public:
|
|
- ~Spin ();
|
|
+ ~Spin ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
+ ;
|
|
|
|
Spin ();
|
|
|
|
--- a/cult/sched/thread.cxx
|
|
+++ b/cult/sched/thread.cxx
|
|
@@ -196,6 +196,9 @@
|
|
|
|
Thread::
|
|
~Thread ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
{
|
|
tout << "thread is being destroyed.";
|
|
|
|
--- a/cult/sched/thread.hxx
|
|
+++ b/cult/sched/thread.hxx
|
|
@@ -30,7 +30,11 @@
|
|
|
|
public:
|
|
virtual
|
|
- ~Thread ();
|
|
+ ~Thread ()
|
|
+#if __cplusplus >= 201103L
|
|
+ noexcept(false)
|
|
+#endif
|
|
+ ;
|
|
|
|
Thread (Void* (*StartRoutine) (Void*), Void* arg = 0);
|
|
|