[clang-tools-extra] [clang-tidy][NFC] Enable `readability-convert-member-functions-to-static` in the codebase (PR #156265)
Victor Chernyakin via cfe-commits
cfe-commits at lists.llvm.org
Sun Aug 31 17:23:33 PDT 2025
https://github.com/localspook created https://github.com/llvm/llvm-project/pull/156265
Closes #156158.
Ironically, one warning found in `ConvertMemberFunctionsToStatic.cpp`
>From c368372b8cc915a401a5dcbf6346e23a101f95e4 Mon Sep 17 00:00:00 2001
From: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: Sun, 31 Aug 2025 17:18:42 -0700
Subject: [PATCH] [clang-tidy][NFC] Enable
`readability-convert-member-functions-to-static` in the codebase
---
clang-tools-extra/clang-tidy/.clang-tidy | 1 -
.../clang-tidy/ClangTidyProfiling.h | 3 +-
.../ExpandModularHeadersPPCallbacks.cpp | 2 +-
.../altera/IdDependentBackwardBranchCheck.h | 2 +-
.../altera/KernelNameRestrictionCheck.cpp | 2 +-
.../clang-tidy/altera/UnrollLoopsCheck.h | 13 ++++---
.../clang-tidy/android/CloexecCheck.cpp | 2 +-
.../clang-tidy/android/CloexecCheck.h | 4 +-
.../bugprone/AssignmentInIfConditionCheck.cpp | 7 ++--
.../clang-tidy/bugprone/BranchCloneCheck.cpp | 16 +++++---
.../MacroRepeatedSideEffectsCheck.cpp | 5 +--
.../fuchsia/MultipleInheritanceCheck.cpp | 2 +-
.../fuchsia/MultipleInheritanceCheck.h | 2 +-
.../clang-tidy/misc/StaticAssertCheck.h | 4 +-
.../misc/ThrowByValueCatchByReferenceCheck.h | 4 +-
.../clang-tidy/misc/UnusedParametersCheck.cpp | 2 +-
.../modernize/DeprecatedHeadersCheck.cpp | 4 +-
.../clang-tidy/modernize/LoopConvertCheck.h | 22 +++++------
.../modernize/UseStdNumbersCheck.cpp | 7 ++--
.../modernize/UseTrailingReturnTypeCheck.cpp | 2 +-
.../UnnecessaryCopyInitialization.h | 3 +-
.../AvoidUnconditionalPreprocessorIfCheck.cpp | 2 +-
.../ConvertMemberFunctionsToStatic.cpp | 2 +-
.../readability/IdentifierNamingCheck.cpp | 20 +++++-----
.../readability/IdentifierNamingCheck.h | 38 +++++++++----------
.../readability/MagicNumbersCheck.cpp | 4 +-
.../readability/MagicNumbersCheck.h | 8 ++--
.../clang-tidy/utils/FormatStringConverter.h | 12 +++---
.../clang-tidy/utils/HeaderGuard.h | 2 +-
.../utils/RenamerClangTidyCheck.cpp | 4 +-
30 files changed, 105 insertions(+), 96 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/.clang-tidy b/clang-tools-extra/clang-tidy/.clang-tidy
index 22a4bd7d80618..9affdcf32c485 100644
--- a/clang-tools-extra/clang-tidy/.clang-tidy
+++ b/clang-tools-extra/clang-tidy/.clang-tidy
@@ -23,7 +23,6 @@ Checks: >
-readability-avoid-nested-conditional-operator,
-readability-braces-around-statements,
-readability-container-contains,
- -readability-convert-member-functions-to-static,
-readability-else-after-return,
-readability-function-cognitive-complexity,
-readability-identifier-length,
diff --git a/clang-tools-extra/clang-tidy/ClangTidyProfiling.h b/clang-tools-extra/clang-tidy/ClangTidyProfiling.h
index 76deede1716f4..8af414eb7e2b2 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyProfiling.h
+++ b/clang-tools-extra/clang-tidy/ClangTidyProfiling.h
@@ -36,7 +36,8 @@ class ClangTidyProfiling {
private:
std::optional<StorageParams> Storage;
- void printUserFriendlyTable(llvm::raw_ostream &OS, llvm::TimerGroup &TG);
+ static void printUserFriendlyTable(llvm::raw_ostream &OS,
+ llvm::TimerGroup &TG);
void printAsJSON(llvm::raw_ostream &OS, llvm::TimerGroup &TG);
void storeProfileData(llvm::TimerGroup &TG);
diff --git a/clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp b/clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
index 5e705f720c86e..06721dd4f900e 100644
--- a/clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
+++ b/clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
@@ -51,7 +51,7 @@ class ExpandModularHeadersPPCallbacks::FileRecorder {
/// Makes sure we have contents for all the files we were interested in.
/// Ideally `FilesToRecord` should be empty.
- void checkAllFilesRecorded() {
+ static void checkAllFilesRecorded() {
LLVM_DEBUG({
for (auto FileEntry : FilesToRecord)
llvm::dbgs() << "Did not record contents for input file: "
diff --git a/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h b/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
index cf964a2d5d6f6..07821c81b75f5 100644
--- a/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
+++ b/clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
@@ -65,7 +65,7 @@ class IdDependentBackwardBranchCheck : public ClangTidyCheck {
const MemberExpr *MemExpr,
const FieldDecl *PotentialField);
/// Returns the loop type.
- LoopType getLoopType(const Stmt *Loop);
+ static LoopType getLoopType(const Stmt *Loop);
public:
IdDependentBackwardBranchCheck(StringRef Name, ClangTidyContext *Context)
diff --git a/clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp b/clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
index a94d6c8d7c4e6..bf41563e6ab01 100644
--- a/clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
@@ -37,7 +37,7 @@ class KernelNameRestrictionPPCallbacks : public PPCallbacks {
private:
/// Returns true if the name of the file with path FileName is 'kernel.cl',
/// 'verilog.cl', or 'vhdl.cl'. The file name check is case insensitive.
- bool fileNameIsRestricted(StringRef FileName);
+ static bool fileNameIsRestricted(StringRef FileName);
struct IncludeDirective {
SourceLocation Loc; // Location in the include directive.
diff --git a/clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.h b/clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.h
index 0d8306e8437b7..ffc6808ab9daf 100644
--- a/clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.h
+++ b/clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.h
@@ -44,8 +44,8 @@ class UnrollLoopsCheck : public ClangTidyCheck {
/// Attempts to extract an integer value from either side of the
/// BinaryOperator. Returns true and saves the result to &value if successful,
/// returns false otherwise.
- bool extractValue(int &Value, const BinaryOperator *Op,
- const ASTContext *Context);
+ static bool extractValue(int &Value, const BinaryOperator *Op,
+ const ASTContext *Context);
/// Returns true if the given loop statement has a large number of iterations,
/// as determined by the integer value in the loop's condition expression,
/// if one exists.
@@ -59,13 +59,14 @@ class UnrollLoopsCheck : public ClangTidyCheck {
const ASTContext *Context) const;
/// Returns the type of unrolling, if any, associated with the given
/// statement.
- enum UnrollType unrollType(const Stmt *Statement, ASTContext *Context);
+ static enum UnrollType unrollType(const Stmt *Statement, ASTContext *Context);
/// Returns the condition expression within a given for statement. If there is
/// none, or if the Statement is not a loop, then returns a NULL pointer.
- const Expr *getCondExpr(const Stmt *Statement);
+ static const Expr *getCondExpr(const Stmt *Statement);
/// Returns True if the loop statement has known bounds.
- bool hasKnownBounds(const Stmt *Statement, const IntegerLiteral *CXXLoopBound,
- const ASTContext *Context);
+ static bool hasKnownBounds(const Stmt *Statement,
+ const IntegerLiteral *CXXLoopBound,
+ const ASTContext *Context);
void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
};
diff --git a/clang-tools-extra/clang-tidy/android/CloexecCheck.cpp b/clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
index f4d657a7f4e90..c9383cad51159 100644
--- a/clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
+++ b/clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
@@ -98,7 +98,7 @@ void CloexecCheck::insertStringFlag(
}
StringRef CloexecCheck::getSpellingArg(const MatchFinder::MatchResult &Result,
- int N) const {
+ int N) {
const auto *MatchedCall = Result.Nodes.getNodeAs<CallExpr>(FuncBindingStr);
const SourceManager &SM = *Result.SourceManager;
return Lexer::getSourceText(
diff --git a/clang-tools-extra/clang-tidy/android/CloexecCheck.h b/clang-tools-extra/clang-tidy/android/CloexecCheck.h
index edbff70fbd33e..44e846e68dc9c 100644
--- a/clang-tools-extra/clang-tidy/android/CloexecCheck.h
+++ b/clang-tools-extra/clang-tidy/android/CloexecCheck.h
@@ -85,8 +85,8 @@ class CloexecCheck : public ClangTidyCheck {
const char Mode, const int ArgPos);
/// Helper function to get the spelling of a particular argument.
- StringRef getSpellingArg(const ast_matchers::MatchFinder::MatchResult &Result,
- int N) const;
+ static StringRef
+ getSpellingArg(const ast_matchers::MatchFinder::MatchResult &Result, int N);
/// Binding name of the FuncDecl of a function call.
static const char *FuncDeclBindingStr;
diff --git a/clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
index e03cac6c5fd83..5d0f6b6fd8364 100644
--- a/clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
@@ -35,13 +35,14 @@ void AssignmentInIfConditionCheck::check(
: Check(Check) {}
// Dont traverse into any lambda expressions.
- bool TraverseLambdaExpr(LambdaExpr *, DataRecursionQueue * = nullptr) {
+ static bool TraverseLambdaExpr(LambdaExpr *,
+ DataRecursionQueue * = nullptr) {
return true;
}
// Dont traverse into any requires expressions.
- bool TraverseRequiresExpr(RequiresExpr *,
- DataRecursionQueue * = nullptr) {
+ static bool TraverseRequiresExpr(RequiresExpr *,
+ DataRecursionQueue * = nullptr) {
return true;
}
diff --git a/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
index a6cd68edda55e..2a142c9cdb27a 100644
--- a/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
@@ -50,28 +50,32 @@ static bool isFallthroughSwitchBranch(const SwitchBranch &Branch) {
struct SwitchCaseVisitor : RecursiveASTVisitor<SwitchCaseVisitor> {
using RecursiveASTVisitor<SwitchCaseVisitor>::DataRecursionQueue;
- bool TraverseLambdaExpr(LambdaExpr *, DataRecursionQueue * = nullptr) {
+ static bool TraverseLambdaExpr(LambdaExpr *,
+ DataRecursionQueue * = nullptr) {
return true; // Ignore lambdas
}
- bool TraverseDecl(Decl *) {
+ static bool TraverseDecl(Decl *) {
return true; // No need to check declarations
}
- bool TraverseSwitchStmt(SwitchStmt *, DataRecursionQueue * = nullptr) {
+ static bool TraverseSwitchStmt(SwitchStmt *,
+ DataRecursionQueue * = nullptr) {
return true; // Ignore sub-switches
}
// NOLINTNEXTLINE(readability-identifier-naming) - FIXME
- bool TraverseSwitchCase(SwitchCase *, DataRecursionQueue * = nullptr) {
+ static bool TraverseSwitchCase(SwitchCase *,
+ DataRecursionQueue * = nullptr) {
return true; // Ignore cases
}
- bool TraverseDefaultStmt(DefaultStmt *, DataRecursionQueue * = nullptr) {
+ static bool TraverseDefaultStmt(DefaultStmt *,
+ DataRecursionQueue * = nullptr) {
return true; // Ignore defaults
}
- bool TraverseAttributedStmt(AttributedStmt *S) {
+ static bool TraverseAttributedStmt(AttributedStmt *S) {
if (!S)
return true;
diff --git a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
index 879040177079a..74968d3a37e09 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
@@ -32,7 +32,7 @@ class MacroRepeatedPPCallbacks : public PPCallbacks {
unsigned countArgumentExpansions(const MacroInfo *MI,
const IdentifierInfo *Arg) const;
- bool hasSideEffects(const Token *ResultArgToks) const;
+ static bool hasSideEffects(const Token *ResultArgToks);
};
} // End of anonymous namespace.
@@ -159,8 +159,7 @@ unsigned MacroRepeatedPPCallbacks::countArgumentExpansions(
return Max;
}
-bool MacroRepeatedPPCallbacks::hasSideEffects(
- const Token *ResultArgToks) const {
+bool MacroRepeatedPPCallbacks::hasSideEffects(const Token *ResultArgToks) {
for (; ResultArgToks->isNot(tok::eof); ++ResultArgToks) {
if (ResultArgToks->isOneOf(tok::plusplus, tok::minusminus))
return true;
diff --git a/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp b/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
index 0302a5ad4957c..486aabb61b061 100644
--- a/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
@@ -47,7 +47,7 @@ bool MultipleInheritanceCheck::getInterfaceStatus(const CXXRecordDecl *Node,
}
bool MultipleInheritanceCheck::isCurrentClassInterface(
- const CXXRecordDecl *Node) const {
+ const CXXRecordDecl *Node) {
// Interfaces should have no fields.
if (!Node->field_empty())
return false;
diff --git a/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h b/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
index be5942c9520ae..ed97ab1261a17 100644
--- a/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
+++ b/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
@@ -32,7 +32,7 @@ class MultipleInheritanceCheck : public ClangTidyCheck {
private:
void addNodeToInterfaceMap(const CXXRecordDecl *Node, bool IsInterface);
bool getInterfaceStatus(const CXXRecordDecl *Node, bool &IsInterface) const;
- bool isCurrentClassInterface(const CXXRecordDecl *Node) const;
+ static bool isCurrentClassInterface(const CXXRecordDecl *Node);
bool isInterface(const CXXRecordDecl *Node);
// Contains the identity of each named CXXRecord as an interface. This is
diff --git a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.h b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.h
index 7b378e016408a..f1c2568567661 100644
--- a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.h
@@ -30,8 +30,8 @@ class StaticAssertCheck : public ClangTidyCheck {
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
private:
- SourceLocation getLastParenLoc(const ASTContext *ASTCtx,
- SourceLocation AssertLoc);
+ static SourceLocation getLastParenLoc(const ASTContext *ASTCtx,
+ SourceLocation AssertLoc);
};
} // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h b/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
index e3cc4c5e6cd41..cec2fbb798f2f 100644
--- a/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
@@ -38,8 +38,8 @@ class ThrowByValueCatchByReferenceCheck : public ClangTidyCheck {
void diagnoseThrowLocations(const CXXThrowExpr *ThrowExpr);
void diagnoseCatchLocations(const CXXCatchStmt *CatchStmt,
ASTContext &Context);
- bool isFunctionParameter(const DeclRefExpr *DeclRefExpr);
- bool isCatchVariable(const DeclRefExpr *DeclRefExpr);
+ static bool isFunctionParameter(const DeclRefExpr *DeclRefExpr);
+ static bool isCatchVariable(const DeclRefExpr *DeclRefExpr);
bool isFunctionOrCatchVar(const DeclRefExpr *DeclRefExpr);
const bool CheckAnonymousTemporaries;
const bool WarnOnLargeObject;
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
index 737551637ea9e..9721d79fec4d4 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
@@ -99,7 +99,7 @@ class UnusedParametersCheck::IndexerVisitor
return Index[Fn->getCanonicalDecl()].OtherRefs;
}
- bool shouldTraversePostOrder() const { return true; }
+ static bool shouldTraversePostOrder() { return true; }
bool WalkUpFromDeclRefExpr(DeclRefExpr *DeclRef) {
if (const auto *Fn = dyn_cast<FunctionDecl>(DeclRef->getDecl())) {
diff --git a/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp b/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
index 35a062382ea3c..bbd80d490d1a7 100644
--- a/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
@@ -53,8 +53,8 @@ class ExternCRefutationVisitor
ExternCRefutationVisitor(std::vector<IncludeMarker> &IncludesToBeProcessed,
SourceManager &SM)
: IncludesToBeProcessed(IncludesToBeProcessed), SM(SM) {}
- bool shouldWalkTypesOfTypeLocs() const { return false; }
- bool shouldVisitLambdaBody() const { return false; }
+ static bool shouldWalkTypesOfTypeLocs() { return false; }
+ static bool shouldVisitLambdaBody() { return false; }
bool VisitLinkageSpecDecl(LinkageSpecDecl *LinkSpecDecl) const {
if (LinkSpecDecl->getLanguage() != LinkageSpecLanguageIDs::C ||
diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h
index b4f729d3ac538..6ad406b49b758 100644
--- a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h
+++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h
@@ -38,7 +38,7 @@ class LoopConvertCheck : public ClangTidyCheck {
bool NeedsReverseCall = false;
};
- void getAliasRange(SourceManager &SM, SourceRange &DeclRange);
+ static void getAliasRange(SourceManager &SM, SourceRange &DeclRange);
void doConversion(ASTContext *Context, const VarDecl *IndexVar,
const ValueDecl *MaybeContainer, const UsageResult &Usages,
@@ -46,18 +46,18 @@ class LoopConvertCheck : public ClangTidyCheck {
bool AliasFromForInit, const ForStmt *Loop,
RangeDescriptor Descriptor);
- StringRef getContainerString(ASTContext *Context, const ForStmt *Loop,
- const Expr *ContainerExpr);
+ static StringRef getContainerString(ASTContext *Context, const ForStmt *Loop,
+ const Expr *ContainerExpr);
- void getArrayLoopQualifiers(ASTContext *Context,
- const ast_matchers::BoundNodes &Nodes,
- const Expr *ContainerExpr,
- const UsageResult &Usages,
- RangeDescriptor &Descriptor);
+ static void getArrayLoopQualifiers(ASTContext *Context,
+ const ast_matchers::BoundNodes &Nodes,
+ const Expr *ContainerExpr,
+ const UsageResult &Usages,
+ RangeDescriptor &Descriptor);
- void getIteratorLoopQualifiers(ASTContext *Context,
- const ast_matchers::BoundNodes &Nodes,
- RangeDescriptor &Descriptor);
+ static void getIteratorLoopQualifiers(ASTContext *Context,
+ const ast_matchers::BoundNodes &Nodes,
+ RangeDescriptor &Descriptor);
void determineRangeDescriptor(ASTContext *Context,
const ast_matchers::BoundNodes &Nodes,
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
index 934cc24817d73..32ac93c243fe5 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
@@ -80,12 +80,13 @@ AST_MATCHER_P(clang::Expr, anyOfExhaustive, std::vector<Matcher<clang::Stmt>>,
// the literal of every constant and for formulas' subexpressions that look at
// literals.
struct MatchBuilder {
- auto
- ignoreParenAndArithmeticCasting(const Matcher<clang::Expr> Matcher) const {
+ static auto
+ ignoreParenAndArithmeticCasting(const Matcher<clang::Expr> Matcher) {
return expr(hasType(qualType(isArithmetic())), ignoringParenCasts(Matcher));
}
- auto ignoreParenAndFloatingCasting(const Matcher<clang::Expr> Matcher) const {
+ static auto
+ ignoreParenAndFloatingCasting(const Matcher<clang::Expr> Matcher) {
return expr(hasType(qualType(isFloating())), ignoringParenCasts(Matcher));
}
diff --git a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
index 82f64096cbec1..c5f75b28aff44 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
@@ -51,7 +51,7 @@ struct UnqualNameVisitor : public RecursiveASTVisitor<UnqualNameVisitor> {
bool Collision = false;
- bool shouldWalkTypesOfTypeLocs() const { return false; }
+ static bool shouldWalkTypesOfTypeLocs() { return false; }
bool visitUnqualName(StringRef UnqualName) {
// Check for collisions with function arguments.
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
index 38f756f9b452f..79a33e129ee9c 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
@@ -56,7 +56,8 @@ class UnnecessaryCopyInitialization : public ClangTidyCheck {
const VarDecl *ObjectArg);
void handleCopyFromLocalVar(const CheckContext &Ctx, const VarDecl &OldVar);
- void maybeIssueFixes(const CheckContext &Ctx, DiagnosticBuilder &Diagnostic);
+ static void maybeIssueFixes(const CheckContext &Ctx,
+ DiagnosticBuilder &Diagnostic);
const std::vector<StringRef> AllowedTypes;
const std::vector<StringRef> ExcludedContainerTypes;
diff --git a/clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp b/clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
index ca5fc358ce290..e7a696d6c7f61 100644
--- a/clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
@@ -66,7 +66,7 @@ struct AvoidUnconditionalPreprocessorIfPPCallbacks : public PPCallbacks {
return true;
}
- bool isImmutableToken(const Token &Tok) {
+ static bool isImmutableToken(const Token &Tok) {
switch (Tok.getKind()) {
case tok::eod:
case tok::eof:
diff --git a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
index d6784d0e8fba8..544be3e641c6d 100644
--- a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
@@ -66,7 +66,7 @@ AST_MATCHER(CXXMethodDecl, usesThis) {
// If we enter a class declaration, don't traverse into it as any usages of
// `this` will correspond to the nested class.
- bool TraverseCXXRecordDecl(CXXRecordDecl *RD) { return true; }
+ static bool TraverseCXXRecordDecl(CXXRecordDecl *RD) { return true; }
} UsageOfThis;
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index fab2365f1147a..96715c0666830 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -417,7 +417,7 @@ IdentifierNamingCheck::IdentifierNamingCheck(StringRef Name,
IdentifierNamingCheck::~IdentifierNamingCheck() = default;
bool IdentifierNamingCheck::HungarianNotation::checkOptionValid(
- int StyleKindIndex) const {
+ int StyleKindIndex) {
if ((StyleKindIndex >= SK_EnumConstant) &&
(StyleKindIndex <= SK_ConstantParameter))
return true;
@@ -429,7 +429,7 @@ bool IdentifierNamingCheck::HungarianNotation::checkOptionValid(
}
bool IdentifierNamingCheck::HungarianNotation::isOptionEnabled(
- StringRef OptionKey, const llvm::StringMap<std::string> &StrMap) const {
+ StringRef OptionKey, const llvm::StringMap<std::string> &StrMap) {
if (OptionKey.empty())
return false;
@@ -442,7 +442,7 @@ bool IdentifierNamingCheck::HungarianNotation::isOptionEnabled(
void IdentifierNamingCheck::HungarianNotation::loadFileConfig(
const ClangTidyCheck::OptionsView &Options,
- IdentifierNamingCheck::HungarianNotationOption &HNOption) const {
+ IdentifierNamingCheck::HungarianNotationOption &HNOption) {
static constexpr StringRef HNOpts[] = {"TreatStructAsClass"};
static constexpr StringRef HNDerivedTypes[] = {"Array", "Pointer",
@@ -535,7 +535,7 @@ std::string IdentifierNamingCheck::HungarianNotation::getPrefix(
bool IdentifierNamingCheck::HungarianNotation::removeDuplicatedPrefix(
SmallVector<StringRef, 8> &Words,
- const IdentifierNamingCheck::HungarianNotationOption &HNOption) const {
+ const IdentifierNamingCheck::HungarianNotationOption &HNOption) {
if (Words.size() <= 1)
return true;
@@ -652,7 +652,7 @@ std::string IdentifierNamingCheck::HungarianNotation::getClassPrefix(
}
std::string IdentifierNamingCheck::HungarianNotation::getEnumPrefix(
- const EnumConstantDecl *ECD) const {
+ const EnumConstantDecl *ECD) {
const auto *ED = cast<EnumDecl>(ECD->getDeclContext());
std::string Name = ED->getName().str();
@@ -697,7 +697,7 @@ std::string IdentifierNamingCheck::HungarianNotation::getEnumPrefix(
}
size_t IdentifierNamingCheck::HungarianNotation::getAsteriskCount(
- const std::string &TypeName) const {
+ const std::string &TypeName) {
size_t Pos = TypeName.find('*');
size_t Count = 0;
for (; Pos < TypeName.length(); Pos++, Count++) {
@@ -719,7 +719,7 @@ size_t IdentifierNamingCheck::HungarianNotation::getAsteriskCount(
}
void IdentifierNamingCheck::HungarianNotation::loadDefaultConfig(
- IdentifierNamingCheck::HungarianNotationOption &HNOption) const {
+ IdentifierNamingCheck::HungarianNotationOption &HNOption) {
// Options
static constexpr std::pair<StringRef, StringRef> General[] = {
@@ -1024,7 +1024,7 @@ std::string IdentifierNamingCheck::fixupWithCase(
}
bool IdentifierNamingCheck::isParamInMainLikeFunction(
- const ParmVarDecl &ParmDecl, bool IncludeMainLike) const {
+ const ParmVarDecl &ParmDecl, bool IncludeMainLike) {
const auto *FDecl =
dyn_cast_or_null<FunctionDecl>(ParmDecl.getParentFunctionOrMethod());
if (!FDecl)
@@ -1472,7 +1472,7 @@ StyleKind IdentifierNamingCheck::findStyleKindForAnonField(
StyleKind IdentifierNamingCheck::findStyleKindForField(
const FieldDecl *Field, QualType Type,
- ArrayRef<std::optional<NamingStyle>> NamingStyles) const {
+ ArrayRef<std::optional<NamingStyle>> NamingStyles) {
if (!Type.isNull() && Type.isConstQualified()) {
if (NamingStyles[SK_ConstantMember])
return SK_ConstantMember;
@@ -1498,7 +1498,7 @@ StyleKind IdentifierNamingCheck::findStyleKindForField(
StyleKind IdentifierNamingCheck::findStyleKindForVar(
const VarDecl *Var, QualType Type,
- ArrayRef<std::optional<NamingStyle>> NamingStyles) const {
+ ArrayRef<std::optional<NamingStyle>> NamingStyles) {
if (Var->isConstexpr() && NamingStyles[SK_ConstexprVariable])
return SK_ConstexprVariable;
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
index 646ec0eac8dd1..436bb96cbc501 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
@@ -90,23 +90,23 @@ class IdentifierNamingCheck final : public RenamerClangTidyCheck {
struct HungarianNotation {
public:
- bool checkOptionValid(int StyleKindIndex) const;
- bool isOptionEnabled(StringRef OptionKey,
- const llvm::StringMap<std::string> &StrMap) const;
+ static bool checkOptionValid(int StyleKindIndex);
+ static bool isOptionEnabled(StringRef OptionKey,
+ const llvm::StringMap<std::string> &StrMap);
- size_t getAsteriskCount(const std::string &TypeName) const;
+ static size_t getAsteriskCount(const std::string &TypeName);
size_t getAsteriskCount(const std::string &TypeName,
const NamedDecl *ND) const;
- void loadDefaultConfig(
- IdentifierNamingCheck::HungarianNotationOption &HNOption) const;
- void loadFileConfig(
- const ClangTidyCheck::OptionsView &Options,
- IdentifierNamingCheck::HungarianNotationOption &HNOption) const;
+ static void
+ loadDefaultConfig(IdentifierNamingCheck::HungarianNotationOption &HNOption);
+ static void
+ loadFileConfig(const ClangTidyCheck::OptionsView &Options,
+ IdentifierNamingCheck::HungarianNotationOption &HNOption);
- bool removeDuplicatedPrefix(
+ static bool removeDuplicatedPrefix(
SmallVector<StringRef, 8> &Words,
- const IdentifierNamingCheck::HungarianNotationOption &HNOption) const;
+ const IdentifierNamingCheck::HungarianNotationOption &HNOption);
std::string getPrefix(
const Decl *D,
@@ -120,7 +120,7 @@ class IdentifierNamingCheck final : public RenamerClangTidyCheck {
const CXXRecordDecl *CRD,
const IdentifierNamingCheck::HungarianNotationOption &HNOption) const;
- std::string getEnumPrefix(const EnumConstantDecl *ECD) const;
+ static std::string getEnumPrefix(const EnumConstantDecl *ECD);
std::string getDeclTypeName(const NamedDecl *ND) const;
};
@@ -191,8 +191,8 @@ class IdentifierNamingCheck final : public RenamerClangTidyCheck {
const IdentifierNamingCheck::HungarianNotationOption &HNOption,
StyleKind SK, const SourceManager &SM, bool IgnoreFailedSplit) const;
- bool isParamInMainLikeFunction(const ParmVarDecl &ParmDecl,
- bool IncludeMainLike) const;
+ static bool isParamInMainLikeFunction(const ParmVarDecl &ParmDecl,
+ bool IncludeMainLike);
private:
std::optional<FailureInfo>
@@ -212,13 +212,13 @@ class IdentifierNamingCheck final : public RenamerClangTidyCheck {
const FieldDecl *AnonField,
ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
- StyleKind findStyleKindForField(
- const FieldDecl *Field, QualType Type,
- ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
+ static StyleKind
+ findStyleKindForField(const FieldDecl *Field, QualType Type,
+ ArrayRef<std::optional<NamingStyle>> NamingStyles);
- StyleKind
+ static StyleKind
findStyleKindForVar(const VarDecl *Var, QualType Type,
- ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
+ ArrayRef<std::optional<NamingStyle>> NamingStyles);
/// Stores the style options as a vector, indexed by the specified \ref
/// StyleKind, for a given directory.
diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
index 6f91527c420e8..02a22a21deb48 100644
--- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
@@ -223,7 +223,7 @@ bool MagicNumbersCheck::isIgnoredValue(const FloatingLiteral *Literal) const {
}
bool MagicNumbersCheck::isSyntheticValue(const SourceManager *SourceManager,
- const IntegerLiteral *Literal) const {
+ const IntegerLiteral *Literal) {
const std::pair<FileID, unsigned> FileOffset =
SourceManager->getDecomposedLoc(Literal->getLocation());
if (FileOffset.first.isInvalid())
@@ -247,7 +247,7 @@ bool MagicNumbersCheck::isBitFieldWidth(
bool MagicNumbersCheck::isUserDefinedLiteral(
const clang::ast_matchers::MatchFinder::MatchResult &Result,
- const clang::Expr &Literal) const {
+ const clang::Expr &Literal) {
DynTypedNodeList Parents = Result.Context->getParents(Literal);
if (Parents.empty())
return false;
diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
index 70a17889d244e..f35761e6f66cc 100644
--- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
+++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
@@ -38,8 +38,8 @@ class MagicNumbersCheck : public ClangTidyCheck {
const FloatingLiteral *) const {
return false;
}
- bool isSyntheticValue(const clang::SourceManager *SourceManager,
- const IntegerLiteral *Literal) const;
+ static bool isSyntheticValue(const clang::SourceManager *SourceManager,
+ const IntegerLiteral *Literal);
bool isBitFieldWidth(const clang::ast_matchers::MatchFinder::MatchResult &,
const FloatingLiteral &) const {
@@ -50,9 +50,9 @@ class MagicNumbersCheck : public ClangTidyCheck {
isBitFieldWidth(const clang::ast_matchers::MatchFinder::MatchResult &Result,
const IntegerLiteral &Literal) const;
- bool isUserDefinedLiteral(
+ static bool isUserDefinedLiteral(
const clang::ast_matchers::MatchFinder::MatchResult &Result,
- const clang::Expr &Literal) const;
+ const clang::Expr &Literal);
template <typename L>
void checkBoundMatch(const ast_matchers::MatchFinder::MatchResult &Result,
diff --git a/clang-tools-extra/clang-tidy/utils/FormatStringConverter.h b/clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
index 15d1f597fe440..ae27ff80a9ef6 100644
--- a/clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
+++ b/clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
@@ -89,11 +89,13 @@ class FormatStringConverter
// puts the width and preicision first.
std::vector<std::tuple<unsigned, unsigned>> ArgRotates;
- void emitAlignment(const PrintfSpecifier &FS, std::string &FormatSpec);
- void emitSign(const PrintfSpecifier &FS, std::string &FormatSpec);
- void emitAlternativeForm(const PrintfSpecifier &FS, std::string &FormatSpec);
- void emitFieldWidth(const PrintfSpecifier &FS, std::string &FormatSpec);
- void emitPrecision(const PrintfSpecifier &FS, std::string &FormatSpec);
+ static void emitAlignment(const PrintfSpecifier &FS, std::string &FormatSpec);
+ static void emitSign(const PrintfSpecifier &FS, std::string &FormatSpec);
+ static void emitAlternativeForm(const PrintfSpecifier &FS,
+ std::string &FormatSpec);
+ static void emitFieldWidth(const PrintfSpecifier &FS,
+ std::string &FormatSpec);
+ static void emitPrecision(const PrintfSpecifier &FS, std::string &FormatSpec);
void emitStringArgument(unsigned ArgIndex, const Expr *Arg);
bool emitIntegerArgument(ConversionSpecifier::Kind ArgKind, const Expr *Arg,
unsigned ArgIndex, std::string &FormatSpec);
diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h
index eff75d6ff26a2..8dd2ad6075ba3 100644
--- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h
+++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h
@@ -25,7 +25,7 @@ class HeaderGuardCheck : public ClangTidyCheck {
Preprocessor *ModuleExpanderPP) override;
/// Ensure that the provided header guard is a non-reserved identifier.
- std::string sanitizeHeaderGuard(StringRef Guard);
+ static std::string sanitizeHeaderGuard(StringRef Guard);
/// Returns ``true`` if the check should suggest inserting a trailing comment
/// on the ``#endif`` of the header guard. It will use the same name as
diff --git a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
index 90539eaabbe03..a065da283a8b6 100644
--- a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
@@ -219,9 +219,9 @@ class RenamerClangTidyVisitor
: Check(Check), SM(SM),
AggressiveDependentMemberLookup(AggressiveDependentMemberLookup) {}
- bool shouldVisitTemplateInstantiations() const { return true; }
+ static bool shouldVisitTemplateInstantiations() { return true; }
- bool shouldVisitImplicitCode() const { return false; }
+ static bool shouldVisitImplicitCode() { return false; }
bool VisitCXXConstructorDecl(CXXConstructorDecl *Decl) {
if (Decl->isImplicit())
More information about the cfe-commits
mailing list