From 044a29bc66fbc8621f6cbe1bc2f8bd36dcd23d74 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Mon, 13 Feb 2023 14:42:50 +0200 Subject: corelib/global/*.h: use static_assert instead of Q_STATIC_ASSERT_X qtconfigmacros: Otherwise we'd need to include before using QT_REQUIRE_CONFIG. It cannot be added here as qassert.h itself uses QT_CONFIG, i.e. qassert.h needs to include this header. And Q_STATIC_ASSERT_X is only kept around to keep old code working. _Static_assert is deprecated in C23: https://en.cppreference.com/w/c/language/_Static_assert Change-Id: Ie60a02274cc5be8bd1c6dc3819ccfbc2e7864a21 Reviewed-by: Thiago Macieira --- src/corelib/global/qtconfigmacros.h | 4 +++- src/corelib/global/qtypes.h | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/corelib/global/qtconfigmacros.h b/src/corelib/global/qtconfigmacros.h index 2bb1016cac..a89894ff24 100644 --- a/src/corelib/global/qtconfigmacros.h +++ b/src/corelib/global/qtconfigmacros.h @@ -10,6 +10,8 @@ #include +#include + /* The Qt modules' export macros. The options are: @@ -58,7 +60,7 @@ 1: The feature is available */ #define QT_CONFIG(feature) (1/QT_FEATURE_##feature == 1) -#define QT_REQUIRE_CONFIG(feature) Q_STATIC_ASSERT_X(QT_FEATURE_##feature == 1, "Required feature " #feature " for file " __FILE__ " not available.") +#define QT_REQUIRE_CONFIG(feature) static_assert(QT_FEATURE_##feature == 1, "Required feature " #feature " for file " __FILE__ " not available.") /* moc compats (signals/slots) */ #ifndef QT_MOC_COMPAT diff --git a/src/corelib/global/qtypes.h b/src/corelib/global/qtypes.h index fa41f03c44..d08a919c13 100644 --- a/src/corelib/global/qtypes.h +++ b/src/corelib/global/qtypes.h @@ -11,6 +11,8 @@ #ifdef __cplusplus # include # include +#else +# include #endif #if 0 @@ -58,7 +60,7 @@ typedef quint64 qulonglong; #ifndef __cplusplus // In C++ mode, we define below using QIntegerForSize template -Q_STATIC_ASSERT_X(sizeof(ptrdiff_t) == sizeof(size_t), "Weird ptrdiff_t and size_t definitions"); +static_assert(sizeof(ptrdiff_t) == sizeof(size_t), "Weird ptrdiff_t and size_t definitions"); typedef ptrdiff_t qptrdiff; typedef ptrdiff_t qsizetype; typedef ptrdiff_t qintptr; -- cgit v1.2.3