diff --git a/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp b/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp index 13d566087688f..d9f6551739d9e 100644 --- a/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp @@ -20,8 +20,10 @@ namespace { AST_MATCHER(StringLiteral, lengthIsOne) { return Node.getLength() == 1; } -std::optional makeCharacterLiteral(const StringLiteral *Literal, - const ASTContext &Context) { +} // anonymous namespace + +static std::optional +makeCharacterLiteral(const StringLiteral *Literal, const ASTContext &Context) { assert(Literal->getLength() == 1 && "Only single character string should be matched"); assert(Literal->getCharByteWidth() == 1 && @@ -53,8 +55,6 @@ std::optional makeCharacterLiteral(const StringLiteral *Literal, return Result; } -} // anonymous namespace - void FasterStrsplitDelimiterCheck::registerMatchers(MatchFinder *Finder) { // Binds to one character string literals. const auto SingleChar = diff --git a/clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp index 6af535f712d71..3d3fc785b71f4 100644 --- a/clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp @@ -51,6 +51,8 @@ struct ChainedComparisonData { void extract(const CXXOperatorCallExpr *Op); }; +} // namespace + void ChainedComparisonData::add(const Expr *Operand) { if (!Name.empty()) Name += ' '; @@ -111,8 +113,6 @@ void ChainedComparisonData::extract(const Expr *Op) { } } -} // namespace - void ChainedComparisonCheck::registerMatchers(MatchFinder *Finder) { const auto OperatorMatcher = expr(anyOf( binaryOperator(isComparisonOperator(), diff --git a/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp index 5b741e8c35b9a..9f8e885c91fff 100644 --- a/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp @@ -17,9 +17,7 @@ using namespace clang::tidy::matchers; namespace clang::tidy::bugprone { -namespace { - -ast_matchers::internal::BindableMatcher +static ast_matchers::internal::BindableMatcher handleFrom(const ast_matchers::internal::Matcher &IsAHandle, const ast_matchers::internal::Matcher &Arg) { return expr( @@ -31,7 +29,7 @@ handleFrom(const ast_matchers::internal::Matcher &IsAHandle, on(Arg)))); } -ast_matchers::internal::Matcher handleFromTemporaryValue( +static ast_matchers::internal::Matcher handleFromTemporaryValue( const ast_matchers::internal::Matcher &IsAHandle) { const auto TemporaryExpr = anyOf( @@ -49,22 +47,22 @@ ast_matchers::internal::Matcher handleFromTemporaryValue( return handleFrom(IsAHandle, anyOf(TemporaryExpr, TemporaryTernary)); } -ast_matchers::internal::Matcher isASequence() { +static ast_matchers::internal::Matcher isASequence() { return hasAnyName("::std::deque", "::std::forward_list", "::std::list", "::std::vector"); } -ast_matchers::internal::Matcher isASet() { +static ast_matchers::internal::Matcher isASet() { return hasAnyName("::std::set", "::std::multiset", "::std::unordered_set", "::std::unordered_multiset"); } -ast_matchers::internal::Matcher isAMap() { +static ast_matchers::internal::Matcher isAMap() { return hasAnyName("::std::map", "::std::multimap", "::std::unordered_map", "::std::unordered_multimap"); } -ast_matchers::internal::BindableMatcher makeContainerMatcher( +static ast_matchers::internal::BindableMatcher makeContainerMatcher( const ast_matchers::internal::Matcher &IsAHandle) { // This matcher could be expanded to detect: // - Constructors: eg. vector(3, string("A")); @@ -91,8 +89,6 @@ ast_matchers::internal::BindableMatcher makeContainerMatcher( hasOverloadedOperatorName("[]")))); } -} // anonymous namespace - DanglingHandleCheck::DanglingHandleCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), diff --git a/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp index cf55dd718f532..2672dc74f82f7 100644 --- a/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp @@ -50,15 +50,15 @@ AST_MATCHER_P2(Expr, hasSizeOfDescendant, int, Depth, AST_MATCHER(Expr, offsetOfExpr) { return isa(Node); } -CharUnits getSizeOfType(const ASTContext &Ctx, const Type *Ty) { +} // namespace + +static CharUnits getSizeOfType(const ASTContext &Ctx, const Type *Ty) { if (!Ty || Ty->isIncompleteType() || Ty->isDependentType() || isa(Ty) || !Ty->isConstantSizeType()) return CharUnits::Zero(); return Ctx.getTypeSizeInChars(Ty); } -} // namespace - SizeofExpressionCheck::SizeofExpressionCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), diff --git a/clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp index e4f7a1778fd44..832377e376feb 100644 --- a/clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp @@ -20,8 +20,9 @@ namespace { AST_MATCHER_P(IntegerLiteral, isBiggerThan, unsigned, N) { return Node.getValue().getZExtValue() > N; } +} // namespace -const char DefaultStringNames[] = +static const char DefaultStringNames[] = "::std::basic_string;::std::basic_string_view"; static std::vector @@ -36,8 +37,6 @@ removeNamespaces(const std::vector &Names) { return Result; } -} // namespace - StringConstructorCheck::StringConstructorCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), diff --git a/clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp index c0c3ffaee796f..a4c76be92192e 100644 --- a/clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp @@ -21,7 +21,9 @@ namespace { AST_MATCHER(VarDecl, isLocalVariable) { return Node.isLocalVarDecl(); } -FixItHint generateFixItHint(const VarDecl *Decl, bool IsConst) { +} // namespace + +static FixItHint generateFixItHint(const VarDecl *Decl, bool IsConst) { if (IsConst && (Decl->getStorageClass() != SC_Static)) { // No fix available if it is not a static constant, since it is difficult // to determine the proper fix in this case. @@ -52,7 +54,6 @@ FixItHint generateFixItHint(const VarDecl *Decl, bool IsConst) { CharSourceRange::getTokenRange(SourceRange(Decl->getLocation())), llvm::StringRef(NewName)); } -} // namespace void GlobalVariableDeclarationCheck::registerMatchers(MatchFinder *Finder) { // need to add two matchers since we need to bind different ids to distinguish diff --git a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp index 9dae57a50bb52..091e4fe84b36a 100644 --- a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp +++ b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp @@ -16,9 +16,7 @@ using namespace clang::ast_matchers; namespace clang::tidy::llvm_libc { -namespace { - -const TemplateParameterList * +static const TemplateParameterList * getLastTemplateParameterList(const FunctionDecl *FuncDecl) { const TemplateParameterList *ReturnList = FuncDecl->getDescribedTemplateParams(); @@ -35,8 +33,6 @@ getLastTemplateParameterList(const FunctionDecl *FuncDecl) { return ReturnList; } -} // namespace - InlineFunctionDeclCheck::InlineFunctionDeclCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), diff --git a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp index 37e289cd9e497..f2189f546cf55 100644 --- a/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp @@ -22,15 +22,14 @@ using namespace clang::ast_matchers; namespace clang::tidy::misc { -namespace { -bool isOverrideMethod(const FunctionDecl *Function) { +static bool isOverrideMethod(const FunctionDecl *Function) { if (const auto *MD = dyn_cast(Function)) return MD->size_overridden_methods() > 0 || MD->hasAttr(); return false; } -bool hasAttrAfterParam(const SourceManager *SourceManager, - const ParmVarDecl *Param) { +static bool hasAttrAfterParam(const SourceManager *SourceManager, + const ParmVarDecl *Param) { for (const auto *Attr : Param->attrs()) { if (SourceManager->isBeforeInTranslationUnit(Param->getLocation(), Attr->getLocation())) { @@ -39,7 +38,6 @@ bool hasAttrAfterParam(const SourceManager *SourceManager, } return false; } -} // namespace void UnusedParametersCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher(functionDecl(isDefinition(), hasBody(stmt()), diff --git a/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp b/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp index 5eebccc366fd5..38b30f7994ff3 100644 --- a/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp @@ -14,10 +14,8 @@ using namespace clang::ast_matchers; namespace clang::tidy::modernize { -namespace { - // Determine if the given QualType is a nullary function or pointer to same. -bool protoTypeHasNoParms(QualType QT) { +static bool protoTypeHasNoParms(QualType QT) { if (const auto *PT = QT->getAs()) QT = PT->getPointeeType(); if (auto *MPT = QT->getAs()) @@ -27,16 +25,14 @@ bool protoTypeHasNoParms(QualType QT) { return false; } -const char FunctionId[] = "function"; -const char TypedefId[] = "typedef"; -const char FieldId[] = "field"; -const char VarId[] = "var"; -const char NamedCastId[] = "named-cast"; -const char CStyleCastId[] = "c-style-cast"; -const char ExplicitCastId[] = "explicit-cast"; -const char LambdaId[] = "lambda"; - -} // namespace +static const char FunctionId[] = "function"; +static const char TypedefId[] = "typedef"; +static const char FieldId[] = "field"; +static const char VarId[] = "var"; +static const char NamedCastId[] = "named-cast"; +static const char CStyleCastId[] = "c-style-cast"; +static const char ExplicitCastId[] = "explicit-cast"; +static const char LambdaId[] = "lambda"; void RedundantVoidArgCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher(functionDecl(parameterCountIs(0), unless(isImplicit()), diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp index a04f78c271d42..414aa86c5fbd2 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp @@ -255,8 +255,10 @@ struct MatchBuilder { double DiffThreshold; }; -std::string getCode(const StringRef Constant, const bool IsFloat, - const bool IsLongDouble) { +} // namespace + +static std::string getCode(const StringRef Constant, const bool IsFloat, + const bool IsLongDouble) { if (IsFloat) { return ("std::numbers::" + Constant + "_v").str(); } @@ -266,9 +268,9 @@ std::string getCode(const StringRef Constant, const bool IsFloat, return ("std::numbers::" + Constant).str(); } -bool isRangeOfCompleteMacro(const clang::SourceRange &Range, - const clang::SourceManager &SM, - const clang::LangOptions &LO) { +static bool isRangeOfCompleteMacro(const clang::SourceRange &Range, + const clang::SourceManager &SM, + const clang::LangOptions &LO) { if (!Range.getBegin().isMacroID()) { return false; } @@ -287,8 +289,6 @@ bool isRangeOfCompleteMacro(const clang::SourceRange &Range, return true; } -} // namespace - namespace clang::tidy::modernize { UseStdNumbersCheck::UseStdNumbersCheck(const StringRef Name, ClangTidyContext *const Context) diff --git a/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp b/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp index edd3ded2e2858..03981c1aadff0 100644 --- a/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp @@ -35,7 +35,8 @@ const std::uint64_t Min32 = std::imaxabs(std::numeric_limits::min()); const std::uint64_t Max32 = std::numeric_limits::max(); -std::pair +} // namespace +static std::pair getNewType(std::size_t Size, std::uint64_t Min, std::uint64_t Max) noexcept { if (Min) { if (Min <= Min8 && Max <= Max8) { @@ -75,8 +76,6 @@ getNewType(std::size_t Size, std::uint64_t Min, std::uint64_t Max) noexcept { return {"std::uint8_t", sizeof(std::uint8_t)}; } -} // namespace - EnumSizeCheck::EnumSizeCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), EnumIgnoreList( diff --git a/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp b/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp index 554996730c2be..02fe913ee7918 100644 --- a/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp +++ b/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp @@ -15,9 +15,8 @@ using namespace clang::ast_matchers; namespace clang::tidy::readability { -namespace { -SourceRange getTypeRange(const ParmVarDecl &Param) { +static SourceRange getTypeRange(const ParmVarDecl &Param) { return {Param.getBeginLoc(), Param.getLocation().getLocWithOffset(-1)}; } @@ -39,8 +38,6 @@ findConstToRemove(const ParmVarDecl &Param, tok::kw_const, FileRange, *Result.Context, *Result.SourceManager); } -} // namespace - void AvoidConstParamsInDecls::storeOptions(ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "IgnoreMacros", IgnoreMacros); } diff --git a/clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp index 107291d42bc45..11065230edc60 100644 --- a/clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp @@ -129,8 +129,7 @@ void RedundantSmartptrGetCheck::registerMatchers(MatchFinder *Finder) { registerMatchersForGetEquals(Finder, this); } -namespace { -bool allReturnTypesMatch(const MatchFinder::MatchResult &Result) { +static bool allReturnTypesMatch(const MatchFinder::MatchResult &Result) { if (Result.Nodes.getNodeAs("duck_typing") == nullptr) return true; // Verify that the types match. @@ -145,7 +144,6 @@ bool allReturnTypesMatch(const MatchFinder::MatchResult &Result) { Result.Nodes.getNodeAs("getType")->getUnqualifiedDesugaredType(); return OpArrowType == OpStarType && OpArrowType == GetType; } -} // namespace void RedundantSmartptrGetCheck::check(const MatchFinder::MatchResult &Result) { if (!allReturnTypesMatch(Result)) diff --git a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp index 4184c295b5f0a..9f3f26b775c9a 100644 --- a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp @@ -21,20 +21,17 @@ using namespace clang::ast_matchers; namespace clang::tidy::readability { -namespace { - -StringRef getText(const ASTContext &Context, SourceRange Range) { +static StringRef getText(const ASTContext &Context, SourceRange Range) { return Lexer::getSourceText(CharSourceRange::getTokenRange(Range), Context.getSourceManager(), Context.getLangOpts()); } -template StringRef getText(const ASTContext &Context, T &Node) { +template +static StringRef getText(const ASTContext &Context, T &Node) { return getText(Context, Node.getSourceRange()); } -} // namespace - static constexpr char SimplifyOperatorDiagnostic[] = "redundant boolean literal supplied to boolean operator"; static constexpr char SimplifyConditionDiagnostic[] = diff --git a/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp b/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp index 393f935fc31e4..46eebf4e7a86e 100644 --- a/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp +++ b/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp @@ -49,10 +49,8 @@ static SmallVector getParentStmts(const Stmt *S, return Result; } -namespace { - -bool isDescendantOrEqual(const Stmt *Descendant, const Stmt *Ancestor, - ASTContext *Context) { +static bool isDescendantOrEqual(const Stmt *Descendant, const Stmt *Ancestor, + ASTContext *Context) { if (Descendant == Ancestor) return true; return llvm::any_of(getParentStmts(Descendant, Context), @@ -61,15 +59,15 @@ bool isDescendantOrEqual(const Stmt *Descendant, const Stmt *Ancestor, }); } -bool isDescendantOfArgs(const Stmt *Descendant, const CallExpr *Call, - ASTContext *Context) { +static bool isDescendantOfArgs(const Stmt *Descendant, const CallExpr *Call, + ASTContext *Context) { return llvm::any_of(Call->arguments(), [Descendant, Context](const Expr *Arg) { return isDescendantOrEqual(Descendant, Arg, Context); }); } -llvm::SmallVector +static llvm::SmallVector getAllInitListForms(const InitListExpr *InitList) { llvm::SmallVector Result = {InitList}; if (const InitListExpr *AltForm = InitList->getSyntacticForm()) @@ -79,8 +77,6 @@ getAllInitListForms(const InitListExpr *InitList) { return Result; } -} // namespace - ExprSequence::ExprSequence(const CFG *TheCFG, const Stmt *Root, ASTContext *TheContext) : Context(TheContext), Root(Root) { diff --git a/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp b/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp index 6a71a11c18754..58e33567f07e9 100644 --- a/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp +++ b/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp @@ -15,9 +15,8 @@ namespace clang::tidy { namespace utils { -namespace { - -StringRef removeFirstSuffix(StringRef Str, ArrayRef Suffixes) { +static StringRef removeFirstSuffix(StringRef Str, + ArrayRef Suffixes) { for (StringRef Suffix : Suffixes) { if (Str.consume_back(Suffix)) return Str; @@ -25,7 +24,8 @@ StringRef removeFirstSuffix(StringRef Str, ArrayRef Suffixes) { return Str; } -StringRef makeCanonicalName(StringRef Str, IncludeSorter::IncludeStyle Style) { +static StringRef makeCanonicalName(StringRef Str, + IncludeSorter::IncludeStyle Style) { // The list of suffixes to remove from source file names to get the // "canonical" file names. // E.g. tools/sort_includes.cc and tools/sort_includes_test.cc @@ -56,12 +56,12 @@ StringRef makeCanonicalName(StringRef Str, IncludeSorter::IncludeStyle Style) { } // Scan to the end of the line and return the offset of the next line. -size_t findNextLine(const char *Text) { +static size_t findNextLine(const char *Text) { size_t EOLIndex = std::strcspn(Text, "\n"); return Text[EOLIndex] == '\0' ? EOLIndex : EOLIndex + 1; } -IncludeSorter::IncludeKinds +static IncludeSorter::IncludeKinds determineIncludeKind(StringRef CanonicalFile, StringRef IncludeFile, bool IsAngled, IncludeSorter::IncludeStyle Style) { // Compute the two "canonical" forms of the include's filename sans extension. @@ -101,8 +101,8 @@ determineIncludeKind(StringRef CanonicalFile, StringRef IncludeFile, return IncludeSorter::IK_NonSystemInclude; } -int compareHeaders(StringRef LHS, StringRef RHS, - IncludeSorter::IncludeStyle Style) { +static int compareHeaders(StringRef LHS, StringRef RHS, + IncludeSorter::IncludeStyle Style) { if (Style == IncludeSorter::IncludeStyle::IS_Google_ObjC) { const std::pair &Mismatch = std::mismatch(LHS.begin(), LHS.end(), RHS.begin(), RHS.end()); @@ -118,8 +118,6 @@ int compareHeaders(StringRef LHS, StringRef RHS, return LHS.compare(RHS); } -} // namespace - IncludeSorter::IncludeSorter(const SourceManager *SourceMgr, const FileID FileID, StringRef FileName, IncludeStyle Style)