Fix compatibility with Qt 6.6.

This commit is contained in:
Roman Telezhynskyi 2023-10-31 11:33:31 +02:00
parent b187e3c1c7
commit 934d2448b2
5 changed files with 19 additions and 9 deletions

View file

@ -560,13 +560,11 @@ Module {
"-Qunused-arguments",
"-fcolor-diagnostics",
"-Wno-gnu-zero-variadic-macro-arguments",
"-fms-extensions" // Need for pragma message
"-fms-extensions", // Need for pragma message
"-Wcompletion-handler",
"-Wno-pre-c++17-compat-pedantic"
)
if (Utilities.versionCompare(cpp.compilerVersion, "14") < 0) {
debugFlags.push("-Wweak-template-vtables")
}
if (Utilities.versionCompare(cpp.compilerVersion, "13") >= 0) {
debugFlags.push(
"-Wreserved-identifier",
@ -576,6 +574,16 @@ Module {
)
}
if (Utilities.versionCompare(cpp.compilerVersion, "14") < 0) {
debugFlags.push("-Wweak-template-vtables")
}
if (Utilities.versionCompare(cpp.compilerVersion, "14") >= 0) {
debugFlags.push(
"-Wbitwise-instead-of-logical"
)
}
if (Utilities.versionCompare(cpp.compilerVersion, "15") >= 0) {
debugFlags.push(
"-Warray-parameter"

View file

@ -108,7 +108,7 @@ private:
/**
* @brief Container for Callback objects.
*/
typedef std::map<QString, QmuParserCallback> funmap_type;
using funmap_type = std::map<QString, QmuParserCallback>;
//---------------------------------------------------------------------------------------------------------------------
/**

View file

@ -31,7 +31,6 @@
#include "qmuparsererror.h"
#include "qmuparsercallback.h"
#include "make_unique.h"
/** @file
@brief This file contains the parser token definition.

View file

@ -58,8 +58,6 @@ public:
Error
};
Q_ENUM(LogLevel) // NOLINT
void SetMeasurementId(const QString &measurementId);
void SetApiSecret(const QString &apiSecret);
void SetClientID(const QString &clientID);

View file

@ -42,6 +42,11 @@ template <typename T> Q_DECL_CONSTEXPR typename std::add_const<T>::type &qAsCons
template <typename T> void qAsConst(const T &&) Q_DECL_EQ_DELETE;
#endif
#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
// Since Qt 6.0 minimal requirement is C++17. There is no longer need for qAsConst.
#define qAsConst std::as_const
#endif
#ifndef Q_DISABLE_ASSIGN
#define Q_DISABLE_ASSIGN(Class) Class &operator=(const Class &) = delete;
#endif