[clang-tools-extra] [clang-tidy][NFC] add '.clang-tidy' config for clang-tidy project (PR #147793)
Baranov Victor via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 9 12:48:57 PDT 2025
https://github.com/vbvictor updated https://github.com/llvm/llvm-project/pull/147793
>From a0fd1b04817c03685bacd70f763ef0f62dd4e425 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Wed, 9 Jul 2025 21:00:30 +0300
Subject: [PATCH 1/2] [clang-tidy][NFC] add '.clang-tidy' config for clang-tidy
project
---
clang-tools-extra/clang-tidy/.clang-tidy | 11 +++++++++++
.../bugprone/CrtpConstructorAccessibilityCheck.cpp | 7 ++-----
.../clang-tidy/bugprone/SizeofExpressionCheck.cpp | 10 +++++-----
3 files changed, 18 insertions(+), 10 deletions(-)
create mode 100644 clang-tools-extra/clang-tidy/.clang-tidy
diff --git a/clang-tools-extra/clang-tidy/.clang-tidy b/clang-tools-extra/clang-tidy/.clang-tidy
new file mode 100644
index 0000000000000..65af940909efe
--- /dev/null
+++ b/clang-tools-extra/clang-tidy/.clang-tidy
@@ -0,0 +1,11 @@
+InheritParentConfig: true
+Checks: [
+ bugprone-*,
+ -bugprone-assignment-in-if-condition,
+ -bugprone-branch-clone,
+ -bugprone-easily-swappable-parameters,
+ -bugprone-narrowing-conversions,
+ -bugprone-suspicious-stringview-data-usage,
+ -bugprone-unchecked-optional-access,
+ -bugprone-unused-return-value
+]
diff --git a/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
index 28e8fe002d575..6565fa3f7c85b 100644
--- a/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
@@ -129,13 +129,10 @@ void CrtpConstructorAccessibilityCheck::check(
<< HintFriend;
}
- auto WithFriendHintIfNeeded =
- [&](const DiagnosticBuilder &Diag,
- bool NeedsFriend) -> const DiagnosticBuilder & {
+ auto WithFriendHintIfNeeded = [&](const DiagnosticBuilder &Diag,
+ bool NeedsFriend) {
if (NeedsFriend)
Diag << HintFriend;
-
- return Diag;
};
if (!CRTPDeclaration->hasUserDeclaredConstructor()) {
diff --git a/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
index 88d2f2c388d07..88e048e65d4e8 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
@@ -370,16 +370,16 @@ void SizeofExpressionCheck::check(const MatchFinder::MatchResult &Result) {
<< E->getSourceRange();
} else if (Result.Nodes.getNodeAs<Stmt>("loop-expr")) {
auto *SizeofArgTy = Result.Nodes.getNodeAs<Type>("sizeof-arg-type");
- if (const auto member = dyn_cast<MemberPointerType>(SizeofArgTy))
- SizeofArgTy = member->getPointeeType().getTypePtr();
+ if (const auto *Member = dyn_cast<MemberPointerType>(SizeofArgTy))
+ SizeofArgTy = Member->getPointeeType().getTypePtr();
const auto *SzOfExpr = Result.Nodes.getNodeAs<Expr>("sizeof-expr");
- if (const auto type = dyn_cast<ArrayType>(SizeofArgTy)) {
+ if (const auto *Type = dyn_cast<ArrayType>(SizeofArgTy)) {
// check if the array element size is larger than one. If true,
// the size of the array is higher than the number of elements
- CharUnits sSize = Ctx.getTypeSizeInChars(type->getElementType());
- if (!sSize.isOne()) {
+ CharUnits SSize = Ctx.getTypeSizeInChars(Type->getElementType());
+ if (!SSize.isOne()) {
diag(SzOfExpr->getBeginLoc(),
"suspicious usage of 'sizeof' in the loop")
<< SzOfExpr->getSourceRange();
>From 7dbf98fc70e33db849e424af7b233e43f5841f0b Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Wed, 9 Jul 2025 22:42:47 +0300
Subject: [PATCH 2/2] [clang-tidy][NFC] enabled 'modernize', 'readability',
'performance' categories in .clang-tidy
---
clang-tools-extra/clang-tidy/.clang-tidy | 33 ++++++++++++++++++-
clang-tools-extra/clang-tidy/ClangTidy.cpp | 2 +-
.../clang-tidy/boost/UseRangesCheck.h | 2 +-
.../bugprone/ArgumentCommentCheck.cpp | 2 +-
.../clang-tidy/bugprone/InfiniteLoopCheck.cpp | 6 ++--
.../MacroRepeatedSideEffectsCheck.cpp | 3 +-
.../bugprone/UnsafeFunctionsCheck.cpp | 2 +-
.../MissingStdForwardCheck.cpp | 2 +-
.../misc/RedundantExpressionCheck.cpp | 10 +++---
.../modernize/UseConstraintsCheck.cpp | 4 +--
.../clang-tidy/modernize/UseRangesCheck.h | 2 +-
.../modernize/UseScopedLockCheck.cpp | 7 ++--
.../modernize/UseStdFormatCheck.cpp | 2 +-
.../objc/PropertyDeclarationCheck.cpp | 2 +-
.../ConvertMemberFunctionsToStatic.cpp | 2 +-
.../MakeMemberFunctionConstCheck.cpp | 2 +-
.../SuspiciousCallArgumentCheck.cpp | 4 +--
.../utils/DesignatedInitializers.cpp | 2 +-
.../clang-tidy/utils/HeaderGuard.cpp | 4 ++-
.../utils/RenamerClangTidyCheck.cpp | 4 +--
.../clang-tidy/utils/UseRangesCheck.cpp | 4 +--
.../clang-tidy/utils/UseRangesCheck.h | 2 +-
22 files changed, 67 insertions(+), 36 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/.clang-tidy b/clang-tools-extra/clang-tidy/.clang-tidy
index 65af940909efe..15375ec2d3cb8 100644
--- a/clang-tools-extra/clang-tidy/.clang-tidy
+++ b/clang-tools-extra/clang-tidy/.clang-tidy
@@ -7,5 +7,36 @@ Checks: [
-bugprone-narrowing-conversions,
-bugprone-suspicious-stringview-data-usage,
-bugprone-unchecked-optional-access,
- -bugprone-unused-return-value
+ -bugprone-unused-return-value,
+ modernize-*,
+ -modernize-avoid-c-arrays,
+ -modernize-pass-by-value,
+ -modernize-use-auto,
+ -modernize-use-nodiscard,
+ -modernize-use-trailing-return-type,
+ performance-*,
+ -performance-enum-size,
+ -performance-move-const-arg,
+ -performance-no-int-to-ptr,
+ -performance-type-promotion-in-math-fn,
+ -performance-unnecessary-value-param,
+ readability-*,
+ -readability-avoid-nested-conditional-operator,
+ -readability-avoid-return-with-void-value,
+ -readability-braces-around-statements,
+ -readability-container-contains,
+ -readability-convert-member-functions-to-static,
+ -readability-else-after-return, # enabled via 'llvm-else-after-return'
+ -readability-function-cognitive-complexity,
+ -readability-identifier-length,
+ -readability-implicit-bool-conversion,
+ -readability-isolate-declaration,
+ -readability-magic-numbers,
+ -readability-named-parameter,
+ -readability-qualified-auto, # enabled via 'llvm-qualified-auto'
+ -readability-redundant-declaration,
+ -readability-simplify-boolean-expr,
+ -readability-static-definition-in-anonymous-namespace,
+ -readability-suspicious-call-argument,
+ -readability-use-anyofallof
]
diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp
index 808515c463b91..e6fee125b7332 100644
--- a/clang-tools-extra/clang-tidy/ClangTidy.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp
@@ -669,7 +669,7 @@ getAllChecksAndOptions(bool AllowEnablingAnalyzerAlphaCheckers) {
Buffer.append(AnalyzerCheck);
Result.Checks.insert(Buffer);
}
- for (std::string OptionName : {
+ for (const std::string &OptionName : {
#define GET_CHECKER_OPTIONS
#define CHECKER_OPTION(TYPE, CHECKER, OPTION_NAME, DESCRIPTION, DEFAULT, \
RELEASE, HIDDEN) \
diff --git a/clang-tools-extra/clang-tidy/boost/UseRangesCheck.h b/clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
index b081c4c479b92..d91e6393a0e85 100644
--- a/clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
+++ b/clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
@@ -22,7 +22,7 @@ class UseRangesCheck : public utils::UseRangesCheck {
public:
UseRangesCheck(StringRef Name, ClangTidyContext *Context);
- void storeOptions(ClangTidyOptions::OptionMap &Options) override;
+ void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
ReplacerMap getReplacerMap() const override;
diff --git a/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
index 8cdd5d0a56467..b843e317c471d 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
@@ -145,7 +145,7 @@ static bool isLikelyTypo(llvm::ArrayRef<ParmVarDecl *> Params,
std::string ArgNameLowerStr = ArgName.lower();
StringRef ArgNameLower = ArgNameLowerStr;
// The threshold is arbitrary.
- unsigned UpperBound = (ArgName.size() + 2) / 3 + 1;
+ unsigned UpperBound = ((ArgName.size() + 2) / 3) + 1;
unsigned ThisED = ArgNameLower.edit_distance(
Params[ArgIndex]->getIdentifier()->getName().lower(),
/*AllowReplacements=*/true, UpperBound);
diff --git a/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
index 07116a7ff15f5..3c3024d538785 100644
--- a/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
@@ -18,8 +18,7 @@ using namespace clang::ast_matchers;
using clang::ast_matchers::internal::Matcher;
using clang::tidy::utils::hasPtrOrReferenceInFunc;
-namespace clang {
-namespace tidy::bugprone {
+namespace clang::tidy::bugprone {
namespace {
/// matches a Decl if it has a "no return" attribute of any kind
@@ -327,5 +326,4 @@ void InfiniteLoopCheck::check(const MatchFinder::MatchResult &Result) {
}
}
-} // namespace tidy::bugprone
-} // namespace clang
+} // namespace clang::tidy::bugprone
diff --git a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
index 01276af6c7d8f..879040177079a 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
@@ -153,8 +153,7 @@ unsigned MacroRepeatedPPCallbacks::countArgumentExpansions(
// Count argument.
if (TII == Arg) {
Current++;
- if (Current > Max)
- Max = Current;
+ Max = std::max(Max, Current);
}
}
return Max;
diff --git a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
index a45949314a4ca..0f2c18ae02663 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
@@ -248,7 +248,7 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder *Finder) {
FunctionNames.reserve(CustomFunctions.size());
for (const auto &Entry : CustomFunctions)
- FunctionNames.push_back(Entry.Name);
+ FunctionNames.emplace_back(Entry.Name);
auto CustomFunctionsMatcher = matchers::matchesAnyListedName(FunctionNames);
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
index 268b51f76a2c3..82fd3316b942a 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
@@ -81,7 +81,7 @@ AST_MATCHER_P(LambdaExpr, hasCaptureDefaultKind, LambdaCaptureDefault, Kind) {
AST_MATCHER(VarDecl, hasIdentifier) {
const IdentifierInfo *ID = Node.getIdentifier();
- return ID != NULL && !ID->isPlaceholder();
+ return ID != nullptr && !ID->isPlaceholder();
}
} // namespace
diff --git a/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp b/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
index cf81da816964f..d3eeb23ce4c91 100644
--- a/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
@@ -909,10 +909,12 @@ static bool areExprsSameMacroOrLiteral(const BinaryOperator *BinOp,
// Left is macro so right macro too
if (Rsr.getBegin().isMacroID()) {
// Both sides are macros so they are same macro or literal
- const llvm::StringRef L = Lexer::getSourceText(
- CharSourceRange::getTokenRange(Lsr), SM, Context->getLangOpts(), 0);
- const llvm::StringRef R = Lexer::getSourceText(
- CharSourceRange::getTokenRange(Rsr), SM, Context->getLangOpts(), 0);
+ const llvm::StringRef L =
+ Lexer::getSourceText(CharSourceRange::getTokenRange(Lsr), SM,
+ Context->getLangOpts(), nullptr);
+ const llvm::StringRef R =
+ Lexer::getSourceText(CharSourceRange::getTokenRange(Rsr), SM,
+ Context->getLangOpts(), nullptr);
return areStringsSameIgnoreSpaces(L, R);
}
// Left is macro but right is not so they are not same macro or literal
diff --git a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
index 9e4d184c4b6e1..e9b96c4016af6 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
@@ -161,7 +161,7 @@ matchTrailingTemplateParam(const FunctionTemplateDecl *FunctionTemplate) {
const TemplateParameterList *TemplateParams =
FunctionTemplate->getTemplateParameters();
- if (TemplateParams->size() == 0)
+ if (TemplateParams->empty())
return {};
const NamedDecl *LastParam =
@@ -419,7 +419,7 @@ handleTrailingTemplateType(const FunctionTemplateDecl *FunctionTemplate,
SourceRange RemovalRange;
const TemplateParameterList *TemplateParams =
FunctionTemplate->getTemplateParameters();
- if (!TemplateParams || TemplateParams->size() == 0)
+ if (!TemplateParams || TemplateParams->empty())
return {};
if (TemplateParams->size() == 1) {
diff --git a/clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h b/clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
index 2f4cace653cf1..51327dab53e3d 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
+++ b/clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
@@ -22,7 +22,7 @@ class UseRangesCheck : public utils::UseRangesCheck {
public:
UseRangesCheck(StringRef CheckName, ClangTidyContext *Context);
- void storeOptions(ClangTidyOptions::OptionMap &Options) override;
+ void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
ReplacerMap getReplacerMap() const override;
diff --git a/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
index 9c2fc9e06fb45..52e9a9f8d49e0 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
@@ -104,8 +104,7 @@ getTemplateLockGuardTypeLoc(const TypeSourceInfo *SourceInfo) {
static SourceRange getLockGuardRange(const TypeSourceInfo *SourceInfo) {
const TypeLoc LockGuardTypeLoc = SourceInfo->getTypeLoc();
- return SourceRange(LockGuardTypeLoc.getBeginLoc(),
- LockGuardTypeLoc.getEndLoc());
+ return {LockGuardTypeLoc.getBeginLoc(), LockGuardTypeLoc.getEndLoc()};
}
// Find the exact source range of the 'lock_guard' name token
@@ -115,8 +114,8 @@ static SourceRange getLockGuardNameRange(const TypeSourceInfo *SourceInfo) {
if (!TemplateLoc)
return {};
- return SourceRange(TemplateLoc.getTemplateNameLoc(),
- TemplateLoc.getLAngleLoc().getLocWithOffset(-1));
+ return {TemplateLoc.getTemplateNameLoc(),
+ TemplateLoc.getLAngleLoc().getLocWithOffset(-1)};
}
const static StringRef UseScopedLockMessage =
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
index cf2fa1955ca1b..5cabc6df21da9 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
@@ -33,7 +33,7 @@ UseStdFormatCheck::UseStdFormatCheck(StringRef Name, ClangTidyContext *Context)
areDiagsSelfContained()),
MaybeHeaderToInclude(Options.get("FormatHeader")) {
if (StrFormatLikeFunctions.empty())
- StrFormatLikeFunctions.push_back("absl::StrFormat");
+ StrFormatLikeFunctions.emplace_back("absl::StrFormat");
if (!MaybeHeaderToInclude && ReplacementFormatFunction == "std::format")
MaybeHeaderToInclude = "<format>";
diff --git a/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
index 3b847f51d2173..ffbdb025848d7 100644
--- a/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
@@ -102,7 +102,7 @@ void PropertyDeclarationCheck::registerMatchers(MatchFinder *Finder) {
void PropertyDeclarationCheck::check(const MatchFinder::MatchResult &Result) {
const auto *MatchedDecl =
Result.Nodes.getNodeAs<ObjCPropertyDecl>("property");
- assert(MatchedDecl->getName().size() > 0);
+ assert(!MatchedDecl->getName().empty());
auto *DeclContext = MatchedDecl->getDeclContext();
auto *CategoryDecl = llvm::dyn_cast<ObjCCategoryDecl>(DeclContext);
diff --git a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
index 30df40bda57d8..d6784d0e8fba8 100644
--- a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
@@ -71,7 +71,7 @@ AST_MATCHER(CXXMethodDecl, usesThis) {
} UsageOfThis;
// TraverseStmt does not modify its argument.
- UsageOfThis.TraverseStmt(const_cast<Stmt *>(Node.getBody()));
+ UsageOfThis.TraverseStmt(Node.getBody());
return UsageOfThis.Used;
}
diff --git a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
index 85852c2c829a1..aace96f54c61c 100644
--- a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
@@ -211,7 +211,7 @@ AST_MATCHER(CXXMethodDecl, usesThisAsConst) {
FindUsageOfThis UsageOfThis(Finder->getASTContext());
// TraverseStmt does not modify its argument.
- UsageOfThis.TraverseStmt(const_cast<Stmt *>(Node.getBody()));
+ UsageOfThis.TraverseStmt(Node.getBody());
return UsageOfThis.Usage == Const;
}
diff --git a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index 9db059c26d6f2..5a04029e4a6fa 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -217,7 +217,7 @@ static bool applyJaroWinklerHeuristic(StringRef Arg, StringRef Param,
SmallVector<int, SmallVectorSize> ArgFlags(ArgLen);
SmallVector<int, SmallVectorSize> ParamFlags(ParamLen);
std::ptrdiff_t Range =
- std::max(std::ptrdiff_t{0}, std::max(ArgLen, ParamLen) / 2 - 1);
+ std::max(std::ptrdiff_t{0}, (std::max(ArgLen, ParamLen) / 2) - 1);
// Calculate matching characters.
for (std::ptrdiff_t I = 0; I < ParamLen; ++I)
@@ -260,7 +260,7 @@ static bool applyJaroWinklerHeuristic(StringRef Arg, StringRef Param,
// Calculate common string prefix up to 4 chars.
L = 0;
for (std::ptrdiff_t I = 0;
- I < std::min(std::min(ArgLen, ParamLen), std::ptrdiff_t{4}); ++I)
+ I < std::min({ArgLen, ParamLen, std::ptrdiff_t{4}}); ++I)
if (tolower(Arg[I]) == tolower(Param[I]))
++L;
diff --git a/clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp b/clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
index 6faeb7a0b76e1..6914ec2beb2fb 100644
--- a/clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
+++ b/clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
@@ -57,7 +57,7 @@ class AggregateDesignatorNames {
}
}
// Returns false if the type was not an aggregate.
- operator bool() { return Valid; }
+ operator bool() const { return Valid; }
// Advance to the next element in the aggregate.
void next() {
if (IsArray)
diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
index 5b38ace13e2f2..53ce28e019f75 100644
--- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
+++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
@@ -239,7 +239,9 @@ class HeaderGuardPPCallbacks : public PPCallbacks {
Check->diag(StartLoc, "header is missing header guard")
<< FixItHint::CreateInsertion(
- StartLoc, "#ifndef " + CPPVar + "\n#define " + CPPVar + "\n\n")
+ StartLoc,
+ (Twine("#ifndef ") + CPPVar + "\n#define " + CPPVar + "\n\n")
+ .str())
<< FixItHint::CreateInsertion(
SM.getLocForEndOfFile(FID),
Check->shouldSuggestEndifComment(FileName)
diff --git a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
index 9104723c7f1c0..6cf38ddf3d914 100644
--- a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
@@ -30,11 +30,11 @@ template <>
struct DenseMapInfo<clang::tidy::RenamerClangTidyCheck::NamingCheckId> {
using NamingCheckId = clang::tidy::RenamerClangTidyCheck::NamingCheckId;
- static inline NamingCheckId getEmptyKey() {
+ static NamingCheckId getEmptyKey() {
return {DenseMapInfo<clang::SourceLocation>::getEmptyKey(), "EMPTY"};
}
- static inline NamingCheckId getTombstoneKey() {
+ static NamingCheckId getTombstoneKey() {
return {DenseMapInfo<clang::SourceLocation>::getTombstoneKey(),
"TOMBSTONE"};
}
diff --git a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
index 16ee7ee79d75e..e421c9f11b24b 100644
--- a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
@@ -43,7 +43,7 @@ static std::string getFullPrefix(ArrayRef<UseRangesCheck::Indexes> Signature) {
llvm::raw_string_ostream OS(Output);
for (const UseRangesCheck::Indexes &Item : Signature)
OS << Item.BeginArg << ":" << Item.EndArg << ":"
- << (Item.ReplaceArg == Item.First ? '0' : '1');
+ << (Item.ReplaceArg == UseRangesCheck::Indexes::First ? '0' : '1');
return Output;
}
@@ -194,7 +194,7 @@ static void removeFunctionArgs(DiagnosticBuilder &Diag, const CallExpr &Call,
void UseRangesCheck::check(const MatchFinder::MatchResult &Result) {
Replacer *Replacer = nullptr;
const FunctionDecl *Function = nullptr;
- for (auto [Node, Value] : Result.Nodes.getMap()) {
+ for (const auto &[Node, Value] : Result.Nodes.getMap()) {
StringRef NodeStr(Node);
if (!NodeStr.consume_front(FuncDecl))
continue;
diff --git a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.h b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
index 3a454bcf0cf07..a5ba6802dd89e 100644
--- a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
+++ b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
@@ -81,7 +81,7 @@ class UseRangesCheck : public ClangTidyCheck {
void registerMatchers(ast_matchers::MatchFinder *Finder) final;
void check(const ast_matchers::MatchFinder::MatchResult &Result) final;
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override;
- void storeOptions(ClangTidyOptions::OptionMap &Options) override;
+ void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
std::optional<TraversalKind> getCheckTraversalKind() const override;
private:
More information about the cfe-commits
mailing list