llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-tidy

Author: Baranov Victor (vbvictor)

<details>
<summary>Changes</summary>



---

Patch is 30.75 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/214693.diff


19 Files Affected:

- (modified) clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp 
(+4-5) 
- (modified) clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp 
(+2-4) 
- (modified) 
clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp (+6-7) 
- (modified) clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp 
(+6-6) 
- (modified) clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp 
(+4-3) 
- (modified) 
clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp 
(+6-7) 
- (modified) clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp 
(+4-3) 
- (modified) 
clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp (+3-4) 
- (modified) 
clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp (+11-11) 
- (modified) 
clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp (+51-56) 
- (modified) 
clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp (+5-6) 
- (modified) clang-tools-extra/clang-tidy/utils/ASTUtils.cpp (+10-11) 
- (modified) clang-tools-extra/clang-tidy/utils/Aliasing.cpp (+5-6) 
- (modified) clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp (+16-21) 
- (modified) clang-tools-extra/clang-tidy/utils/ExprSequence.cpp (+4-3) 
- (modified) clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp (+6-6) 
- (modified) clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp (+9-11) 
- (modified) clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp (+4-4) 
- (modified) clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp 
(+4-6) 


``````````diff
diff --git a/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp 
b/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
index be6a4f30e610e..e74620739d94f 100644
--- a/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
@@ -88,11 +88,10 @@ static bool isRValueReferenceParam(const Expr *Invocation,
       return true;
     if (const auto *ConstructCallExpr =
             dyn_cast<CXXConstructExpr>(Invocation)) {
-      if (const auto *ConstructorDecl = ConstructCallExpr->getConstructor()) {
-        if (!ConstructorDecl->isCopyOrMoveConstructor() &&
-            !ConstructorDecl->isDefaultConstructor())
-          return true;
-      }
+      if (const auto *ConstructorDecl = ConstructCallExpr->getConstructor();
+          ConstructorDecl && !ConstructorDecl->isCopyOrMoveConstructor() &&
+          !ConstructorDecl->isDefaultConstructor())
+        return true;
     }
   }
   return false;
diff --git a/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp 
b/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
index e2ea0cd112a3f..e887a9862ca5f 100644
--- a/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
@@ -175,10 +175,8 @@ void UseStdMoveCheck::check(const MatchFinder::MatchResult 
&Result) {
         if (!S.isReachable())
           continue;
         auto &W = CFGState.find(&*S)->second;
-        if (W.Ready) {
-          if (--W.RemainingSuccessors == 0)
-            WorkList.push_back(&*S);
-        }
+        if (W.Ready && --W.RemainingSuccessors == 0)
+          WorkList.push_back(&*S);
       }
     }
   }
diff --git 
a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
index c5fbd3022756d..2db5385052843 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
@@ -339,13 +339,12 @@ void ContainerSizeEmptyCheck::check(const 
MatchFinder::MatchResult &Result) {
       return;
 
     // Always true/false, no warnings for that.
-    if (Value == 0) {
-      if ((OpCode == BinaryOperatorKind::BO_GT && !ContainerIsLHS) ||
-          (OpCode == BinaryOperatorKind::BO_LT && ContainerIsLHS) ||
-          (OpCode == BinaryOperatorKind::BO_LE && !ContainerIsLHS) ||
-          (OpCode == BinaryOperatorKind::BO_GE && ContainerIsLHS))
-        return;
-    }
+    if (Value == 0 &&
+        ((OpCode == BinaryOperatorKind::BO_GT && !ContainerIsLHS) ||
+         (OpCode == BinaryOperatorKind::BO_LT && ContainerIsLHS) ||
+         (OpCode == BinaryOperatorKind::BO_LE && !ContainerIsLHS) ||
+         (OpCode == BinaryOperatorKind::BO_GE && ContainerIsLHS)))
+      return;
 
     // Do not warn for size > 1, 1 < size, size <= 1, 1 >= size.
     if (Value == 1) {
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 86cc399611a83..dfbd061986128 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -1241,9 +1241,9 @@ StyleKind IdentifierNamingCheck::findStyleKind(
   // C++17 structured bindings: treat each binding as if it were a variable
   // with the same storage and qualifiers as the parent DecompositionDecl.
   if (const auto *BD = dyn_cast<BindingDecl>(D)) {
-    if (const auto *Decomp = 
dyn_cast_or_null<VarDecl>(BD->getDecomposedDecl()))
-      if (!BD->getType().isNull())
-        return findStyleKindForVar(Decomp, BD->getType(), NamingStyles);
+    if (const auto *Decomp = 
dyn_cast_or_null<VarDecl>(BD->getDecomposedDecl());
+        Decomp && !BD->getType().isNull())
+      return findStyleKindForVar(Decomp, BD->getType(), NamingStyles);
     return SK_Invalid;
   }
 
@@ -1255,9 +1255,9 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     // If this method has the same name as any base method, this is likely
     // necessary even if it's not an override. e.g. CRTP.
     for (const CXXBaseSpecifier &Base : Decl->getParent()->bases())
-      if (const auto *RD = Base.getType()->getAsCXXRecordDecl())
-        if (RD->hasMemberName(Decl->getDeclName()))
-          return SK_Invalid;
+      if (const auto *RD = Base.getType()->getAsCXXRecordDecl();
+          RD && RD->hasMemberName(Decl->getDeclName()))
+        return SK_Invalid;
 
     if (Decl->isConstexpr() && NamingStyles[SK_ConstexprMethod])
       return SK_ConstexprMethod;
diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
index acf9503f265fe..c0b11b7fc1afb 100644
--- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
@@ -178,9 +178,10 @@ bool MagicNumbersCheck::isConstant(const 
MatchFinder::MatchResult &Result,
 
         // Don't warn on string user defined literals:
         // std::string s = "Hello World"s;
-        if (const auto *UDL = Parent.get<UserDefinedLiteral>())
-          if (UDL->getLiteralOperatorKind() == UserDefinedLiteral::LOK_String)
-            return true;
+        if (const auto *UDL = Parent.get<UserDefinedLiteral>();
+            UDL &&
+            UDL->getLiteralOperatorKind() == UserDefinedLiteral::LOK_String)
+          return true;
 
         return false;
       });
diff --git 
a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
index 967c63db51dd7..e33a045095147 100644
--- a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
@@ -177,10 +177,9 @@ class FindUsageOfThis : public 
RecursiveASTVisitor<FindUsageOfThis> {
     const auto *Parent = getParentExprIgnoreParens(E);
 
     // Look through deref of this.
-    if (const auto *UnOp = dyn_cast_or_null<UnaryOperator>(Parent)) {
-      if (UnOp->getOpcode() == UO_Deref)
-        Parent = getParentExprIgnoreParens(UnOp);
-    }
+    if (const auto *UnOp = dyn_cast_or_null<UnaryOperator>(Parent);
+        UnOp && UnOp->getOpcode() == UO_Deref)
+      Parent = getParentExprIgnoreParens(UnOp);
 
     // It's okay to
     //  return (const S*)this;
@@ -195,9 +194,9 @@ class FindUsageOfThis : public 
RecursiveASTVisitor<FindUsageOfThis> {
       //   (const T)(S->t)
       //   (LValueToRValue)(S->t)
       // when 't' is either of builtin type or a public member.
-    } else if (const auto *Member = dyn_cast_or_null<MemberExpr>(Parent)) {
-      if (visitUser(Member, /*OnConstObject=*/false))
-        return true;
+    } else if (const auto *Member = dyn_cast_or_null<MemberExpr>(Parent);
+               Member && visitUser(Member, /*OnConstObject=*/false)) {
+      return true;
     }
 
     // Unknown user of this.
diff --git a/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
index a7bd42e7b39f0..07d1bbeccbc16 100644
--- a/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
@@ -100,9 +100,10 @@ void NamedParameterCheck::check(const 
MatchFinder::MatchResult &Result) {
       continue;
 
     // Skip gmock testing::Unused parameters.
-    if (const auto *Typedef = Parm->getType()->getAs<TypedefType>())
-      if (Typedef->getDecl()->getQualifiedNameAsString() == "testing::Unused")
-        continue;
+    if (const auto *Typedef = Parm->getType()->getAs<TypedefType>();
+        Typedef &&
+        Typedef->getDecl()->getQualifiedNameAsString() == "testing::Unused")
+      continue;
 
     // Skip std::nullptr_t.
     if (Parm->getType().getCanonicalType()->isNullPtrType())
diff --git 
a/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
index 4cc72bb14917a..056360840969a 100644
--- a/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
@@ -75,10 +75,9 @@ void NonConstParameterCheck::registerMatchers(MatchFinder 
*Finder) {
 void NonConstParameterCheck::check(const MatchFinder::MatchResult &Result) {
   if (const auto *Parm = Result.Nodes.getNodeAs<ParmVarDecl>("Parm")) {
     if (const DeclContext *D = Parm->getParentFunctionOrMethod()) {
-      if (const auto *M = dyn_cast<CXXMethodDecl>(D)) {
-        if (M->isVirtual() || M->size_overridden_methods() != 0)
-          return;
-      }
+      if (const auto *M = dyn_cast<CXXMethodDecl>(D);
+          M && (M->isVirtual() || M->size_overridden_methods() != 0))
+        return;
     }
     addParm(Parm);
   } else if (const auto *Ctor =
diff --git 
a/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
index 069350599d270..9e55613f0b969 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
@@ -136,18 +136,18 @@ void RedundantStringInitCheck::check(const 
MatchFinder::MatchResult &Result) {
   }
   if (const auto *CtorInit =
           Result.Nodes.getNodeAs<CXXCtorInitializer>("ctorInit")) {
-    if (const FieldDecl *Member = CtorInit->getMember()) {
-      if (!Member->hasInClassInitializer() ||
-          Result.Nodes.getNodeAs<Expr>("empty_init")) {
-        // The String isn't declared in the class with an initializer or its
-        // declared with a redundant initializer, which will be removed. Either
-        // way the string will be default initialized, therefore we can remove
-        // the constructor initializer entirely.
-        diag(CtorInit->getMemberLocation(), "redundant string initialization")
-            << FixItHint::CreateRemoval(CtorInit->getSourceRange());
-        return;
-      }
+    if (const FieldDecl *Member = CtorInit->getMember();
+        Member && (!Member->hasInClassInitializer() ||
+                   Result.Nodes.getNodeAs<Expr>("empty_init"))) {
+      // The String isn't declared in the class with an initializer or its
+      // declared with a redundant initializer, which will be removed. Either
+      // way the string will be default initialized, therefore we can remove
+      // the constructor initializer entirely.
+      diag(CtorInit->getMemberLocation(), "redundant string initialization")
+          << FixItHint::CreateRemoval(CtorInit->getSourceRange());
+      return;
     }
+
     const CXXConstructExpr *Construct = getConstructExpr(*CtorInit);
     if (!Construct)
       return;
diff --git 
a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
index cc82e052d58da..3a63b6f84eed3 100644
--- a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
@@ -116,17 +116,15 @@ static bool needsZeroComparison(const Expr *E) {
 }
 
 static bool needsStaticCast(const Expr *E) {
-  if (const auto *ImpCast = dyn_cast<ImplicitCastExpr>(E)) {
-    if (ImpCast->getCastKind() == CK_UserDefinedConversion &&
-        ImpCast->getSubExpr()->getType()->isBooleanType()) {
-      if (const auto *MemCall =
-              dyn_cast<CXXMemberCallExpr>(ImpCast->getSubExpr())) {
-        if (const auto *MemDecl =
-                dyn_cast<CXXConversionDecl>(MemCall->getMethodDecl())) {
-          if (MemDecl->isExplicit())
-            return true;
-        }
-      }
+  if (const auto *ImpCast = dyn_cast<ImplicitCastExpr>(E);
+      ImpCast && ImpCast->getCastKind() == CK_UserDefinedConversion &&
+      ImpCast->getSubExpr()->getType()->isBooleanType()) {
+    if (const auto *MemCall =
+            dyn_cast<CXXMemberCallExpr>(ImpCast->getSubExpr())) {
+      if (const auto *MemDecl =
+              dyn_cast<CXXConversionDecl>(MemCall->getMethodDecl());
+          MemDecl && MemDecl->isExplicit())
+        return true;
     }
   }
 
@@ -165,16 +163,15 @@ static std::string replacementExpression(const ASTContext 
&Context,
   const bool NeedsStaticCast =
       Context.getLangOpts().CPlusPlus && needsStaticCast(E);
   if (Negated) {
-    if (const auto *UnOp = dyn_cast<UnaryOperator>(E)) {
-      if (UnOp->getOpcode() == UO_LNot) {
-        if (needsNullPtrComparison(UnOp->getSubExpr()))
-          return compareExpressionToNullPtr(Context, UnOp->getSubExpr(), true);
+    if (const auto *UnOp = dyn_cast<UnaryOperator>(E);
+        UnOp && UnOp->getOpcode() == UO_LNot) {
+      if (needsNullPtrComparison(UnOp->getSubExpr()))
+        return compareExpressionToNullPtr(Context, UnOp->getSubExpr(), true);
 
-        if (needsZeroComparison(UnOp->getSubExpr()))
-          return compareExpressionToZero(Context, UnOp->getSubExpr(), true);
+      if (needsZeroComparison(UnOp->getSubExpr()))
+        return compareExpressionToZero(Context, UnOp->getSubExpr(), true);
 
-        return replacementExpression(Context, false, UnOp->getSubExpr());
-      }
+      return replacementExpression(Context, false, UnOp->getSubExpr());
     }
 
     if (needsNullPtrComparison(E))
@@ -190,13 +187,13 @@ static std::string replacementExpression(const ASTContext 
&Context,
       NegatedOperator = negatedOperator(BinOp);
       LHS = BinOp->getLHS();
       RHS = BinOp->getRHS();
-    } else if (const auto *OpExpr = dyn_cast<CXXOperatorCallExpr>(E)) {
-      if (OpExpr->getNumArgs() == 2) {
-        NegatedOperator = negatedOperator(OpExpr);
-        LHS = OpExpr->getArg(0);
-        RHS = OpExpr->getArg(1);
-      }
+    } else if (const auto *OpExpr = dyn_cast<CXXOperatorCallExpr>(E);
+               OpExpr && OpExpr->getNumArgs() == 2) {
+      NegatedOperator = negatedOperator(OpExpr);
+      LHS = OpExpr->getArg(0);
+      RHS = OpExpr->getArg(1);
     }
+
     if (!NegatedOperator.empty() && LHS && RHS)
       return (asBool((getText(Context, *LHS) + " " + NegatedOperator + " " +
                       getText(Context, *RHS))
@@ -216,14 +213,13 @@ static std::string replacementExpression(const ASTContext 
&Context,
     return ("!" + asBool(Text, NeedsStaticCast));
   }
 
-  if (const auto *UnOp = dyn_cast<UnaryOperator>(E)) {
-    if (UnOp->getOpcode() == UO_LNot) {
-      if (needsNullPtrComparison(UnOp->getSubExpr()))
-        return compareExpressionToNullPtr(Context, UnOp->getSubExpr(), false);
+  if (const auto *UnOp = dyn_cast<UnaryOperator>(E);
+      UnOp && UnOp->getOpcode() == UO_LNot) {
+    if (needsNullPtrComparison(UnOp->getSubExpr()))
+      return compareExpressionToNullPtr(Context, UnOp->getSubExpr(), false);
 
-      if (needsZeroComparison(UnOp->getSubExpr()))
-        return compareExpressionToZero(Context, UnOp->getSubExpr(), false);
-    }
+    if (needsZeroComparison(UnOp->getSubExpr()))
+      return compareExpressionToZero(Context, UnOp->getSubExpr(), false);
   }
 
   if (needsNullPtrComparison(E))
@@ -421,12 +417,11 @@ class SimplifyBooleanExprCheck::Visitor : public 
RecursiveASTVisitor<Visitor> {
           const DeclAndBool ElseAssignment =
               checkSingleStatement(If->getElse(), VarBoolAssignmentMatcher);
           if (ElseAssignment.Item == ThenAssignment.Item &&
-              ElseAssignment.Bool != ThenAssignment.Bool) {
-            if (Check->ChainedConditionalAssignment ||
-                !isa_and_nonnull<IfStmt>(parent())) {
-              Check->replaceWithAssignment(Context, If, Var, Loc,
-                                           ElseAssignment.Bool);
-            }
+              ElseAssignment.Bool != ThenAssignment.Bool &&
+              (Check->ChainedConditionalAssignment ||
+               !isa_and_nonnull<IfStmt>(parent()))) {
+            Check->replaceWithAssignment(Context, If, Var, Loc,
+                                         ElseAssignment.Bool);
           }
         }
       }
@@ -563,19 +558,20 @@ class SimplifyBooleanExprCheck::Visitor : public 
RecursiveASTVisitor<Visitor> {
     if (!isExpectedBinaryOp(SubExpr))
       return Base::TraverseUnaryOperator(Op);
     const auto *BinaryOp = cast<BinaryOperator>(SubExpr);
-    if (Check->SimplifyDeMorganRelaxed ||
-        checkEitherSide(
-            BinaryOp,
-            [this](const Expr *E) { return isExpectedUnaryLNot(E); }) ||
-        checkEitherSide(
-            BinaryOp, [this](const Expr *E) { return nestedDemorgan(E, 1); })) 
{
-      if (Check->reportDeMorgan(Context, Op, BinaryOp, !IsProcessing, parent(),
-                                Parens) &&
-          !Check->areDiagsSelfContained()) {
-        const llvm::SaveAndRestore RAII(IsProcessing, true);
-        return Base::TraverseUnaryOperator(Op);
-      }
+    if ((Check->SimplifyDeMorganRelaxed ||
+         checkEitherSide(
+             BinaryOp,
+             [this](const Expr *E) { return isExpectedUnaryLNot(E); }) ||
+         checkEitherSide(
+             BinaryOp,
+             [this](const Expr *E) { return nestedDemorgan(E, 1); })) &&
+        Check->reportDeMorgan(Context, Op, BinaryOp, !IsProcessing, parent(),
+                              Parens) &&
+        !Check->areDiagsSelfContained()) {
+      const llvm::SaveAndRestore RAII(IsProcessing, true);
+      return Base::TraverseUnaryOperator(Op);
     }
+
     return Base::TraverseUnaryOperator(Op);
   }
 
@@ -851,13 +847,12 @@ flipDemorganBinaryOperator(SmallVectorImpl<FixItHint> 
&Fixes,
       constexpr bool LogicalOpParentheses = true;
       if (((*OuterBO == NewOp) || (!LogicalOpParentheses &&
                                    (*OuterBO == BO_LOr && NewOp == BO_LAnd))) 
&&
-          Parens) {
-        if (!Parens->getLParen().isMacroID() &&
-            !Parens->getRParen().isMacroID()) {
-          Fixes.push_back(FixItHint::CreateRemoval(Parens->getLParen()));
-          Fixes.push_back(FixItHint::CreateRemoval(Parens->getRParen()));
-        }
+          Parens && !Parens->getLParen().isMacroID() &&
+          !Parens->getRParen().isMacroID()) {
+        Fixes.push_back(FixItHint::CreateRemoval(Parens->getLParen()));
+        Fixes.push_back(FixItHint::CreateRemoval(Parens->getRParen()));
       }
+
       if (*OuterBO == BO_LAnd && NewOp == BO_LOr && !Parens) {
         Fixes.push_back(FixItHint::CreateInsertion(BinOp->getBeginLoc(), "("));
         Fixes.push_back(FixItHint::CreateInsertion(
diff --git 
a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index 854bd1dae9e30..49c327ad77177 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -726,12 +726,11 @@ void SuspiciousCallArgumentCheck::setArgNamesAndTypes(
         ArgNames.push_back(Var->getName());
         continue;
       }
-      if (const auto *FCall = dyn_cast<FunctionDecl>(ArgExpr->getDecl())) {
-        if (FCall->getNameInfo().getName().isIdentifier()) {
-          ArgTypes.push_back(FCall->getType());
-          ArgNames.push_back(FCall->getName());
-          continue;
-        }
+      if (const auto *FCall = dyn_cast<FunctionDecl>(ArgExpr->getDecl());
+          FCall && FCall->getNameInfo().getName().isIdentifier()) {
+        ArgTypes.push_back(FCall->getType());
+        ArgNames.push_back(FCall->getName());
+        continue;
       }
     }
 
diff --git a/clang-tools-extra/clang-tidy/utils/ASTUtils.cpp 
b/clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
index 4baef7539008a..f73cc270678c9 100644
--- a/clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
+++ b/clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
@@ -49,12 +49,12 @@ bool exprHasBitFlagWithSpelling(const Expr *Flags, const 
SourceManager &SM,
     return MacroName == FlagName;
   }
   // If it's a binary OR operation.
-  if (const auto *BO = dyn_cast<BinaryOperator>(Flags))
-    if (BO->getOpcode() == BinaryOperatorKind::BO_Or)
-      return exprHasBitFlagWithSpelling(BO->getLHS()->IgnoreParenCasts(), SM,
-                                        LangOpts, FlagName) ||
-   ...
[truncated]

``````````

</details>


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

Reply via email to