mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-28 16:32:57 +02:00
clazy: update to 1.8.
This commit is contained in:
parent
7b67733541
commit
2eed148ce4
3 changed files with 5 additions and 382 deletions
|
@ -1,343 +0,0 @@
|
||||||
From 30d6a2b64f5a05722fdc5d8e3754dbf13425cd62 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Egor Gabov <egor.gabov@waveaccess.ru>
|
|
||||||
Date: Thu, 4 Jun 2020 17:10:21 +0300
|
|
||||||
Subject: [PATCH] updated for compatibility with LLVM 10
|
|
||||||
|
|
||||||
In LLVM 10 llvm::StringRef operator std::string() is marked as explicit.
|
|
||||||
In this commit all implicit conversion from llvm::StringRef to
|
|
||||||
std::string are changed by explicit.
|
|
||||||
Also included header file clang/Basic/FileManager.h in src/MiniDumper
|
|
||||||
because without this header, class clang::FileEntry in incomplete class
|
|
||||||
---
|
|
||||||
src/FixItExporter.cpp | 5 +++--
|
|
||||||
src/MiniAstDumper.cpp | 1 +
|
|
||||||
src/Utils.cpp | 2 +-
|
|
||||||
src/checkbase.cpp | 2 +-
|
|
||||||
src/checks/detachingbase.cpp | 2 +-
|
|
||||||
src/checks/level0/qenums.cpp | 2 +-
|
|
||||||
src/checks/level0/qt-macros.cpp | 4 ++--
|
|
||||||
src/checks/level0/unused-non-trivial-variable.cpp | 2 +-
|
|
||||||
src/checks/level1/detaching-temporary.cpp | 2 +-
|
|
||||||
src/checks/level1/non-pod-global-static.cpp | 2 +-
|
|
||||||
src/checks/level1/qproperty-without-notify.cpp | 2 +-
|
|
||||||
src/checks/level2/missing-typeinfo.cpp | 2 +-
|
|
||||||
src/checks/level2/old-style-connect.cpp | 6 +++---
|
|
||||||
src/checks/level2/rule-of-three.cpp | 2 +-
|
|
||||||
src/checks/manuallevel/ifndef-define-typo.cpp | 6 +++---
|
|
||||||
src/checks/manuallevel/qproperty-type-mismatch.cpp | 2 +-
|
|
||||||
src/checks/manuallevel/qrequiredresult-candidates.cpp | 2 +-
|
|
||||||
src/checks/manuallevel/qt-keywords.cpp | 4 ++--
|
|
||||||
src/checks/manuallevel/reserve-candidates.cpp | 3 ++-
|
|
||||||
19 files changed, 28 insertions(+), 25 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/FixItExporter.cpp b/src/FixItExporter.cpp
|
|
||||||
index f3af2e54..44240cf5 100644
|
|
||||||
--- a/src/FixItExporter.cpp
|
|
||||||
+++ b/src/FixItExporter.cpp
|
|
||||||
@@ -68,7 +68,7 @@ void FixItExporter::BeginSourceFile(const LangOptions &LangOpts, const Preproces
|
|
||||||
|
|
||||||
const auto id = SourceMgr.getMainFileID();
|
|
||||||
const auto entry = SourceMgr.getFileEntryForID(id);
|
|
||||||
- getTuDiag().MainSourceFile = entry->getName();
|
|
||||||
+ getTuDiag().MainSourceFile = static_cast<std::string>(entry->getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FixItExporter::IncludeInDiagnosticCounts() const
|
|
||||||
@@ -89,7 +89,8 @@ tooling::Diagnostic FixItExporter::ConvertDiagnostic(const Diagnostic &Info)
|
|
||||||
// TODO: This returns an empty string: DiagEngine->getDiagnosticIDs()->getWarningOptionForDiag(Info.getID());
|
|
||||||
// HACK: capture it at the end of the message: Message text [check-name]
|
|
||||||
|
|
||||||
- std::string checkName = DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID());
|
|
||||||
+ std::string checkName =
|
|
||||||
+ static_cast<std::string>(DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID()));
|
|
||||||
std::string messageText;
|
|
||||||
|
|
||||||
if (checkName.empty()) {
|
|
||||||
diff --git a/src/MiniAstDumper.cpp b/src/MiniAstDumper.cpp
|
|
||||||
index 47661749..6124e6e8 100644
|
|
||||||
--- a/src/MiniAstDumper.cpp
|
|
||||||
+++ b/src/MiniAstDumper.cpp
|
|
||||||
@@ -24,6 +24,7 @@
|
|
||||||
|
|
||||||
#include <clang/Frontend/CompilerInstance.h>
|
|
||||||
#include <clang/Frontend/FrontendPluginRegistry.h>
|
|
||||||
+#include <clang/Basic/FileManager.h>
|
|
||||||
|
|
||||||
using namespace clang;
|
|
||||||
using namespace std;
|
|
||||||
diff --git a/src/Utils.cpp b/src/Utils.cpp
|
|
||||||
index 001ced98..b0812fe3 100644
|
|
||||||
--- a/src/Utils.cpp
|
|
||||||
+++ b/src/Utils.cpp
|
|
||||||
@@ -878,7 +878,7 @@ string Utils::filenameForLoc(SourceLocation loc, const clang::SourceManager &sm)
|
|
||||||
if (loc.isMacroID())
|
|
||||||
loc = sm.getExpansionLoc(loc);
|
|
||||||
|
|
||||||
- const string filename = sm.getFilename(loc);
|
|
||||||
+ const string filename = static_cast<std::string>(sm.getFilename(loc));
|
|
||||||
auto splitted = clazy::splitString(filename, '/');
|
|
||||||
if (splitted.empty())
|
|
||||||
return {};
|
|
||||||
diff --git a/src/checkbase.cpp b/src/checkbase.cpp
|
|
||||||
index 8b40e19d..22a426cf 100644
|
|
||||||
--- a/src/checkbase.cpp
|
|
||||||
+++ b/src/checkbase.cpp
|
|
||||||
@@ -188,7 +188,7 @@ bool CheckBase::shouldIgnoreFile(SourceLocation loc) const
|
|
||||||
if (!loc.isValid())
|
|
||||||
return true;
|
|
||||||
|
|
||||||
- string filename = sm().getFilename(loc);
|
|
||||||
+ string filename = static_cast<std::string>(sm().getFilename(loc));
|
|
||||||
|
|
||||||
return clazy::any_of(m_filesToIgnore, [filename](const std::string &ignored) {
|
|
||||||
return clazy::contains(filename, ignored);
|
|
||||||
diff --git a/src/checks/detachingbase.cpp b/src/checks/detachingbase.cpp
|
|
||||||
index 70311f42..1b094ee7 100644
|
|
||||||
--- a/src/checks/detachingbase.cpp
|
|
||||||
+++ b/src/checks/detachingbase.cpp
|
|
||||||
@@ -57,7 +57,7 @@ bool DetachingBase::isDetachingMethod(CXXMethodDecl *method, DetachingMethodType
|
|
||||||
|
|
||||||
const std::unordered_map<string, std::vector<StringRef>> &methodsByType = detachingMethodType == DetachingMethod ? clazy::detachingMethods()
|
|
||||||
: clazy::detachingMethodsWithConstCounterParts();
|
|
||||||
- auto it = methodsByType.find(className);
|
|
||||||
+ auto it = methodsByType.find(static_cast<std::string>(className));
|
|
||||||
if (it != methodsByType.cend()) {
|
|
||||||
const auto &methods = it->second;
|
|
||||||
if (clazy::contains(methods, clazy::name(method)))
|
|
||||||
diff --git a/src/checks/level0/qenums.cpp b/src/checks/level0/qenums.cpp
|
|
||||||
index 00075b5c..db8910f2 100644
|
|
||||||
--- a/src/checks/level0/qenums.cpp
|
|
||||||
+++ b/src/checks/level0/qenums.cpp
|
|
||||||
@@ -59,7 +59,7 @@ void QEnums::VisitMacroExpands(const Token &MacroNameTok, const SourceRange &ran
|
|
||||||
// We simply check if :: is present because it's very cumbersome to to check for different classes when dealing with the pre-processor
|
|
||||||
|
|
||||||
CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
|
|
||||||
- string text = Lexer::getSourceText(crange, sm(), lo());
|
|
||||||
+ string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
|
|
||||||
if (clazy::contains(text, "::"))
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
diff --git a/src/checks/level0/qt-macros.cpp b/src/checks/level0/qt-macros.cpp
|
|
||||||
index d3a587cb..ab8e9f52 100644
|
|
||||||
--- a/src/checks/level0/qt-macros.cpp
|
|
||||||
+++ b/src/checks/level0/qt-macros.cpp
|
|
||||||
@@ -44,7 +44,7 @@ void QtMacros::VisitMacroDefined(const Token &MacroNameTok)
|
|
||||||
return;
|
|
||||||
|
|
||||||
IdentifierInfo *ii = MacroNameTok.getIdentifierInfo();
|
|
||||||
- if (ii && clazy::startsWith(ii->getName(), "Q_OS_"))
|
|
||||||
+ if (ii && clazy::startsWith(static_cast<std::string>(ii->getName()), "Q_OS_"))
|
|
||||||
m_OSMacroExists = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ void QtMacros::checkIfDef(const Token ¯oNameTok, SourceLocation Loc)
|
|
||||||
if (preProcessorVisitor && preProcessorVisitor->qtVersion() < 51204 && ii->getName() == "Q_OS_WINDOWS") {
|
|
||||||
// Q_OS_WINDOWS was introduced in 5.12.4
|
|
||||||
emitWarning(Loc, "Q_OS_WINDOWS was only introduced in Qt 5.12.4, use Q_OS_WIN instead");
|
|
||||||
- } else if (!m_OSMacroExists && clazy::startsWith(ii->getName(), "Q_OS_")) {
|
|
||||||
+ } else if (!m_OSMacroExists && clazy::startsWith(static_cast<std::string>(ii->getName()), "Q_OS_")) {
|
|
||||||
emitWarning(Loc, "Include qglobal.h before testing Q_OS_ macros");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/checks/level0/unused-non-trivial-variable.cpp b/src/checks/level0/unused-non-trivial-variable.cpp
|
|
||||||
index 4e4b8303..93815f27 100644
|
|
||||||
--- a/src/checks/level0/unused-non-trivial-variable.cpp
|
|
||||||
+++ b/src/checks/level0/unused-non-trivial-variable.cpp
|
|
||||||
@@ -91,7 +91,7 @@ bool UnusedNonTrivialVariable::isUninterestingType(const CXXRecordDecl *record)
|
|
||||||
static const vector<StringRef> blacklistedTemplates = { "QScopedPointer", "QSetValueOnDestroy", "QScopedValueRollback" };
|
|
||||||
StringRef className = clazy::name(record);
|
|
||||||
for (StringRef templateName : blacklistedTemplates) {
|
|
||||||
- if (clazy::startsWith(className, templateName))
|
|
||||||
+ if (clazy::startsWith(static_cast<std::string>(className), static_cast<std::string>(templateName)))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/checks/level1/detaching-temporary.cpp b/src/checks/level1/detaching-temporary.cpp
|
|
||||||
index fedfc81c..60c75532 100644
|
|
||||||
--- a/src/checks/level1/detaching-temporary.cpp
|
|
||||||
+++ b/src/checks/level1/detaching-temporary.cpp
|
|
||||||
@@ -140,7 +140,7 @@ void DetachingTemporary::VisitStmt(clang::Stmt *stm)
|
|
||||||
StringRef className = clazy::name(classDecl);
|
|
||||||
|
|
||||||
const std::unordered_map<string, std::vector<StringRef>> &methodsByType = clazy::detachingMethods();
|
|
||||||
- auto it = methodsByType.find(className);
|
|
||||||
+ auto it = methodsByType.find(static_cast<std::string>(className));
|
|
||||||
auto it2 = m_writeMethodsByType.find(className);
|
|
||||||
|
|
||||||
std::vector<StringRef> allowedFunctions;
|
|
||||||
diff --git a/src/checks/level1/non-pod-global-static.cpp b/src/checks/level1/non-pod-global-static.cpp
|
|
||||||
index 5879bff8..433b5c5f 100644
|
|
||||||
--- a/src/checks/level1/non-pod-global-static.cpp
|
|
||||||
+++ b/src/checks/level1/non-pod-global-static.cpp
|
|
||||||
@@ -74,7 +74,7 @@ void NonPodGlobalStatic::VisitStmt(clang::Stmt *stm)
|
|
||||||
const SourceLocation declStart = clazy::getLocStart(varDecl);
|
|
||||||
|
|
||||||
if (declStart.isMacroID()) {
|
|
||||||
- auto macroName = Lexer::getImmediateMacroName(declStart, sm(), lo());
|
|
||||||
+ auto macroName = static_cast<std::string>(Lexer::getImmediateMacroName(declStart, sm(), lo()));
|
|
||||||
if (clazy::startsWithAny(macroName, { "Q_IMPORT_PLUGIN", "Q_CONSTRUCTOR_FUNCTION", "Q_DESTRUCTOR_FUNCTION"})) // Don't warn on these
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
diff --git a/src/checks/level1/qproperty-without-notify.cpp b/src/checks/level1/qproperty-without-notify.cpp
|
|
||||||
index e1d6db4a..3af9fee2 100644
|
|
||||||
--- a/src/checks/level1/qproperty-without-notify.cpp
|
|
||||||
+++ b/src/checks/level1/qproperty-without-notify.cpp
|
|
||||||
@@ -69,7 +69,7 @@ void QPropertyWithoutNotify::VisitMacroExpands(const clang::Token &MacroNameTok,
|
|
||||||
return;
|
|
||||||
CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
|
|
||||||
|
|
||||||
- string text = Lexer::getSourceText(crange, sm(), lo());
|
|
||||||
+ string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
|
|
||||||
if (text.back() == ')')
|
|
||||||
text.pop_back();
|
|
||||||
|
|
||||||
diff --git a/src/checks/level2/missing-typeinfo.cpp b/src/checks/level2/missing-typeinfo.cpp
|
|
||||||
index 98df2cd4..03b44e06 100644
|
|
||||||
--- a/src/checks/level2/missing-typeinfo.cpp
|
|
||||||
+++ b/src/checks/level2/missing-typeinfo.cpp
|
|
||||||
@@ -74,7 +74,7 @@ void MissingTypeInfo::VisitDecl(clang::Decl *decl)
|
|
||||||
if (sm().isInSystemHeader(clazy::getLocStart(record)))
|
|
||||||
return;
|
|
||||||
|
|
||||||
- std::string typeName = clazy::name(record);
|
|
||||||
+ std::string typeName = static_cast<std::string>(clazy::name(record));
|
|
||||||
if (typeName == "QPair") // QPair doesn't use Q_DECLARE_TYPEINFO, but rather a explicit QTypeInfo.
|
|
||||||
return;
|
|
||||||
|
|
||||||
diff --git a/src/checks/level2/old-style-connect.cpp b/src/checks/level2/old-style-connect.cpp
|
|
||||||
index 0fe68c13..396cb703 100644
|
|
||||||
--- a/src/checks/level2/old-style-connect.cpp
|
|
||||||
+++ b/src/checks/level2/old-style-connect.cpp
|
|
||||||
@@ -274,7 +274,7 @@ void OldStyleConnect::VisitMacroExpands(const Token ¯oNameTok, const SourceR
|
|
||||||
return;
|
|
||||||
|
|
||||||
auto charRange = Lexer::getAsCharRange(range, sm(), lo());
|
|
||||||
- const string text = Lexer::getSourceText(charRange, sm(), lo());
|
|
||||||
+ const string text = static_cast<std::string>(Lexer::getSourceText(charRange, sm(), lo()));
|
|
||||||
|
|
||||||
static regex rx(R"(Q_PRIVATE_SLOT\s*\((.*)\s*,\s*.*\s+(.*)\(.*)");
|
|
||||||
smatch match;
|
|
||||||
@@ -293,7 +293,7 @@ string OldStyleConnect::signalOrSlotNameFromMacro(SourceLocation macroLoc)
|
|
||||||
CharSourceRange expansionRange = clazy::getImmediateExpansionRange(macroLoc, sm());
|
|
||||||
SourceRange range = SourceRange(expansionRange.getBegin(), expansionRange.getEnd());
|
|
||||||
auto charRange = Lexer::getAsCharRange(range, sm(), lo());
|
|
||||||
- const string text = Lexer::getSourceText(charRange, sm(), lo());
|
|
||||||
+ const string text = static_cast<std::string>(Lexer::getSourceText(charRange, sm(), lo()));
|
|
||||||
|
|
||||||
static regex rx(R"(\s*(SIGNAL|SLOT)\s*\(\s*(.+)\s*\(.*)");
|
|
||||||
|
|
||||||
@@ -315,7 +315,7 @@ bool OldStyleConnect::isSignalOrSlot(SourceLocation loc, string ¯oName) cons
|
|
||||||
if (!loc.isMacroID() || loc.isInvalid())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
- macroName = Lexer::getImmediateMacroName(loc, sm(), lo());
|
|
||||||
+ macroName = static_cast<std::string>(Lexer::getImmediateMacroName(loc, sm(), lo()));
|
|
||||||
return macroName == "SIGNAL" || macroName == "SLOT";
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
|
|
||||||
index 8db55d53..7583fcc5 100644
|
|
||||||
--- a/src/checks/level2/rule-of-three.cpp
|
|
||||||
+++ b/src/checks/level2/rule-of-three.cpp
|
|
||||||
@@ -140,7 +140,7 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
|
|
||||||
|
|
||||||
const string className = record->getNameAsString();
|
|
||||||
const string classQualifiedName = record->getQualifiedNameAsString();
|
|
||||||
- const string filename = sm().getFilename(recordStart);
|
|
||||||
+ const string filename = static_cast<std::string>(sm().getFilename(recordStart));
|
|
||||||
if (clazy::endsWith(className, "Private") && clazy::endsWithAny(filename, { ".cpp", ".cxx", "_p.h" }))
|
|
||||||
return; // Lots of RAII classes fall into this category. And even Private (d-pointer) classes, warning in that case would just be noise
|
|
||||||
|
|
||||||
diff --git a/src/checks/manuallevel/ifndef-define-typo.cpp b/src/checks/manuallevel/ifndef-define-typo.cpp
|
|
||||||
index edb6cdf4..e9c50a45 100644
|
|
||||||
--- a/src/checks/manuallevel/ifndef-define-typo.cpp
|
|
||||||
+++ b/src/checks/manuallevel/ifndef-define-typo.cpp
|
|
||||||
@@ -44,7 +44,7 @@ void IfndefDefineTypo::VisitMacroDefined(const Token ¯oNameTok)
|
|
||||||
{
|
|
||||||
if (!m_lastIfndef.empty()) {
|
|
||||||
if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo()) {
|
|
||||||
- maybeWarn(ii->getName(), macroNameTok.getLocation());
|
|
||||||
+ maybeWarn(static_cast<std::string>(ii->getName()), macroNameTok.getLocation());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -53,7 +53,7 @@ void IfndefDefineTypo::VisitDefined(const Token ¯oNameTok, const SourceRange
|
|
||||||
{
|
|
||||||
if (!m_lastIfndef.empty()) {
|
|
||||||
if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo()) {
|
|
||||||
- maybeWarn(ii->getName(), macroNameTok.getLocation());
|
|
||||||
+ maybeWarn(static_cast<std::string>(ii->getName()), macroNameTok.getLocation());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -66,7 +66,7 @@ void IfndefDefineTypo::VisitIfdef(SourceLocation, const Token &)
|
|
||||||
void IfndefDefineTypo::VisitIfndef(SourceLocation, const Token ¯oNameTok)
|
|
||||||
{
|
|
||||||
if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo())
|
|
||||||
- m_lastIfndef = ii->getName();
|
|
||||||
+ m_lastIfndef = static_cast<std::string>(ii->getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
void IfndefDefineTypo::VisitIf(SourceLocation, SourceRange, PPCallbacks::ConditionValueKind)
|
|
||||||
diff --git a/src/checks/manuallevel/qproperty-type-mismatch.cpp b/src/checks/manuallevel/qproperty-type-mismatch.cpp
|
|
||||||
index f91159cb..952d9f1d 100644
|
|
||||||
--- a/src/checks/manuallevel/qproperty-type-mismatch.cpp
|
|
||||||
+++ b/src/checks/manuallevel/qproperty-type-mismatch.cpp
|
|
||||||
@@ -237,7 +237,7 @@ void QPropertyTypeMismatch::VisitMacroExpands(const clang::Token &MacroNameTok,
|
|
||||||
|
|
||||||
CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
|
|
||||||
|
|
||||||
- string text = Lexer::getSourceText(crange, sm(), lo());
|
|
||||||
+ string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
|
|
||||||
if (!text.empty() && text.back() == ')')
|
|
||||||
text.pop_back();
|
|
||||||
|
|
||||||
diff --git a/src/checks/manuallevel/qrequiredresult-candidates.cpp b/src/checks/manuallevel/qrequiredresult-candidates.cpp
|
|
||||||
index 912dbaa0..6375bd7b 100644
|
|
||||||
--- a/src/checks/manuallevel/qrequiredresult-candidates.cpp
|
|
||||||
+++ b/src/checks/manuallevel/qrequiredresult-candidates.cpp
|
|
||||||
@@ -65,7 +65,7 @@ void QRequiredResultCandidates::VisitDecl(clang::Decl *decl)
|
|
||||||
|
|
||||||
|
|
||||||
if (returnClass == classDecl) {
|
|
||||||
- const std::string methodName = clazy::name(method);
|
|
||||||
+ const std::string methodName = static_cast<std::string>(clazy::name(method));
|
|
||||||
if (methodName.empty()) // fixes assert
|
|
||||||
return;
|
|
||||||
|
|
||||||
diff --git a/src/checks/manuallevel/qt-keywords.cpp b/src/checks/manuallevel/qt-keywords.cpp
|
|
||||||
index e792e95a..b60752c9 100644
|
|
||||||
--- a/src/checks/manuallevel/qt-keywords.cpp
|
|
||||||
+++ b/src/checks/manuallevel/qt-keywords.cpp
|
|
||||||
@@ -59,12 +59,12 @@ void QtKeywords::VisitMacroExpands(const Token ¯oNameTok, const SourceRange
|
|
||||||
}
|
|
||||||
|
|
||||||
static const vector<StringRef> keywords = { "foreach", "signals", "slots", "emit" };
|
|
||||||
- std::string name = ii->getName();
|
|
||||||
+ std::string name = static_cast<std::string>(ii->getName());
|
|
||||||
if (!clazy::contains(keywords, name))
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Make sure the macro is Qt's. It must be defined in Qt's headers, not 3rdparty
|
|
||||||
- std::string qtheader = sm().getFilename(sm().getSpellingLoc(minfo->getDefinitionLoc()));
|
|
||||||
+ std::string qtheader = static_cast<std::string>(sm().getFilename(sm().getSpellingLoc(minfo->getDefinitionLoc())));
|
|
||||||
if (!clazy::endsWith(qtheader, "qglobal.h") && !clazy::endsWith(qtheader, "qobjectdefs.h"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
diff --git a/src/checks/manuallevel/reserve-candidates.cpp b/src/checks/manuallevel/reserve-candidates.cpp
|
|
||||||
index 389cac5a..92e4491c 100644
|
|
||||||
--- a/src/checks/manuallevel/reserve-candidates.cpp
|
|
||||||
+++ b/src/checks/manuallevel/reserve-candidates.cpp
|
|
||||||
@@ -78,7 +78,8 @@ static bool isCandidateMethod(CXXMethodDecl *methodDecl)
|
|
||||||
if (!classDecl)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
- if (!clazy::equalsAny(clazy::name(methodDecl), { "append", "push_back", "push", "operator<<", "operator+=" }))
|
|
||||||
+ if (!clazy::equalsAny(static_cast<std::string>(clazy::name(methodDecl)),
|
|
||||||
+ { "append", "push_back", "push", "operator<<", "operator+=" }))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!clazy::isAReserveClass(classDecl))
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
From 25aa102cc49def9573ffbed88155589cd60a2e8f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Egor Gabov <egor.gabov@waveaccess.ru>
|
|
||||||
Date: Fri, 5 Jun 2020 16:52:53 +0300
|
|
||||||
Subject: [PATCH] updated for compatibility with LLVM 10 (clazy-standalone)
|
|
||||||
|
|
||||||
In LLVM 10 llvm::StringRef operator std::string() is marked as explicit.
|
|
||||||
In this commit all implicit conversion from llvm::StringRef to
|
|
||||||
std::string are changed by explicit.
|
|
||||||
---
|
|
||||||
src/checks/manuallevel/jnisignatures.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/checks/manuallevel/jnisignatures.cpp b/src/checks/manuallevel/jnisignatures.cpp
|
|
||||||
index 81e61d48..5d4fe203 100644
|
|
||||||
--- a/src/checks/manuallevel/jnisignatures.cpp
|
|
||||||
+++ b/src/checks/manuallevel/jnisignatures.cpp
|
|
||||||
@@ -103,7 +103,7 @@ void JniSignatures::checkFunctionCall(Stmt *stm)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- const std::string name = clazy::name(funDecl);
|
|
||||||
+ const std::string name = static_cast<std::string>(clazy::name(funDecl));
|
|
||||||
|
|
||||||
if (name == "callObjectMethod" || name == "callMethod") {
|
|
||||||
checkArgAt(callExpr, 0, methodNameRegex, "Invalid method name");
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
|
@ -1,20 +1,14 @@
|
||||||
# Template file for 'clazy'
|
# Template file for 'clazy'
|
||||||
pkgname=clazy
|
pkgname=clazy
|
||||||
version=1.7
|
version=1.8
|
||||||
revision=2
|
revision=1
|
||||||
|
create_wrksrc=yes
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
hostmakedepends="python"
|
|
||||||
makedepends="clang llvm"
|
makedepends="clang llvm"
|
||||||
short_desc="Qt oriented code checker based on clang framework"
|
short_desc="Qt oriented code checker based on clang framework"
|
||||||
maintainer="John <me@johnnynator.dev>"
|
maintainer="John <me@johnnynator.dev>"
|
||||||
license="LGPL-2.0-or-later"
|
license="LGPL-2.0-or-later"
|
||||||
homepage="https://cgit.kde.org/clazy.git/about/"
|
homepage="https://apps.kde.org/en/clazy"
|
||||||
distfiles="${KDE_SITE}/clazy/${version}/src/${pkgname}-${version}.tar.xz"
|
distfiles="${KDE_SITE}/clazy/${version}/src/${pkgname}-${version}.tar.xz"
|
||||||
checksum=754da5815f769dd6b72a040a2430525c93f294eb7769c78271603df9614f1b21
|
checksum=ff0a5b5e694149df5f60bb7a4dc253ee4752b803453c5d29fa79611b54ecffdc
|
||||||
nocross="Clang cannot be installed as makedep"
|
nocross="Clang cannot be installed as makedep"
|
||||||
|
|
||||||
post_extract() {
|
|
||||||
for i in ${FILESDIR}/clazy-*.patch; do
|
|
||||||
patch -sNp1 -i ${i}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue