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 /tests/auto/corelib/kernel/qobject | |
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 'tests/auto/corelib/kernel/qobject')
-rw-r--r-- | tests/auto/corelib/kernel/qobject/tst_qobject.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp index b2dc3c7297..7c806ed78d 100644 --- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp +++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp @@ -6973,13 +6973,13 @@ void tst_QObject::checkArgumentsForNarrowing() static constexpr bool IsUnscopedEnumSigned = std::is_signed_v<std::underlying_type_t<UnscopedEnum>>; -#define NARROWS_IF(x, y, test) Q_STATIC_ASSERT((QtPrivate::AreArgumentsConvertibleWithoutNarrowingBase<x, y>::value) != (test)) -#define FITS_IF(x, y, test) Q_STATIC_ASSERT((QtPrivate::AreArgumentsConvertibleWithoutNarrowingBase<x, y>::value) == (test)) +#define NARROWS_IF(x, y, test) static_assert((QtPrivate::AreArgumentsConvertibleWithoutNarrowingBase<x, y>::value) != (test)) +#define FITS_IF(x, y, test) static_assert((QtPrivate::AreArgumentsConvertibleWithoutNarrowingBase<x, y>::value) == (test)) #define NARROWS(x, y) NARROWS_IF(x, y, true) #define FITS(x, y) FITS_IF(x, y, true) - Q_STATIC_ASSERT(sizeof(UnscopedEnum) <= sizeof(int)); - Q_STATIC_ASSERT(sizeof(SignedUnscopedEnum) <= sizeof(int)); + static_assert(sizeof(UnscopedEnum) <= sizeof(int)); + static_assert(sizeof(SignedUnscopedEnum) <= sizeof(int)); // floating point to integral @@ -7230,7 +7230,7 @@ void tst_QObject::checkArgumentsForNarrowing() NARROWS_IF(UnscopedEnum, long long, sizeof(UnscopedEnum) > sizeof(long long) || (sizeof(UnscopedEnum) == sizeof(long long) && !IsUnscopedEnumSigned)); NARROWS_IF(UnscopedEnum, unsigned long long, IsUnscopedEnumSigned); - Q_STATIC_ASSERT(std::is_signed<typename std::underlying_type<SignedUnscopedEnum>::type>::value); + static_assert(std::is_signed<typename std::underlying_type<SignedUnscopedEnum>::type>::value); NARROWS_IF(SignedUnscopedEnum, signed char, (sizeof(SignedUnscopedEnum) > sizeof(char))); NARROWS_IF(SignedUnscopedEnum, short, (sizeof(SignedUnscopedEnum) > sizeof(short))); @@ -7469,8 +7469,8 @@ void tst_QObject::disconnectDisconnects() } // Test for QtPrivate::HasQ_OBJECT_Macro -Q_STATIC_ASSERT(QtPrivate::HasQ_OBJECT_Macro<tst_QObject>::Value); -Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro<SiblingDeleter>::Value); +static_assert(QtPrivate::HasQ_OBJECT_Macro<tst_QObject>::Value); +static_assert(!QtPrivate::HasQ_OBJECT_Macro<SiblingDeleter>::Value); QTEST_MAIN(tst_QObject) #include "tst_qobject.moc" |