From 3e1d03b1eaf6a5e842bed4ae4f9bb8cca05e5b31 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Thu, 11 Jun 2020 11:35:19 +0200 Subject: 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 --- src/corelib/kernel/qmetaobject.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/corelib/kernel/qmetaobject.h') diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h index 474e4da0f1..20a5c67586 100644 --- a/src/corelib/kernel/qmetaobject.h +++ b/src/corelib/kernel/qmetaobject.h @@ -171,7 +171,7 @@ public: static inline QMetaMethod fromSignal(PointerToMemberFunction signal) { typedef QtPrivate::FunctionPointer SignalType; - Q_STATIC_ASSERT_X(QtPrivate::HasQ_OBJECT_Macro::Value, + static_assert(QtPrivate::HasQ_OBJECT_Macro::Value, "No Q_OBJECT in the class with the signal"); return fromSignalImpl(&SignalType::Object::staticMetaObject, reinterpret_cast(&signal)); @@ -241,7 +241,7 @@ public: inline bool isValid() const { return name() != nullptr; } template static QMetaEnum fromType() { - Q_STATIC_ASSERT_X(QtPrivate::IsQEnumHelper::Value, + static_assert(QtPrivate::IsQEnumHelper::Value, "QMetaEnum::fromType only works with enums declared as " "Q_ENUM, Q_ENUM_NS, Q_FLAG or Q_FLAG_NS"); const QMetaObject *metaObject = qt_getEnumMetaObject(T()); -- cgit v1.2.3