diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-09-28 18:44:09 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-09-28 18:44:09 +0000 |
commit | 250f67c3f9c5fbfc3cf91cb9da7cd013fdfc8435 (patch) | |
tree | 5cfc1ccb5fff10b4437d9938c01954bd4b2de52f /lib/Serialization | |
parent | ef72cd73f35752bbc91799a6b21cf0863c821dc7 (diff) |
[cxx2a] P0614R1: Support init-statements in range-based for loops.
We don't yet support this for the case where a range-based for loop is
implicitly rewritten to an ObjC for..in statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@343350 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization')
-rw-r--r-- | lib/Serialization/ASTReaderStmt.cpp | 1 | ||||
-rw-r--r-- | lib/Serialization/ASTWriterStmt.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/Serialization/ASTReaderStmt.cpp b/lib/Serialization/ASTReaderStmt.cpp index 0d83b8aac9..a80cd81c3a 100644 --- a/lib/Serialization/ASTReaderStmt.cpp +++ b/lib/Serialization/ASTReaderStmt.cpp @@ -1270,6 +1270,7 @@ void ASTStmtReader::VisitCXXForRangeStmt(CXXForRangeStmt *S) { S->CoawaitLoc = ReadSourceLocation(); S->ColonLoc = ReadSourceLocation(); S->RParenLoc = ReadSourceLocation(); + S->setInit(Record.readSubStmt()); S->setRangeStmt(Record.readSubStmt()); S->setBeginStmt(Record.readSubStmt()); S->setEndStmt(Record.readSubStmt()); diff --git a/lib/Serialization/ASTWriterStmt.cpp b/lib/Serialization/ASTWriterStmt.cpp index 17aca06e1a..21051d866d 100644 --- a/lib/Serialization/ASTWriterStmt.cpp +++ b/lib/Serialization/ASTWriterStmt.cpp @@ -1222,6 +1222,7 @@ void ASTStmtWriter::VisitCXXForRangeStmt(CXXForRangeStmt *S) { Record.AddSourceLocation(S->getCoawaitLoc()); Record.AddSourceLocation(S->getColonLoc()); Record.AddSourceLocation(S->getRParenLoc()); + Record.AddStmt(S->getInit()); Record.AddStmt(S->getRangeStmt()); Record.AddStmt(S->getBeginStmt()); Record.AddStmt(S->getEndStmt()); |