diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2013-12-02 19:13:13 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-03 23:00:51 +0100 |
commit | 1ca1cec64d799db82c5320fa08f9a5340182233e (patch) | |
tree | b0b5ef1381abc4ac63adb7adce6529d3a3b9b9d7 /src/corelib/thread | |
parent | 423ee63b7be093abd047e0a35d02ecf371e92b3a (diff) |
Make a nicer output when QBasicAtomicInteger is used with a wrong T
Before, we'd get just an error message that the size of the array was
negative. Now, for C++11 compilers, we get a better error message:
qbasicatomic.h:117:5: error: static assertion failed: Template parameter is not a supported integer on this platform
qbasicatomic.h:119:24: error: invalid use of incomplete type ‘struct QAtomicOps<long long unsigned int>’
Change-Id: I6b0792254c0dc6103a4a7608f2942d59cda07c00
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/thread')
-rw-r--r-- | src/corelib/thread/qbasicatomic.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/thread/qbasicatomic.h b/src/corelib/thread/qbasicatomic.h index 782ae90698..3bf6b0c106 100644 --- a/src/corelib/thread/qbasicatomic.h +++ b/src/corelib/thread/qbasicatomic.h @@ -133,7 +133,7 @@ class QBasicAtomicInteger public: typedef QAtomicOps<T> Ops; // static check that this is a valid integer - typedef char PermittedIntegerType[QAtomicIntegerTraits<T>::IsInteger ? 1 : -1]; + Q_STATIC_ASSERT_X(QAtomicIntegerTraits<T>::IsInteger, "Template parameter is not a supported integer on this platform"); typename Ops::Type _q_value; |