P0184R0: Allow types of 'begin' and 'end' expressions in range-based for loops to differ.
llvm-svn: 263895
This commit is contained in:
@@ -3397,8 +3397,10 @@ CFGBlock *CFGBuilder::VisitCXXForRangeStmt(CXXForRangeStmt *S) {
|
||||
// Create local scopes and destructors for range, begin and end variables.
|
||||
if (Stmt *Range = S->getRangeStmt())
|
||||
addLocalScopeForStmt(Range);
|
||||
if (Stmt *BeginEnd = S->getBeginEndStmt())
|
||||
addLocalScopeForStmt(BeginEnd);
|
||||
if (Stmt *Begin = S->getBeginStmt())
|
||||
addLocalScopeForStmt(Begin);
|
||||
if (Stmt *End = S->getEndStmt())
|
||||
addLocalScopeForStmt(End);
|
||||
addAutomaticObjDtors(ScopePos, save_scope_pos.get(), S);
|
||||
|
||||
LocalScope::const_iterator ContinueScopePos = ScopePos;
|
||||
@@ -3489,7 +3491,8 @@ CFGBlock *CFGBuilder::VisitCXXForRangeStmt(CXXForRangeStmt *S) {
|
||||
|
||||
// Add the initialization statements.
|
||||
Block = createBlock();
|
||||
addStmt(S->getBeginEndStmt());
|
||||
addStmt(S->getBeginStmt());
|
||||
addStmt(S->getEndStmt());
|
||||
return addStmt(S->getRangeStmt());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user