Clang: ClangExecutableVersion is now a QVersionNumber

Change-Id: If1e1327ad54681ce6d8c59e2cee298ba7bd7996b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Arnold Dumas
2017-01-24 14:33:03 +01:00
parent f50d73cc3c
commit 203644bf28

View File

@@ -27,6 +27,7 @@
#include <coreplugin/id.h>
#include <QVersionNumber>
#include <QtGlobal>
QT_BEGIN_NAMESPACE
@@ -44,37 +45,26 @@ QString clangExecutableFromSettings(Core::Id toolchainType, bool *isValid);
QString createFullLocationString(const Debugger::DiagnosticLocation &location);
// TODO: Use QVersionNumber once we can use >= Qt 5.6.0
class ClangExecutableVersion {
class ClangExecutableVersion : public QVersionNumber {
public:
ClangExecutableVersion() : majorNumber(-1) , minorNumber(-1) , patchNumber(-1) {}
ClangExecutableVersion(int major, int minor, int patch)
: majorNumber(major) , minorNumber(minor) , patchNumber(patch) {}
ClangExecutableVersion() : QVersionNumber(-1, -1, -1) {}
ClangExecutableVersion(int major, int minor, int micro)
: QVersionNumber(major, minor, micro) {}
bool isValid() const
{
return majorNumber >= 0 && minorNumber >= 0 && patchNumber >= 0;
return majorVersion() >= 0 && minorVersion() >= 0 && microVersion() >= 0;
}
bool isSupportedVersion() const
{
return majorNumber == 3 && minorNumber == 9;
return majorVersion() == 3 && minorVersion() == 9;
}
static QString supportedVersionAsString()
{
return QLatin1String("3.9");
}
QString toString() const
{
return QString::fromLatin1("%1.%2.%3").arg(majorNumber).arg(minorNumber).arg(patchNumber);
}
public:
int majorNumber;
int minorNumber;
int patchNumber;
};
ClangExecutableVersion clangExecutableVersion(const QString &absolutePath);