summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ExprConstant.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-03-20 10:33:40 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-03-20 10:33:40 +0000
commit01694c340db83741cb50e6586f167e3d0d1f55cb (patch)
tree7f12f9307bdcb182d096a0ffd6be151db61881e3 /clang/lib/AST/ExprConstant.cpp
parent25a63b1bccdf0865d609974599d603b782cbaabb (diff)
downloadbcm5719-llvm-01694c340db83741cb50e6586f167e3d0d1f55cb.tar.gz
bcm5719-llvm-01694c340db83741cb50e6586f167e3d0d1f55cb.zip
P0184R0: Allow types of 'begin' and 'end' expressions in range-based for loops to differ.
llvm-svn: 263895
Diffstat (limited to 'clang/lib/AST/ExprConstant.cpp')
-rw-r--r--clang/lib/AST/ExprConstant.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp
index 4d5a772fc8e..262c97a74b3 100644
--- a/clang/lib/AST/ExprConstant.cpp
+++ b/clang/lib/AST/ExprConstant.cpp
@@ -3647,7 +3647,10 @@ static EvalStmtResult EvaluateStmt(StmtResult &Result, EvalInfo &Info,
return ESR;
// Create the __begin and __end iterators.
- ESR = EvaluateStmt(Result, Info, FS->getBeginEndStmt());
+ ESR = EvaluateStmt(Result, Info, FS->getBeginStmt());
+ if (ESR != ESR_Succeeded)
+ return ESR;
+ ESR = EvaluateStmt(Result, Info, FS->getEndStmt());
if (ESR != ESR_Succeeded)
return ESR;
OpenPOWER on IntegriCloud