llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tidy @llvm/pr-subscribers-clang-tools-extra Author: Baranov Victor (vbvictor) <details> <summary>Changes</summary> Continue https://github.com/llvm/llvm-project/pull/153885. --- Patch is 21.81 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/164158.diff 16 Files Affected: - (modified) clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp (+4-4) - (modified) clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp (+2-2) - (modified) clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp (+6-10) - (modified) clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp (+3-3) - (modified) clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp (+2-3) - (modified) clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp (+3-2) - (modified) clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp (+1-5) - (modified) clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp (+3-5) - (modified) clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp (+9-13) - (modified) clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp (+7-7) - (modified) clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp (+2-3) - (modified) clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp (+1-4) - (modified) clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp (+1-3) - (modified) clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp (+3-6) - (modified) clang-tools-extra/clang-tidy/utils/ExprSequence.cpp (+5-9) - (modified) clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp (+8-10) ``````````diff 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<std::string> makeCharacterLiteral(const StringLiteral *Literal, - const ASTContext &Context) { +} // anonymous namespace + +static std::optional<std::string> +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<std::string> 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<Stmt> +static ast_matchers::internal::BindableMatcher<Stmt> handleFrom(const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle, const ast_matchers::internal::Matcher<Expr> &Arg) { return expr( @@ -31,7 +29,7 @@ handleFrom(const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle, on(Arg)))); } -ast_matchers::internal::Matcher<Stmt> handleFromTemporaryValue( +static ast_matchers::internal::Matcher<Stmt> handleFromTemporaryValue( const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle) { const auto TemporaryExpr = anyOf( @@ -49,22 +47,22 @@ ast_matchers::internal::Matcher<Stmt> handleFromTemporaryValue( return handleFrom(IsAHandle, anyOf(TemporaryExpr, TemporaryTernary)); } -ast_matchers::internal::Matcher<RecordDecl> isASequence() { +static ast_matchers::internal::Matcher<RecordDecl> isASequence() { return hasAnyName("::std::deque", "::std::forward_list", "::std::list", "::std::vector"); } -ast_matchers::internal::Matcher<RecordDecl> isASet() { +static ast_matchers::internal::Matcher<RecordDecl> isASet() { return hasAnyName("::std::set", "::std::multiset", "::std::unordered_set", "::std::unordered_multiset"); } -ast_matchers::internal::Matcher<RecordDecl> isAMap() { +static ast_matchers::internal::Matcher<RecordDecl> isAMap() { return hasAnyName("::std::map", "::std::multimap", "::std::unordered_map", "::std::unordered_multimap"); } -ast_matchers::internal::BindableMatcher<Stmt> makeContainerMatcher( +static ast_matchers::internal::BindableMatcher<Stmt> makeContainerMatcher( const ast_matchers::internal::Matcher<RecordDecl> &IsAHandle) { // This matcher could be expanded to detect: // - Constructors: eg. vector<string_view>(3, string("A")); @@ -91,8 +89,6 @@ ast_matchers::internal::BindableMatcher<Stmt> 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<OffsetOfExpr>(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<DependentSizedArrayType>(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<StringRef> @@ -36,8 +37,6 @@ removeNamespaces(const std::vector<StringRef> &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<CXXMethodDecl>(Function)) return MD->size_overridden_methods() > 0 || MD->hasAttr<OverrideAttr>(); 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<PointerType>()) QT = PT->getPointeeType(); if (auto *MPT = QT->getAs<MemberPointerType>()) @@ -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<float>").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<std::int32_t>::min()); const std::uint64_t Max32 = std::numeric_limits<std::int32_t>::max(); -std::pair<const char *, std::uint32_t> +} // namespace +static std::pair<const char *, std::uint32_t> 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<Decl>("duck_typing") == nullptr) return true; // Verify that the types match. @@ -145,7 +144,6 @@ bool allReturnTypesMatch(const MatchFinder::MatchResult &Result) { Result.Nodes.getNodeAs<Type>("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 <typename T> StringRef getText(const ASTContext &Context, T &Node) { +template <typename T> +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<const Stmt *, 1> 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<const InitListExpr *> +static llvm::SmallVector<const InitListExpr *> getAllInitListForms(const InitListExpr *InitList) { llvm::SmallVector<const InitListExpr *> 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<const char *> Suffixes) { +static StringRef removeFirstSuffix(StringRef Str, + ArrayRef<const char *> Suffixes) { for (StringRef Suffix : Suffixes) { if (Str.consume_back(Suffix)) return Str; @@ -25,7 +24,8 @@ StringRef removeFirstSuffix(StringRef Str, ArrayRef<const char *> Suffixes) { return Str; } -StringRef makeCanonicalName(StringRef Str, IncludeSorte... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/164158 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
