Author: hokein Date: Thu Jun 6 06:43:38 2019 New Revision: 362706 URL: http://llvm.org/viewvc/llvm-project?rev=362706&view=rev Log: [clang-tidy] Another attempt to fix misc-redundant-expression check.
Correct the fix of rL3627011, the isValueDependent guard was added in a wrong place in rL362701. Modified: clang-tools-extra/trunk/clang-tidy/misc/RedundantExpressionCheck.cpp Modified: clang-tools-extra/trunk/clang-tidy/misc/RedundantExpressionCheck.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/RedundantExpressionCheck.cpp?rev=362706&r1=362705&r2=362706&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/misc/RedundantExpressionCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/misc/RedundantExpressionCheck.cpp Thu Jun 6 06:43:38 2019 @@ -291,7 +291,7 @@ static void transformSubToCanonicalAddEx } AST_MATCHER(Expr, isIntegerConstantExpr) { - if (Node.isInstantiationDependent() || Node.isValueDependent()) + if (Node.isInstantiationDependent()) return false; return Node.isIntegerConstantExpr(Finder->getASTContext()); } @@ -523,10 +523,11 @@ static bool retrieveRelationalIntegerCon if (canOverloadedOperatorArgsBeModified(OverloadedFunctionDecl, false)) return false; - if (!OverloadedOperatorExpr->getArg(1)->isIntegerConstantExpr( - Value, *Result.Context)) - return false; - + if (const auto *Arg = OverloadedOperatorExpr->getArg(1)) { + if (!Arg->isValueDependent() && + !Arg->isIntegerConstantExpr(Value, *Result.Context)) + return false; + } Symbol = OverloadedOperatorExpr->getArg(0); OperandExpr = OverloadedOperatorExpr; Opcode = BinaryOperator::getOverloadedOpcode(OverloadedOperatorExpr->getOperator()); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits