diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-06-11 11:35:19 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-06-19 19:38:23 +0200 |
commit | 3e1d03b1eaf6a5e842bed4ae4f9bb8cca05e5b31 (patch) | |
tree | 74dd3478dce3bc96121238300fc0bbc6ef97fc3e /src/corelib/kernel/qmetatype.h | |
parent | 5b686e208ffc68f9f660d36c468280d50a40e3ad (diff) |
Port Q_STATIC_ASSERT(_X) to static_assert
There is no reason for keep using our macro now that we have C++17.
The macro itself is left in for the moment being, as well as its
detection logic, because it's needed for C code (not everything
supports C11 yet). A few more cleanups will arrive in the next few
patches.
Note that this is a mere search/replace; some places were using
double braces to work around the presence of commas in a macro, no
attempt has been done to fix those.
tst_qglobal had just some minor changes to keep testing the macro.
Change-Id: I1c1c397d9f3e63db3338842bf350c9069ea57639
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/corelib/kernel/qmetatype.h')
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index f59acf2d54..196df677e9 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -580,7 +580,7 @@ public: template<typename T> static bool registerComparators() { - Q_STATIC_ASSERT_X((!QMetaTypeId2<T>::IsBuiltIn), + static_assert((!QMetaTypeId2<T>::IsBuiltIn), "QMetaType::registerComparators: The type must be a custom type."); const int typeId = qMetaTypeId<T>(); @@ -590,7 +590,7 @@ public: template<typename T> static bool registerEqualsComparator() { - Q_STATIC_ASSERT_X((!QMetaTypeId2<T>::IsBuiltIn), + static_assert((!QMetaTypeId2<T>::IsBuiltIn), "QMetaType::registerEqualsComparator: The type must be a custom type."); const int typeId = qMetaTypeId<T>(); static const QtPrivate::BuiltInEqualsComparatorFunction<T> f; @@ -609,7 +609,7 @@ public: template<typename T> static bool registerDebugStreamOperator() { - Q_STATIC_ASSERT_X((!QMetaTypeId2<T>::IsBuiltIn), + static_assert((!QMetaTypeId2<T>::IsBuiltIn), "QMetaType::registerDebugStreamOperator: The type must be a custom type."); const int typeId = qMetaTypeId<T>(); @@ -643,7 +643,7 @@ public: template<typename From, typename To> static bool registerConverter(To(From::*function)() const) { - Q_STATIC_ASSERT_X((!QMetaTypeId2<To>::IsBuiltIn || !QMetaTypeId2<From>::IsBuiltIn), + static_assert((!QMetaTypeId2<To>::IsBuiltIn || !QMetaTypeId2<From>::IsBuiltIn), "QMetaType::registerConverter: At least one of the types must be a custom type."); const int fromTypeId = qMetaTypeId<From>(); @@ -656,7 +656,7 @@ public: template<typename From, typename To> static bool registerConverter(To(From::*function)(bool*) const) { - Q_STATIC_ASSERT_X((!QMetaTypeId2<To>::IsBuiltIn || !QMetaTypeId2<From>::IsBuiltIn), + static_assert((!QMetaTypeId2<To>::IsBuiltIn || !QMetaTypeId2<From>::IsBuiltIn), "QMetaType::registerConverter: At least one of the types must be a custom type."); const int fromTypeId = qMetaTypeId<From>(); @@ -669,7 +669,7 @@ public: template<typename From, typename To, typename UnaryFunction> static bool registerConverter(UnaryFunction function) { - Q_STATIC_ASSERT_X((!QMetaTypeId2<To>::IsBuiltIn || !QMetaTypeId2<From>::IsBuiltIn), + static_assert((!QMetaTypeId2<To>::IsBuiltIn || !QMetaTypeId2<From>::IsBuiltIn), "QMetaType::registerConverter: At least one of the types must be a custom type."); const int fromTypeId = qMetaTypeId<From>(); @@ -1444,7 +1444,7 @@ namespace QtPrivate static yes_type checkType(QObject* ); #endif static no_type checkType(...); - Q_STATIC_ASSERT_X(sizeof(T), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined"); + static_assert(sizeof(T), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined"); enum { Value = sizeof(checkType(static_cast<T*>(nullptr))) == sizeof(yes_type) }; }; |