diff options
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
| -rw-r--r-- | clang/lib/Sema/TreeTransform.h | 56 |
1 files changed, 9 insertions, 47 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 1e08af45a0d..0d0603f2d83 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -1307,14 +1307,6 @@ public: EndLoc); } - OMPClause *RebuildOMPSharedClause(ArrayRef<Expr *> VarList, - SourceLocation StartLoc, - SourceLocation LParenLoc, - SourceLocation EndLoc) { - return getSema().ActOnOpenMPSharedClause(VarList, StartLoc, LParenLoc, - EndLoc); - } - /// \brief Rebuild the operand to an Objective-C \@synchronized statement. /// /// By default, performs semantic analysis to build the new statement. @@ -6257,44 +6249,33 @@ TreeTransform<Derived>::TransformSEHHandler(Stmt *Handler) { template<typename Derived> StmtResult TreeTransform<Derived>::TransformOMPParallelDirective(OMPParallelDirective *D) { - DeclarationNameInfo DirName; - getSema().StartOpenMPDSABlock(OMPD_parallel, DirName, 0); - // Transform the clauses - llvm::SmallVector<OMPClause *, 16> TClauses; + SmallVector<OMPClause *, 5> TClauses; ArrayRef<OMPClause *> Clauses = D->clauses(); TClauses.reserve(Clauses.size()); for (ArrayRef<OMPClause *>::iterator I = Clauses.begin(), E = Clauses.end(); I != E; ++I) { if (*I) { OMPClause *Clause = getDerived().TransformOMPClause(*I); - if (!Clause) { - getSema().EndOpenMPDSABlock(0); + if (!Clause) return StmtError(); - } TClauses.push_back(Clause); } else { TClauses.push_back(0); } } - if (!D->getAssociatedStmt()) { - getSema().EndOpenMPDSABlock(0); + if (!D->getAssociatedStmt()) return StmtError(); - } StmtResult AssociatedStmt = getDerived().TransformStmt(D->getAssociatedStmt()); - if (AssociatedStmt.isInvalid()) { - getSema().EndOpenMPDSABlock(0); + if (AssociatedStmt.isInvalid()) return StmtError(); - } - StmtResult Res = getDerived().RebuildOMPParallelDirective(TClauses, - AssociatedStmt.take(), - D->getLocStart(), - D->getLocEnd()); - getSema().EndOpenMPDSABlock(Res.get()); - return Res; + return getDerived().RebuildOMPParallelDirective(TClauses, + AssociatedStmt.take(), + D->getLocStart(), + D->getLocEnd()); } template<typename Derived> @@ -6310,7 +6291,7 @@ TreeTransform<Derived>::TransformOMPDefaultClause(OMPDefaultClause *C) { template<typename Derived> OMPClause * TreeTransform<Derived>::TransformOMPPrivateClause(OMPPrivateClause *C) { - llvm::SmallVector<Expr *, 16> Vars; + SmallVector<Expr *, 5> Vars; Vars.reserve(C->varlist_size()); for (OMPVarList<OMPPrivateClause>::varlist_iterator I = C->varlist_begin(), E = C->varlist_end(); @@ -6326,25 +6307,6 @@ TreeTransform<Derived>::TransformOMPPrivateClause(OMPPrivateClause *C) { C->getLocEnd()); } -template<typename Derived> -OMPClause * -TreeTransform<Derived>::TransformOMPSharedClause(OMPSharedClause *C) { - llvm::SmallVector<Expr *, 16> Vars; - Vars.reserve(C->varlist_size()); - for (OMPVarList<OMPSharedClause>::varlist_iterator I = C->varlist_begin(), - E = C->varlist_end(); - I != E; ++I) { - ExprResult EVar = getDerived().TransformExpr(cast<Expr>(*I)); - if (EVar.isInvalid()) - return 0; - Vars.push_back(EVar.take()); - } - return getDerived().RebuildOMPSharedClause(Vars, - C->getLocStart(), - C->getLParenLoc(), - C->getLocEnd()); -} - //===----------------------------------------------------------------------===// // Expression transformation //===----------------------------------------------------------------------===// |

