diff options
Diffstat (limited to 'clang/lib/Serialization/ASTReaderStmt.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReaderStmt.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index bff056ebc0d..69b7d972436 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -2471,6 +2471,10 @@ void ASTStmtReader::VisitOMPLoopDirective(OMPLoopDirective *D) { D->setNextUpperBound(Reader.ReadSubExpr()); D->setNumIterations(Reader.ReadSubExpr()); } + if (isOpenMPLoopBoundSharingDirective(D->getDirectiveKind())) { + D->setPrevLowerBoundVariable(Reader.ReadSubExpr()); + D->setPrevUpperBoundVariable(Reader.ReadSubExpr()); + } SmallVector<Expr *, 4> Sub; unsigned CollapsedNum = D->getCollapsedNumber(); Sub.reserve(CollapsedNum); @@ -2703,6 +2707,10 @@ void ASTStmtReader::VisitOMPTargetUpdateDirective(OMPTargetUpdateDirective *D) { ++Idx; VisitOMPExecutableDirective(D); } +void ASTStmtReader::VisitOMPDistributeParallelForDirective( + OMPDistributeParallelForDirective *D) { + VisitOMPLoopDirective(D); +} //===----------------------------------------------------------------------===// // ASTReader Implementation @@ -3379,6 +3387,14 @@ Stmt *ASTReader::ReadStmtFromStream(ModuleFile &F) { break; } + case STMT_OMP_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE: { + unsigned NumClauses = Record[ASTStmtReader::NumStmtFields]; + unsigned CollapsedNum = Record[ASTStmtReader::NumStmtFields + 1]; + S = OMPDistributeParallelForDirective::CreateEmpty(Context, NumClauses, + CollapsedNum, Empty); + break; + } + case EXPR_CXX_OPERATOR_CALL: S = new (Context) CXXOperatorCallExpr(Context, Empty); break; |