[clang-tools-extra] ddc8e4b - [clang-tidy][NFC] Apply const-correctness for auto 3/N (#213841)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 4 06:33:57 PDT 2026
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?")
More information about the cfe-commits
mailing list