diff --git a/qbs/modules/buildconfig/buildconfig.qbs b/qbs/modules/buildconfig/buildconfig.qbs index b87567940..24b899caa 100644 --- a/qbs/modules/buildconfig/buildconfig.qbs +++ b/qbs/modules/buildconfig/buildconfig.qbs @@ -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" diff --git a/src/libs/qmuparser/qmuparsercallback.h b/src/libs/qmuparser/qmuparsercallback.h index 201e3c900..c7b795291 100644 --- a/src/libs/qmuparser/qmuparsercallback.h +++ b/src/libs/qmuparser/qmuparsercallback.h @@ -108,7 +108,7 @@ private: /** * @brief Container for Callback objects. */ -typedef std::map funmap_type; +using funmap_type = std::map; //--------------------------------------------------------------------------------------------------------------------- /** diff --git a/src/libs/qmuparser/qmuparsertoken.h b/src/libs/qmuparser/qmuparsertoken.h index 82640576b..18400d089 100644 --- a/src/libs/qmuparser/qmuparsertoken.h +++ b/src/libs/qmuparser/qmuparsertoken.h @@ -31,7 +31,6 @@ #include "qmuparsererror.h" #include "qmuparsercallback.h" -#include "make_unique.h" /** @file @brief This file contains the parser token definition. diff --git a/src/libs/vganalytics/vganalytics.h b/src/libs/vganalytics/vganalytics.h index 211471c5b..3def025c2 100644 --- a/src/libs/vganalytics/vganalytics.h +++ b/src/libs/vganalytics/vganalytics.h @@ -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); diff --git a/src/libs/vmisc/defglobal.h b/src/libs/vmisc/defglobal.h index 541fb9674..3a7ee1585 100644 --- a/src/libs/vmisc/defglobal.h +++ b/src/libs/vmisc/defglobal.h @@ -42,6 +42,11 @@ template Q_DECL_CONSTEXPR typename std::add_const::type &qAsCons template 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