diff options
author | Alexander Musman <alexander.musman@gmail.com> | 2014-05-27 15:12:19 +0000 |
---|---|---|
committer | Alexander Musman <alexander.musman@gmail.com> | 2014-05-27 15:12:19 +0000 |
commit | 8bd31e69a441bb7178134de57bc60c22be8e0f3c (patch) | |
tree | 03c7c30a004a5d9aa29ba6ec4ad5ba26d832ef2a /clang/lib/Sema/TreeTransform.h | |
parent | b355e8f604d3b26f15990b478a126b254a0fd9b8 (diff) | |
download | bcm5719-llvm-8bd31e69a441bb7178134de57bc60c22be8e0f3c.tar.gz bcm5719-llvm-8bd31e69a441bb7178134de57bc60c22be8e0f3c.zip |
Parsing/Sema for OMPCollapseClause.
Actual usage in Sema for collapsing loops will in some future patch.
llvm-svn: 209660
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index ef82b821469..3386b5bceeb 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -1333,6 +1333,17 @@ public: return getSema().ActOnOpenMPSafelenClause(Len, StartLoc, LParenLoc, EndLoc); } + /// \brief Build a new OpenMP 'collapse' clause. + /// + /// By default, performs semantic analysis to build the new statement. + /// Subclasses may override this routine to provide different behavior. + OMPClause *RebuildOMPCollapseClause(Expr *Num, SourceLocation StartLoc, + SourceLocation LParenLoc, + SourceLocation EndLoc) { + return getSema().ActOnOpenMPCollapseClause(Num, StartLoc, LParenLoc, + EndLoc); + } + /// \brief Build a new OpenMP 'default' clause. /// /// By default, performs semantic analysis to build the new statement. @@ -6399,6 +6410,16 @@ TreeTransform<Derived>::TransformOMPSafelenClause(OMPSafelenClause *C) { E.take(), C->getLocStart(), C->getLParenLoc(), C->getLocEnd()); } +template <typename Derived> +OMPClause * +TreeTransform<Derived>::TransformOMPCollapseClause(OMPCollapseClause *C) { + ExprResult E = getDerived().TransformExpr(C->getNumForLoops()); + if (E.isInvalid()) + return 0; + return getDerived().RebuildOMPCollapseClause( + E.take(), C->getLocStart(), C->getLParenLoc(), C->getLocEnd()); +} + template<typename Derived> OMPClause * TreeTransform<Derived>::TransformOMPDefaultClause(OMPDefaultClause *C) { |