Author: Baranov Victor Date: 2026-08-04T16:30:03+03:00 New Revision: d4c991d34c8c8568c6f81402b88c3fd37722c1db
URL: https://github.com/llvm/llvm-project/commit/d4c991d34c8c8568c6f81402b88c3fd37722c1db DIFF: https://github.com/llvm/llvm-project/commit/d4c991d34c8c8568c6f81402b88c3fd37722c1db.diff LOG: [clang-tidy][NFC] Apply const-correctness for auto 1/N (#213839) Added: Modified: clang-tools-extra/clang-tidy/ClangTidy.cpp clang-tools-extra/clang-tidy/ClangTidyCheck.cpp clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp clang-tools-extra/clang-tidy/ClangTidyOptions.cpp clang-tools-extra/clang-tidy/GlobList.cpp clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp clang-tools-extra/clang-tidy/utils/CheckUtils.h clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp clang-tools-extra/clang-tidy/utils/TypeTraits.cpp clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp clang-tools-extra/clang-tidy/utils/UsingInserter.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp index 24cbd0940226d..32e18645880e1 100644 --- a/clang-tools-extra/clang-tidy/ClangTidy.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp @@ -134,8 +134,9 @@ class ErrorReporter { Level = DiagnosticsEngine::Error; WarningsAsErrors++; } - auto Diag = Diags.Report(Loc, Diags.getCustomDiagID(Level, "%0 [%1]")) - << Message.Message << Name; + const auto Diag = + Diags.Report(Loc, Diags.getCustomDiagID(Level, "%0 [%1]")) + << Message.Message << Name; for (const FileByteRange &FBR : Error.Message.Ranges) Diag << getRange(FBR); // FIXME: explore options to support interactive fix selection. @@ -187,7 +188,7 @@ class ErrorReporter { } reportFix(Diag, Error.Message.Fix); } - for (auto Fix : FixLocations) { + for (const auto Fix : FixLocations) { Diags.Report(Fix.first, Fix.second ? diag::note_fixit_applied : diag::note_fixit_failed); } @@ -289,7 +290,7 @@ class ErrorReporter { void reportNote(const tooling::DiagnosticMessage &Message) { const SourceLocation Loc = getLocation(Message.FilePath, Message.FileOffset); - auto Diag = + const auto Diag = Diags.Report(Loc, Diags.getCustomDiagID(DiagnosticsEngine::Note, "%0")) << Message.Message; for (const FileByteRange &FBR : Message.Ranges) diff --git a/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp index 26c4234c1b0ee..64fbac524adae 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyCheck.cpp @@ -84,7 +84,8 @@ findPriorityOption(const ClangTidyOptions::OptionMap &Options, std::optional<StringRef> ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName) const { - auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName, Context); + const auto Iter = + findPriorityOption(CheckOptions, NamePrefix, LocalName, Context); if (Iter != CheckOptions.end()) return StringRef(Iter->getValue().Value); return std::nullopt; @@ -115,7 +116,8 @@ ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName) const { template <> std::optional<bool> ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName) const { - auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName, Context); + const auto Iter = + findPriorityOption(CheckOptions, NamePrefix, LocalName, Context); if (Iter != CheckOptions.end()) { if (auto Result = getAsBool(Iter->getValue().Value)) return Result; @@ -155,9 +157,10 @@ ClangTidyCheck::OptionsView::getEnumInt(StringRef LocalName, bool CheckGlobal) const { if (!CheckGlobal && Context->getOptionsCollector()) Context->getOptionsCollector()->insert((NamePrefix + LocalName).str()); - auto Iter = CheckGlobal ? findPriorityOption(CheckOptions, NamePrefix, - LocalName, Context) - : CheckOptions.find((NamePrefix + LocalName).str()); + const auto Iter = + CheckGlobal + ? findPriorityOption(CheckOptions, NamePrefix, LocalName, Context) + : CheckOptions.find((NamePrefix + LocalName).str()); if (Iter == CheckOptions.end()) return std::nullopt; @@ -207,8 +210,8 @@ void ClangTidyCheck::OptionsView::diagnoseBadIntegerOption( void ClangTidyCheck::OptionsView::diagnoseBadEnumOption( const Twine &Lookup, StringRef Unparsed, StringRef Suggestion) const { SmallString<64> Buffer; - auto Diag = Context->configurationDiag(ConfigWarning) - << Unparsed << Lookup.toStringRef(Buffer); + const auto Diag = Context->configurationDiag(ConfigWarning) + << Unparsed << Lookup.toStringRef(Buffer); if (Suggestion.empty()) Diag << 0; else diff --git a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp index 88d0a433bc7fb..48d8c76bd4db6 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp @@ -64,7 +64,7 @@ class ClangTidyDiagnosticRenderer : public DiagnosticRenderer { const std::string CheckNameInMessage = " [" + Error.DiagnosticName + "]"; Message.consume_back(CheckNameInMessage); - auto TidyMessage = + const auto TidyMessage = Loc.isValid() ? tooling::DiagnosticMessage(Message, Loc.getManager(), Loc) : tooling::DiagnosticMessage(Message); @@ -73,7 +73,7 @@ class ClangTidyDiagnosticRenderer : public DiagnosticRenderer { // into a real CharRange for the diagnostic printer later. // Whatever we store here gets decoupled from the current SourceManager, so // we **have to** know the exact position and length of the highlight. - auto ToCharRange = [this, &Loc](const CharSourceRange &SourceRange) { + const auto ToCharRange = [this, &Loc](const CharSourceRange &SourceRange) { if (SourceRange.isCharRange()) return SourceRange; assert(SourceRange.isTokenRange()); @@ -83,7 +83,7 @@ class ClangTidyDiagnosticRenderer : public DiagnosticRenderer { }; // We are only interested in valid ranges. - auto ValidRanges = + const auto ValidRanges = llvm::make_filter_range(Ranges, [](const CharSourceRange &R) { return R.getAsRange().isValid(); }); @@ -499,17 +499,18 @@ bool ClangTidyDiagnosticConsumer::passesLineFilter(StringRef FileName, void ClangTidyDiagnosticConsumer::forwardDiagnostic(const Diagnostic &Info) { // Acquire a diagnostic ID also in the external diagnostics engine. - auto DiagLevelAndFormatString = + const auto DiagLevelAndFormatString = Context.getDiagLevelAndFormatString(Info.getID(), Info.getLocation()); const unsigned ExternalID = ExternalDiagEngine->getDiagnosticIDs()->getCustomDiagID( DiagLevelAndFormatString.first, DiagLevelAndFormatString.second); // Forward the details. - auto Builder = ExternalDiagEngine->Report(Info.getLocation(), ExternalID); + const auto Builder = + ExternalDiagEngine->Report(Info.getLocation(), ExternalID); for (const FixItHint &Hint : Info.getFixItHints()) Builder << Hint; - for (auto Range : Info.getRanges()) + for (const auto Range : Info.getRanges()) Builder << Range; for (unsigned Index = 0; Index < Info.getNumArgs(); ++Index) { const DiagnosticsEngine::ArgumentKind Kind = Info.getArgKind(Index); diff --git a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp index 0a0f392346f6d..2ef23ede09972 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp @@ -113,7 +113,7 @@ void yamlize(IO &IO, ClangTidyOptions::OptionMap &Val, bool, } else { // We need custom logic here to support the old method of specifying check // options using a list of maps containing key and value keys. - auto &I = reinterpret_cast<Input &>(IO); + const auto &I = reinterpret_cast<Input &>(IO); if (isa<SequenceNode>(I.getCurrentNode())) { MappingNormalization<NOptionMap, ClangTidyOptions::OptionMap> NOpts(IO, Val); @@ -194,7 +194,7 @@ void yamlize(IO &IO, GlobListVariant &Val, bool, EmptyContext &Ctx) { if (!IO.outputting()) { // Special case for reading from YAML // Must support reading from both a string or a list - auto &I = reinterpret_cast<Input &>(IO); + const auto &I = reinterpret_cast<Input &>(IO); if (isa<ScalarNode, BlockScalarNode>(I.getCurrentNode())) { Val.AsString = std::string(); yamlize(IO, *Val.AsString, true, Ctx); @@ -327,7 +327,7 @@ ClangTidyOptions ClangTidyOptions::merge(const ClangTidyOptions &Other, ClangTidyOptions ClangTidyOptionsProvider::getOptions(StringRef FileName) { ClangTidyOptions Result; unsigned Priority = 0; - for (auto &Source : getRawOptions(FileName)) + for (const auto &Source : getRawOptions(FileName)) Result.mergeWith(Source.first, ++Priority); return Result; } @@ -402,11 +402,11 @@ FileOptionsBaseProvider::getNormalizedAbsolutePath(StringRef Path) { void FileOptionsBaseProvider::addRawFileOptions( StringRef AbsolutePath, std::vector<OptionsSource> &CurOptions) { - auto CurSize = CurOptions.size(); + const auto CurSize = CurOptions.size(); // Look for a suitable configuration file in all parent directories of the // file. Start with the immediate parent directory and move up. StringRef RootPath = llvm::sys::path::parent_path(AbsolutePath); - auto MemorizedConfigFile = + const auto MemorizedConfigFile = [this, &RootPath](StringRef CurrentPath) -> std::optional<OptionsSource> { const auto Iter = CachedOptions.Memorized.find(CurrentPath); if (Iter != CachedOptions.Memorized.end()) diff --git a/clang-tools-extra/clang-tidy/GlobList.cpp b/clang-tools-extra/clang-tidy/GlobList.cpp index 442322f68fdb3..bf57ea6009ba2 100644 --- a/clang-tools-extra/clang-tidy/GlobList.cpp +++ b/clang-tools-extra/clang-tidy/GlobList.cpp @@ -66,7 +66,7 @@ bool GlobList::contains(StringRef S) const { } bool CachedGlobList::contains(StringRef S) const { - auto Entry = Cache.try_emplace(S); + const auto Entry = Cache.try_emplace(S); bool &Value = Entry.first->getValue(); // If the entry was just inserted, determine its required value. if (Entry.second) diff --git a/clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp b/clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp index 0d9a59bc725cb..f67d19be4525c 100644 --- a/clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp +++ b/clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp @@ -357,13 +357,13 @@ bool NoLintDirectiveHandler::Impl::diagHasNoLint( return false; // Check if there's a NOLINT on this line. - auto ThisLine = getLineStartAndEnd(*Buffer, Pos); + const auto ThisLine = getLineStartAndEnd(*Buffer, Pos); if (lineHasNoLint(*Buffer, ThisLine, NoLintType::NoLint, DiagName)) return true; // Check if there's a NOLINTNEXTLINE on the previous line. if (ThisLine.first > 0) { - auto PrevLine = getLineStartAndEnd(*Buffer, ThisLine.first - 1); + const auto PrevLine = getLineStartAndEnd(*Buffer, ThisLine.first - 1); if (lineHasNoLint(*Buffer, PrevLine, NoLintType::NoLintNextLine, DiagName)) return true; } diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp index 949a88f0fd50d..7ee556fa7c51f 100644 --- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp +++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp @@ -436,7 +436,7 @@ createOptionsProvider(llvm::IntrusiveRefCntPtr<vfs::FileSystem> FS) { if (RemovedArgs.getNumOccurrences() > 0) OverrideOptions.RemovedArgs = RemovedArgs; - auto LoadConfig = + const auto LoadConfig = [&](StringRef Configuration, StringRef Source) -> std::unique_ptr<ClangTidyOptionsProvider> { llvm::ErrorOr<ClangTidyOptions> ParsedConfig = @@ -501,7 +501,7 @@ getVfsFromFile(const std::string &OverlayFile, vfs::FileSystem &BaseFS) { static StringRef closest(StringRef Value, const StringSet<> &Allowed) { unsigned MaxEdit = 5U; StringRef Closest; - for (auto Item : Allowed.keys()) { + for (const auto Item : Allowed.keys()) { const unsigned Cur = Value.edit_distance_insensitive(Item, true, MaxEdit); if (Cur < MaxEdit) { Closest = Item; @@ -565,7 +565,7 @@ static bool verifyOptions(const llvm::StringSet<> &ValidOptions, const ClangTidyOptions::OptionMap &OptionMap, StringRef Source) { bool AnyInvalid = false; - for (auto Key : OptionMap.keys()) { + for (const auto Key : OptionMap.keys()) { if (ValidOptions.contains(Key)) continue; AnyInvalid = true; diff --git a/clang-tools-extra/clang-tidy/utils/CheckUtils.h b/clang-tools-extra/clang-tidy/utils/CheckUtils.h index af4821ea13520..ea9d65dcb4a8d 100644 --- a/clang-tools-extra/clang-tidy/utils/CheckUtils.h +++ b/clang-tools-extra/clang-tidy/utils/CheckUtils.h @@ -7,7 +7,7 @@ namespace clang::tidy::utils { /// Emits a configuration diagnostic when a deprecated check alias is enabled /// and the canonical check name is not also enabled. -inline void diagDeprecatedCheckAlias(ClangTidyCheck &Check, +inline void diagDeprecatedCheckAlias(const ClangTidyCheck &Check, const ClangTidyContext &Context, StringRef DeprecatedName, StringRef CanonicalName) { diff --git a/clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp b/clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp index 141df2b78cac8..586dc1d40af51 100644 --- a/clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp +++ b/clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp @@ -343,10 +343,11 @@ AST_MATCHER_P(DeclRefExpr, doesNotMutateObject, int, Indirections) { SmallPtrSet<const DeclRefExpr *, 16> constReferenceDeclRefExprs(const VarDecl &VarDecl, const Stmt &Stmt, ASTContext &Context, int Indirections) { - auto Matches = match(findAll(declRefExpr(to(varDecl(equalsNode(&VarDecl))), - doesNotMutateObject(Indirections)) - .bind("declRef")), - Stmt, Context); + const auto Matches = + match(findAll(declRefExpr(to(varDecl(equalsNode(&VarDecl))), + doesNotMutateObject(Indirections)) + .bind("declRef")), + Stmt, Context); SmallPtrSet<const DeclRefExpr *, 16> DeclRefs; extractNodesByIdTo(Matches, "declRef", DeclRefs); @@ -360,8 +361,8 @@ bool isOnlyUsedAsConst(const VarDecl &Var, const Stmt &Stmt, // reference parameter. // If the diff erence is empty it is safe for the loop variable to be a const // reference. - auto AllDeclRefs = allDeclRefExprs(Var, Stmt, Context); - auto ConstReferenceDeclRefs = + const auto AllDeclRefs = allDeclRefExprs(Var, Stmt, Context); + const auto ConstReferenceDeclRefs = constReferenceDeclRefExprs(Var, Stmt, Context, Indirections); return isSetDifferenceEmpty(AllDeclRefs, ConstReferenceDeclRefs); } @@ -369,7 +370,7 @@ bool isOnlyUsedAsConst(const VarDecl &Var, const Stmt &Stmt, SmallPtrSet<const DeclRefExpr *, 16> allDeclRefExprs(const ValueDecl &ValueDecl, const Stmt &Stmt, ASTContext &Context) { - auto Matches = match( + const auto Matches = match( findAll( declRefExpr(to(valueDecl(equalsNode(&ValueDecl)))).bind("declRef")), Stmt, Context); @@ -381,7 +382,7 @@ SmallPtrSet<const DeclRefExpr *, 16> allDeclRefExprs(const ValueDecl &ValueDecl, SmallPtrSet<const DeclRefExpr *, 16> allDeclRefExprs(const ValueDecl &ValueDecl, const Decl &Decl, ASTContext &Context) { - auto Matches = match( + const auto Matches = match( decl(forEachDescendant( declRefExpr(to(valueDecl(equalsNode(&ValueDecl)))).bind("declRef"))), Decl, Context); @@ -392,10 +393,10 @@ SmallPtrSet<const DeclRefExpr *, 16> allDeclRefExprs(const ValueDecl &ValueDecl, bool isCopyConstructorArgument(const DeclRefExpr &DeclRef, const Decl &Decl, ASTContext &Context) { - auto UsedAsConstRefArg = forEachArgumentWithParam( + const auto UsedAsConstRefArg = forEachArgumentWithParam( declRefExpr(equalsNode(&DeclRef)), parmVarDecl(hasType(matchers::isReferenceToConst()))); - auto Matches = match( + const auto Matches = match( decl(hasDescendant( cxxConstructExpr(UsedAsConstRefArg, hasDeclaration(cxxConstructorDecl( isCopyConstructor()))) @@ -406,10 +407,10 @@ bool isCopyConstructorArgument(const DeclRefExpr &DeclRef, const Decl &Decl, bool isCopyAssignmentArgument(const DeclRefExpr &DeclRef, const Decl &Decl, ASTContext &Context) { - auto UsedAsConstRefArg = forEachArgumentWithParam( + const auto UsedAsConstRefArg = forEachArgumentWithParam( declRefExpr(equalsNode(&DeclRef)), parmVarDecl(hasType(matchers::isReferenceToConst()))); - auto Matches = match( + const auto Matches = match( decl(hasDescendant( cxxOperatorCallExpr(UsedAsConstRefArg, hasOverloadedOperatorName("="), callee(cxxMethodDecl(isCopyAssignmentOperator()))) diff --git a/clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp b/clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp index af18fda7a3a54..08deb6a35e55b 100644 --- a/clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp +++ b/clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp @@ -253,8 +253,8 @@ static bool isQualificationConvertiblePointer(QualType From, QualType To, int I = 0; bool ConstUntilI = true; - auto SatisfiesCVRules = [&I, &ConstUntilI](const QualType &From, - const QualType &To) { + const auto SatisfiesCVRules = [&I, &ConstUntilI](const QualType &From, + const QualType &To) { if (I > 1) { if (From.getQualifiers() != To.getQualifiers() && !ConstUntilI) return false; diff --git a/clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp b/clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp index 9624148411eac..e013742fe6901 100644 --- a/clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp +++ b/clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp @@ -52,7 +52,7 @@ skipLParensBackwards(SourceLocation Start, const ASTContext &Context) { if (locDangerous(Start)) return std::nullopt; - auto PreviousTokenLParen = [&Start, &Context]() { + const auto PreviousTokenLParen = [&Start, &Context]() { const std::optional<Token> T = lexer::getPreviousToken( Start, Context.getSourceManager(), Context.getLangOpts()); return T && T->is(tok::l_paren); diff --git a/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp b/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp index f4ab9124cfca1..f87a393f071f3 100644 --- a/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp +++ b/clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp @@ -164,7 +164,7 @@ IncludeSorter::createIncludeInsertion(StringRef FileName, bool IsAngled) { SourceMgr->getLocForStartOfFile(CurrentFileID), IncludeStmt); } - auto IncludeKind = + const auto IncludeKind = determineIncludeKind(CanonicalFile, FileName, IsAngled, Style); if (!IncludeBucket[IncludeKind].empty()) { diff --git a/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp b/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp index e039965a68253..8aa47e452cc61 100644 --- a/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp +++ b/clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp @@ -82,7 +82,7 @@ std::string NamespaceAliaser::getNamespaceName(ASTContext &Context, const Stmt &Statement, StringRef Namespace) const { const auto *Function = getSurroundingFunction(Context, Statement); - auto FunctionAliases = AddedAliases.find(Function); + const auto FunctionAliases = AddedAliases.find(Function); if (FunctionAliases != AddedAliases.end()) { if (FunctionAliases->second.contains(Namespace)) return FunctionAliases->second.find(Namespace)->getValue(); diff --git a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp index bfdcd381b4122..c9ff8f9be754a 100644 --- a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp +++ b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp @@ -136,7 +136,7 @@ static NameLookup findDeclInBases(const CXXRecordDecl &Parent, const auto *Definition = Parent.getDefinition(); if (!Visited.insert(Definition).second) return NameLookup(nullptr); - auto RemoveFromVisited = + const auto RemoveFromVisited = llvm::scope_exit([&Visited, Definition] { Visited.erase(Definition); }); if (const NamedDecl *InClassRef = findDecl(Parent, DeclName)) @@ -155,8 +155,8 @@ static NameLookup findDeclInBases(const CXXRecordDecl &Parent, } if (!Record) continue; - if (auto Search = findDeclInBases(*Record, DeclName, - AggressiveTemplateLookup, Visited)) { + if (const auto Search = findDeclInBases( + *Record, DeclName, AggressiveTemplateLookup, Visited)) { if (*Search) { if (Found) return NameLookup( @@ -493,7 +493,7 @@ void RenamerClangTidyCheck::addUsage(const NamedDecl *Decl, if (!Failure.shouldFix()) return; const IdentifierTable &Idents = FailureDecl->getASTContext().Idents; - auto CheckNewIdentifier = Idents.find(Failure.Info.Fixup); + const auto CheckNewIdentifier = Idents.find(Failure.Info.Fixup); if (CheckNewIdentifier != Idents.end()) { const IdentifierInfo *Ident = CheckNewIdentifier->second; if (Ident->isKeyword(getLangOpts())) @@ -543,7 +543,7 @@ void RenamerClangTidyCheck::expandMacro(const Token &MacroNameTok, const StringRef Name = MacroNameTok.getIdentifierInfo()->getName(); const NamingCheckId ID(MI->getDefinitionLoc(), Name); - auto Failure = NamingCheckFailures.find(ID); + const auto Failure = NamingCheckFailures.find(ID); if (Failure == NamingCheckFailures.end()) return; diff --git a/clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp index 6fa623022ee9c..2b682091d967a 100644 --- a/clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp +++ b/clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp @@ -43,7 +43,7 @@ static std::string escapeForDiagnostic(std::string ToEscape) { Result.append(ToEscape, 0, Pos); Result += '%'; - for (auto N = ToEscape.size(); Pos < N; ++Pos) { + for (const auto N = ToEscape.size(); Pos < N; ++Pos) { const char C = ToEscape.at(Pos); Result += C; if (C == '%') @@ -95,7 +95,7 @@ void TransformerClangTidyCheck::registerPPCallbacks( void TransformerClangTidyCheck::registerMatchers( ast_matchers::MatchFinder *Finder) { if (!Rule.Cases.empty()) - for (auto &Matcher : transformer::detail::buildMatchers(Rule)) + for (const auto &Matcher : transformer::detail::buildMatchers(Rule)) Finder->addDynamicMatcher(Matcher, this); } diff --git a/clang-tools-extra/clang-tidy/utils/TypeTraits.cpp b/clang-tools-extra/clang-tidy/utils/TypeTraits.cpp index 136a7b2ed26a8..ac2fcf72fef83 100644 --- a/clang-tools-extra/clang-tidy/utils/TypeTraits.cpp +++ b/clang-tools-extra/clang-tidy/utils/TypeTraits.cpp @@ -15,14 +15,14 @@ namespace clang::tidy::utils::type_traits { static bool classHasTrivialCopyAndDestroy(QualType Type) { - auto *Record = Type->getAsCXXRecordDecl(); + const auto *Record = Type->getAsCXXRecordDecl(); return Record && Record->hasDefinition() && !Record->hasNonTrivialCopyConstructor() && !Record->hasNonTrivialDestructor(); } static bool hasDeletedCopyConstructor(QualType Type) { - auto *Record = Type->getAsCXXRecordDecl(); + const auto *Record = Type->getAsCXXRecordDecl(); if (!Record || !Record->hasDefinition()) return false; return llvm::any_of(Record->ctors(), [](const auto *Constructor) { @@ -136,13 +136,13 @@ bool isTriviallyDestructible(QualType Type) { } bool hasNonTrivialMoveConstructor(QualType Type) { - auto *Record = Type->getAsCXXRecordDecl(); + const auto *Record = Type->getAsCXXRecordDecl(); return Record && Record->hasDefinition() && Record->hasNonTrivialMoveConstructor(); } bool hasNonTrivialMoveAssignment(QualType Type) { - auto *Record = Type->getAsCXXRecordDecl(); + const auto *Record = Type->getAsCXXRecordDecl(); return Record && Record->hasDefinition() && Record->hasNonTrivialMoveAssignment(); } diff --git a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp index 1dc0376509054..e66e1e541e461 100644 --- a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp +++ b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp @@ -117,7 +117,7 @@ void UseRangesCheck::registerMatchers(MatchFinder *Finder) { Replacers.clear(); llvm::DenseSet<Replacer *> SeenRepl; for (auto I = Replaces.begin(), E = Replaces.end(); I != E; ++I) { - auto Replacer = I->getValue(); + const auto Replacer = I->getValue(); if (!SeenRepl.insert(Replacer.get()).second) continue; Replacers.push_back(Replacer); @@ -255,9 +255,9 @@ void UseRangesCheck::check(const MatchFinder::MatchResult &Result) { } const bool ResultUsed = isResultUsed(*Call, Result); - auto ResultPolicy = Replacer->getResultUsePolicy(*Function, false); + const auto ResultPolicy = Replacer->getResultUsePolicy(*Function, false); - auto Diag = createDiag(*Call); + const auto Diag = createDiag(*Call); if (auto ReplaceName = Replacer->getReplaceName(*Function)) Diag << FixItHint::CreateReplacement(Call->getCallee()->getSourceRange(), *ReplaceName); diff --git a/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp b/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp index 2040f42231118..f1bed2e53f075 100644 --- a/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp +++ b/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp @@ -57,7 +57,7 @@ std::optional<FixItHint> UsingInserter::createUsingDeclaration( return std::nullopt; } // Find conflicting declarations and references. - auto ConflictingDecl = namedDecl(hasName(UnqualifiedName)); + const auto ConflictingDecl = namedDecl(hasName(UnqualifiedName)); const bool HasConflictingDeclaration = !match(findAll(ConflictingDecl), *Function, Context).empty(); const bool HasConflictingDeclRef = _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
