Move Qt 6/7 specific macros to qtversionchecks.h
Task-number: QTBUG-99313 Change-Id: I57032bf5d0edcb7345267512e12837b1d90d1485 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
This commit is contained in:
parent
df1db826cb
commit
85414ac6c0
@ -33,58 +33,6 @@
|
|||||||
#include <QtCore/qtconfigmacros.h>
|
#include <QtCore/qtconfigmacros.h>
|
||||||
#include <QtCore/qtcoreexports.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
|
/* These two macros makes it possible to turn the builtin line expander into a
|
||||||
* string literal. */
|
* string literal. */
|
||||||
#define QT_STRINGIFY2(x) #x
|
#define QT_STRINGIFY2(x) #x
|
||||||
|
@ -9,6 +9,13 @@
|
|||||||
#pragma qt_sync_stop_processing
|
#pragma qt_sync_stop_processing
|
||||||
#endif
|
#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.
|
QT_VERSION is (major << 16) | (minor << 8) | patch.
|
||||||
*/
|
*/
|
||||||
@ -18,4 +25,56 @@
|
|||||||
*/
|
*/
|
||||||
#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
|
#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 */
|
#endif /* QTVERSIONCHECKS_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user