diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/global/qglobal.h | 52 | ||||
-rw-r--r-- | src/corelib/global/qtversionchecks.h | 59 |
2 files changed, 59 insertions, 52 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 54ce2ff6fa..9e5a16093e 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -33,58 +33,6 @@ #include <QtCore/qtconfigmacros.h> #include <QtCore/qtcoreexports.h> -/* - helper macros to make some simple code work active in Qt 6 or Qt 7 only, - like: - struct QT6_ONLY(Q_CORE_EXPORT) QTrivialClass - { - void QT7_ONLY(Q_CORE_EXPORT) void operate(); - } -*/ -#if QT_VERSION_MAJOR == 7 -# define QT7_ONLY(...) __VA_ARGS__ -# define QT6_ONLY(...) -#elif QT_VERSION_MAJOR == 6 -# define QT7_ONLY(...) -# define QT6_ONLY(...) __VA_ARGS__ -#else -# error Qt major version not 6 or 7 -#endif - -/* Macro and tag type to help overload resolution on functions - that are, e.g., QT_REMOVED_SINCE'ed. Example use: - - #if QT_CORE_REMOVED_SINCE(6, 4) - int size() const; - #endif - qsizetype size(QT6_DECL_NEW_OVERLOAD) const; - - in the normal cpp file: - - qsizetype size(QT6_IMPL_NEW_OVERLOAD) const { - ~~~ - } - - in removed_api.cpp: - - int size() const { return int(size(QT6_CALL_NEW_OVERLOAD)); } -*/ -#ifdef Q_CLANG_QDOC -# define QT6_DECL_NEW_OVERLOAD -# define QT6_DECL_NEW_OVERLOAD_TAIL -# define QT6_IMPL_NEW_OVERLOAD -# define QT6_IMPL_NEW_OVERLOAD_TAIL -# define QT6_CALL_NEW_OVERLOAD -# define QT6_CALL_NEW_OVERLOAD_TAIL -#else -# define QT6_DECL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated_t = Qt::Disambiguated) -# define QT6_DECL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_DECL_NEW_OVERLOAD) -# define QT6_IMPL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated_t) -# define QT6_IMPL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_IMPL_NEW_OVERLOAD) -# define QT6_CALL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated) -# define QT6_CALL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_CALL_NEW_OVERLOAD) -#endif - /* These two macros makes it possible to turn the builtin line expander into a * string literal. */ #define QT_STRINGIFY2(x) #x diff --git a/src/corelib/global/qtversionchecks.h b/src/corelib/global/qtversionchecks.h index b02849e96d..d6fad1ed6c 100644 --- a/src/corelib/global/qtversionchecks.h +++ b/src/corelib/global/qtversionchecks.h @@ -9,6 +9,13 @@ #pragma qt_sync_stop_processing #endif +#ifdef QT_BOOTSTRAPPED +#include <QtCore/qconfig-bootstrapped.h> +#else +#include <QtCore/qconfig.h> +#include <QtCore/qtcore-config.h> +#endif + /* QT_VERSION is (major << 16) | (minor << 8) | patch. */ @@ -18,4 +25,56 @@ */ #define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) +/* + Helper macros to make some simple code active in Qt 6 or Qt 7 only, + like: + struct QT6_ONLY(Q_CORE_EXPORT) QTrivialClass + { + void QT7_ONLY(Q_CORE_EXPORT) void operate(); + } +*/ +#if QT_VERSION_MAJOR == 7 +# define QT7_ONLY(...) __VA_ARGS__ +# define QT6_ONLY(...) +#elif QT_VERSION_MAJOR == 6 +# define QT7_ONLY(...) +# define QT6_ONLY(...) __VA_ARGS__ +#else +# error Qt major version not 6 or 7 +#endif + +/* Macro and tag type to help overload resolution on functions + that are, e.g., QT_REMOVED_SINCE'ed. Example use: + + #if QT_CORE_REMOVED_SINCE(6, 4) + int size() const; + #endif + qsizetype size(QT6_DECL_NEW_OVERLOAD) const; + + in the normal cpp file: + + qsizetype size(QT6_IMPL_NEW_OVERLOAD) const { + ~~~ + } + + in removed_api.cpp: + + int size() const { return int(size(QT6_CALL_NEW_OVERLOAD)); } +*/ +#ifdef Q_CLANG_QDOC +# define QT6_DECL_NEW_OVERLOAD +# define QT6_DECL_NEW_OVERLOAD_TAIL +# define QT6_IMPL_NEW_OVERLOAD +# define QT6_IMPL_NEW_OVERLOAD_TAIL +# define QT6_CALL_NEW_OVERLOAD +# define QT6_CALL_NEW_OVERLOAD_TAIL +#else +# define QT6_DECL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated_t = Qt::Disambiguated) +# define QT6_DECL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_DECL_NEW_OVERLOAD) +# define QT6_IMPL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated_t) +# define QT6_IMPL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_IMPL_NEW_OVERLOAD) +# define QT6_CALL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated) +# define QT6_CALL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_CALL_NEW_OVERLOAD) +#endif + #endif /* QTVERSIONCHECKS_H */ |