[clang-tools-extra] [clang-tidy] Fix various clang-tidy finding (PR #184831)
Baranov Victor via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 5 09:28:58 PST 2026
https://github.com/vbvictor created https://github.com/llvm/llvm-project/pull/184831
None
>From 0e96c7ae2477dafec58ba3aad7e7bf7ac05d7cf4 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Thu, 5 Mar 2026 20:28:40 +0300
Subject: [PATCH] [clang-tidy] Fix various clang-tidy finding
---
clang-tools-extra/clang-tidy/ClangTidy.cpp | 5 +++--
.../altera/IdDependentBackwardBranchCheck.cpp | 12 ++++++------
.../clang-tidy/bugprone/ParentVirtualCallCheck.cpp | 1 -
.../clang-tidy/bugprone/UnsafeFunctionsCheck.cpp | 1 -
.../clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp | 4 +---
.../clang-tidy/llvm/IncludeOrderCheck.cpp | 2 --
.../clang-tidy/modernize/RawStringLiteralCheck.cpp | 5 ++---
.../clang-tidy/modernize/UseOverrideCheck.cpp | 2 +-
.../clang-tidy/modernize/UseStdPrintCheck.cpp | 2 +-
.../modernize/UseTrailingReturnTypeCheck.cpp | 1 -
.../readability/ContainerDataPointerCheck.cpp | 1 -
.../readability/SuspiciousCallArgumentCheck.cpp | 2 +-
clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp | 1 -
clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp | 1 -
.../clang-tidy/utils/UseRangesCheck.cpp | 2 +-
15 files changed, 16 insertions(+), 26 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp
index 7a898ef07b275..a27ddd17cee30 100644
--- a/clang-tools-extra/clang-tidy/ClangTidy.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp
@@ -37,6 +37,7 @@
#include "clang/Tooling/Refactoring.h"
#include "clang/Tooling/Tooling.h"
#include "llvm/Support/Process.h"
+#include <memory>
#include <utility>
#if CLANG_TIDY_ENABLE_STATIC_ANALYZER
@@ -445,8 +446,8 @@ ClangTidyASTConsumerFactory::createASTConsumer(
if (!Context.getOptions().SystemHeaders.value_or(false))
FinderOptions.IgnoreSystemHeaders = true;
- std::unique_ptr<ast_matchers::MatchFinder> Finder(
- new ast_matchers::MatchFinder(std::move(FinderOptions)));
+ std::unique_ptr<ast_matchers::MatchFinder> Finder =
+ std::make_unique<ast_matchers::MatchFinder>(std::move(FinderOptions));
Preprocessor *PP = &Compiler.getPreprocessor();
Preprocessor *ModuleExpanderPP = PP;
diff --git a/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp b/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
index 519d90914580f..58db9c9ecb62a 100644
--- a/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
+++ b/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
@@ -142,7 +142,7 @@ void IdDependentBackwardBranchCheck::saveIdDepVarFromReference(
const DeclRefExpr *RefExpr, const MemberExpr *MemExpr,
const VarDecl *PotentialVar) {
// If the variable is already in IdDepVarsMap, ignore it.
- if (IdDepVarsMap.find(PotentialVar) != IdDepVarsMap.end())
+ if (IdDepVarsMap.contains(PotentialVar))
return;
std::string Message;
llvm::raw_string_ostream StringStream(Message);
@@ -151,13 +151,13 @@ void IdDependentBackwardBranchCheck::saveIdDepVarFromReference(
if (RefExpr) {
const auto *RefVar = dyn_cast<VarDecl>(RefExpr->getDecl());
// If variable isn't ID-dependent, but RefVar is.
- if (IdDepVarsMap.find(RefVar) != IdDepVarsMap.end())
+ if (IdDepVarsMap.contains(RefVar))
StringStream << "variable " << RefVar->getNameAsString();
}
if (MemExpr) {
const auto *RefField = dyn_cast<FieldDecl>(MemExpr->getMemberDecl());
// If variable isn't ID-dependent, but RefField is.
- if (IdDepFieldsMap.find(RefField) != IdDepFieldsMap.end())
+ if (IdDepFieldsMap.contains(RefField))
StringStream << "member " << RefField->getNameAsString();
}
IdDepVarsMap[PotentialVar] =
@@ -168,7 +168,7 @@ void IdDependentBackwardBranchCheck::saveIdDepFieldFromReference(
const DeclRefExpr *RefExpr, const MemberExpr *MemExpr,
const FieldDecl *PotentialField) {
// If the field is already in IdDepFieldsMap, ignore it.
- if (IdDepFieldsMap.find(PotentialField) != IdDepFieldsMap.end())
+ if (IdDepFieldsMap.contains(PotentialField))
return;
std::string Message;
llvm::raw_string_ostream StringStream(Message);
@@ -177,12 +177,12 @@ void IdDependentBackwardBranchCheck::saveIdDepFieldFromReference(
if (RefExpr) {
const auto *RefVar = dyn_cast<VarDecl>(RefExpr->getDecl());
// If field isn't ID-dependent, but RefVar is.
- if (IdDepVarsMap.find(RefVar) != IdDepVarsMap.end())
+ if (IdDepVarsMap.contains(RefVar))
StringStream << "variable " << RefVar->getNameAsString();
}
if (MemExpr) {
const auto *RefField = dyn_cast<FieldDecl>(MemExpr->getMemberDecl());
- if (IdDepFieldsMap.find(RefField) != IdDepFieldsMap.end())
+ if (IdDepFieldsMap.contains(RefField))
StringStream << "member " << RefField->getNameAsString();
}
IdDepFieldsMap[PotentialField] = IdDependencyRecord(
diff --git a/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
index 3c0ced96c05ac..4a57cf1ebfe12 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
@@ -12,7 +12,6 @@
#include "clang/Tooling/FixIt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
-#include <cctype>
using namespace clang::ast_matchers;
diff --git a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
index 52d11309c7842..793645dafda6d 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
@@ -11,7 +11,6 @@
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/Analysis/AnnexKDetection.h"
-#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/Preprocessor.h"
#include <cassert>
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
index b301a2bd848ac..4e887dec308ea 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
@@ -82,14 +82,12 @@ void MacroUsageCheck::registerPPCallbacks(const SourceManager &SM,
void MacroUsageCheck::warnMacro(const MacroDirective *MD, StringRef MacroName) {
const MacroInfo *Info = MD->getMacroInfo();
StringRef Message;
- bool MacroBodyExpressionLike;
+ bool MacroBodyExpressionLike = true;
if (Info->getNumTokens() > 0) {
const Token &Tok = Info->getReplacementToken(0);
// Now notice that keywords like `__attribute` cannot be a leading
// token in an expression.
MacroBodyExpressionLike = !Tok.is(tok::kw___attribute);
- } else {
- MacroBodyExpressionLike = true;
}
if (llvm::all_of(Info->tokens(), std::mem_fn(&Token::isLiteral)))
diff --git a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
index 592a4313dc197..93f13c8770481 100644
--- a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
+++ b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
@@ -12,8 +12,6 @@
#include "clang/Lex/Preprocessor.h"
#include "llvm/ADT/STLExtras.h"
-#include <map>
-
namespace clang::tidy::llvm_check {
namespace {
diff --git a/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp b/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
index 7e7222c19259e..6ed5755f32d26 100644
--- a/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
@@ -63,9 +63,8 @@ static bool containsEscapedCharacters(const MatchFinder::MatchResult &Result,
}
static bool containsDelimiter(StringRef Bytes, const std::string &Delimiter) {
- return Bytes.find(Delimiter.empty()
- ? std::string(R"lit()")lit")
- : (")" + Delimiter + R"(")")) != StringRef::npos;
+ return Bytes.contains(Delimiter.empty() ? std::string(R"lit()")lit")
+ : (")" + Delimiter + R"(")"));
}
RawStringLiteralCheck::RawStringLiteralCheck(StringRef Name,
diff --git a/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
index dd516f8e51264..bcdf6a5f2a082 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
@@ -139,7 +139,7 @@ void UseOverrideCheck::check(const MatchFinder::MatchResult &Result) {
// FIXME: Instead of re-lexing and looking for the 'virtual' token,
// store the location of 'virtual' in each FunctionDecl.
- SmallVector<Token, 16> Tokens = parseTokens(FileRange, Result);
+ const SmallVector<Token, 16> Tokens = parseTokens(FileRange, Result);
// Add 'override' on inline declarations that don't already have it.
if (!HasFinal && !HasOverride) {
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
index e92155c822dc7..51af54eaa3513 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
@@ -22,7 +22,7 @@ AST_MATCHER(StringLiteral, isOrdinary) { return Node.isOrdinary(); }
} // namespace
UseStdPrintCheck::UseStdPrintCheck(StringRef Name, ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context), PP(nullptr),
+ : ClangTidyCheck(Name, Context),
StrictMode(Options.get("StrictMode", false)),
PrintfLikeFunctions(utils::options::parseStringList(
Options.get("PrintfLikeFunctions", ""))),
diff --git a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
index 8ff94709d2529..a87fb6cff937a 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
@@ -14,7 +14,6 @@
#include "clang/Tooling/FixIt.h"
#include "llvm/ADT/StringExtras.h"
-#include <cctype>
#include <optional>
namespace clang::tidy {
diff --git a/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
index 3080120ded03f..6dfef3aa247ef 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
@@ -11,7 +11,6 @@
#include "../utils/Matchers.h"
#include "../utils/OptionsUtils.h"
#include "clang/Lex/Lexer.h"
-#include "llvm/ADT/StringRef.h"
using namespace clang::ast_matchers;
diff --git a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index 2d6253666354e..b057ec61e547a 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -204,7 +204,7 @@ static bool applyLevenshteinHeuristic(StringRef Arg, StringRef Param,
int8_t Threshold) {
const std::size_t LongerLength = std::max(Arg.size(), Param.size());
double Dist = Arg.edit_distance(Param);
- Dist = (1.0 - Dist / LongerLength) * 100.0;
+ Dist = (1.0 - (Dist / LongerLength)) * 100.0;
return Dist > Threshold;
}
diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
index f2115522ca40d..85e4cf6256dd3 100644
--- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
@@ -18,7 +18,6 @@
#include "../ClangTidy.h"
#include "../ClangTidyForceLinker.h" // IWYU pragma: keep
#include "../GlobList.h"
-#include "../utils/OptionsUtils.h"
#include "clang/Tooling/CommonOptionsParser.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/Support/CommandLine.h"
diff --git a/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp b/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
index 0ab517d5d9bd4..66a0e8d855b47 100644
--- a/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
+++ b/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
@@ -9,7 +9,6 @@
#include "IncludeSorter.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Lex/Lexer.h"
-#include <algorithm>
#include <optional>
namespace clang::tidy {
diff --git a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
index 004e61526b778..30fbfffd9981c 100644
--- a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
@@ -123,7 +123,7 @@ void UseRangesCheck::registerMatchers(MatchFinder *Finder) {
Replacers.push_back(Replacer);
assert(!Replacer->getReplacementSignatures().empty() &&
llvm::all_of(Replacer->getReplacementSignatures(),
- [](auto Index) { return !Index.empty(); }));
+ [](const Signature &Index) { return !Index.empty(); }));
std::vector<StringRef> Names(1, I->getKey());
for (auto J = std::next(I); J != E; ++J)
if (J->getValue() == Replacer)
More information about the cfe-commits
mailing list