corelib/global/*.h: use static_assert instead of Q_STATIC_ASSERT_X
qtconfigmacros: Otherwise we'd need to include <QtCore/qassert.h> 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 <thiago.macieira@intel.com>
This commit is contained in:
parent
3b81d04bc6
commit
044a29bc66
@ -10,6 +10,8 @@
|
||||
|
||||
#include <QtCore/qtconfiginclude.h>
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
/*
|
||||
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
|
||||
|
@ -11,6 +11,8 @@
|
||||
#ifdef __cplusplus
|
||||
# include <cstddef>
|
||||
# include <cstdint>
|
||||
#else
|
||||
# include <assert.h>
|
||||
#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;
|
||||
|
Loading…
Reference in New Issue
Block a user