[clang-tools-extra] 61ccfbf - [clang-tidy][NFC] Apply const-correctness for auto 6/N (#213844)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 4 06:36:34 PDT 2026
Author: Baranov Victor
Date: 2026-08-04T16:36:29+03:00
New Revision: 61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59
URL: https://github.com/llvm/llvm-project/commit/61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59
DIFF: https://github.com/llvm/llvm-project/commit/61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59.diff
LOG: [clang-tidy][NFC] Apply const-correctness for auto 6/N (#213844)
Added:
Modified:
clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp b/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
index 70692d37f2729..7078fd3731e9e 100644
--- a/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
@@ -130,7 +130,7 @@ void EnumSizeCheck::check(const MatchFinder::MatchResult &Result) {
MinV = std::max<std::uint64_t>(MinV, InitVal.abs().getZExtValue());
}
- auto NewType = getNewType(Size, MinV, MaxV);
+ const auto NewType = getNewType(Size, MinV, MaxV);
if (!NewType.first || Size <= NewType.second)
return;
diff --git a/clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp b/clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
index 97ac63dfbe985..9dbe8dca3c8e2 100644
--- a/clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
@@ -110,10 +110,10 @@ void ExpensiveValueOrCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void ExpensiveValueOrCheck::registerMatchers(MatchFinder *Finder) {
- auto OptionalTypesMatcher =
+ const auto OptionalTypesMatcher =
matchers::matchesAnyListedRegexName(OptionalTypes);
- auto ValueOrMatcher = hasAnyName("value_or", "valueOr", "ValueOr");
- auto ValueOrCall = cxxMemberCallExpr(
+ const auto ValueOrMatcher = hasAnyName("value_or", "valueOr", "ValueOr");
+ const auto ValueOrCall = cxxMemberCallExpr(
callee(cxxMethodDecl(ValueOrMatcher, ofClass(OptionalTypesMatcher))),
anyOf(on(isLValueExpr()),
hasType(qualType(unless(hasNonTrivialMoveCtor())))),
@@ -162,9 +162,9 @@ void ExpensiveValueOrCheck::check(const MatchFinder::MatchResult &Result) {
const bool HasSideEffects = FallbackArg->HasSideEffects(Ctx);
{
- auto Diag = diag(Call->getExprLoc(), "'%0' copies expensive type %1; %2")
- << Method->getName() << ValueType
- << buildSuggestion(OptionalClass);
+ const auto Diag =
+ diag(Call->getExprLoc(), "'%0' copies expensive type %1; %2")
+ << Method->getName() << ValueType << buildSuggestion(OptionalClass);
if (!HasSideEffects) {
if (auto Fix = buildFixIt(Call, ObjExpr, FallbackArg, OptionalClass, Ctx))
diff --git a/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp b/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
index 23feab88c92a3..ac4922db3a924 100644
--- a/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
@@ -35,7 +35,7 @@ void ForRangeCopyCheck::registerMatchers(MatchFinder *Finder) {
// Match loop variables that are not references or pointers or are already
// initialized through MaterializeTemporaryExpr which indicates a type
// conversion.
- auto HasReferenceOrPointerTypeOrIsAllowed = hasType(qualType(
+ const auto HasReferenceOrPointerTypeOrIsAllowed = hasType(qualType(
unless(anyOf(hasCanonicalType(anyOf(referenceType(), pointerType())),
hasDeclaration(namedDecl(
matchers::matchesAnyListedRegexName(AllowedTypes)))))));
@@ -46,7 +46,7 @@ void ForRangeCopyCheck::registerMatchers(MatchFinder *Finder) {
auto NotConstructedByCopy = cxxConstructExpr(
hasDeclaration(cxxConstructorDecl(unless(isCopyConstructor()))));
auto ConstructedByConversion = cxxMemberCallExpr(callee(cxxConversionDecl()));
- auto LoopVar =
+ const auto LoopVar =
varDecl(HasReferenceOrPointerTypeOrIsAllowed,
unless(hasInitializer(expr(hasDescendant(expr(
anyOf(materializeTemporaryExpr(), IteratorReturnsValueType,
@@ -83,7 +83,7 @@ bool ForRangeCopyCheck::handleConstValueCopy(const VarDecl &LoopVar,
utils::type_traits::isExpensiveToCopy(LoopVar.getType(), Context);
if (!Expensive || !*Expensive)
return false;
- auto Diagnostic =
+ const auto Diagnostic =
diag(LoopVar.getLocation(),
"the loop variable's type is not a reference type; this creates a "
"copy in each iteration; consider making this a reference")
@@ -122,7 +122,7 @@ bool ForRangeCopyCheck::handleCopyIsOnlyConstReferenced(
// Since this case is very rare, it is safe to ignore it.
if (!ExprMutationAnalyzer(*ForRange.getBody(), Context).isMutated(&LoopVar) &&
isReferenced(LoopVar, *ForRange.getBody(), Context)) {
- auto Diag = diag(
+ const auto Diag = diag(
LoopVar.getLocation(),
"loop variable is copied but only used as const reference; consider "
"making it a const reference");
diff --git a/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp b/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
index d073f00878020..93cd3a2229a25 100644
--- a/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
@@ -259,10 +259,11 @@ void InefficientVectorOperationCheck::check(
ReserveSize = std::string(LoopEndSource);
}
- auto Diag = diag(AppendCall->getBeginLoc(),
- "%0 is called inside a loop; consider pre-allocating the "
- "container capacity before the loop")
- << AppendCall->getMethodDecl()->getDeclName();
+ const auto Diag =
+ diag(AppendCall->getBeginLoc(),
+ "%0 is called inside a loop; consider pre-allocating the "
+ "container capacity before the loop")
+ << AppendCall->getMethodDecl()->getDeclName();
if (!ReserveSize.empty()) {
const std::string ReserveStmt =
(VarName + PartialReserveStmt + "(" + ReserveSize + ");\n").str();
diff --git a/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp b/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
index 8ea860fb7907a..be6a4f30e610e 100644
--- a/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
@@ -154,16 +154,16 @@ void MoveConstArgCheck::check(const MatchFinder::MatchResult &Result) {
IsVariable ? dyn_cast<DeclRefExpr>(Arg)->getDecl() : nullptr;
{
- auto Diag = diag(FileMoveRange.getBegin(),
- "std::move of the %select{|const }0"
- "%select{expression|variable %5}1 "
- "%select{|of the trivially-copyable type %6 }2"
- "has no effect%select{; remove std::move()|}3"
- "%select{| or make the variable non-const}4")
- << IsConstArg << IsVariable << IsTriviallyCopyable
- << IsRVRefParam
- << (IsConstArg && IsVariable && !IsTriviallyCopyable) << Var
- << Arg->getType();
+ const auto Diag = diag(FileMoveRange.getBegin(),
+ "std::move of the %select{|const }0"
+ "%select{expression|variable %5}1 "
+ "%select{|of the trivially-copyable type %6 }2"
+ "has no effect%select{; remove std::move()|}3"
+ "%select{| or make the variable non-const}4")
+ << IsConstArg << IsVariable << IsTriviallyCopyable
+ << IsRVRefParam
+ << (IsConstArg && IsVariable && !IsTriviallyCopyable)
+ << Var << Arg->getType();
if (!IsRVRefParam)
replaceCallWithArg(CallMove, Diag, SM, getLangOpts());
}
@@ -209,9 +209,10 @@ void MoveConstArgCheck::check(const MatchFinder::MatchResult &Result) {
return;
{
- auto Diag = diag(FileMoveRange.getBegin(),
- "passing result of std::move() as a const reference "
- "argument; no move will actually happen");
+ const auto Diag =
+ diag(FileMoveRange.getBegin(),
+ "passing result of std::move() as a const reference "
+ "argument; no move will actually happen");
replaceCallWithArg(CallMove, Diag, SM, getLangOpts());
}
diff --git a/clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp b/clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
index 895bd702d3834..33d80615fb19f 100644
--- a/clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
@@ -35,7 +35,7 @@ void NoexceptFunctionBaseCheck::check(const MatchFinder::MatchResult &Result) {
return;
}
- auto Diag = reportMissingNoexcept(FuncDecl);
+ const auto Diag = reportMissingNoexcept(FuncDecl);
// Add FixIt hints.
const SourceManager &SM = *Result.SourceManager;
diff --git a/clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp b/clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
index c29fef3b71c5e..d5d1784c0a0b7 100644
--- a/clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
@@ -34,12 +34,12 @@ makeCharacterLiteral(const StringLiteral *Literal) {
Literal->outputString(OS);
}
// Now replace the " with '.
- auto OpenPos = Result.find_first_of('"');
+ const auto OpenPos = Result.find_first_of('"');
if (OpenPos == std::string::npos)
return std::nullopt;
Result[OpenPos] = '\'';
- auto ClosePos = Result.find_last_of('"');
+ const auto ClosePos = Result.find_last_of('"');
if (ClosePos == std::string::npos)
return std::nullopt;
Result[ClosePos] = '\'';
diff --git a/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp b/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
index 9825cf254c97c..123d846213fd8 100644
--- a/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
@@ -49,15 +49,15 @@ void TypePromotionInMathFnCheck::registerMatchers(MatchFinder *Finder) {
constexpr BuiltinType::Kind DoubleTy = BuiltinType::Double;
constexpr BuiltinType::Kind LongDoubleTy = BuiltinType::LongDouble;
- auto HasBuiltinTyParam = [](int Pos, BuiltinType::Kind Kind) {
+ const auto HasBuiltinTyParam = [](int Pos, BuiltinType::Kind Kind) {
return hasParameter(Pos, hasType(isBuiltinType(Kind)));
};
- auto HasBuiltinTyArg = [](int Pos, BuiltinType::Kind Kind) {
+ const auto HasBuiltinTyArg = [](int Pos, BuiltinType::Kind Kind) {
return hasArgument(Pos, hasType(isBuiltinType(Kind)));
};
// Match calls to foo(double) with a float argument.
- auto OneDoubleArgFns = hasAnyName(
+ const auto OneDoubleArgFns = hasAnyName(
"::acos", "::acosh", "::asin", "::asinh", "::atan", "::atanh", "::cbrt",
"::ceil", "::cos", "::cosh", "::erf", "::erfc", "::exp", "::exp2",
"::expm1", "::fabs", "::floor", "::ilogb", "::lgamma", "::llrint",
@@ -72,9 +72,9 @@ void TypePromotionInMathFnCheck::registerMatchers(MatchFinder *Finder) {
this);
// Match calls to foo(double, double) where both args are floats.
- auto TwoDoubleArgFns = hasAnyName("::atan2", "::copysign", "::fdim", "::fmax",
- "::fmin", "::fmod", "::hypot", "::ldexp",
- "::nextafter", "::pow", "::remainder");
+ const auto TwoDoubleArgFns = hasAnyName(
+ "::atan2", "::copysign", "::fdim", "::fmax", "::fmin", "::fmod",
+ "::hypot", "::ldexp", "::nextafter", "::pow", "::remainder");
Finder->addMatcher(
callExpr(callee(functionDecl(TwoDoubleArgFns, parameterCountIs(2),
HasBuiltinTyParam(0, DoubleTy),
@@ -177,10 +177,11 @@ void TypePromotionInMathFnCheck::check(const MatchFinder::MatchResult &Result) {
NewFnName = (OldFnName + "f").str();
}
- auto Diag = diag(Call->getExprLoc(), "call to '%0' promotes float to double")
- << OldFnName
- << FixItHint::CreateReplacement(
- Call->getCallee()->getSourceRange(), NewFnName);
+ const auto Diag =
+ diag(Call->getExprLoc(), "call to '%0' promotes float to double")
+ << OldFnName
+ << FixItHint::CreateReplacement(Call->getCallee()->getSourceRange(),
+ NewFnName);
// Suggest including <cmath> if the function we're suggesting is declared in
// <cmath> and it's not already included. We never have to suggest including
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
index 36dc028248fee..1c61029ffc47b 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
@@ -50,17 +50,18 @@ firstLocAfterNewLine(SourceLocation Loc, const SourceManager &SM) {
static void recordRemoval(const DeclStmt &Stmt, ASTContext &Context,
const DiagnosticBuilder &Diagnostic) {
- auto &SM = Context.getSourceManager();
+ const auto &SM = Context.getSourceManager();
// Attempt to remove trailing comments as well.
auto Tok = utils::lexer::findNextTokenSkippingComments(Stmt.getEndLoc(), SM,
Context.getLangOpts());
std::optional<SourceLocation> PastNewLine =
firstLocAfterNewLine(Stmt.getEndLoc(), SM);
if (Tok && PastNewLine) {
- auto BeforeFirstTokenAfterComment = Tok->getLocation().getLocWithOffset(-1);
+ const auto BeforeFirstTokenAfterComment =
+ Tok->getLocation().getLocWithOffset(-1);
// Remove until the end of the line or the end of a trailing comment which
// ever comes first.
- auto End =
+ const auto End =
SM.isBeforeInTranslationUnit(*PastNewLine, BeforeFirstTokenAfterComment)
? *PastNewLine
: BeforeFirstTokenAfterComment;
@@ -119,7 +120,7 @@ AST_MATCHER_FUNCTION(StatementMatcher, isConstRefReturningFunctionCall) {
AST_MATCHER_FUNCTION_P(StatementMatcher, initializerReturnsReferenceToConst,
std::vector<StringRef>, ExcludedContainerTypes) {
- auto OldVarDeclRef =
+ const auto OldVarDeclRef =
declRefExpr(to(varDecl(hasLocalStorage()).bind(OldVarDeclId)));
return expr(
anyOf(isConstRefReturningFunctionCall(),
@@ -161,7 +162,7 @@ static bool isInitializingVariableImmutable(
if (!InitializingVar.isLocalVarDecl() || !InitializingVar.hasInit())
return true;
- auto Matches =
+ const auto Matches =
match(initializerReturnsReferenceToConst(ExcludedContainerTypes),
*InitializingVar.getInit(), Context);
// The reference is initialized from a free function without arguments
@@ -187,7 +188,7 @@ static bool isVariableUnused(const VarDecl &Var, const Stmt &BlockStmt,
static const SubstTemplateTypeParmType *
getSubstitutedType(const QualType &Type, ASTContext &Context) {
- auto Matches = match(
+ const auto Matches = match(
qualType(anyOf(substTemplateTypeParmType().bind("subst"),
hasDescendant(substTemplateTypeParmType().bind("subst")))),
Type, Context);
@@ -231,7 +232,7 @@ UnnecessaryCopyInitializationCheck::UnnecessaryCopyInitializationCheck(
Options.get("ExcludedContainerTypes", ""))) {}
void UnnecessaryCopyInitializationCheck::registerMatchers(MatchFinder *Finder) {
- auto LocalVarCopiedFrom =
+ const auto LocalVarCopiedFrom =
[this](const ast_matchers::internal::Matcher<Expr> &CopyCtorArg) {
return compoundStmt(
forEachDescendant(
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
index f126dbe678238..4a122f56a03aa 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
@@ -29,7 +29,7 @@ static std::string paramNameOrIndex(StringRef Name, size_t Index) {
static bool hasLoopStmtAncestor(const DeclRefExpr &DeclRef, const Decl &Decl,
ASTContext &Context) {
- auto Matches = match(
+ const auto Matches = match(
traverse(TK_AsIs,
decl(forEachDescendant(declRefExpr(
equalsNode(&DeclRef),
@@ -90,10 +90,10 @@ void UnnecessaryValueParamCheck::check(const MatchFinder::MatchResult &Result) {
// In this case wrap DeclRefExpr with std::move() to avoid the unnecessary
// copy.
if (!IsConstQualified) {
- auto AllDeclRefExprs = utils::decl_ref_expr::allDeclRefExprs(
+ const auto AllDeclRefExprs = utils::decl_ref_expr::allDeclRefExprs(
*Param, *Function, *Result.Context);
if (AllDeclRefExprs.size() == 1) {
- auto CanonicalType = Param->getType().getCanonicalType();
+ const auto CanonicalType = Param->getType().getCanonicalType();
const auto &DeclRefExpr = **AllDeclRefExprs.begin();
if (!hasLoopStmtAncestor(DeclRefExpr, *Function, *Result.Context) &&
@@ -137,7 +137,7 @@ void UnnecessaryValueParamCheck::handleConstRefFix(const FunctionDecl &Function,
const bool IsConstQualified =
Param.getType().getCanonicalType().isConstQualified();
- auto Diag =
+ const auto Diag =
diag(Param.getLocation(),
"the %select{|const qualified }0parameter %1 of type %2 is copied "
"for each "
@@ -171,7 +171,7 @@ void UnnecessaryValueParamCheck::handleConstRefFix(const FunctionDecl &Function,
void UnnecessaryValueParamCheck::handleMoveFix(const ParmVarDecl &Param,
const DeclRefExpr &CopyArgument,
ASTContext &Context) {
- auto Diag =
+ const auto Diag =
diag(CopyArgument.getBeginLoc(),
"parameter %0 of type %1 is passed by value and only copied once; "
"consider moving it to avoid unnecessary copies")
@@ -180,8 +180,8 @@ void UnnecessaryValueParamCheck::handleMoveFix(const ParmVarDecl &Param,
if (CopyArgument.getBeginLoc().isMacroID())
return;
const auto &SM = Context.getSourceManager();
- auto EndLoc = Lexer::getLocForEndOfToken(CopyArgument.getLocation(), 0, SM,
- Context.getLangOpts());
+ const auto EndLoc = Lexer::getLocForEndOfToken(CopyArgument.getLocation(), 0,
+ SM, Context.getLangOpts());
Diag << FixItHint::CreateInsertion(CopyArgument.getBeginLoc(), "std::move(")
<< FixItHint::CreateInsertion(EndLoc, ")")
<< Inserter.createIncludeInsertion(
diff --git a/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp b/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
index 7c3bbc3187cd9..e2ea0cd112a3f 100644
--- a/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
@@ -59,7 +59,7 @@ AST_POLYMORPHIC_MATCHER(isInMacro,
using utils::decl_ref_expr::allDeclRefExprs;
void UseStdMoveCheck::registerMatchers(MatchFinder *Finder) {
- auto AssignOperatorExpr =
+ const auto AssignOperatorExpr =
cxxOperatorCallExpr(
isCopyAssignmentOperator(),
hasArgument(0, hasType(cxxRecordDecl(
diff --git a/clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp b/clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
index 4225c3e15af98..69b110d12f1f9 100644
--- a/clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
@@ -49,14 +49,14 @@ void RestrictedIncludesPPCallbacks::EndOfMainFile() {
Include.Loc, Include.Loc.getLocWithOffset(ToLen));
if (!Include.IsInMainFile) {
- auto D = Check.diag(
+ const auto D = Check.diag(
Include.Loc,
"system include %0 not allowed, transitively included from %1");
D << Include.IncludeFile << SM.getFilename(Include.Loc);
D << FixItHint::CreateRemoval(ToRange);
continue;
}
- auto D = Check.diag(Include.Loc, "system include %0 not allowed");
+ const auto D = Check.diag(Include.Loc, "system include %0 not allowed");
D << Include.IncludeFile;
D << FixItHint::CreateRemoval(ToRange);
}
diff --git a/clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp b/clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
index b2cd846278479..2743af4bf4693 100644
--- a/clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
+++ b/clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
@@ -15,13 +15,13 @@ namespace clang::tidy::portability {
void StdAllocatorConstCheck::registerMatchers(MatchFinder *Finder) {
// Match std::allocator<const T>.
- auto AllocatorConst = qualType(hasCanonicalType(
+ const auto AllocatorConst = qualType(hasCanonicalType(
recordType(hasDeclaration(classTemplateSpecializationDecl(
hasName("::std::allocator"),
hasTemplateArgument(0,
refersToType(qualType(isConstQualified()))))))));
- auto HasContainerName =
+ const auto HasContainerName =
hasAnyName("::std::vector", "::std::deque", "::std::list",
"::std::multiset", "::std::set", "::std::unordered_multiset",
"::std::unordered_set", "::absl::flat_hash_set");
diff --git a/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp b/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
index 506f8e2ddf934..2b778d22dfe4c 100644
--- a/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
@@ -68,10 +68,11 @@ void AvoidConstParamsInDeclsCheck::check(
const auto Tok = findConstToRemove(*Param, Result);
const auto ConstLocation = Tok ? Tok->getLocation() : Param->getBeginLoc();
- auto Diag = diag(ConstLocation,
- "parameter %0 is const-qualified in the function "
- "declaration; const-qualification of parameters only has an "
- "effect in function definitions");
+ const auto Diag =
+ diag(ConstLocation,
+ "parameter %0 is const-qualified in the function "
+ "declaration; const-qualification of parameters only has an "
+ "effect in function definitions");
if (Param->getName().empty()) {
for (unsigned int I = 0; I < Func->getNumParams(); ++I) {
if (Param == Func->getParamDecl(I)) {
diff --git a/clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp b/clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
index 710b538317626..66af6fd26b5f7 100644
--- a/clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
@@ -159,8 +159,8 @@ bool BracesAroundStatementsCheck::checkStmt(
BraceInsertionHints.resultingCompoundLineExtent(*Result.SourceManager) <
ShortStatementLines)
return false;
- auto Diag = diag(BraceInsertionHints.DiagnosticPos,
- "statement should be inside braces");
+ const auto Diag = diag(BraceInsertionHints.DiagnosticPos,
+ "statement should be inside braces");
if (BraceInsertionHints.offersFixIts())
Diag << BraceInsertionHints.openingBraceFixIt()
<< BraceInsertionHints.closingBraceFixIt();
diff --git a/clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp b/clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
index 405174ee0209b..4e5756d0975cd 100644
--- a/clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
@@ -139,7 +139,7 @@ void ConstReturnTypeCheck::check(const MatchFinder::MatchResult &Result) {
for (auto &Hint : CR.Hints)
Diagnostic << Hint;
}
- for (auto Loc : CR.DeclLocs)
+ for (const auto Loc : CR.DeclLocs)
diag(Loc, "could not transform this declaration", DiagnosticIDs::Note);
}
diff --git a/clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
index 3b4113c4e2ed0..701fab500f646 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
@@ -96,8 +96,8 @@ void ContainerContainsCheck::check(const MatchFinder::MatchResult &Result) {
const Expr *SearchExpr = Call->getArg(0)->IgnoreParenImpCasts();
// Diagnose the issue.
- auto Diag = diag(Call->getExprLoc(), "use '%0' to check for membership")
- << ContainsFunName;
+ const auto Diag = diag(Call->getExprLoc(), "use '%0' to check for membership")
+ << ContainsFunName;
// Don't fix it if it's in a macro invocation. Leave fixing it to the user.
const SourceLocation FuncCallLoc = Comparison->getEndLoc();
diff --git a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
index 33fe48048b356..5dda3f3297d2f 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
@@ -58,7 +58,7 @@ AST_POLYMORPHIC_MATCHER_P2(hasAnyArgumentWithParam,
AST_MATCHER(Expr, usedInBooleanContext) {
const char *ExprName = "__booleanContextExpr";
- auto Result =
+ const auto Result =
expr(expr().bind(ExprName),
anyOf(hasParent(
mapAnyOf(varDecl, fieldDecl).with(hasType(booleanType()))),
@@ -408,8 +408,9 @@ void ContainerSizeEmptyCheck::check(const MatchFinder::MatchResult &Result) {
auto WarnLoc = MemberCall ? MemberCall->getBeginLoc() : SourceLocation{};
if (WarnLoc.isValid()) {
- auto Diag = diag(WarnLoc, "the 'empty' method should be used to check "
- "for emptiness instead of %0");
+ const auto Diag =
+ diag(WarnLoc, "the 'empty' method should be used to check "
+ "for emptiness instead of %0");
if (const auto *SizeMethod =
Result.Nodes.getNodeAs<NamedDecl>("SizeMethod"))
Diag << SizeMethod->getDeclName();
diff --git a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
index 1587c63eea10e..62c786abaf174 100644
--- a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
@@ -91,8 +91,8 @@ AST_MATCHER(CXXMethodDecl, hasNonConstOverload) {
if (LookupResult.isSingleResult())
return false;
- auto HasSameParameterTypes = [](const CXXMethodDecl &MD1,
- const CXXMethodDecl &MD2) {
+ const auto HasSameParameterTypes = [](const CXXMethodDecl &MD1,
+ const CXXMethodDecl &MD2) {
if (MD1.getNumParams() != MD2.getNumParams())
return false;
for (unsigned I = 0, E = MD1.getNumParams(); I < E; ++I)
diff --git a/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp b/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
index f469115594611..d30a6e816832b 100644
--- a/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
@@ -57,7 +57,7 @@ void DeleteNullPointerCheck::check(const MatchFinder::MatchResult &Result) {
Result.Nodes.getNodeAs<IfStmt>("ifWithScopedCondition") != nullptr;
const auto *Compound = Result.Nodes.getNodeAs<CompoundStmt>("compound");
- auto Diag = diag(
+ const auto Diag = diag(
IfWithDelete->getBeginLoc(),
"'if' statement is unnecessary; deleting null pointer has no effect");
if (HasScopedCondition || IfWithDelete->hasElseStorage())
diff --git a/clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp b/clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
index dcdb013190df3..be1257da1f5e4 100644
--- a/clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
@@ -127,7 +127,7 @@ static bool containsDeclInScope(const Stmt *Node) {
static void removeElseAndBrackets(const DiagnosticBuilder &Diag,
ASTContext &Context, const Stmt *Else,
SourceLocation ElseLoc) {
- auto Remap = [&](SourceLocation Loc) {
+ const auto Remap = [&](SourceLocation Loc) {
return Context.getSourceManager().getExpansionLoc(Loc);
};
@@ -190,7 +190,7 @@ static bool hasPreprocessorBranchEndBetweenLocations(
assert(ExpandedStartLoc < ExpandedEndLoc);
- auto Iter = ConditionalBranchMap.find(SM.getFileID(ExpandedEndLoc));
+ const auto Iter = ConditionalBranchMap.find(SM.getFileID(ExpandedEndLoc));
if (Iter == ConditionalBranchMap.end() || Iter->getSecond().empty())
return false;
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
index 379714a9ae2ba..60af9e6503daf 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
@@ -138,8 +138,9 @@ static bool isShortLived(const ValueDecl *Var, const SourceManager *SrcMgr,
}
void IdentifierLengthCheck::check(const MatchFinder::MatchResult &Result) {
- auto WarnIfTooShort = [&](const ValueDecl *Var, unsigned MinNameLength,
- const llvm::Regex &IgnoredNames, unsigned VarKind) {
+ const auto WarnIfTooShort = [&](const ValueDecl *Var, unsigned MinNameLength,
+ const llvm::Regex &IgnoredNames,
+ unsigned VarKind) {
if (!Var->getIdentifier())
return;
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 42f3101592758..86cc399611a83 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -263,7 +263,7 @@ IdentifierNamingCheck::FileStyle IdentifierNamingCheck::getFileStyleFromOptions(
const size_t StyleSize = StyleNames[I].size();
StyleString.assign({StyleNames[I], "HungarianPrefix"});
- auto HPTOpt =
+ const auto HPTOpt =
Options.get<IdentifierNamingCheck::HungarianPrefixType>(StyleString);
if (HPTOpt && !HungarianNotation.checkOptionValid(I))
configurationDiag("invalid identifier naming option '%0'") << StyleString;
@@ -304,7 +304,7 @@ std::string IdentifierNamingCheck::HungarianNotation::getDeclTypeName(
return {};
// Get type text of variable declarations.
- auto &SM = VD->getASTContext().getSourceManager();
+ const auto &SM = VD->getASTContext().getSourceManager();
const char *Begin = SM.getCharacterData(VD->getBeginLoc());
const char *End = SM.getCharacterData(VD->getEndLoc());
intptr_t StrLen = End - Begin;
@@ -403,7 +403,7 @@ IdentifierNamingCheck::IdentifierNamingCheck(StringRef Name,
: RenamerClangTidyCheck(Name, Context), Context(Context),
GetConfigPerFile(Options.get("GetConfigPerFile", true)),
IgnoreFailedSplit(Options.get("IgnoreFailedSplit", false)) {
- auto IterAndInserted = NamingStylesCache.try_emplace(
+ const auto IterAndInserted = NamingStylesCache.try_emplace(
llvm::sys::path::parent_path(Context->getCurrentFile()),
getFileStyleFromOptions(Options));
assert(IterAndInserted.second && "Couldn't insert Style");
@@ -431,7 +431,7 @@ bool IdentifierNamingCheck::HungarianNotation::isOptionEnabled(
if (OptionKey.empty())
return false;
- auto Iter = StrMap.find(OptionKey);
+ const auto Iter = StrMap.find(OptionKey);
if (Iter == StrMap.end())
return false;
@@ -1035,7 +1035,7 @@ bool IdentifierNamingCheck::isParamInMainLikeFunction(
if (!FDecl->getDeclName().isIdentifier())
return false;
enum MainType { None, Main, WMain };
- auto IsCharPtrPtr = [](QualType QType) -> MainType {
+ const auto IsCharPtrPtr = [](QualType QType) -> MainType {
if (QType.isNull())
return None;
if (QType = QType->getPointeeType(), QType.isNull())
@@ -1048,7 +1048,7 @@ bool IdentifierNamingCheck::isParamInMainLikeFunction(
return WMain;
return None;
};
- auto IsIntType = [](QualType QType) {
+ const auto IsIntType = [](QualType QType) {
if (QType.isNull())
return false;
if (const auto *Builtin =
@@ -1437,7 +1437,7 @@ IdentifierNamingCheck::getDiagInfo(const NamingCheckId &ID,
}
StringRef IdentifierNamingCheck::getRealFileName(StringRef FileName) const {
- auto Iter = RealFileNameCache.try_emplace(FileName);
+ const auto Iter = RealFileNameCache.try_emplace(FileName);
SmallString<256U> &RealFileName = Iter.first->getValue();
if (!Iter.second)
return RealFileName;
@@ -1452,21 +1452,21 @@ IdentifierNamingCheck::getStyleForFile(StringRef FileName) const {
const StringRef RealFileName = getRealFileName(FileName);
const StringRef Parent = llvm::sys::path::parent_path(RealFileName);
- auto Iter = NamingStylesCache.find(Parent);
+ const auto Iter = NamingStylesCache.find(Parent);
if (Iter != NamingStylesCache.end())
return Iter->getValue();
const StringRef CheckName = getID();
ClangTidyOptions Options = Context->getOptionsForFile(RealFileName);
if (Options.Checks && GlobList(*Options.Checks).contains(CheckName)) {
- auto It = NamingStylesCache.try_emplace(
+ const auto It = NamingStylesCache.try_emplace(
Parent,
getFileStyleFromOptions({CheckName, Options.CheckOptions, Context}));
assert(It.second);
return It.first->getValue();
}
// Default construction gives an empty style.
- auto It = NamingStylesCache.try_emplace(Parent);
+ const auto It = NamingStylesCache.try_emplace(Parent);
assert(It.second);
return It.first->getValue();
}
diff --git a/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp b/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
index 636872e2ed187..ed63a8ec044b3 100644
--- a/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
@@ -282,7 +282,7 @@ void ImplicitBoolConversionCheck::registerMatchers(MatchFinder *Finder) {
expr(hasType(qualType().bind("type")),
hasParent(initListExpr(hasParent(explicitCastExpr(
hasType(qualType(equalsBoundNode("type"))))))))));
- auto ImplicitCastFromBool = implicitCastExpr(
+ const auto ImplicitCastFromBool = implicitCastExpr(
anyOf(hasCastKind(CK_IntegralCast), hasCastKind(CK_IntegralToFloating),
// Prior to C++11 cast from bool literal to pointer was allowed.
allOf(anyOf(hasCastKind(CK_NullToPointer),
@@ -335,10 +335,11 @@ void ImplicitBoolConversionCheck::registerMatchers(MatchFinder *Finder) {
hasLHS(expr(hasType(booleanType()))));
auto BitfieldAssignment = binaryOperator(
hasLHS(memberExpr(hasDeclaration(fieldDecl(hasBitWidth(1))))));
- auto BitfieldConstruct = cxxConstructorDecl(hasDescendant(cxxCtorInitializer(
- withInitializer(equalsBoundNode("implicitCastFromBool")),
- forField(hasBitWidth(1)))));
- auto BoolTernaryCondition = conditionalOperator(
+ const auto BitfieldConstruct =
+ cxxConstructorDecl(hasDescendant(cxxCtorInitializer(
+ withInitializer(equalsBoundNode("implicitCastFromBool")),
+ forField(hasBitWidth(1)))));
+ const auto BoolTernaryCondition = conditionalOperator(
hasCondition(equalsBoundNode("implicitCastFromBool")));
Finder->addMatcher(
traverse(
@@ -407,9 +408,10 @@ void ImplicitBoolConversionCheck::handleCastToBool(const ImplicitCastExpr *Cast,
return;
}
- auto Diag = diag(Context.getSourceManager().getFileLoc(Cast->getBeginLoc()),
- "implicit conversion %0 -> 'bool'")
- << Cast->getSubExpr()->getType();
+ const auto Diag =
+ diag(Context.getSourceManager().getFileLoc(Cast->getBeginLoc()),
+ "implicit conversion %0 -> 'bool'")
+ << Cast->getSubExpr()->getType();
const StringRef EquivalentLiteral =
getEquivalentBoolLiteralForExpr(Cast->getSubExpr(), Context);
@@ -426,9 +428,10 @@ void ImplicitBoolConversionCheck::handleCastFromBool(
ASTContext &Context) {
const QualType DestType =
NextImplicitCast ? NextImplicitCast->getType() : Cast->getType();
- auto Diag = diag(Context.getSourceManager().getFileLoc(Cast->getBeginLoc()),
- "implicit conversion 'bool' -> %0")
- << DestType;
+ const auto Diag =
+ diag(Context.getSourceManager().getFileLoc(Cast->getBeginLoc()),
+ "implicit conversion 'bool' -> %0")
+ << DestType;
if (const auto *BoolLiteral =
dyn_cast<CXXBoolLiteralExpr>(Cast->getSubExpr()->IgnoreParens())) {
diff --git a/clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp b/clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
index eb7bb6f14e382..97d6fa5605a98 100644
--- a/clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
@@ -18,7 +18,7 @@ namespace {
AST_MATCHER(FunctionDecl, hasOtherDeclarations) {
auto It = Node.redecls_begin();
- auto EndIt = Node.redecls_end();
+ const auto EndIt = Node.redecls_end();
if (It == EndIt)
return false;
@@ -218,7 +218,7 @@ static void formatDifferingParamsDiagnostic(
return ParamInfo.SourceName;
};
- auto ParamDiag =
+ const auto ParamDiag =
Check->diag(Location,
"
diff ering parameters are named here: (%0), in %1: (%2)",
DiagnosticIDs::Level::Note)
diff --git a/clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
index 88a54917a5ef5..07673e3207f3b 100644
--- a/clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
@@ -246,7 +246,7 @@ createIsolatedDecls(llvm::ArrayRef<StringRef> Snippets) {
void IsolateDeclarationCheck::check(const MatchFinder::MatchResult &Result) {
const auto *WholeDecl = Result.Nodes.getNodeAs<DeclStmt>("decl_stmt");
- auto Diag =
+ const auto Diag =
diag(WholeDecl->getBeginLoc(),
"multiple declarations in a single statement reduces readability");
diff --git a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
index e8875d014fe21..967c63db51dd7 100644
--- a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
@@ -244,7 +244,7 @@ static SourceLocation getConstInsertionPoint(const CXXMethodDecl *M) {
if (!TSI)
return {};
- auto FTL = TSI->getTypeLoc().IgnoreParens().getAs<FunctionTypeLoc>();
+ const auto FTL = TSI->getTypeLoc().IgnoreParens().getAs<FunctionTypeLoc>();
if (!FTL)
return {};
@@ -257,10 +257,11 @@ void MakeMemberFunctionConstCheck::check(
const auto *Declaration = Definition->getCanonicalDecl();
- auto Diag = diag(Definition->getLocation(), "method %0 can be made const")
- << Definition
- << FixItHint::CreateInsertion(getConstInsertionPoint(Definition),
- " const");
+ const auto Diag =
+ diag(Definition->getLocation(), "method %0 can be made const")
+ << Definition
+ << FixItHint::CreateInsertion(getConstInsertionPoint(Definition),
+ " const");
if (Declaration != Definition) {
Diag << FixItHint::CreateInsertion(getConstInsertionPoint(Declaration),
" const");
diff --git a/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
index a9c1b6a688d98..fa76333ba63ef 100644
--- a/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
@@ -70,7 +70,7 @@ static void addParentheses(const Expr *E, const BinaryOperator *ParentBinOp,
const SourceLocation EndLoc =
Lexer::getLocForEndOfToken(BinOp->getEndLoc(), 0, SM, LangOpts);
- auto Diag =
+ const auto Diag =
Check->diag(StartLoc,
"'%0' has higher precedence than '%1'; add parentheses to "
"explicitly specify the order of operations")
diff --git a/clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp b/clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
index 450961c8b4fee..72d791f896039 100644
--- a/clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
@@ -17,7 +17,7 @@ namespace clang::tidy::readability {
static const IfStmt *getPrecedingIf(const SourceManager &SM,
ASTContext *Context, const IfStmt *If) {
- auto Parents = Context->getParents(*If);
+ const auto Parents = Context->getParents(*If);
if (Parents.size() != 1)
return nullptr;
if (const auto *PrecedingIf = Parents[0].get<IfStmt>()) {
diff --git a/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp b/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
index 0052af6f5d1d1..405362938b351 100644
--- a/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
@@ -28,9 +28,10 @@ void MisplacedArrayIndexCheck::check(const MatchFinder::MatchResult &Result) {
const auto *ArraySubscriptE =
Result.Nodes.getNodeAs<ArraySubscriptExpr>("expr");
- auto Diag = diag(ArraySubscriptE->getBeginLoc(), "confusing array subscript "
- "expression, usually the "
- "index is inside the []");
+ const auto Diag =
+ diag(ArraySubscriptE->getBeginLoc(), "confusing array subscript "
+ "expression, usually the "
+ "index is inside the []");
// Only try to fixit when LHS and RHS can be swapped directly without changing
// the logic.
diff --git a/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp b/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
index ebe8148bc4fbf..a7bd42e7b39f0 100644
--- a/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
@@ -132,10 +132,10 @@ void NamedParameterCheck::check(const MatchFinder::MatchResult &Result) {
if (!UnnamedParams.empty()) {
const ParmVarDecl *FirstParm =
UnnamedParams.front().first->getParamDecl(UnnamedParams.front().second);
- auto D = diag(FirstParm->getLocation(),
- "all parameters should be named in a function");
+ const auto D = diag(FirstParm->getLocation(),
+ "all parameters should be named in a function");
- for (auto P : UnnamedParams) {
+ for (const auto P : UnnamedParams) {
// Fallback to an unused marker.
static constexpr StringRef FallbackName = "unused";
StringRef NewName = FallbackName;
diff --git a/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp b/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
index 004df8b9af929..4cc72bb14917a 100644
--- a/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
@@ -185,7 +185,7 @@ void NonConstParameterCheck::addParm(const ParmVarDecl *Parm) {
}
void NonConstParameterCheck::setReferenced(const DeclRefExpr *Ref) {
- auto It = Parameters.find(dyn_cast<ParmVarDecl>(Ref->getDecl()));
+ const auto It = Parameters.find(dyn_cast<ParmVarDecl>(Ref->getDecl()));
if (It != Parameters.end())
It->second.IsReferenced = true;
}
@@ -298,7 +298,7 @@ void NonConstParameterCheck::markCanNotBeConst(const Expr *E,
} else if (CanNotBeConst) {
// Referencing parameter.
if (const auto *D = dyn_cast<DeclRefExpr>(E)) {
- auto It = Parameters.find(dyn_cast<ParmVarDecl>(D->getDecl()));
+ const auto It = Parameters.find(dyn_cast<ParmVarDecl>(D->getDecl()));
if (It != Parameters.end())
It->second.CanBeConst = false;
}
diff --git a/clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp b/clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
index 4ba80541ad565..c9d619dcf0240 100644
--- a/clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
@@ -118,7 +118,7 @@ void QualifiedAutoCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void QualifiedAutoCheck::registerMatchers(MatchFinder *Finder) {
- auto ExplicitSingleVarDecl =
+ const auto ExplicitSingleVarDecl =
[](const ast_matchers::internal::Matcher<VarDecl> &InnerMatcher,
StringRef ID) {
return declStmt(
@@ -126,7 +126,7 @@ void QualifiedAutoCheck::registerMatchers(MatchFinder *Finder) {
hasSingleDecl(
varDecl(unless(isImplicit()), InnerMatcher).bind(ID)));
};
- auto ExplicitSingleVarDeclInTemplate =
+ const auto ExplicitSingleVarDeclInTemplate =
[](const ast_matchers::internal::Matcher<VarDecl> &InnerMatcher,
StringRef ID) {
return declStmt(
@@ -135,10 +135,11 @@ void QualifiedAutoCheck::registerMatchers(MatchFinder *Finder) {
varDecl(unless(isImplicit()), InnerMatcher).bind(ID)));
};
- auto IsBoundToType = refersToType(equalsBoundNode("type"));
- auto UnlessFunctionType = unless(hasUnqualifiedDesugaredType(functionType()));
+ const auto IsBoundToType = refersToType(equalsBoundNode("type"));
+ const auto UnlessFunctionType =
+ unless(hasUnqualifiedDesugaredType(functionType()));
- auto IsPointerType = [this](const auto &...InnerMatchers) {
+ const auto IsPointerType = [this](const auto &...InnerMatchers) {
if (this->IgnoreAliasing) {
return qualType(
hasUnqualifiedDesugaredType(pointerType(pointee(InnerMatchers...))));
@@ -148,7 +149,7 @@ void QualifiedAutoCheck::registerMatchers(MatchFinder *Finder) {
pointerType(pointee(InnerMatchers...)))))));
};
- auto IsAutoDeducedToPointer =
+ const auto IsAutoDeducedToPointer =
[IsPointerType](const std::vector<StringRef> &AllowedTypes,
const auto &...InnerMatchers) {
return autoType(hasDeducedType(
@@ -198,7 +199,7 @@ void QualifiedAutoCheck::check(const MatchFinder::MatchResult &Result) {
}
SmallVector<SourceRange, 4> RemoveQualifiersRange;
- auto CheckQualifier = [&](bool IsPresent, Qualifier Qual) {
+ const auto CheckQualifier = [&](bool IsPresent, Qualifier Qual) {
if (IsPresent) {
std::optional<Token> Token = findQualToken(Var, Qual, Result);
if (!Token || Token->getLocation().isMacroID())
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
index e35466158f800..6145883262d37 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
@@ -167,9 +167,10 @@ void RedundantCastingCheck::check(const MatchFinder::MatchResult &Result) {
return;
{
- auto Diag = diag(CastExpr->getExprLoc(),
- "redundant explicit casting to the same type %0 as the "
- "sub-expression, remove this casting");
+ const auto Diag =
+ diag(CastExpr->getExprLoc(),
+ "redundant explicit casting to the same type %0 as the "
+ "sub-expression, remove this casting");
Diag << TypeD;
const SourceManager &SM = *Result.SourceManager;
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
index 0f12b8bcea6fb..5d1088940b0f0 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
@@ -82,7 +82,7 @@ void RedundantDeclarationCheck::check(const MatchFinder::MatchResult &Result) {
const SourceLocation EndLoc = Lexer::getLocForEndOfToken(
D->getSourceRange().getEnd(), 0, SM, Result.Context->getLangOpts());
{
- auto Diag = diag(D->getLocation(), "redundant %0 declaration") << D;
+ const auto Diag = diag(D->getLocation(), "redundant %0 declaration") << D;
if (!MultiVar && !DifferentHeaders) {
SourceLocation BeginLoc;
if (const auto *Extern =
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
index 15c9669aa0a8e..7785f9f78ce3a 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
@@ -60,7 +60,7 @@ void RedundantMemberInitCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void RedundantMemberInitCheck::registerMatchers(MatchFinder *Finder) {
- auto ConstructorMatcher =
+ const auto ConstructorMatcher =
cxxConstructExpr(
argumentCountIs(0),
hasDeclaration(cxxConstructorDecl(
@@ -74,7 +74,7 @@ void RedundantMemberInitCheck::registerMatchers(MatchFinder *Finder) {
auto HasUnionAsParent = hasParent(recordDecl(isUnion()));
- auto HasTypeEqualToConstructorClass = hasType(qualType(
+ const auto HasTypeEqualToConstructorClass = hasType(qualType(
hasCanonicalType(qualType(hasDeclaration(equalsBoundNode("class"))))));
Finder->addMatcher(
@@ -103,7 +103,7 @@ void RedundantMemberInitCheck::check(const MatchFinder::MatchResult &Result) {
if (const auto *Field = Result.Nodes.getNodeAs<FieldDecl>("field")) {
const Expr *Init = Field->getInClassInitializer();
- auto Diag =
+ const auto Diag =
diag(Construct->getExprLoc(), "initializer for member %0 is redundant")
<< Field;
if (!Init->getBeginLoc().isMacroID() && !Init->getEndLoc().isMacroID())
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
index a0ae94891f552..8435c438360a5 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
@@ -39,7 +39,7 @@ static FixItHint createSpacedRemoval(SourceLocation Loc,
const SourceManager &SM,
const LangOptions &LangOpts) {
if (Loc.isValid() && !Loc.isMacroID()) {
- auto LocInfo = SM.getDecomposedLoc(Loc);
+ const auto LocInfo = SM.getDecomposedLoc(Loc);
bool Invalid = false;
StringRef Buffer = SM.getBufferData(LocInfo.first, &Invalid);
if (!Invalid && LocInfo.second > 0 && LocInfo.second + 1 < Buffer.size() &&
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
index a306f205a8447..b11eb06fb6a67 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
@@ -210,8 +210,9 @@ void RedundantQualifiedAliasCheck::check(
if (EqualRange.isInvalid())
return;
- auto Diag = diag(Alias->getLocation(),
- "type alias is redundant; use a using-declaration instead");
+ const auto Diag =
+ diag(Alias->getLocation(),
+ "type alias is redundant; use a using-declaration instead");
Diag << FixItHint::CreateRemoval(Alias->getLocation())
<< FixItHint::CreateRemoval(EqualRange.getBegin());
diff --git a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
index b0e95c0afc184..cc82e052d58da 100644
--- a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
@@ -56,7 +56,7 @@ static std::pair<BinaryOperatorKind, BinaryOperatorKind> Opposites[] = {
static StringRef negatedOperator(const BinaryOperator *BinOp) {
const BinaryOperatorKind Opcode = BinOp->getOpcode();
- for (auto NegatableOp : Opposites) {
+ for (const auto NegatableOp : Opposites) {
if (Opcode == NegatableOp.first)
return BinaryOperator::getOpcodeStr(NegatableOp.second);
if (Opcode == NegatableOp.second)
@@ -70,7 +70,7 @@ static std::pair<OverloadedOperatorKind, StringRef> OperatorNames[] = {
{OO_GreaterEqual, ">="}, {OO_Greater, ">"}, {OO_LessEqual, "<="}};
static StringRef getOperatorName(OverloadedOperatorKind OpKind) {
- for (auto Name : OperatorNames)
+ for (const auto Name : OperatorNames)
if (Name.first == OpKind)
return Name.second;
@@ -84,7 +84,7 @@ static std::pair<OverloadedOperatorKind, OverloadedOperatorKind>
static StringRef negatedOperator(const CXXOperatorCallExpr *OpCall) {
const OverloadedOperatorKind Opcode = OpCall->getOperator();
- for (auto NegatableOp : OppositeOverloads) {
+ for (const auto NegatableOp : OppositeOverloads) {
if (Opcode == NegatableOp.first)
return getOperatorName(NegatableOp.second);
if (Opcode == NegatableOp.second)
@@ -395,8 +395,8 @@ class SimplifyBooleanExprCheck::Visitor : public RecursiveASTVisitor<Visitor> {
*/
Expr *Var = nullptr;
SourceLocation Loc;
- auto VarBoolAssignmentMatcher = [&Var,
- &Loc](const Stmt *S) -> DeclAndBool {
+ const auto VarBoolAssignmentMatcher =
+ [&Var, &Loc](const Stmt *S) -> DeclAndBool {
const auto *BO = dyn_cast<BinaryOperator>(S);
if (!BO || BO->getOpcode() != BO_Assign)
return {};
@@ -412,7 +412,7 @@ class SimplifyBooleanExprCheck::Visitor : public RecursiveASTVisitor<Visitor> {
}
if (auto *DRE = dyn_cast<DeclRefExpr>(IgnImp))
return {DRE->getDecl(), *RightasBool};
- if (auto *ME = dyn_cast<MemberExpr>(IgnImp))
+ if (const auto *ME = dyn_cast<MemberExpr>(IgnImp))
return {ME->getMemberDecl(), *RightasBool};
return {};
};
@@ -638,8 +638,9 @@ void SimplifyBooleanExprCheck::reportBinOp(const ASTContext &Context,
const bool BoolValue = Bool->getValue();
- auto ReplaceWithExpression = [this, &Context, LHS, RHS,
- Bool](const Expr *ReplaceWith, bool Negated) {
+ const auto ReplaceWithExpression = [this, &Context, LHS, RHS,
+ Bool](const Expr *ReplaceWith,
+ bool Negated) {
const std::string Replacement =
replacementExpression(Context, Negated, ReplaceWith);
const SourceRange Range(LHS->getBeginLoc(), RHS->getEndLoc());
@@ -967,7 +968,7 @@ bool SimplifyBooleanExprCheck::reportDeMorgan(const ASTContext &Context,
assert(Inner);
assert(Inner->isLogicalOp());
- auto Diag =
+ const auto Diag =
diag(Outer->getBeginLoc(),
"boolean expression can be simplified by DeMorgan's theorem");
Diag << Outer->getSourceRange();
diff --git a/clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp b/clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
index 4b039170ed56a..79926074b387c 100644
--- a/clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
@@ -46,7 +46,7 @@ void SimplifySubscriptExprCheck::check(const MatchFinder::MatchResult &Result) {
return;
const auto *Member = Result.Nodes.getNodeAs<MemberExpr>("member");
- auto DiagBuilder =
+ const auto DiagBuilder =
diag(Member->getMemberLoc(),
"accessing an element of the container does not require a call to "
"'data()'; did you mean to use 'operator[]'?");
diff --git a/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp b/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
index 7ef8ef3d947f3..459cc010f729e 100644
--- a/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
@@ -91,7 +91,7 @@ void StaticAccessedThroughInstanceCheck::check(
return;
SourceLocation MemberExprStartLoc = MemberExpression->getBeginLoc();
- auto CreateFix = [&] {
+ const auto CreateFix = [&] {
return FixItHint::CreateReplacement(
CharSourceRange::getCharRange(MemberExprStartLoc,
MemberExpression->getMemberLoc()),
@@ -99,7 +99,7 @@ void StaticAccessedThroughInstanceCheck::check(
};
{
- auto Diag =
+ const auto Diag =
diag(MemberExprStartLoc, "static member accessed through instance");
if (getNameSpecifierNestingLevel(BaseType) > NameSpecifierNestingThreshold)
diff --git a/clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
index abc9f6709125b..0f64cea3efd59 100644
--- a/clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
@@ -36,7 +36,7 @@ void StaticDefinitionInAnonymousNamespaceCheck::check(
if (DC->getDeclKind() != Decl::Namespace)
return;
- auto Diag =
+ const auto Diag =
diag(Def->getLocation(), "%0 is a static definition in "
"anonymous namespace; static is redundant here")
<< Def;
diff --git a/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp b/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
index 6bd3674de6f8f..e095b22fa24b3 100644
--- a/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
@@ -78,7 +78,7 @@ void StringCompareCheck::check(const MatchFinder::MatchResult &Result) {
const auto *Str2 = Result.Nodes.getNodeAs<Stmt>("str2");
const auto *Compare = Result.Nodes.getNodeAs<Stmt>("compare");
- auto Diag = diag(Matched->getBeginLoc(), CompareMessage);
+ const auto Diag = diag(Matched->getBeginLoc(), CompareMessage);
if (Str1->isArrow())
Diag << FixItHint::CreateInsertion(Str1->getBeginLoc(), "*");
diff --git a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index b057ec61e547a..854bd1dae9e30 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -501,13 +501,13 @@ SuspiciousCallArgumentCheck::SuspiciousCallArgumentCheck(
: ClangTidyCheck(Name, Context),
MinimumIdentifierNameLength(Options.get(
"MinimumIdentifierNameLength", DefaultMinimumIdentifierNameLength)) {
- auto GetToggleOpt = [this](Heuristic H) -> bool {
- auto Idx = static_cast<std::size_t>(H);
+ const auto GetToggleOpt = [this](Heuristic H) -> bool {
+ const auto Idx = static_cast<std::size_t>(H);
assert(Idx < HeuristicCount);
return Options.get(HeuristicToString[Idx], Defaults[Idx].Enabled);
};
- auto GetBoundOpt = [this](Heuristic H, BoundKind BK) -> int8_t {
- auto Idx = static_cast<std::size_t>(H);
+ const auto GetBoundOpt = [this](Heuristic H, BoundKind BK) -> int8_t {
+ const auto Idx = static_cast<std::size_t>(H);
assert(Idx < HeuristicCount);
SmallString<32> Key = HeuristicToString[Idx];
@@ -519,7 +519,7 @@ SuspiciousCallArgumentCheck::SuspiciousCallArgumentCheck(
return Options.get(Key, Default);
};
for (std::size_t Idx = 0; Idx < HeuristicCount; ++Idx) {
- auto H = static_cast<Heuristic>(Idx);
+ const auto H = static_cast<Heuristic>(Idx);
if (GetToggleOpt(H))
AppliedHeuristics.emplace_back(H);
ConfiguredBounds.emplace_back(GetBoundOpt(H, BoundKind::DissimilarBelow),
@@ -543,11 +543,11 @@ void SuspiciousCallArgumentCheck::storeOptions(
Options.store(Opts, "MinimumIdentifierNameLength",
MinimumIdentifierNameLength);
const auto &SetToggleOpt = [this, &Opts](Heuristic H) -> void {
- auto Idx = static_cast<std::size_t>(H);
+ const auto Idx = static_cast<std::size_t>(H);
Options.store(Opts, HeuristicToString[Idx], isHeuristicEnabled(H));
};
const auto &SetBoundOpt = [this, &Opts](Heuristic H, BoundKind BK) -> void {
- auto Idx = static_cast<std::size_t>(H);
+ const auto Idx = static_cast<std::size_t>(H);
assert(Idx < HeuristicCount);
if (!Defaults[Idx].hasBounds())
return;
@@ -559,7 +559,7 @@ void SuspiciousCallArgumentCheck::storeOptions(
};
for (std::size_t Idx = 0; Idx < HeuristicCount; ++Idx) {
- auto H = static_cast<Heuristic>(Idx);
+ const auto H = static_cast<Heuristic>(Idx);
SetToggleOpt(H);
SetBoundOpt(H, BoundKind::DissimilarBelow);
SetBoundOpt(H, BoundKind::SimilarAbove);
@@ -586,7 +586,7 @@ bool SuspiciousCallArgumentCheck::isHeuristicEnabled(Heuristic H) const {
std::optional<int8_t>
SuspiciousCallArgumentCheck::getBound(Heuristic H, BoundKind BK) const {
- auto Idx = static_cast<std::size_t>(H);
+ const auto Idx = static_cast<std::size_t>(H);
assert(Idx < HeuristicCount);
if (!Defaults[Idx].hasBounds())
diff --git a/clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp b/clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
index 1dff808923a62..daf8fa40664ba 100644
--- a/clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
@@ -28,7 +28,7 @@ UniqueptrDeleteReleaseCheck::UniqueptrDeleteReleaseCheck(
PreferResetCall(Options.get("PreferResetCall", false)) {}
void UniqueptrDeleteReleaseCheck::registerMatchers(MatchFinder *Finder) {
- auto UniquePtrWithDefaultDelete = classTemplateSpecializationDecl(
+ const auto UniquePtrWithDefaultDelete = classTemplateSpecializationDecl(
hasName("::std::unique_ptr"),
hasTemplateArgument(1, refersToType(hasDeclaration(cxxRecordDecl(
hasName("::std::default_delete"))))));
@@ -58,7 +58,7 @@ void UniqueptrDeleteReleaseCheck::check(
if (ReleaseExpr->getBeginLoc().isMacroID())
return;
- auto D =
+ const auto D =
diag(DeleteExpr->getBeginLoc(), "prefer '%select{= nullptr|reset()}0' "
"to reset 'unique_ptr<>' objects");
D << PreferResetCall << DeleteExpr->getSourceRange()
diff --git a/clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp b/clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
index 812ade0df42c1..8d9e68c8147f8 100644
--- a/clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
@@ -84,7 +84,7 @@ getNewSuffix(StringRef OldSuffix, const std::vector<StringRef> &NewSuffixes) {
if (NewSuffixes.empty())
return OldSuffix.upper();
// Else, find matching suffix, case-*insensitive*ly.
- auto NewSuffix =
+ const auto NewSuffix =
llvm::find_if(NewSuffixes, [OldSuffix](StringRef PotentialNewSuffix) {
return OldSuffix.equals_insensitive(PotentialNewSuffix);
});
@@ -210,10 +210,11 @@ void UppercaseLiteralSuffixCheck::check(
NewSuffixes, *Result.SourceManager, getLangOpts())) {
if (Details->LiteralLocation.getBegin().isMacroID() && IgnoreMacros)
return;
- auto Complaint = diag(Details->LiteralLocation.getBegin(),
- "%select{floating point|integer}0 literal has suffix "
- "'%1', which is not uppercase")
- << IsInteger << Details->OldSuffix;
+ const auto Complaint =
+ diag(Details->LiteralLocation.getBegin(),
+ "%select{floating point|integer}0 literal has suffix "
+ "'%1', which is not uppercase")
+ << IsInteger << Details->OldSuffix;
if (Details->FixIt) // Similarly, a fix-it is not always possible.
Complaint << *(Details->FixIt);
}
diff --git a/clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp b/clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
index d4a9d43edf0d6..68565a21e848a 100644
--- a/clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
@@ -44,7 +44,7 @@ AST_MATCHER(Expr, isUnsafeTemporaryRangeInit) {
namespace tidy::readability {
void UseAnyOfAllOfCheck::registerMatchers(MatchFinder *Finder) {
- auto Returns = [](bool V) {
+ const auto Returns = [](bool V) {
return returnStmt(hasReturnValue(cxxBoolLiteral(equals(V))));
};
diff --git a/clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp b/clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
index 38e6dfb5328fa..d0d9908acbf4c 100644
--- a/clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
@@ -130,11 +130,11 @@ void UseStdMinMaxCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void UseStdMinMaxCheck::registerMatchers(MatchFinder *Finder) {
- auto AssignOperator =
+ const auto AssignOperator =
binaryOperator(hasOperatorName("="),
hasLHS(expr(unless(isTypeDependent())).bind("AssignLhs")),
hasRHS(expr(unless(isTypeDependent())).bind("AssignRhs")));
- auto BinaryOperator =
+ const auto BinaryOperator =
binaryOperator(hasAnyOperatorName("<", ">", "<=", ">="),
hasLHS(expr(unless(isTypeDependent())).bind("CondLhs")),
hasRHS(expr(unless(isTypeDependent())).bind("CondRhs")))
@@ -169,7 +169,7 @@ void UseStdMinMaxCheck::check(const MatchFinder::MatchResult &Result) {
const SourceLocation IfLocation = If->getIfLoc();
SourceLocation ThenLocation = If->getEndLoc();
- auto ReplaceAndDiagnose = [&](const StringRef FunctionName) {
+ const auto ReplaceAndDiagnose = [&](const StringRef FunctionName) {
const SourceManager &Source = *Result.SourceManager;
SmallString<64> Comment;
More information about the cfe-commits
mailing list