summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorKelvin Li <kkwli0@gmail.com>2016-12-17 05:48:59 +0000
committerKelvin Li <kkwli0@gmail.com>2016-12-17 05:48:59 +0000
commit2c7cf6d8125fa8c2905f1b683ce3dd327997448b (patch)
tree1d7c6f0dee4ea6f0d865e2fd6390f2d626aa9ae7 /tools
parentd9d5af2d993a8097c4f496f09f1b403396ec6272 (diff)
[OpenMP] Sema and parsing for 'target teams' pragma
This patch is to implement sema and parsing for 'target teams' pragma. Differential Revision: https://reviews.llvm.org/D27818 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290038 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/libclang/CIndex.cpp8
-rw-r--r--tools/libclang/CXCursor.cpp3
2 files changed, 11 insertions, 0 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index 7d917d6d67..bc5aa1f253 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -2008,6 +2008,7 @@ public:
const OMPTeamsDistributeParallelForSimdDirective *D);
void VisitOMPTeamsDistributeParallelForDirective(
const OMPTeamsDistributeParallelForDirective *D);
+ void VisitOMPTargetTeamsDirective(const OMPTargetTeamsDirective *D);
private:
void AddDeclarationNameInfo(const Stmt *S);
@@ -2812,6 +2813,11 @@ void EnqueueVisitor::VisitOMPTeamsDistributeParallelForDirective(
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPTargetTeamsDirective(
+ const OMPTargetTeamsDirective *D) {
+ VisitOMPExecutableDirective(D);
+}
+
void CursorVisitor::EnqueueWorkList(VisitorWorkList &WL, const Stmt *S) {
EnqueueVisitor(WL, MakeCXCursor(S, StmtParent, TU,RegionOfInterest)).Visit(S);
}
@@ -4971,6 +4977,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OMPTeamsDistributeParallelForSimdDirective");
case CXCursor_OMPTeamsDistributeParallelForDirective:
return cxstring::createRef("OMPTeamsDistributeParallelForDirective");
+ case CXCursor_OMPTargetTeamsDirective:
+ return cxstring::createRef("OMPTargetTeamsDirective");
case CXCursor_OverloadCandidate:
return cxstring::createRef("OverloadCandidate");
case CXCursor_TypeAliasTemplateDecl:
diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp
index 06b0aa95a0..21ab884eb1 100644
--- a/tools/libclang/CXCursor.cpp
+++ b/tools/libclang/CXCursor.cpp
@@ -667,6 +667,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent,
case Stmt::OMPTeamsDistributeParallelForDirectiveClass:
K = CXCursor_OMPTeamsDistributeParallelForDirective;
break;
+ case Stmt::OMPTargetTeamsDirectiveClass:
+ K = CXCursor_OMPTargetTeamsDirective;
+ break;
}
CXCursor C = { K, 0, { Parent, S, TU } };