summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2014-07-17 07:32:53 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2014-07-17 07:32:53 +0000
commit3778b60176e1c7de4f8f42ba921cf52634a6e951 (patch)
tree12b8d70ad2bbae9d8bff18e8122c5d3166960051 /clang/lib/Sema/TreeTransform.h
parent68862414b5f4849333bb1a2141729bb3ab5e6f43 (diff)
downloadbcm5719-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.h20
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());
OpenPOWER on IntegriCloud