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