Author: Baranov Victor
Date: 2026-08-04T16:33:52+03:00
New Revision: ddc8e4bb252f31ca433295facbead45f932413ba

URL: 
https://github.com/llvm/llvm-project/commit/ddc8e4bb252f31ca433295facbead45f932413ba
DIFF: 
https://github.com/llvm/llvm-project/commit/ddc8e4bb252f31ca433295facbead45f932413ba.diff

LOG: [clang-tidy][NFC] Apply const-correctness for auto 3/N (#213841)

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    
clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
    
clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    
clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
    
clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
    
clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    
clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
index 8b78b5a50f0c8..2f260c36155ff 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
@@ -314,7 +314,8 @@ void ArgumentCommentCheck::checkCallArgs(ASTContext *Ctx,
   if ((NumArgs == 0) || (IgnoreSingleArgument && NumArgs == 1))
     return;
 
-  auto MakeFileCharRange = [Ctx](SourceLocation Begin, SourceLocation End) {
+  const auto MakeFileCharRange = [Ctx](SourceLocation Begin,
+                                       SourceLocation End) {
     return Lexer::makeFileCharRange(CharSourceRange::getCharRange(Begin, End),
                                     Ctx->getSourceManager(),
                                     Ctx->getLangOpts());

diff  --git a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
index 574ccfc255a53..b7c7a3196d787 100644
--- a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
@@ -103,13 +103,13 @@ void 
AssertSideEffectCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
 }
 
 void AssertSideEffectCheck::registerMatchers(MatchFinder *Finder) {
-  auto IgnoredFunctionsMatcher =
+  const auto IgnoredFunctionsMatcher =
       matchers::matchesAnyListedRegexName(IgnoredFunctions);
 
-  auto DescendantWithSideEffect =
+  const auto DescendantWithSideEffect =
       traverse(TK_AsIs, hasDescendant(expr(hasSideEffect(
                             CheckFunctionCalls, IgnoredFunctionsMatcher))));
-  auto ConditionWithSideEffect = hasCondition(DescendantWithSideEffect);
+  const auto ConditionWithSideEffect = hasCondition(DescendantWithSideEffect);
   Finder->addMatcher(
       stmt(
           anyOf(conditionalOperator(ConditionWithSideEffect),

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
index 546d66f9c1452..f0ded3d9e4562 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
@@ -52,8 +52,8 @@ AST_MATCHER_P(Expr, conditionValueCanPropagateFrom,
 // Ignore implicit casts (including C++ conversion member calls) but not 
parens.
 AST_MATCHER_P(Expr, ignoringImplicitAsWritten,
               ast_matchers::internal::Matcher<Expr>, InnerMatcher) {
-  auto IgnoreImplicitMemberCallSingleStep = [](Expr *E) {
-    if (auto *C = dyn_cast<CXXMemberCallExpr>(E)) {
+  const auto IgnoreImplicitMemberCallSingleStep = [](Expr *E) {
+    if (const auto *C = dyn_cast<CXXMemberCallExpr>(E)) {
       Expr *ExprNode = C->getImplicitObjectArgument();
       if (ExprNode->getSourceRange() == E->getSourceRange())
         return ExprNode;
@@ -84,8 +84,9 @@ void AssignmentInSelectionStatementCheck::registerMatchers(
   auto AssignOpFromEmbeddedExpr = expr(ignoringParenImpCasts(
       conditionValueCanPropagateFrom(AssignOpMaybeParens)));
 
-  auto CondExprWithAssign = anyOf(AssignOpNoParens, AssignOpFromEmbeddedExpr);
-  auto OpCondExprWithAssign =
+  const auto CondExprWithAssign =
+      anyOf(AssignOpNoParens, AssignOpFromEmbeddedExpr);
+  const auto OpCondExprWithAssign =
       anyOf(AssignOpMaybeParens, AssignOpFromEmbeddedExpr);
 
   // In these cases "single primary expression" is possible.
@@ -102,7 +103,7 @@ void AssignmentInSelectionStatementCheck::registerMatchers(
       hasAnyOperatorName("&&", "||"),
       eachOf(hasLHS(OpCondExprWithAssign), hasRHS(OpCondExprWithAssign)));
 
-  auto FoundSelectionStmt =
+  const auto FoundSelectionStmt =
       stmt(anyOf(FoundControlStmt, FoundConditionalOperator, FoundLogicalOp))
           .bind("parent");
 

diff  --git a/clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
index a9e7ae8734677..b8b4948665b0f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
@@ -15,7 +15,7 @@ namespace clang::tidy::bugprone {
 
 void BitwisePointerCastCheck::registerMatchers(MatchFinder *Finder) {
   if (getLangOpts().CPlusPlus20) {
-    auto IsPointerType = refersToType(qualType(isAnyPointer()));
+    const auto IsPointerType = refersToType(qualType(isAnyPointer()));
     Finder->addMatcher(callExpr(hasDeclaration(functionDecl(allOf(
                                     hasName("::std::bit_cast"),
                                     hasTemplateArgument(0, IsPointerType),
@@ -24,7 +24,7 @@ void BitwisePointerCastCheck::registerMatchers(MatchFinder 
*Finder) {
                        this);
   }
 
-  auto IsDoublePointerType =
+  const auto IsDoublePointerType =
       hasType(qualType(pointsTo(qualType(isAnyPointer()))));
   Finder->addMatcher(callExpr(hasArgument(0, IsDoublePointerType),
                               hasArgument(1, IsDoublePointerType),

diff  --git a/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
index 588f9bfe076df..ad6b12c1d7d2f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
@@ -402,7 +402,7 @@ void BranchCloneCheck::check(const MatchFinder::MatchResult 
&Result) {
         Branches.back().push_back(S);
     }
 
-    auto *End = Branches.end();
+    const auto *End = Branches.end();
     auto *BeginCurrent = Branches.begin();
     while (BeginCurrent < End) {
       if (isFallthroughSwitchBranch(*BeginCurrent)) {

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
index 5adf8f97ee8f0..a78af8aa2fea3 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
@@ -83,11 +83,11 @@ void CapturingThisInMemberVariableCheck::storeOptions(
 }
 
 void CapturingThisInMemberVariableCheck::registerMatchers(MatchFinder *Finder) 
{
-  auto IsStdFunctionField =
+  const auto IsStdFunctionField =
       fieldDecl(hasType(cxxRecordDecl(
                     
matchers::matchesAnyListedRegexName(FunctionWrapperTypes))))
           .bind("field");
-  auto CaptureThis = lambdaCapture(anyOf(
+  const auto CaptureThis = lambdaCapture(anyOf(
       // [this]
       capturesThis(),
       // [self = this]
@@ -102,7 +102,7 @@ void 
CapturingThisInMemberVariableCheck::registerMatchers(MatchFinder *Finder) {
                hasAnyArgument(cxxThisExpr()))
           .bind("bind");
 
-  auto IsInitWithLambdaOrBind =
+  const auto IsInitWithLambdaOrBind =
       anyOf(IsLambdaCapturingThis, IsBindCapturingThis,
             cxxConstructExpr(hasArgument(
                 0, anyOf(IsLambdaCapturingThis, IsBindCapturingThis))));

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
 
b/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
index 91290c2850c57..8b1fbe04fb1eb 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
@@ -34,10 +34,10 @@ static constexpr StringRef ErrorMsg =
 
 void ComparePointerToMemberVirtualFunctionCheck::registerMatchers(
     MatchFinder *Finder) {
-  auto DirectMemberVirtualFunctionPointer = unaryOperator(
+  const auto DirectMemberVirtualFunctionPointer = unaryOperator(
       allOf(hasOperatorName("&"),
             hasUnaryOperand(declRefExpr(to(cxxMethodDecl(isVirtual()))))));
-  auto IndirectMemberPointer =
+  const auto IndirectMemberPointer =
       ignoringImpCasts(declRefExpr().bind("indirect_member_pointer"));
 
   Finder->addMatcher(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
index ccbc86ae74cc6..5809dcfb4bd1c 100644
--- a/clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
@@ -87,9 +87,10 @@ void CopyConstructorInitCheck::check(const 
MatchFinder::MatchResult &Result) {
   if (!HasRelevantBaseInit)
     return;
 
-  auto Diag = diag(Ctor->getLocation(),
-                   "calling a base constructor other than the copy 
constructor")
-              << SafeFixIts;
+  const auto Diag =
+      diag(Ctor->getLocation(),
+           "calling a base constructor other than the copy constructor")
+      << SafeFixIts;
 
   if (FixItInitList.empty() || ParamName.empty() || ShouldNotDoFixit)
     return;

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
index 8c8a9020011b0..13d9750234b0d 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
@@ -129,8 +129,8 @@ void CrtpConstructorAccessibilityCheck::check(
         << HintFriend;
   }
 
-  auto WithFriendHintIfNeeded = [&](const DiagnosticBuilder &Diag,
-                                    bool NeedsFriend) {
+  const auto WithFriendHintIfNeeded = [&](const DiagnosticBuilder &Diag,
+                                          bool NeedsFriend) {
     if (NeedsFriend)
       Diag << HintFriend;
   };

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
index e95af89375dc8..0e0f3b95fffdd 100644
--- a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
@@ -278,7 +278,7 @@ struct ConversionSequence {
   /// the conversion sequence. This method does **NOT** return Begin and End.
   SmallVector<QualType, 4> getInvolvedTypesInSequence() const {
     SmallVector<QualType, 4> Ret;
-    auto EmplaceIfDifferent = [&Ret](QualType QT) {
+    const auto EmplaceIfDifferent = [&Ret](QualType QT) {
       if (QT.isNull())
         return;
       if (Ret.empty())
@@ -976,7 +976,7 @@ approximateStandardConversionSequence(const TheCheck 
&Check, QualType From,
   // Get out the qualifiers of the original type. This will always be
   // re-applied to the WorkType to ensure it is the same qualification as the
   // original From was.
-  auto FastQualifiersToApply = static_cast<unsigned>(
+  const auto FastQualifiersToApply = static_cast<unsigned>(
       From.split().Quals.getAsOpaqueValue() & Qualifiers::FastMask);
 
   // LValue->RValue is irrelevant for the check, because it is a thing to be
@@ -1595,7 +1595,7 @@ using ParamToSmallPtrSetMap =
 template <typename MapTy, typename ElemTy>
 static bool lazyMapOfSetsIntersectionExists(const MapTy &Map, const ElemTy &E1,
                                             const ElemTy &E2) {
-  auto E1Iterator = Map.find(E1);
+  const auto E1Iterator = Map.find(E1);
   auto E2Iterator = Map.find(E2);
   if (E1Iterator == Map.end() || E2Iterator == Map.end())
     return false;
@@ -1637,7 +1637,7 @@ class AppearsInSameExpr : public 
RecursiveASTVisitor<AppearsInSameExpr> {
   }
 
   bool TraverseStmt(Stmt *S, DataRecursionQueue *Queue = nullptr) {
-    if (auto *E = dyn_cast_or_null<Expr>(S)) {
+    if (const auto *E = dyn_cast_or_null<Expr>(S)) {
       bool RootSetInCurrentStackFrame = false;
       if (!CurrentExprOnlyTreeRoot) {
         CurrentExprOnlyTreeRoot = E;
@@ -1678,7 +1678,7 @@ class PassedToSameFunction {
 
 public:
   void setup(const FunctionDecl *FD) {
-    auto ParamsAsArgsInFnCalls =
+    const auto ParamsAsArgsInFnCalls =
         match(functionDecl(forEachDescendant(
                   callExpr(forEachArgumentWithParam(
                                paramRefExpr(), 
parmVarDecl().bind("passed-to")))
@@ -1718,7 +1718,7 @@ class AccessedSameMemberOf {
 
 public:
   void setup(const FunctionDecl *FD) {
-    auto MembersCalledOnParams = match(
+    const auto MembersCalledOnParams = match(
         functionDecl(forEachDescendant(
             memberExpr(hasObjectExpression(paramRefExpr())).bind("mem-expr"))),
         *FD, FD->getASTContext());
@@ -1745,9 +1745,9 @@ class Returned {
 public:
   void setup(const FunctionDecl *FD) {
     // TODO: Handle co_return.
-    auto ParamReturns = match(functionDecl(forEachDescendant(
-                                  returnStmt(hasReturnValue(paramRefExpr())))),
-                              *FD, FD->getASTContext());
+    const auto ParamReturns = match(functionDecl(forEachDescendant(returnStmt(
+                                        hasReturnValue(paramRefExpr())))),
+                                    *FD, FD->getASTContext());
     for (const auto &Match : ParamReturns) {
       const auto *ReturnedParam = Match.getNodeAs<ParmVarDecl>("param");
       assert(ReturnedParam);
@@ -2001,7 +2001,7 @@ struct FormattedConversionSequence {
       Trivial = false;
     }
 
-    auto AddType = [&](StringRef ToAdd) {
+    const auto AddType = [&](StringRef ToAdd) {
       if (LastAddedType != ToAdd && ToAdd != SeqEndTypeStr) {
         OS << " -> '" << ToAdd << "'";
         LastAddedType = ToAdd.str();
@@ -2217,8 +2217,8 @@ void EasilySwappableParametersCheck::check(
         DiagText = "%0 adjacent parameters of %1 of similar type ('%2') are "
                    "easily swapped by mistake";
 
-      auto Diag = diag(First->getOuterLocStart(), DiagText)
-                  << static_cast<unsigned>(R.NumParamsChecked) << FD;
+      const auto Diag = diag(First->getOuterLocStart(), DiagText)
+                        << static_cast<unsigned>(R.NumParamsChecked) << FD;
       if (!NeedsAnyTypeNote)
         Diag << FirstParamTypeAsWritten;
 
@@ -2281,7 +2281,7 @@ void EasilySwappableParametersCheck::check(
           ExplicitlyPrintCommonType = true;
         }
 
-        auto Diag =
+        const auto Diag =
             diag(LVar->getOuterLocStart(), DiagText, DiagnosticIDs::Note)
             << LTypeStr << RTypeStr;
         if (ExplicitlyPrintCommonType)
@@ -2312,7 +2312,7 @@ void EasilySwappableParametersCheck::check(
           DiagText = "'%0' and '%1' may be implicitly converted: %2, %3";
 
         {
-          auto Diag =
+          const auto Diag =
               diag(RVar->getOuterLocStart(), DiagText, DiagnosticIDs::Note)
               << LTypeStr << RTypeStr;
 

diff  --git a/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
index 9e5e1219b6387..bf721bac658b5 100644
--- a/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
@@ -76,13 +76,13 @@ std::optional<TraversalKind> 
EmptyCatchCheck::getCheckTraversalKind() const {
 }
 
 void EmptyCatchCheck::registerMatchers(MatchFinder *Finder) {
-  auto AllowedNamedExceptionDecl = namedDecl(
+  const auto AllowedNamedExceptionDecl = namedDecl(
       matchers::matchesAnyListedRegexName(AllowEmptyCatchForExceptions));
   auto AllowedNamedExceptionTypes =
       qualType(anyOf(hasDeclaration(AllowedNamedExceptionDecl),
                      references(AllowedNamedExceptionDecl),
                      pointsTo(AllowedNamedExceptionDecl)));
-  auto IgnoredExceptionType =
+  const auto IgnoredExceptionType =
       qualType(anyOf(AllowedNamedExceptionTypes,
                      hasCanonicalType(AllowedNamedExceptionTypes)));
 

diff  --git a/clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
index 7d23e2d2b5630..ea2cbbc580d32 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
@@ -106,7 +106,7 @@ void 
ExceptionEscapeCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
 }
 
 void ExceptionEscapeCheck::registerMatchers(MatchFinder *Finder) {
-  auto MatchIf = [](bool Enabled, const auto &Matcher) {
+  const auto MatchIf = [](bool Enabled, const auto &Matcher) {
     const ast_matchers::internal::Matcher<FunctionDecl> Nothing =
         unless(anything());
     return Enabled ? Matcher : Nothing;

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
index 65578f7d81254..476bb25b77cac 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
@@ -143,7 +143,7 @@ void 
ForwardDeclarationNamespaceCheck::onEndOfTranslationUnit() {
       }
       // Check if a definition in another namespace exists.
       const auto DeclName = CurDecl->getName();
-      auto It = DeclNameToDefinitions.find(DeclName);
+      const auto It = DeclNameToDefinitions.find(DeclName);
       if (It == DeclNameToDefinitions.end())
         continue; // No definition in this translation unit, we can skip it.
       // Make a warning for each definition with the same name (in other

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index 8d4d9d67f17f4..9e2214a5c7c82 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -17,7 +17,7 @@ namespace clang::tidy::bugprone {
 namespace {
 // Check if the given type is related to std::enable_if.
 AST_MATCHER(QualType, isEnableIf) {
-  auto CheckTemplate = [](const TemplateSpecializationType *Spec) {
+  const auto CheckTemplate = [](const TemplateSpecializationType *Spec) {
     if (!Spec)
       return false;
 
@@ -58,7 +58,7 @@ AST_MATCHER(TemplateDecl, hasAssociatedConstraints) {
 } // namespace
 
 void ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
-  auto ForwardingRefParm =
+  const auto ForwardingRefParm =
       parmVarDecl(
           hasType(qualType(rValueReferenceType(),
                            references(templateTypeParmType(hasDeclaration(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
 
b/clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
index 7c259a6199832..126dc9ba36192 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
@@ -111,10 +111,10 @@ void 
ImplicitWideningOfMultiplicationResultCheck::handleImplicitCastExpr(
       << Ty << E->getType();
 
   {
-    auto Diag = diag(E->getBeginLoc(),
-                     "make conversion explicit to silence this warning",
-                     DiagnosticIDs::Note)
-                << E->getSourceRange();
+    const auto Diag = diag(E->getBeginLoc(),
+                           "make conversion explicit to silence this warning",
+                           DiagnosticIDs::Note)
+                      << E->getSourceRange();
     const SourceLocation EndLoc = Lexer::getLocForEndOfToken(
         E->getEndLoc(), 0, *Result->SourceManager, getLangOpts());
     if (ShouldUseCXXStaticCast)
@@ -146,9 +146,10 @@ void 
ImplicitWideningOfMultiplicationResultCheck::handleImplicitCastExpr(
   }
 
   {
-    auto Diag = diag(E->getBeginLoc(), "perform multiplication in a wider 
type",
-                     DiagnosticIDs::Note)
-                << LHS->getSourceRange();
+    const auto Diag =
+        diag(E->getBeginLoc(), "perform multiplication in a wider type",
+             DiagnosticIDs::Note)
+        << LHS->getSourceRange();
 
     if (ShouldUseCXXStaticCast)
       Diag << FixItHint::CreateInsertion(LHS->getBeginLoc(),
@@ -225,10 +226,10 @@ void 
ImplicitWideningOfMultiplicationResultCheck::handlePointerOffsetting(
       << IndexExprType << TyAsString;
 
   {
-    auto Diag = diag(IndexExpr->getBeginLoc(),
-                     "make conversion explicit to silence this warning",
-                     DiagnosticIDs::Note)
-                << IndexExpr->getSourceRange();
+    const auto Diag = diag(IndexExpr->getBeginLoc(),
+                           "make conversion explicit to silence this warning",
+                           DiagnosticIDs::Note)
+                      << IndexExpr->getSourceRange();
     const SourceLocation EndLoc = Lexer::getLocForEndOfToken(
         IndexExpr->getEndLoc(), 0, *Result->SourceManager, getLangOpts());
     if (ShouldUseCXXStaticCast)
@@ -244,7 +245,7 @@ void 
ImplicitWideningOfMultiplicationResultCheck::handlePointerOffsetting(
   }
 
   {
-    auto Diag =
+    const auto Diag =
         diag(IndexExpr->getBeginLoc(), "perform multiplication in a wider 
type",
              DiagnosticIDs::Note)
         << LHS->getSourceRange();

diff  --git a/clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
index bdb91b1ed0f4d..dee0b1beccb68 100644
--- a/clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
@@ -31,7 +31,7 @@ AST_MATCHER(CXXOperatorCallExpr, isPrePostOperator) {
 } // namespace
 
 void IncDecInConditionsCheck::registerMatchers(MatchFinder *Finder) {
-  auto OperatorMatcher = expr(
+  const auto OperatorMatcher = expr(
       anyOf(binaryOperator(anyOf(isComparisonOperator(), isLogicalOperator())),
             cxxOperatorCallExpr(isComparisonOperator())));
 

diff  --git a/clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
index 5a592e10a599e..ebe45f367ae2f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
@@ -54,9 +54,9 @@ void IncorrectEnableIfCheck::check(const 
MatchFinder::MatchResult &Result) {
   const SourceLocation RAngleLoc =
       SM.getExpansionLoc(EnableIfSpecializationLoc->getRAngleLoc());
 
-  auto Diag = diag(EnableIf->getBeginLoc(),
-                   "incorrect std::enable_if usage detected; use "
-                   "'typename std::enable_if<...>::type'");
+  const auto Diag = diag(EnableIf->getBeginLoc(),
+                         "incorrect std::enable_if usage detected; use "
+                         "'typename std::enable_if<...>::type'");
   if (!getLangOpts().CPlusPlus20 &&
       EnableIfSpecializationLoc->getElaboratedKeywordLoc().isInvalid()) {
     Diag << 
FixItHint::CreateInsertion(EnableIfSpecializationLoc->getBeginLoc(),

diff  --git a/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
index a4965c298adbc..1ba3297c023cd 100644
--- a/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
@@ -26,10 +26,10 @@ AST_MATCHER(FloatingLiteral, floatHalf) {
 
 void IncorrectRoundingsCheck::registerMatchers(MatchFinder *MatchFinder) {
   // Match a floating literal with value 0.5.
-  auto FloatHalf = floatLiteral(floatHalf());
+  const auto FloatHalf = floatLiteral(floatHalf());
 
   // Match a floating point expression.
-  auto FloatType = expr(hasType(realFloatingPointType()));
+  const auto FloatType = expr(hasType(realFloatingPointType()));
 
   // Find expressions of cast to int of the sum of a floating point expression
   // and 0.5.

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
 
b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
index 65efb9adff3ac..09d84391d8ba3 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
@@ -81,7 +81,7 @@ class FindEnumMember : public TypeVisitor<FindEnumMember, 
bool> {
     const RecordDecl *RD = T->getDecl()->getDefinition();
     if (!RD || RD->isUnion())
       return false;
-    auto VisitField = [this](const FieldDecl *F) {
+    const auto VisitField = [this](const FieldDecl *F) {
       return Visit(F->getType().getTypePtr());
     };
     return llvm::any_of(RD->fields(), VisitField);
@@ -110,7 +110,7 @@ void 
InvalidEnumDefaultInitializationCheck::registerMatchers(
       enumDecl(isCompleteAndHasNoZeroValue(),
                unless(matchers::matchesAnyListedRegexName(IgnoredEnums)))
           .bind("enum")));
-  auto EnumOrArrayOfEnum = qualType(hasUnqualifiedDesugaredType(
+  const auto EnumOrArrayOfEnum = qualType(hasUnqualifiedDesugaredType(
       anyOf(EnumWithoutZeroValue,
             arrayType(hasElementType(qualType(
                 hasUnqualifiedDesugaredType(EnumWithoutZeroValue)))))));

diff  --git a/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
index 11e2d2e6a72f4..c6bf0fbbc1f54 100644
--- a/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
@@ -94,7 +94,7 @@ void LambdaFunctionNameCheck::check(const 
MatchFinder::MatchResult &Result) {
     if (IgnoreMacros)
       return;
 
-    auto ER =
+    const auto ER =
         Result.SourceManager->getImmediateExpansionRange(E->getLocation());
     if (SuppressMacroExpansions.contains(ER.getAsRange())) {
       // This is a macro expansion for which we should not warn.

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
index ff7f3020102ad..36715e662e71c 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
@@ -15,25 +15,25 @@ using namespace clang::ast_matchers;
 namespace clang::tidy::bugprone {
 
 void MisleadingSetterOfReferenceCheck::registerMatchers(MatchFinder *Finder) {
-  auto RefField = fieldDecl(hasType(hasCanonicalType(referenceType(
-                                pointee(equalsBoundNode("type"))))))
-                      .bind("member");
-  auto AssignLHS = memberExpr(
+  const auto RefField = fieldDecl(hasType(hasCanonicalType(referenceType(
+                                      pointee(equalsBoundNode("type"))))))
+                            .bind("member");
+  const auto AssignLHS = memberExpr(
       hasObjectExpression(ignoringParenCasts(cxxThisExpr())), 
member(RefField));
-  auto DerefOperand = expr(ignoringParenCasts(
+  const auto DerefOperand = expr(ignoringParenCasts(
       declRefExpr(to(parmVarDecl(equalsBoundNode("parm"))))));
-  auto AssignRHS = expr(ignoringParenCasts(
+  const auto AssignRHS = expr(ignoringParenCasts(
       unaryOperator(hasOperatorName("*"), hasUnaryOperand(DerefOperand))));
 
-  auto BinaryOpAssign = binaryOperator(hasOperatorName("="), hasLHS(AssignLHS),
-                                       hasRHS(AssignRHS));
-  auto CXXOperatorCallAssign = cxxOperatorCallExpr(
+  const auto BinaryOpAssign = binaryOperator(
+      hasOperatorName("="), hasLHS(AssignLHS), hasRHS(AssignRHS));
+  const auto CXXOperatorCallAssign = cxxOperatorCallExpr(
       hasOverloadedOperatorName("="), hasLHS(AssignLHS), hasRHS(AssignRHS));
 
-  auto SetBody =
+  const auto SetBody =
       compoundStmt(statementCountIs(1),
                    anyOf(has(BinaryOpAssign), has(CXXOperatorCallAssign)));
-  auto BadSetFunction =
+  const auto BadSetFunction =
       cxxMethodDecl(
           parameterCountIs(1),
           hasParameter(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
 
b/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
index 5925e28eed734..968cb4c0cc73a 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
@@ -96,7 +96,7 @@ void MisplacedOperatorInStrlenInAllocCheck::check(
       CharSourceRange::getTokenRange(BinOp->getRHS()->getSourceRange()),
       *Result.SourceManager, getLangOpts());
 
-  auto Hint = FixItHint::CreateReplacement(
+  const auto Hint = FixItHint::CreateReplacement(
       StrLen->getSourceRange(),
       (StrLenBegin + LHSText + StrLenEnd + " + " + RHSText).str());
 

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
index c8679e45b299a..051f0b569c66b 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
@@ -204,9 +204,9 @@ void MissingEndComparisonCheck::check(const 
MatchFinder::MatchResult &Result) {
   if (!EndExprText)
     return;
 
-  auto Diag = diag(BoolOp->getBeginLoc(),
-                   "result of standard algorithm used as 'bool'; did you "
-                   "mean to compare with the end iterator?");
+  const auto Diag = diag(BoolOp->getBeginLoc(),
+                         "result of standard algorithm used as 'bool'; did you 
"
+                         "mean to compare with the end iterator?");
 
   if (EndExprText->empty())
     return;

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
index 7e545096aed67..eb84c76cf78db 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
@@ -79,7 +79,7 @@ static void replaceMoveWithForward(const UnresolvedLookupExpr 
*Callee,
 void MoveForwardingReferenceCheck::registerMatchers(MatchFinder *Finder) {
   // Matches a ParmVarDecl for a forwarding reference, i.e. a non-const rvalue
   // reference of a function template parameter type.
-  auto ForwardingReferenceParmMatcher =
+  const auto ForwardingReferenceParmMatcher =
       parmVarDecl(
           hasType(qualType(rValueReferenceType(),
                            references(templateTypeParmType(hasDeclaration(
@@ -127,10 +127,11 @@ void MoveForwardingReferenceCheck::check(
   if (!llvm::is_contained(*Params, TypeParmDecl))
     return;
 
-  auto Diag = diag(CallMove->getExprLoc(),
-                   "forwarding reference passed to std::move(), which may "
-                   "unexpectedly cause lvalues to be moved; use "
-                   "std::forward() instead");
+  const auto Diag =
+      diag(CallMove->getExprLoc(),
+           "forwarding reference passed to std::move(), which may "
+           "unexpectedly cause lvalues to be moved; use "
+           "std::forward() instead");
 
   replaceMoveWithForward(UnresolvedLookup, ParmVar, TypeParmDecl, Diag,
                          *Result.Context);

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
index b81d2b438d58d..aef000c66eb3b 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
@@ -83,16 +83,19 @@ void 
MultipleNewInOneExpressionCheck::registerMatchers(MatchFinder *Finder) {
   auto BadAllocReferenceType = referenceType(pointee(BadAllocType));
   auto ExceptionReferenceType = referenceType(pointee(ExceptionType));
 
-  auto CatchBadAllocType =
+  const auto CatchBadAllocType =
       qualType(hasCanonicalType(anyOf(BadAllocType, BadAllocReferenceType,
                                       ExceptionType, ExceptionReferenceType)));
-  auto BadAllocCatchingTryBlock = cxxTryStmt(hasHandlerFor(CatchBadAllocType));
-
-  auto NewExprMayThrow = cxxNewExpr(mayThrow());
-  auto HasNewExpr1 = expr(anyOf(NewExprMayThrow.bind("new1"),
-                                hasDescendant(NewExprMayThrow.bind("new1"))));
-  auto HasNewExpr2 = expr(anyOf(NewExprMayThrow.bind("new2"),
-                                hasDescendant(NewExprMayThrow.bind("new2"))));
+  const auto BadAllocCatchingTryBlock =
+      cxxTryStmt(hasHandlerFor(CatchBadAllocType));
+
+  const auto NewExprMayThrow = cxxNewExpr(mayThrow());
+  const auto HasNewExpr1 =
+      expr(anyOf(NewExprMayThrow.bind("new1"),
+                 hasDescendant(NewExprMayThrow.bind("new1"))));
+  const auto HasNewExpr2 =
+      expr(anyOf(NewExprMayThrow.bind("new2"),
+                 hasDescendant(NewExprMayThrow.bind("new2"))));
 
   Finder->addMatcher(
       callExpr(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
index 54ed8994d0352..bf026f9374437 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
@@ -23,7 +23,7 @@ AST_MATCHER(Expr, isInMacro) { return 
Node.getBeginLoc().isMacroID(); }
 /// Find the next statement after `S`.
 static const Stmt *nextStmt(const MatchFinder::MatchResult &Result,
                             const Stmt *S) {
-  auto Parents = Result.Context->getParents(*S);
+  const auto Parents = Result.Context->getParents(*S);
   if (Parents.empty())
     return nullptr;
   const auto *Parent = Parents[0].get<Stmt>();

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
index 8421f7f738c2e..b99a3fd1ddc3c 100644
--- a/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
@@ -49,7 +49,7 @@ bool 
NonZeroEnumToBoolConversionCheck::isLanguageVersionSupported(
 void NonZeroEnumToBoolConversionCheck::registerMatchers(MatchFinder *Finder) {
   // Excluding bitwise operators (binary and overload) to avoid false-positives
   // in code like this 'if (e & SUCCESS) {'.
-  auto ExcludedOperators = binaryOperation(hasAnyOperatorName(
+  const auto ExcludedOperators = binaryOperation(hasAnyOperatorName(
       "|", "&", "^", "<<", ">>", "~", "|=", "&=", "^=", "<<=", ">>="));
 
   Finder->addMatcher(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
 
b/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
index d7455be873496..eab0fe2babf53 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
@@ -15,10 +15,10 @@ namespace clang::tidy::bugprone {
 
 void NondeterministicPointerIterationOrderCheck::registerMatchers(
     MatchFinder *Finder) {
-  auto LoopVariable = varDecl(hasType(
+  const auto LoopVariable = varDecl(hasType(
       qualType(hasCanonicalType(anyOf(referenceType(), pointerType())))));
 
-  auto RangeInit = declRefExpr(to(varDecl(
+  const auto RangeInit = declRefExpr(to(varDecl(
       hasType(recordDecl(hasAnyName("std::unordered_set", "std::unordered_map",
                                     "std::unordered_multiset",
                                     "std::unordered_multimap"))

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
index 8359a393917e5..dc09fabffed1e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
@@ -517,14 +517,14 @@ AST_MATCHER_P(Expr, hasDefinition, 
ast_matchers::internal::Matcher<Expr>,
   if (InnerMatcher.matches(*SimpleNode, Finder, Builder))
     return true;
 
-  auto DREHasInit = ignoringImpCasts(
+  const auto DREHasInit = ignoringImpCasts(
       
declRefExpr(to(varDecl(hasInitializer(ignoringImpCasts(InnerMatcher))))));
 
   if (DREHasInit.matches(*SimpleNode, Finder, Builder))
     return true;
 
   const char *const VarDeclName = "variable-declaration";
-  auto DREHasDefinition = ignoringImpCasts(declRefExpr(
+  const auto DREHasDefinition = ignoringImpCasts(declRefExpr(
       to(varDecl().bind(VarDeclName)),
       hasAncestor(compoundStmt(hasDescendant(binaryOperator(
           hasLHS(declRefExpr(to(varDecl(equalsBoundNode(VarDeclName))))),
@@ -538,25 +538,26 @@ AST_MATCHER_P(Expr, hasDefinition, 
ast_matchers::internal::Matcher<Expr>,
 } // namespace
 
 void NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
-  auto IncOp =
+  const auto IncOp =
       binaryOperator(hasOperatorName("+"),
                      
hasEitherOperand(ignoringParenImpCasts(integerLiteral())));
 
-  auto DecOp =
+  const auto DecOp =
       binaryOperator(hasOperatorName("-"),
                      
hasEitherOperand(ignoringParenImpCasts(integerLiteral())));
 
-  auto HasIncOp = anyOf(ignoringImpCasts(IncOp), hasDescendant(IncOp));
-  auto HasDecOp = anyOf(ignoringImpCasts(DecOp), hasDescendant(DecOp));
+  const auto HasIncOp = anyOf(ignoringImpCasts(IncOp), hasDescendant(IncOp));
+  const auto HasDecOp = anyOf(ignoringImpCasts(DecOp), hasDescendant(DecOp));
 
-  auto Container = 
ignoringImpCasts(cxxMemberCallExpr(hasDescendant(declRefExpr(
-      hasType(hasUnqualifiedDesugaredType(recordType(hasDeclaration(recordDecl(
-          hasAnyName("::std::vector", "::std::list", "::std::deque"))))))))));
+  const auto Container = ignoringImpCasts(cxxMemberCallExpr(
+      hasDescendant(declRefExpr(hasType(hasUnqualifiedDesugaredType(
+          recordType(hasDeclaration(recordDecl(hasAnyName(
+              "::std::vector", "::std::list", "::std::deque"))))))))));
 
-  auto StringTy = type(hasUnqualifiedDesugaredType(recordType(
+  const auto StringTy = type(hasUnqualifiedDesugaredType(recordType(
       hasDeclaration(cxxRecordDecl(hasName("::std::basic_string"))))));
 
-  auto AnyOfStringTy =
+  const auto AnyOfStringTy =
       anyOf(hasType(StringTy), hasType(qualType(pointsTo(StringTy))));
 
   auto CharTyArray = hasType(qualType(hasCanonicalType(
@@ -565,7 +566,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
   auto CharTyPointer = hasType(
       qualType(hasCanonicalType(pointerType(pointee(isAnyCharacter())))));
 
-  auto AnyOfCharTy = anyOf(CharTyArray, CharTyPointer);
+  const auto AnyOfCharTy = anyOf(CharTyArray, CharTyPointer);
 
   
//===--------------------------------------------------------------------===//
   // The following six cases match problematic length expressions.
@@ -603,7 +604,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
   auto DREHasReturnWithoutInc = ignoringImpCasts(
       declRefExpr(to(varDecl(hasInitializer(CallExprReturnWithoutInc)))));
 
-  auto AnyOfWrongLengthInit =
+  const auto AnyOfWrongLengthInit =
       anyOf(WrongLength, AnyOfCallOrDREWithoutInc, CallExprReturnWithoutInc,
             DREHasReturnWithoutInc);
 
@@ -615,7 +616,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
   // Note: Sometimes the size of char is explicitly written out.
   auto SizeExpr = anyOf(SizeOfCharExpr, integerLiteral(equals(1)));
 
-  auto MallocLengthExpr = allOf(
+  const auto MallocLengthExpr = allOf(
       callee(functionDecl(
           hasAnyName("::alloca", "::calloc", "malloc", "realloc"))),
       hasAnyArgument(allOf(unless(SizeExpr), 
expr().bind(DestMallocExprName))));
@@ -641,13 +642,13 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
                   expr().bind(UnknownDestName))
           .bind(DestExprName);
 
-  auto AnyOfDestDecl = ignoringImpCasts(
+  const auto AnyOfDestDecl = ignoringImpCasts(
       anyOf(allOf(hasDefinition(anyOf(AnyOfDestInit, DestArrayTyDecl,
                                       hasDescendant(DestArrayTyDecl))),
                   expr().bind(DestExprName)),
             anyOf(DestUnknownDecl, hasDescendant(DestUnknownDecl))));
 
-  auto NullTerminatorExpr = binaryOperator(
+  const auto NullTerminatorExpr = binaryOperator(
       hasLHS(anyOf(hasDescendant(declRefExpr(to(varDecl(
                        equalsBoundNode(std::string(DestVarDeclName)))))),
                    hasDescendant(declRefExpr(
@@ -660,7 +661,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
                   anyOf(hasAncestor(cxxMemberCallExpr().bind(SrcExprName)),
                         expr().bind(SrcExprName)));
 
-  auto AnyOfSrcDecl =
+  const auto AnyOfSrcDecl =
       ignoringImpCasts(anyOf(stringLiteral().bind(SrcExprName),
                              hasDescendant(stringLiteral().bind(SrcExprName)),
                              SrcDecl, hasDescendant(SrcDecl)));
@@ -683,7 +684,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
     bool WithIncrease;
   };
 
-  auto MatchDestination = [=](CallContext CC) {
+  const auto MatchDestination = [=](CallContext CC) {
     return hasArgument(*CC.DestinationPos,
                        allOf(AnyOfDestDecl,
                              unless(hasAncestor(compoundStmt(
@@ -691,11 +692,11 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
                              unless(Container)));
   };
 
-  auto MatchSource = [=](CallContext CC) {
+  const auto MatchSource = [=](CallContext CC) {
     return hasArgument(*CC.SourcePos, AnyOfSrcDecl);
   };
 
-  auto MatchGivenLength = [=](CallContext CC) {
+  const auto MatchGivenLength = [=](CallContext CC) {
     return hasArgument(
         CC.LengthPos,
         allOf(
@@ -712,7 +713,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
             expr().bind(LengthExprName)));
   };
 
-  auto MatchCall = [=](CallContext CC) {
+  const auto MatchCall = [=](CallContext CC) {
     const std::string CharHandlerFuncName = "::" + CC.Name.str();
 
     // Try to match with 'wchar_t' based function calls.
@@ -725,7 +726,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
                  MatchGivenLength(CC));
   };
 
-  auto Match = [=](CallContext CC) {
+  const auto Match = [=](CallContext CC) {
     if (CC.DestinationPos && CC.SourcePos)
       return allOf(MatchCall(CC), MatchDestination(CC), MatchSource(CC));
 
@@ -747,7 +748,7 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
   auto MemcpyS = Match({"memcpy_s", 0, 2, 3, false});
 
   // void *memchr(const void *src, int c, size_t count)
-  auto Memchr = Match({"memchr", std::nullopt, 0, 2, false});
+  const auto Memchr = Match({"memchr", std::nullopt, 0, 2, false});
 
   // void *memmove(void *dest, const void *src, size_t count)
   auto Memmove = Match({"memmove", 0, 1, 2, false});
@@ -765,8 +766,8 @@ void 
NotNullTerminatedResultCheck::registerMatchers(MatchFinder *Finder) {
   // errno_t strerror_s(char *buffer, size_t bufferSize, int errnum);
   auto StrerrorS = Match({"strerror_s", 0, std::nullopt, 1, false});
 
-  auto AnyOfMatchers = anyOf(Memcpy, MemcpyS, Memmove, MemmoveS, StrncmpRHS,
-                             StrncmpLHS, Strxfrm, StrerrorS);
+  const auto AnyOfMatchers = anyOf(Memcpy, MemcpyS, Memmove, MemmoveS,
+                                   StrncmpRHS, StrncmpLHS, Strxfrm, StrerrorS);
 
   Finder->addMatcher(callExpr(AnyOfMatchers).bind(FunctionExprName), this);
 
@@ -915,8 +916,9 @@ void NotNullTerminatedResultCheck::memchrFix(
     if (GivenCL->getValue() != 0)
       return;
 
-  auto Diag = diag(FunctionExpr->getArg(2)->IgnoreParenCasts()->getBeginLoc(),
-                   "the length is too short to include the null terminator");
+  const auto Diag =
+      diag(FunctionExpr->getArg(2)->IgnoreParenCasts()->getBeginLoc(),
+           "the length is too short to include the null terminator");
 
   if (const auto *CastExpr = Result.Nodes.getNodeAs<Expr>(CastExprName)) {
     const auto CastRemoveFix = FixItHint::CreateRemoval(
@@ -945,7 +947,7 @@ void NotNullTerminatedResultCheck::memmoveFix(
 
 void NotNullTerminatedResultCheck::strerrorSFix(
     const MatchFinder::MatchResult &Result) {
-  auto Diag =
+  const auto Diag =
       diag(Result.Nodes.getNodeAs<CallExpr>(FunctionExprName)->getBeginLoc(),
            "the result from calling 'strerror_s' is not null-terminated and "
            "missing the last character of the error message");
@@ -979,9 +981,10 @@ void NotNullTerminatedResultCheck::ncmpFix(
   if (!IsLengthTooLong && !isStringDataAndLength(Result))
     return;
 
-  auto Diag = diag(FunctionExpr->getArg(2)->IgnoreParenCasts()->getBeginLoc(),
-                   "comparison length is too long and might lead to a "
-                   "buffer overflow");
+  const auto Diag =
+      diag(FunctionExpr->getArg(2)->IgnoreParenCasts()->getBeginLoc(),
+           "comparison length is too long and might lead to a "
+           "buffer overflow");
 
   lengthArgHandle(LengthHandleKind::Decrease, Result, Diag);
 }
@@ -991,7 +994,7 @@ void NotNullTerminatedResultCheck::xfrmFix(
   if (!isDestCapacityOverflows(Result))
     return;
 
-  auto Diag =
+  const auto Diag =
       diag(Result.Nodes.getNodeAs<CallExpr>(FunctionExprName)->getBeginLoc(),
            "the result from calling '%0' is not null-terminated")
       << Name;

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
index 446e62e41d16c..972c8fa1251d6 100644
--- a/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
@@ -51,12 +51,12 @@ OptionalValueConversionCheck::getCheckTraversalKind() const 
{
 }
 
 void OptionalValueConversionCheck::registerMatchers(MatchFinder *Finder) {
-  auto BindOptionalType = qualType(hasCleanType(
+  const auto BindOptionalType = qualType(hasCleanType(
       qualType(hasDeclaration(namedDecl(
                    matchers::matchesAnyListedRegexName(OptionalTypes))))
           .bind("optional-type")));
 
-  auto EqualsBoundOptionalType =
+  const auto EqualsBoundOptionalType =
       qualType(hasCleanType(equalsBoundNode("optional-type")));
 
   auto OptionalDerefMatcherImpl = callExpr(
@@ -75,7 +75,7 @@ void 
OptionalValueConversionCheck::registerMatchers(MatchFinder *Finder) {
   auto StdMoveCallMatcher =
       callExpr(argumentCountIs(1), 
callee(functionDecl(hasName("::std::move"))),
                hasArgument(0, ignoringImpCasts(OptionalDerefMatcherImpl)));
-  auto OptionalDerefMatcher =
+  const auto OptionalDerefMatcher =
       ignoringImpCasts(anyOf(OptionalDerefMatcherImpl, StdMoveCallMatcher));
 
   Finder->addMatcher(
@@ -146,7 +146,7 @@ void OptionalValueConversionCheck::check(
     if (!Tok)
       return;
     const SourceLocation Begin = Tok->getLocation();
-    auto Diag =
+    const auto Diag =
         diag(CallExpr->getExprLoc(),
              "remove call to %0 to silence this warning", DiagnosticIDs::Note);
     Diag << CallExpr->getMethodDecl()

diff  --git a/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
index 4184f6d89d768..1c3399b4d2601 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
@@ -127,11 +127,12 @@ void ParentVirtualCallCheck::check(const 
MatchFinder::MatchResult &Result) {
   }
 
   assert(Member->getQualifierLoc().getSourceRange().getBegin().isValid());
-  auto Diag = diag(Member->getQualifierLoc().getSourceRange().getBegin(),
-                   "qualified name '%0' refers to a member overridden "
-                   "in %plural{1:subclass|:subclasses}1; did you mean %2?")
-              << getExprAsString(*Member, *Result.Context)
-              << static_cast<unsigned>(Parents.size()) << ParentsStr;
+  const auto Diag =
+      diag(Member->getQualifierLoc().getSourceRange().getBegin(),
+           "qualified name '%0' refers to a member overridden "
+           "in %plural{1:subclass|:subclasses}1; did you mean %2?")
+      << getExprAsString(*Member, *Result.Context)
+      << static_cast<unsigned>(Parents.size()) << ParentsStr;
 
   // Propose a fix if there's only one parent class...
   if (Parents.size() == 1 &&

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
index 270776e9899ad..e703882fefc04 100644
--- a/clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
@@ -45,12 +45,13 @@ void 
RandomGeneratorSeedCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
 }
 
 void RandomGeneratorSeedCheck::registerMatchers(MatchFinder *Finder) {
-  auto RandomGeneratorEngineDecl = cxxRecordDecl(hasAnyName(
+  const auto RandomGeneratorEngineDecl = cxxRecordDecl(hasAnyName(
       "::std::linear_congruential_engine", "::std::mersenne_twister_engine",
       "::std::subtract_with_carry_engine", "::std::discard_block_engine",
       "::std::independent_bits_engine", "::std::shuffle_order_engine"));
-  auto RandomGeneratorEngineTypeMatcher = hasType(hasUnqualifiedDesugaredType(
-      recordType(hasDeclaration(RandomGeneratorEngineDecl))));
+  const auto RandomGeneratorEngineTypeMatcher =
+      hasType(hasUnqualifiedDesugaredType(
+          recordType(hasDeclaration(RandomGeneratorEngineDecl))));
 
   // std::mt19937 engine;
   // engine.seed();

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
index 59942a9fb12e6..f02dd91e5a27c 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
@@ -75,8 +75,8 @@ void 
RawMemoryCallOnNonTrivialTypeCheck::registerMatchers(MatchFinder *Finder) {
   };
   auto IsRecordSizeOf =
       expr(sizeOfExpr(hasArgumentOfType(equalsBoundNode("Record"))));
-  auto ArgChecker = [&](const Matcher<CXXRecordDecl> &RecordConstraint,
-                        const BindableMatcher<Stmt> &SecondArg = expr()) {
+  const auto ArgChecker = [&](const Matcher<CXXRecordDecl> &RecordConstraint,
+                              const BindableMatcher<Stmt> &SecondArg = expr()) 
{
     return allOf(argumentCountIs(3),
                  hasArgument(0, IsStructPointer(RecordConstraint, true)),
                  hasArgument(1, SecondArg), hasArgument(2, IsRecordSizeOf));

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
index 874664a959d2a..a6458d96055c3 100644
--- a/clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
@@ -104,7 +104,8 @@ void RedundantBranchConditionCheck::check(
   if (hasPtrOrReferenceInFunc(Func, CondVar))
     return;
 
-  auto Diag = diag(InnerIf->getBeginLoc(), "redundant condition %0") << 
CondVar;
+  const auto Diag = diag(InnerIf->getBeginLoc(), "redundant condition %0")
+                    << CondVar;
 
   // For standalone condition variables and for "or" binary operations we 
simply
   // remove the inner `if`.

diff  --git a/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
index 66c80dae0c8ef..9c2a09efc77b3 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
@@ -140,7 +140,7 @@ getFailureInfoImpl(StringRef Name, bool 
IsInGlobalNamespace, bool IsMacro,
   using FailureInfo = RenamerClangTidyCheck::FailureInfo;
   if (!Invert) {
     std::optional<FailureInfo> Info;
-    auto AppendFailure = [&](StringRef Kind, std::string &&Fixup) {
+    const auto AppendFailure = [&](StringRef Kind, std::string &&Fixup) {
       if (!Info) {
         Info = FailureInfo{std::string(Kind), std::move(Fixup)};
       } else {
@@ -148,7 +148,7 @@ getFailureInfoImpl(StringRef Name, bool 
IsInGlobalNamespace, bool IsMacro,
         Info->Fixup = std::move(Fixup);
       }
     };
-    auto InProgressFixup = [&] {
+    const auto InProgressFixup = [&] {
       return llvm::transformOptional(
                  Info,
                  [](const FailureInfo &Info) { return StringRef(Info.Fixup); })

diff  --git a/clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
index 0f9a5f967c153..c645ef54c093e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
@@ -352,8 +352,9 @@ bool SignalHandlerCheck::isLanguageVersionSupported(
 }
 
 void SignalHandlerCheck::registerMatchers(MatchFinder *Finder) {
-  auto SignalFunction = functionDecl(hasAnyName("::signal", "::std::signal"),
-                                     parameterCountIs(2), isStandard());
+  const auto SignalFunction =
+      functionDecl(hasAnyName("::signal", "::std::signal"), 
parameterCountIs(2),
+                   isStandard());
   auto HandlerExpr =
       declRefExpr(hasDeclaration(functionDecl().bind("handler_decl")),
                   unless(isExpandedFromMacro("SIG_IGN")),
@@ -488,7 +489,7 @@ bool SignalHandlerCheck::checkFunctionCPP14(
 
   bool StmtProblemsFound = false;
   ASTContext &Ctx = FBody->getASTContext();
-  auto Matches =
+  const auto Matches =
       match(decl(forEachDescendant(stmt().bind("stmt"))), *FBody, Ctx);
   for (const auto &Match : Matches) {
     const auto *FoundS = Match.getNodeAs<Stmt>("stmt");

diff  --git a/clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
index 08ff82f57e3c2..cec93c9417947 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
@@ -35,7 +35,7 @@ void SizeofContainerCheck::check(const 
MatchFinder::MatchResult &Result) {
   const auto *SizeOf =
       Result.Nodes.getNodeAs<UnaryExprOrTypeTraitExpr>("sizeof");
 
-  auto Diag =
+  const auto Diag =
       diag(SizeOf->getBeginLoc(), "sizeof() doesn't return the size of the "
                                   "container; did you mean .size()?");
 }

diff  --git a/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
index 49ba3b83795dd..12b5a5de55618 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
@@ -97,7 +97,7 @@ void SizeofExpressionCheck::registerMatchers(MatchFinder 
*Finder) {
   // Some of the checks should not match in template code to avoid false
   // positives if sizeof is applied on template argument.
 
-  auto LoopCondExpr =
+  const auto LoopCondExpr =
       [](const ast_matchers::internal::Matcher<Stmt> &InnerMatcher) {
         return stmt(anyOf(forStmt(hasCondition(InnerMatcher)),
                           whileStmt(hasCondition(InnerMatcher)),

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
index a0db39ab6f90d..cabeb27117196 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
@@ -54,11 +54,11 @@ void 
SmartPtrArrayMismatchCheck::registerMatchers(MatchFinder *Finder) {
   // For both shared and unique pointers, we need to find constructor with
   // exactly one parameter that has the pointer type. Other constructors are
   // not applicable for this check.
-  auto FindConstructor =
+  const auto FindConstructor =
       cxxConstructorDecl(ofClass(getSmartPointerClassMatcher()),
                          parameterCountIs(1), isExplicit())
           .bind(ConstructorN);
-  auto FindConstructExpr =
+  const auto FindConstructExpr =
       cxxConstructExpr(
           hasDeclaration(FindConstructor), argumentCountIs(1),
           hasArgument(0,
@@ -81,15 +81,15 @@ void SmartPtrArrayMismatchCheck::check(const 
MatchFinder::MatchResult &Result) {
   const DeclaratorDecl *VarOrField =
       getConstructedVarOrField(FoundConstructExpr, Ctx);
 
-  auto D = diag(FoundNewExpr->getBeginLoc(),
-                "%0 pointer to non-array is initialized with array")
-           << SmartPointerName;
+  const auto D = diag(FoundNewExpr->getBeginLoc(),
+                      "%0 pointer to non-array is initialized with array")
+                 << SmartPointerName;
   D << FoundNewExpr->getSourceRange();
 
   if (VarOrField) {
-    auto TSTypeLoc = VarOrField->getTypeSourceInfo()
-                         ->getTypeLoc()
-                         .getAsAdjusted<TemplateSpecializationTypeLoc>();
+    const auto TSTypeLoc = VarOrField->getTypeSourceInfo()
+                               ->getTypeLoc()
+                               .getAsAdjusted<TemplateSpecializationTypeLoc>();
     assert(TSTypeLoc.getNumArgs() >= 1 &&
            "Matched type should have at least 1 template argument.");
 

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
index 33447273515f4..a623ed690697b 100644
--- a/clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
@@ -39,20 +39,20 @@ AST_POLYMORPHIC_MATCHER_P(
 namespace clang::tidy::bugprone {
 
 void StdNamespaceModificationCheck::registerMatchers(MatchFinder *Finder) {
-  auto HasStdParent =
+  const auto HasStdParent =
       hasDeclContext(namespaceDecl(hasAnyName("std", "posix"),
                                    unless(hasParent(namespaceDecl())))
                          .bind("nmspc"));
-  auto UserDefinedDecl =
+  const auto UserDefinedDecl =
       namedDecl(anyOf(classTemplateDecl(), tagDecl()),
                 hasAncestor(namespaceDecl(hasAnyName("std", "posix"),
                                           
unless(hasParent(namespaceDecl())))));
-  auto UserDefinedType = qualType(hasUnqualifiedDesugaredType(anyOf(
+  const auto UserDefinedType = qualType(hasUnqualifiedDesugaredType(anyOf(
       tagType(unless(hasDeclaration(UserDefinedDecl))),
       templateSpecializationType(unless(hasDeclaration(UserDefinedDecl))))));
-  auto HasNoProgramDefinedTemplateArgument = unless(
+  const auto HasNoProgramDefinedTemplateArgument = unless(
       hasAnyTemplateArgumentIncludingPack(refersToType(UserDefinedType)));
-  auto InsideStdClassOrClassTemplateSpecialization = hasDeclContext(
+  const auto InsideStdClassOrClassTemplateSpecialization = hasDeclContext(
       anyOf(cxxRecordDecl(HasStdParent),
             classTemplateSpecializationDecl(
                 HasStdParent, HasNoProgramDefinedTemplateArgument)));

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
index e3cb824deb5e2..e790d385cd531 100644
--- a/clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
@@ -140,7 +140,7 @@ void StringIntegerAssignmentCheck::check(
           .isLikelyCharExpression(Argument))
     return;
 
-  auto Diag =
+  const auto Diag =
       diag(Loc, "an integer is interpreted as a character code when assigning "
                 "it to a string; if this is intended, cast the integer to the "
                 "appropriate character type; if you want a string "

diff  --git a/clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
index 6da20d3f6fecb..d8586b67e5703 100644
--- a/clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
@@ -34,22 +34,22 @@ AST_MATCHER(VarDecl, isDirectInitialization) {
 } // namespace
 
 static RewriteRuleWith<std::string> stringviewNullptrCheckImpl() {
-  auto ConstructionWarning =
+  const auto ConstructionWarning =
       cat("constructing basic_string_view from null is undefined; replace with 
"
           "the default constructor");
-  auto StaticCastWarning =
+  const auto StaticCastWarning =
       cat("casting to basic_string_view from null is undefined; replace with "
           "the empty string");
-  auto ArgumentConstructionWarning =
+  const auto ArgumentConstructionWarning =
       cat("passing null as basic_string_view is undefined; replace with the "
           "empty string");
-  auto AssignmentWarning =
+  const auto AssignmentWarning =
       cat("assignment to basic_string_view from null is undefined; replace "
           "with the default constructor");
-  auto RelativeComparisonWarning =
+  const auto RelativeComparisonWarning =
       cat("comparing basic_string_view to null is undefined; replace with the "
           "empty string");
-  auto EqualityComparisonWarning =
+  const auto EqualityComparisonWarning =
       cat("comparing basic_string_view to null is undefined; replace with the "
           "emptiness query");
 
@@ -69,7 +69,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
   auto EmptyInitList = initListExpr(initCountIs(0));
 
   // Matches null construction without `basic_string_view` type spelling
-  auto BasicStringViewConstructingFromNullExpr =
+  const auto BasicStringViewConstructingFromNullExpr =
       cxxConstructExpr(
           HasBasicStringViewType, argumentCountIs(1),
           hasAnyArgument(/* `hasArgument` would skip over parens */ anyOf(
@@ -79,34 +79,35 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
           .bind("construct_expr");
 
   // `std::string_view(null_arg_expr)`
-  auto HandleTemporaryCXXFunctionalCastExpr =
+  const auto HandleTemporaryCXXFunctionalCastExpr =
       makeRule(cxxFunctionalCastExpr(hasSourceExpression(
                    BasicStringViewConstructingFromNullExpr)),
                remove(node("null_arg_expr")), ConstructionWarning);
 
   // `std::string_view{null_arg_expr}` and `(std::string_view){null_arg_expr}`
-  auto HandleTemporaryCXXTemporaryObjectExprAndCompoundLiteralExpr = makeRule(
-      cxxTemporaryObjectExpr(cxxConstructExpr(
-          HasBasicStringViewType, argumentCountIs(1),
-          hasAnyArgument(/* `hasArgument` would skip over parens */ anyOf(
-              NullLiteral, NullInitList, EmptyInitList)),
-          has(expr().bind("null_arg_expr")))),
-      remove(node("null_arg_expr")), ConstructionWarning);
+  const auto HandleTemporaryCXXTemporaryObjectExprAndCompoundLiteralExpr =
+      makeRule(
+          cxxTemporaryObjectExpr(cxxConstructExpr(
+              HasBasicStringViewType, argumentCountIs(1),
+              hasAnyArgument(/* `hasArgument` would skip over parens */ anyOf(
+                  NullLiteral, NullInitList, EmptyInitList)),
+              has(expr().bind("null_arg_expr")))),
+          remove(node("null_arg_expr")), ConstructionWarning);
 
   // `(std::string_view) null_arg_expr`
-  auto HandleTemporaryCStyleCastExpr =
+  const auto HandleTemporaryCStyleCastExpr =
       makeRule(cStyleCastExpr(hasSourceExpression(
                    BasicStringViewConstructingFromNullExpr)),
                changeTo(node("null_arg_expr"), cat("{}")), 
ConstructionWarning);
 
   // `static_cast<std::string_view>(null_arg_expr)`
-  auto HandleTemporaryCXXStaticCastExpr =
+  const auto HandleTemporaryCXXStaticCastExpr =
       makeRule(cxxStaticCastExpr(hasSourceExpression(
                    BasicStringViewConstructingFromNullExpr)),
                changeTo(node("null_arg_expr"), cat("\"\"")), 
StaticCastWarning);
 
   // `std::string_view sv = null_arg_expr;`
-  auto HandleStackCopyInitialization =
+  const auto HandleStackCopyInitialization =
       makeRule(varDecl(HasBasicStringViewType,
                        hasInitializer(ignoringImpCasts(cxxConstructExpr(
                            BasicStringViewConstructingFromNullExpr,
@@ -115,7 +116,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                changeTo(node("null_arg_expr"), cat("{}")), 
ConstructionWarning);
 
   // `std::string_view sv = {null_arg_expr};`
-  auto HandleStackCopyListInitialization =
+  const auto HandleStackCopyListInitialization =
       makeRule(varDecl(HasBasicStringViewType,
                        hasInitializer(cxxConstructExpr(
                            BasicStringViewConstructingFromNullExpr,
@@ -124,7 +125,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                remove(node("null_arg_expr")), ConstructionWarning);
 
   // `std::string_view sv(null_arg_expr);`
-  auto HandleStackDirectInitialization =
+  const auto HandleStackDirectInitialization =
       makeRule(varDecl(HasBasicStringViewType,
                        hasInitializer(cxxConstructExpr(
                            BasicStringViewConstructingFromNullExpr,
@@ -135,7 +136,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                ConstructionWarning);
 
   // `std::string_view sv{null_arg_expr};`
-  auto HandleStackDirectListInitialization =
+  const auto HandleStackDirectListInitialization =
       makeRule(varDecl(HasBasicStringViewType,
                        hasInitializer(cxxConstructExpr(
                            BasicStringViewConstructingFromNullExpr,
@@ -144,7 +145,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                remove(node("null_arg_expr")), ConstructionWarning);
 
   // `struct S { std::string_view sv = null_arg_expr; };`
-  auto HandleFieldInClassCopyInitialization = makeRule(
+  const auto HandleFieldInClassCopyInitialization = makeRule(
       fieldDecl(HasBasicStringViewType,
                 hasInClassInitializer(ignoringImpCasts(
                     cxxConstructExpr(BasicStringViewConstructingFromNullExpr,
@@ -153,7 +154,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
 
   // `struct S { std::string_view sv = {null_arg_expr}; };` and
   // `struct S { std::string_view sv{null_arg_expr}; };`
-  auto HandleFieldInClassCopyListAndDirectListInitialization = makeRule(
+  const auto HandleFieldInClassCopyListAndDirectListInitialization = makeRule(
       fieldDecl(HasBasicStringViewType,
                 hasInClassInitializer(ignoringImpCasts(
                     cxxConstructExpr(BasicStringViewConstructingFromNullExpr,
@@ -161,7 +162,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
       remove(node("null_arg_expr")), ConstructionWarning);
 
   // `class C { std::string_view sv; C() : sv(null_arg_expr) {} };`
-  auto HandleConstructorDirectInitialization =
+  const auto HandleConstructorDirectInitialization =
       makeRule(cxxCtorInitializer(forField(fieldDecl(HasBasicStringViewType)),
                                   withInitializer(cxxConstructExpr(
                                       BasicStringViewConstructingFromNullExpr,
@@ -169,7 +170,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                remove(node("null_arg_expr")), ConstructionWarning);
 
   // `class C { std::string_view sv; C() : sv{null_arg_expr} {} };`
-  auto HandleConstructorDirectListInitialization =
+  const auto HandleConstructorDirectListInitialization =
       makeRule(cxxCtorInitializer(forField(fieldDecl(HasBasicStringViewType)),
                                   withInitializer(cxxConstructExpr(
                                       BasicStringViewConstructingFromNullExpr,
@@ -177,7 +178,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                remove(node("null_arg_expr")), ConstructionWarning);
 
   // `void f(std::string_view sv = null_arg_expr);`
-  auto HandleDefaultArgumentCopyInitialization =
+  const auto HandleDefaultArgumentCopyInitialization =
       makeRule(parmVarDecl(HasBasicStringViewType,
                            hasInitializer(ignoringImpCasts(cxxConstructExpr(
                                BasicStringViewConstructingFromNullExpr,
@@ -185,7 +186,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                changeTo(node("null_arg_expr"), cat("{}")), 
ConstructionWarning);
 
   // `void f(std::string_view sv = {null_arg_expr});`
-  auto HandleDefaultArgumentCopyListInitialization =
+  const auto HandleDefaultArgumentCopyListInitialization =
       makeRule(parmVarDecl(HasBasicStringViewType,
                            hasInitializer(cxxConstructExpr(
                                BasicStringViewConstructingFromNullExpr,
@@ -193,21 +194,21 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                remove(node("null_arg_expr")), ConstructionWarning);
 
   // `new std::string_view(null_arg_expr)`
-  auto HandleHeapDirectInitialization = makeRule(
+  const auto HandleHeapDirectInitialization = makeRule(
       cxxNewExpr(has(cxxConstructExpr(BasicStringViewConstructingFromNullExpr,
                                       unless(isListInitialization()))),
                  unless(isArray()), unless(hasAnyPlacementArg(anything()))),
       remove(node("null_arg_expr")), ConstructionWarning);
 
   // `new std::string_view{null_arg_expr}`
-  auto HandleHeapDirectListInitialization = makeRule(
+  const auto HandleHeapDirectListInitialization = makeRule(
       cxxNewExpr(has(cxxConstructExpr(BasicStringViewConstructingFromNullExpr,
                                       isListInitialization())),
                  unless(isArray()), unless(hasAnyPlacementArg(anything()))),
       remove(node("null_arg_expr")), ConstructionWarning);
 
   // `function(null_arg_expr)`
-  auto HandleFunctionArgumentInitialization =
+  const auto HandleFunctionArgumentInitialization =
       makeRule(callExpr(hasAnyArgument(ignoringImpCasts(
                             BasicStringViewConstructingFromNullExpr)),
                         unless(cxxOperatorCallExpr())),
@@ -215,21 +216,21 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
                ArgumentConstructionWarning);
 
   // `sv = null_arg_expr`
-  auto HandleAssignment = makeRule(
+  const auto HandleAssignment = makeRule(
       cxxOperatorCallExpr(hasOverloadedOperatorName("="),
                           hasRHS(materializeTemporaryExpr(
                               has(BasicStringViewConstructingFromNullExpr)))),
       changeTo(node("construct_expr"), cat("{}")), AssignmentWarning);
 
   // `sv < null_arg_expr`
-  auto HandleRelativeComparison = makeRule(
+  const auto HandleRelativeComparison = makeRule(
       cxxOperatorCallExpr(hasAnyOverloadedOperatorName("<", "<=", ">", ">="),
                           hasEitherOperand(ignoringImpCasts(
                               BasicStringViewConstructingFromNullExpr))),
       changeTo(node("construct_expr"), cat("\"\"")), 
RelativeComparisonWarning);
 
   // `sv == null_arg_expr`
-  auto HandleEmptyEqualityComparison = makeRule(
+  const auto HandleEmptyEqualityComparison = makeRule(
       cxxOperatorCallExpr(
           hasOverloadedOperatorName("=="),
           
hasOperands(ignoringImpCasts(BasicStringViewConstructingFromNullExpr),
@@ -240,7 +241,7 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
       EqualityComparisonWarning);
 
   // `sv != null_arg_expr`
-  auto HandleNonEmptyEqualityComparison = makeRule(
+  const auto HandleNonEmptyEqualityComparison = makeRule(
       cxxOperatorCallExpr(
           hasOverloadedOperatorName("!="),
           
hasOperands(ignoringImpCasts(BasicStringViewConstructingFromNullExpr),
@@ -251,13 +252,13 @@ static RewriteRuleWith<std::string> 
stringviewNullptrCheckImpl() {
       EqualityComparisonWarning);
 
   // `return null_arg_expr;`
-  auto HandleReturnStatement = makeRule(
+  const auto HandleReturnStatement = makeRule(
       returnStmt(hasReturnValue(
           ignoringImpCasts(BasicStringViewConstructingFromNullExpr))),
       changeTo(node("construct_expr"), cat("{}")), ConstructionWarning);
 
   // `T(null_arg_expr)`
-  auto HandleConstructorInvocation =
+  const auto HandleConstructorInvocation =
       makeRule(cxxConstructExpr(
                    hasAnyArgument(/* `hasArgument` would skip over parens */
                                   ignoringImpCasts(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
index f28bdbeb6db84..cea813b18230f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
@@ -74,7 +74,7 @@ static bool isNonPowerOf2NorNullLiteral(const 
EnumConstantDecl *EnumConst) {
 }
 
 static bool isMaxValAllBitSetLiteral(const EnumDecl *EnumDec) {
-  auto EnumConst = std::max_element(
+  const auto EnumConst = std::max_element(
       EnumDec->enumerator_begin(), EnumDec->enumerator_end(),
       [](const EnumConstantDecl *E1, const EnumConstantDecl *E2) {
         return E1->getInitVal() < E2->getInitVal();

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
index 63ba2edf2015a..703d69a093f6f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
@@ -20,7 +20,7 @@ namespace clang::tidy::bugprone {
 void SuspiciousMemsetUsageCheck::registerMatchers(MatchFinder *Finder) {
   // Match the standard memset:
   // void *memset(void *buffer, int fill_char, size_t byte_count);
-  auto MemsetDecl =
+  const auto MemsetDecl =
       functionDecl(hasName("::memset"), parameterCountIs(3),
                    hasParameter(0, hasType(pointerType(pointee(voidType())))),
                    hasParameter(1, hasType(isInteger())),
@@ -61,7 +61,7 @@ void SuspiciousMemsetUsageCheck::check(const 
MatchFinder::MatchResult &Result) {
     // integer zero was intended.
 
     const SourceRange CharRange = CharZeroFill->getSourceRange();
-    auto Diag =
+    const auto Diag =
         diag(CharZeroFill->getBeginLoc(), "memset fill value is char '0', "
                                           "potentially mistaken for int 0");
 
@@ -114,8 +114,8 @@ void SuspiciousMemsetUsageCheck::check(const 
MatchFinder::MatchResult &Result) {
     // `byte_count` is known to be zero at compile time, and `fill_char` is
     // either not known or known to be a positive integer. Emit a warning
     // and fix-its to swap the arguments.
-    auto D = diag(Call->getBeginLoc(),
-                  "memset of size zero, potentially swapped arguments");
+    const auto D = diag(Call->getBeginLoc(),
+                        "memset of size zero, potentially swapped arguments");
     const StringRef RHSString =
         tooling::fixit::getText(*ByteCount, *Result.Context);
     const StringRef LHSString =

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
index 4f0d819d2147b..1ada9e5eba86c 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
@@ -20,7 +20,7 @@ static bool isConcatenatedLiteralsOnPurpose(ASTContext *Ctx,
   //    i.e.:  const char* Array[] = { ("a" "b" "c"), "d", [...] };
 
   const TraversalKindScope RAII(*Ctx, TK_AsIs);
-  auto Parents = Ctx->getParents(*Lit);
+  const auto Parents = Ctx->getParents(*Lit);
   if (Parents.size() == 1 && Parents[0].get<ParenExpr>() != nullptr)
     return true;
 

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
index bf31218131d5e..03fc3c56f428c 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
@@ -104,13 +104,13 @@ namespace clang::tidy::bugprone {
 
 void SuspiciousReallocUsageCheck::registerMatchers(MatchFinder *Finder) {
   // void *realloc(void *ptr, size_t size);
-  auto ReallocDecl =
+  const auto ReallocDecl =
       functionDecl(hasName("::realloc"), parameterCountIs(2),
                    hasParameter(0, hasType(pointerType(pointee(voidType())))),
                    hasParameter(1, hasType(isInteger())))
           .bind("realloc");
 
-  auto ReallocCall =
+  const auto ReallocCall =
       callExpr(callee(ReallocDecl), hasArgument(0, expr().bind("ptr_input")),
                hasAncestor(functionDecl().bind("parent_function")))
           .bind("call");

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
index 342a6e8480fa7..660b022714682 100644
--- 
a/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
+++ 
b/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
@@ -43,16 +43,16 @@ SuspiciousStringviewDataUsageCheck::getCheckTraversalKind() 
const {
 }
 
 void SuspiciousStringviewDataUsageCheck::registerMatchers(MatchFinder *Finder) 
{
-  auto AncestorCall = anyOf(
+  const auto AncestorCall = anyOf(
       cxxConstructExpr(), callExpr(unless(cxxOperatorCallExpr())), 
lambdaExpr(),
       initListExpr(
           hasType(qualType(hasCanonicalType(hasDeclaration(recordDecl()))))));
 
-  auto DataMethod = cxxMethodDecl(
+  const auto DataMethod = cxxMethodDecl(
       hasName("data"),
       ofClass(matchers::matchesAnyListedRegexName(StringViewTypes)));
 
-  auto SizeCall = cxxMemberCallExpr(
+  const auto SizeCall = cxxMemberCallExpr(
       callee(cxxMethodDecl(hasAnyName("size", "length"))),
       on(ignoringParenImpCasts(
           matchers::isStatementIdenticalToBoundNode("self"))));

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
index 0c64b68fba591..b4c0eb26d2321 100644
--- a/clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
@@ -101,18 +101,20 @@ void TaggedUnionMemberCountCheck::storeOptions(
 }
 
 void TaggedUnionMemberCountCheck::registerMatchers(MatchFinder *Finder) {
-  auto NotFromSystemHeaderOrStdNamespace =
+  const auto NotFromSystemHeaderOrStdNamespace =
       unless(anyOf(isExpansionInSystemHeader(), isInStdNamespace()));
 
-  auto UnionField =
+  const auto UnionField =
       fieldDecl(hasType(qualType(hasCanonicalType(recordType(hasDeclaration(
           recordDecl(isUnion(), NotFromSystemHeaderOrStdNamespace)))))));
 
-  auto EnumField = fieldDecl(hasType(qualType(hasCanonicalType(
+  const auto EnumField = fieldDecl(hasType(qualType(hasCanonicalType(
       
enumType(hasDeclaration(enumDecl(NotFromSystemHeaderOrStdNamespace)))))));
 
-  auto HasOneUnionField = fieldCountOfKindIsOne(UnionField, 
UnionMatchBindName);
-  auto HasOneEnumField = fieldCountOfKindIsOne(EnumField, TagMatchBindName);
+  const auto HasOneUnionField =
+      fieldCountOfKindIsOne(UnionField, UnionMatchBindName);
+  const auto HasOneEnumField =
+      fieldCountOfKindIsOne(EnumField, TagMatchBindName);
 
   Finder->addMatcher(recordDecl(anyOf(isStruct(), isClass()), HasOneUnionField,
                                 HasOneEnumField, unless(isImplicit()))

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
index c8ce77ed6a4ab..199ff80fc7026 100644
--- a/clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
@@ -35,7 +35,7 @@ void TerminatingContinueCheck::registerMatchers(MatchFinder 
*Finder) {
 void TerminatingContinueCheck::check(const MatchFinder::MatchResult &Result) {
   const auto *ContStmt = Result.Nodes.getNodeAs<ContinueStmt>("continue");
 
-  auto Diag =
+  const auto Diag =
       diag(ContStmt->getBeginLoc(),
            "'continue' in loop with false condition is equivalent to 'break'")
       << tooling::fixit::createReplacement(*ContStmt, "break");

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
index cf7829984fab9..09c86e7da94f3 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
@@ -27,7 +27,7 @@ static constexpr StringRef FuncID = "fun";
 void UncheckedOptionalAccessCheck::registerMatchers(MatchFinder *Finder) {
   using namespace ast_matchers;
 
-  auto HasOptionalCallDescendant = hasDescendant(callExpr(
+  const auto HasOptionalCallDescendant = hasDescendant(callExpr(
       anyOf(UncheckedOptionalAccessModel::memberCallToOptionalClass(),
             UncheckedOptionalAccessModel::operatorCallToOptionalClass())));
   Finder->addMatcher(

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
index 340b136700c5f..2529a2567b98d 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
@@ -52,12 +52,13 @@ void 
UnhandledExceptionAtNewCheck::registerMatchers(MatchFinder *Finder) {
   auto BadAllocReferenceType = referenceType(pointee(BadAllocType));
   auto ExceptionReferenceType = referenceType(pointee(ExceptionType));
 
-  auto CatchBadAllocType =
+  const auto CatchBadAllocType =
       qualType(hasCanonicalType(anyOf(BadAllocType, BadAllocReferenceType,
                                       ExceptionType, ExceptionReferenceType)));
-  auto BadAllocCatchingTryBlock = cxxTryStmt(hasHandlerFor(CatchBadAllocType));
+  const auto BadAllocCatchingTryBlock =
+      cxxTryStmt(hasHandlerFor(CatchBadAllocType));
 
-  auto FunctionMayNotThrow = functionDecl(isNoThrow());
+  const auto FunctionMayNotThrow = functionDecl(isNoThrow());
 
   Finder->addMatcher(cxxNewExpr(mayThrow(),
                                 unless(hasAncestor(BadAllocCatchingTryBlock)),

diff  --git 
a/clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
index 34c2c6dd4642d..8cf3cb4eb52ba 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
@@ -18,7 +18,7 @@ UniquePtrArrayMismatchCheck::UniquePtrArrayMismatchCheck(
 
 UniquePtrArrayMismatchCheck::SmartPtrClassMatcher
 UniquePtrArrayMismatchCheck::getSmartPointerClassMatcher() const {
-  auto DeleterDecl = classTemplateSpecializationDecl(
+  const auto DeleterDecl = classTemplateSpecializationDecl(
       hasName("::std::default_delete"), templateArgumentCountIs(1),
       hasTemplateArgument(0, templateArgument(refersToType(
                                  qualType(equalsBoundNode(PointerTypeN))))));

diff  --git a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
index 936fb991c5fff..eb45cc7e67ff6 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
@@ -184,7 +184,7 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder 
*Finder) {
   if (ReportDefaultFunctions) {
     if (getLangOpts().C11) {
       // Matching functions with safe replacements only in Annex K.
-      auto FunctionNamesWithAnnexKReplacementMatcher = hasAnyName(
+      const auto FunctionNamesWithAnnexKReplacementMatcher = hasAnyName(
           "::bsearch", "::ctime", "::fopen", "::fprintf", "::freopen",
           "::fscanf", "::fwprintf", "::fwscanf", "::getenv", "::gmtime",
           "::localtime", "::mbsrtowcs", "::mbstowcs", "::memcpy", "::memmove",
@@ -205,7 +205,7 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder 
*Finder) {
     }
 
     // Matching functions with replacements without Annex K.
-    auto FunctionNamesMatcher =
+    const auto FunctionNamesMatcher =
         hasAnyName("::asctime", "asctime_r", "::gets", "::rewind", "::setbuf",
                    "::std::get_temporary_buffer");
     Finder->addMatcher(
@@ -216,7 +216,7 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder 
*Finder) {
 
     if (ReportMoreUnsafeFunctions) {
       // Matching functions with replacements without Annex K, at user request.
-      auto AdditionalFunctionNamesMatcher =
+      const auto AdditionalFunctionNamesMatcher =
           hasAnyName("::bcmp", "::bcopy", "::bzero", "::getpw", "::vfork");
       Finder->addMatcher(
           declRefExpr(to(functionDecl(AdditionalFunctionNamesMatcher)
@@ -233,7 +233,7 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder 
*Finder) {
     for (const auto &Entry : CustomFunctions)
       FunctionNames.emplace_back(Entry.Name);
 
-    auto CustomFunctionsMatcher =
+    const auto CustomFunctionsMatcher =
         matchers::matchesAnyListedRegexName(FunctionNames);
 
     Finder->addMatcher(declRefExpr(to(functionDecl(CustomFunctionsMatcher)

diff  --git a/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
index 6502fc9bfb89e..0a9818d3936b0 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
@@ -72,8 +72,9 @@ void UnusedRaiiCheck::check(const MatchFinder::MatchResult 
&Result) {
     return;
 
   // Emit a warning.
-  auto D = diag(E->getBeginLoc(), "object destroyed immediately after "
-                                  "creation; did you mean to name the 
object?");
+  const auto D =
+      diag(E->getBeginLoc(), "object destroyed immediately after "
+                             "creation; did you mean to name the object?");
 
   if (const auto *Node = dyn_cast<CXXConstructExpr>(E))
     reportDiagnostic(D, Node, Node->getParenOrBraceRange(),

diff  --git a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
index c5792cd17b9b2..c89ed9d50011a 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
@@ -184,9 +184,9 @@ void UnusedReturnValueCheck::registerMatchers(MatchFinder 
*Finder) {
                                  CheckedReturnTypes)))))))))
           .bind("match"));
 
-  auto CheckCastToVoid =
+  const auto CheckCastToVoid =
       AllowCastToVoid ? castExpr(unless(hasCastKind(CK_ToVoid))) : castExpr();
-  auto MatchedCallExpr = expr(
+  const auto MatchedCallExpr = expr(
       anyOf(MatchedDirectCallExpr,
             explicitCastExpr(unless(cxxFunctionalCastExpr()), CheckCastToVoid,
                              hasSourceExpression(MatchedDirectCallExpr))));

diff  --git a/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
index f8555aa251165..3a2f07b376e86 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
@@ -413,8 +413,8 @@ void UseAfterMoveFinder::getDeclRefs(
     if (!S)
       continue;
 
-    auto AddDeclRefs = [this, Block,
-                        DeclRefs](const ArrayRef<BoundNodes> Matches) {
+    const auto AddDeclRefs = [this, Block,
+                              DeclRefs](const ArrayRef<BoundNodes> Matches) {
       for (const auto &Match : Matches) {
         const auto *DeclRef = Match.getNodeAs<DeclRefExpr>("declref");
         const auto *Member = Match.getNodeAs<MemberExpr>("member-expr");
@@ -434,7 +434,7 @@ void UseAfterMoveFinder::getDeclRefs(
       }
     };
 
-    auto DeclRefMatcher =
+    const auto DeclRefMatcher =
         declRefExpr(hasDeclaration(equalsNode(MovedVariable)),
                     unless(inDecltypeOrTemplateArg()),
                     unless(hasParentIgnoringParenImpCasts(
@@ -556,13 +556,14 @@ void UseAfterMoveCheck::registerMatchers(MatchFinder 
*Finder) {
   // bool to tell callers whether it moved. Ignore std::move inside
   // try_emplace to avoid false positives as we don't track uses of
   // the bool.
-  auto TryEmplaceMatcher =
+  const auto TryEmplaceMatcher =
       cxxMemberCallExpr(callee(cxxMethodDecl(hasName("try_emplace"))));
-  auto Arg = declRefExpr().bind("arg");
-  auto IsMemberCallee = callee(functionDecl(unless(isStaticStorageClass())));
-  auto DerivedToBaseCast =
+  const auto Arg = declRefExpr().bind("arg");
+  const auto IsMemberCallee =
+      callee(functionDecl(unless(isStaticStorageClass())));
+  const auto DerivedToBaseCast =
       implicitCastExpr(hasCastKind(CK_DerivedToBase)).bind("optional-cast");
-  auto CallMoveMatcher = callExpr(
+  const auto CallMoveMatcher = callExpr(
       callee(functionDecl(getNameMatcher(InvalidationFunctions))
                  .bind("move-decl")),
       anyOf(cxxMemberCallExpr(IsMemberCallee, on(Arg)),

diff  --git a/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
index 0fd965f88e0d5..67a44d155bd2b 100644
--- a/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
@@ -193,7 +193,7 @@ bool VirtualNearMissCheck::isPossibleToBeOverridden(
 bool VirtualNearMissCheck::isOverriddenByDerivedClass(
     const CXXMethodDecl *BaseMD, const CXXRecordDecl *DerivedRD) {
   const std::pair Key(BaseMD, DerivedRD);
-  auto Iter = OverriddenMap.find(Key);
+  const auto Iter = OverriddenMap.find(Key);
   if (Iter != OverriddenMap.end())
     return Iter->second;
 
@@ -244,12 +244,12 @@ void VirtualNearMissCheck::check(const 
MatchFinder::MatchResult &Result) {
         if (EditDistance > 0 && EditDistance <= EditDistanceThreshold) {
           if (checkOverrideWithoutName(Context, BaseMD, DerivedMD)) {
             // A "virtual near miss" is found.
-            auto Range = CharSourceRange::getTokenRange(
+            const auto Range = CharSourceRange::getTokenRange(
                 SourceRange(DerivedMD->getLocation()));
 
             const bool ApplyFix = !BaseMD->isTemplateInstantiation() &&
                                   !DerivedMD->isTemplateInstantiation();
-            auto Diag =
+            const auto Diag =
                 diag(DerivedMD->getBeginLoc(),
                      "method '%0' has a similar name and the same signature as 
"
                      "virtual method '%1'; did you mean to override it?")


        
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to