summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorKelvin Li <kkwli0@gmail.com>2016-08-17 23:13:03 +0000
committerKelvin Li <kkwli0@gmail.com>2016-08-17 23:13:03 +0000
commit0bf7594715c106bd564e6ef12de9a551c9225913 (patch)
tree714f7922f6bf1d15eab08da8518604d3819bf506 /tools
parent1f8593ff431bd3e638bc4ca95092037ef67dd868 (diff)
downloadclang-0bf7594715c106bd564e6ef12de9a551c9225913.tar.gz
[OpenMP] Sema and parsing for 'teams distribute simd’ pragma
This patch is to implement sema and parsing for 'teams distribute simd’ pragma. This patch is originated by Carlo Bertolli. Differential Revision: https://reviews.llvm.org/D23528 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279003 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/libclang/CIndex.cpp9
-rw-r--r--tools/libclang/CXCursor.cpp3
2 files changed, 12 insertions, 0 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index 4a359299bd..ad7cdfb6a3 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -1978,6 +1978,8 @@ public:
const OMPTargetParallelForSimdDirective *D);
void VisitOMPTargetSimdDirective(const OMPTargetSimdDirective *D);
void VisitOMPTeamsDistributeDirective(const OMPTeamsDistributeDirective *D);
+ void VisitOMPTeamsDistributeSimdDirective(
+ const OMPTeamsDistributeSimdDirective *D);
private:
void AddDeclarationNameInfo(const Stmt *S);
@@ -2767,6 +2769,11 @@ void EnqueueVisitor::VisitOMPTeamsDistributeDirective(
VisitOMPLoopDirective(D);
}
+void EnqueueVisitor::VisitOMPTeamsDistributeSimdDirective(
+ const OMPTeamsDistributeSimdDirective *D) {
+ VisitOMPLoopDirective(D);
+}
+
void CursorVisitor::EnqueueWorkList(VisitorWorkList &WL, const Stmt *S) {
EnqueueVisitor(WL, MakeCXCursor(S, StmtParent, TU,RegionOfInterest)).Visit(S);
}
@@ -4895,6 +4902,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("OMPTargetSimdDirective");
case CXCursor_OMPTeamsDistributeDirective:
return cxstring::createRef("OMPTeamsDistributeDirective");
+ case CXCursor_OMPTeamsDistributeSimdDirective:
+ return cxstring::createRef("OMPTeamsDistributeSimdDirective");
case CXCursor_OverloadCandidate:
return cxstring::createRef("OverloadCandidate");
case CXCursor_TypeAliasTemplateDecl:
diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp
index 047f8220fe..600b19be6b 100644
--- a/tools/libclang/CXCursor.cpp
+++ b/tools/libclang/CXCursor.cpp
@@ -656,6 +656,9 @@ CXCursor cxcursor::MakeCXCursor(const Stmt *S, const Decl *Parent,
case Stmt::OMPTeamsDistributeDirectiveClass:
K = CXCursor_OMPTeamsDistributeDirective;
break;
+ case Stmt::OMPTeamsDistributeSimdDirectiveClass:
+ K = CXCursor_OMPTeamsDistributeSimdDirective;
+ break;
}
CXCursor C = { K, 0, { Parent, S, TU } };