diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-07-17 07:32:53 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-07-17 07:32:53 +0000 |
commit | 3778b60176e1c7de4f8f42ba921cf52634a6e951 (patch) | |
tree | 12b8d70ad2bbae9d8bff18e8122c5d3166960051 /clang/lib/Sema/TreeTransform.h | |
parent | 68862414b5f4849333bb1a2141729bb3ab5e6f43 (diff) | |
download | bcm5719-llvm-3778b60176e1c7de4f8f42ba921cf52634a6e951.tar.gz bcm5719-llvm-3778b60176e1c7de4f8f42ba921cf52634a6e951.zip |
[OPENMP] Initial parsing and sema analysis for 'final' clause.
llvm-svn: 213232
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 1a71c0a4a5e..f9775c1ad10 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -1318,6 +1318,17 @@ public: LParenLoc, EndLoc); } + /// \brief Build a new OpenMP 'final' clause. + /// + /// By default, performs semantic analysis to build the new OpenMP clause. + /// Subclasses may override this routine to provide different behavior. + OMPClause *RebuildOMPFinalClause(Expr *Condition, SourceLocation StartLoc, + SourceLocation LParenLoc, + SourceLocation EndLoc) { + return getSema().ActOnOpenMPFinalClause(Condition, StartLoc, LParenLoc, + EndLoc); + } + /// \brief Build a new OpenMP 'num_threads' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. @@ -6543,6 +6554,15 @@ OMPClause *TreeTransform<Derived>::TransformOMPIfClause(OMPIfClause *C) { } template <typename Derived> +OMPClause *TreeTransform<Derived>::TransformOMPFinalClause(OMPFinalClause *C) { + ExprResult Cond = getDerived().TransformExpr(C->getCondition()); + if (Cond.isInvalid()) + return nullptr; + return getDerived().RebuildOMPFinalClause(Cond.get(), C->getLocStart(), + C->getLParenLoc(), C->getLocEnd()); +} + +template <typename Derived> OMPClause * TreeTransform<Derived>::TransformOMPNumThreadsClause(OMPNumThreadsClause *C) { ExprResult NumThreads = getDerived().TransformExpr(C->getNumThreads()); |