diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-06-11 21:20:25 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-06-17 13:22:50 +0000 |
commit | 895dbac45497d1b9918a0fafa9df8277f8069e37 (patch) | |
tree | a4049a6e2ecd997f60978be02f9de83f34b7b1fc /src/corelib/thread | |
parent | 742c6ff5dcd91860154c784c46e562bbe4d63d5e (diff) |
QException: fix exception specification
Some broken compilers (known broken: GCC 4.7; known good: GCC 4.9)
don't understand that destructors are implicitly noexcept and
complain about a weaker exception specification on ~QException
than on ~std::exception.
Change-Id: I433475fcf345d7da55e8da667cf9821ee09c0d8a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/thread')
-rw-r--r-- | src/corelib/thread/qexception.cpp | 8 | ||||
-rw-r--r-- | src/corelib/thread/qexception.h | 10 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/corelib/thread/qexception.cpp b/src/corelib/thread/qexception.cpp index 01bbe70c88..04a03b8623 100644 --- a/src/corelib/thread/qexception.cpp +++ b/src/corelib/thread/qexception.cpp @@ -108,7 +108,9 @@ QT_BEGIN_NAMESPACE */ QException::~QException() -#ifndef Q_COMPILER_NOEXCEPT +#ifdef Q_COMPILER_NOEXCEPT + noexcept +#else throw() #endif { @@ -127,7 +129,9 @@ QException *QException::clone() const } QUnhandledException::~QUnhandledException() -#ifndef Q_COMPILER_NOEXCEPT +#ifdef Q_COMPILER_NOEXCEPT + noexcept +#else throw() #endif { diff --git a/src/corelib/thread/qexception.h b/src/corelib/thread/qexception.h index edf361ebd3..7fb798fdad 100644 --- a/src/corelib/thread/qexception.h +++ b/src/corelib/thread/qexception.h @@ -54,7 +54,9 @@ class Q_CORE_EXPORT QException : public std::exception { public: ~QException() -#ifndef Q_COMPILER_NOEXCEPT +#ifdef Q_COMPILER_NOEXCEPT + noexcept +#else throw() #endif ; @@ -66,10 +68,12 @@ class Q_CORE_EXPORT QUnhandledException : public QException { public: ~QUnhandledException() -#ifndef Q_COMPILER_NOEXCEPT +#ifdef Q_COMPILER_NOEXCEPT + noexcept +#else throw() #endif -; + ; void raise() const Q_DECL_OVERRIDE; QUnhandledException *clone() const Q_DECL_OVERRIDE; }; |