diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-06-15 17:40:32 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-06-16 07:11:43 +0000 |
commit | 0bc782c4680dfa99a1da03fca67c68322f585965 (patch) | |
tree | c750fd97e3fbb3598b58b998ad07cbef3fea0656 /src | |
parent | 1623af0da5bc760c00bea1f6a5025b30ac110081 (diff) | |
download | qt-creator-0bc782c4680dfa99a1da03fca67c68322f585965.tar.gz |
Clang: Add CLANG-UPGRADE-CHECK marker
...for things to watch out on an upgrade.
Change-Id: I75b77a3c8fa238939b625d084c7db220ab429319
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src')
5 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index 8a219bd5b3..e436ec275f 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -169,6 +169,8 @@ void setLastSentDocumentRevision(const QString &filePath, uint revision) document->sendTracker().setLastSentRevision(int(revision)); } +// CLANG-UPGRADE-CHECK: Workaround still needed? +// Remove once clang reports correct columns for lines with multi-byte utf8. int extraUtf8CharsShift(const QString &str, int column) { int shift = 0; diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerutils.h b/src/plugins/clangstaticanalyzer/clangstaticanalyzerutils.h index bf90e3a5a0..e170d8b7f0 100644 --- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerutils.h +++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerutils.h @@ -45,6 +45,7 @@ QString clangExecutableFromSettings(Core::Id toolchainType, bool *isValid); QString createFullLocationString(const Debugger::DiagnosticLocation &location); +// CLANG-UPGRADE-CHECK: Adapt minimum version numbers. class ClangExecutableVersion : public QVersionNumber { public: ClangExecutableVersion() : QVersionNumber(-1, -1, -1) {} diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index d65b7caff6..e21fedef4c 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -340,6 +340,7 @@ void CompilerOptionsBuilder::addMsvcCompatibilityVersion() static QStringList languageFeatureMacros() { + // CLANG-UPGRADE-CHECK: Update known language features macros. // Collected with: // $ CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 // $ D:\usr\llvm-3.8.0\bin\clang++.exe -fms-compatibility-version=19 -std=c++1y -dM -E D:\empty.cpp | grep __cpp_ @@ -389,7 +390,7 @@ void CompilerOptionsBuilder::undefineCppLanguageFeatureMacrosForMsvc2015() void CompilerOptionsBuilder::addDefineFloat128ForMingw() { - // TODO: Remove once this is fixed in clang >= 3.9. + // CLANG-UPGRADE-CHECK: Workaround still needed? // https://llvm.org/bugs/show_bug.cgi?id=30685 if (m_projectPart.toolchainType == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) addDefine("#define __float128 void"); diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri index 7ef42f2911..1d62221769 100644 --- a/src/shared/clang/clang_installation.pri +++ b/src/shared/clang/clang_installation.pri @@ -110,7 +110,7 @@ isEmpty(QTC_NO_CLANG_LIBTOOLING) { } isEmpty(LLVM_VERSION): error("Cannot determine clang version at $$LLVM_INSTALL_DIR") -!versionIsAtLeast($$LLVM_VERSION, 3, 9, 0): { +!versionIsAtLeast($$LLVM_VERSION, 3, 9, 0): { # CLANG-UPGRADE-CHECK: Adapt minimum version numbers. error("LLVM/Clang version >= 3.9.0 required, version provided: $$LLVM_VERSION") } diff --git a/src/tools/clangbackend/ipcsource/highlightingmark.cpp b/src/tools/clangbackend/ipcsource/highlightingmark.cpp index 2a648153aa..58a8a298ce 100644 --- a/src/tools/clangbackend/ipcsource/highlightingmark.cpp +++ b/src/tools/clangbackend/ipcsource/highlightingmark.cpp @@ -161,6 +161,7 @@ void HighlightingMark::overloadedDeclRefKind(const Cursor &cursor) { types.mainHighlightingType = HighlightingType::Function; + // CLANG-UPGRADE-CHECK: Workaround still needed? // Workaround https://bugs.llvm.org//show_bug.cgi?id=33256 - SomeType in // "using N::SomeType" is mistakenly considered as a CXCursor_OverloadedDeclRef. if (cursor.overloadedDeclarationsCount() >= 1 |