diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-06-04 00:22:31 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-06-04 00:22:31 +0000 |
commit | 3a09d8be7c20fc35c250a9701674a6969851291b (patch) | |
tree | 9830f81f38bc1b0a18eaf7c5cdd08d25867231e2 /clang/lib/AST/ExprConstant.cpp | |
parent | 2905d54af38aef5c4fa29ae9bea67125ffae2d0d (diff) | |
download | bcm5719-llvm-3a09d8be7c20fc35c250a9701674a6969851291b.tar.gz bcm5719-llvm-3a09d8be7c20fc35c250a9701674a6969851291b.zip |
PR27989: only enqueue binary operators into the data recursive int expression
evaluator if they are actually int expressions.
llvm-svn: 271754
Diffstat (limited to 'clang/lib/AST/ExprConstant.cpp')
-rw-r--r-- | clang/lib/AST/ExprConstant.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index 6b0eae143b2..10192be7bdf 100644 --- a/clang/lib/AST/ExprConstant.cpp +++ b/clang/lib/AST/ExprConstant.cpp @@ -7112,7 +7112,9 @@ public: static bool shouldEnqueue(const BinaryOperator *E) { return E->getOpcode() == BO_Comma || E->isLogicalOp() || - (E->getLHS()->getType()->isIntegralOrEnumerationType() && + (E->isRValue() && + E->getType()->isIntegralOrEnumerationType() && + E->getLHS()->getType()->isIntegralOrEnumerationType() && E->getRHS()->getType()->isIntegralOrEnumerationType()); } |