diff options
author | Kelvin Li <kkwli0@gmail.com> | 2015-11-24 20:50:12 +0000 |
---|---|---|
committer | Kelvin Li <kkwli0@gmail.com> | 2015-11-24 20:50:12 +0000 |
commit | 099bb8c65dd7709647676487946455fb03794ff0 (patch) | |
tree | 43630576434806fa4236e02f25e1e970c7f4cdab /clang/lib/Sema/TreeTransform.h | |
parent | 2fc2515519dab70fc38b24971c5a18c167278770 (diff) | |
download | bcm5719-llvm-099bb8c65dd7709647676487946455fb03794ff0.tar.gz bcm5719-llvm-099bb8c65dd7709647676487946455fb03794ff0.zip |
[OpenMP] Parsing and sema support for num_teams clause
http://reviews.llvm.org/D14802
llvm-svn: 254019
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 23ad563809b..efc79d0c97e 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -1648,7 +1648,7 @@ public: OMPClause *RebuildOMPDeviceClause(Expr *Device, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) { - return getSema().ActOnOpenMPDeviceClause(Device, StartLoc, LParenLoc, + return getSema().ActOnOpenMPDeviceClause(Device, StartLoc, LParenLoc, EndLoc); } @@ -1666,6 +1666,17 @@ public: LParenLoc, EndLoc); } + /// \brief Build a new OpenMP 'num_teams' clause. + /// + /// By default, performs semantic analysis to build the new statement. + /// Subclasses may override this routine to provide different behavior. + OMPClause *RebuildOMPNumTeamsClause(Expr *NumTeams, SourceLocation StartLoc, + SourceLocation LParenLoc, + SourceLocation EndLoc) { + return getSema().ActOnOpenMPNumTeamsClause(NumTeams, StartLoc, LParenLoc, + EndLoc); + } + /// \brief Rebuild the operand to an Objective-C \@synchronized statement. /// /// By default, performs semantic analysis to build the new statement. @@ -7678,6 +7689,16 @@ OMPClause *TreeTransform<Derived>::TransformOMPMapClause(OMPMapClause *C) { C->getLocEnd()); } +template <typename Derived> +OMPClause * +TreeTransform<Derived>::TransformOMPNumTeamsClause(OMPNumTeamsClause *C) { + ExprResult E = getDerived().TransformExpr(C->getNumTeams()); + if (E.isInvalid()) + return nullptr; + return getDerived().RebuildOMPNumTeamsClause( + E.get(), C->getLocStart(), C->getLParenLoc(), C->getLocEnd()); +} + //===----------------------------------------------------------------------===// // Expression transformation //===----------------------------------------------------------------------===// |