diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-03-20 10:33:40 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-03-20 10:33:40 +0000 |
commit | 01694c340db83741cb50e6586f167e3d0d1f55cb (patch) | |
tree | 7f12f9307bdcb182d096a0ffd6be151db61881e3 /clang/lib/AST/ExprConstant.cpp | |
parent | 25a63b1bccdf0865d609974599d603b782cbaabb (diff) | |
download | bcm5719-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.cpp | 5 |
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; |