summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2019-06-06 13:43:38 +0000
committerHaojian Wu <hokein@google.com>2019-06-06 13:43:38 +0000
commita4f5a2ad1f03cb0c3f0a2fdc5d504310b2cb6b85 (patch)
tree8371b5ddb4cf141b22bf76f581f7df2bc26dc4de /clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
parent71d3f227a790d6cf39d8c6267940e0dc0c237e11 (diff)
downloadbcm5719-llvm-a4f5a2ad1f03cb0c3f0a2fdc5d504310b2cb6b85.tar.gz
bcm5719-llvm-a4f5a2ad1f03cb0c3f0a2fdc5d504310b2cb6b85.zip
[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. llvm-svn: 362706
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp b/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
index 031b72155f3..5167315dea4 100644
--- a/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
@@ -291,7 +291,7 @@ static void transformSubToCanonicalAddExpr(BinaryOperatorKind &Opcode,
}
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 retrieveRelationalIntegerConstantExpr(
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());
OpenPOWER on IntegriCloud