From b9bfa75b28506be4d81ae65409565c958be45f2b Mon Sep 17 00:00:00 2001 From: Carlo Bertolli Date: Tue, 8 Dec 2015 04:21:03 +0000 Subject: Add parse and sema for OpenMP distribute directive and all its clauses excluding dist_schedule. llvm-svn: 255001 --- clang/lib/Basic/OpenMPKinds.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'clang/lib/Basic') diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index 4c4d151640f..7e3156ec2c2 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -431,6 +431,16 @@ bool clang::isAllowedClauseForDirective(OpenMPDirectiveKind DKind, #define OPENMP_TASKLOOP_SIMD_CLAUSE(Name) \ case OMPC_##Name: \ return true; +#include "clang/Basic/OpenMPKinds.def" + default: + break; + } + break; + case OMPD_distribute: + switch (CKind) { +#define OPENMP_DISTRIBUTE_CLAUSE(Name) \ + case OMPC_##Name: \ + return true; #include "clang/Basic/OpenMPKinds.def" default: break; @@ -455,7 +465,8 @@ bool clang::isOpenMPLoopDirective(OpenMPDirectiveKind DKind) { return DKind == OMPD_simd || DKind == OMPD_for || DKind == OMPD_for_simd || DKind == OMPD_parallel_for || DKind == OMPD_parallel_for_simd || DKind == OMPD_taskloop || - DKind == OMPD_taskloop_simd; // TODO add next directives. + DKind == OMPD_taskloop_simd || + DKind == OMPD_distribute; // TODO add next directives. } bool clang::isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind) { @@ -490,6 +501,10 @@ bool clang::isOpenMPSimdDirective(OpenMPDirectiveKind DKind) { DKind == OMPD_taskloop_simd; // TODO add next directives. } +bool clang::isOpenMPDistributeDirective(OpenMPDirectiveKind Kind) { + return Kind == OMPD_distribute; // TODO add next directives. +} + bool clang::isOpenMPPrivate(OpenMPClauseKind Kind) { return Kind == OMPC_private || Kind == OMPC_firstprivate || Kind == OMPC_lastprivate || Kind == OMPC_linear || -- cgit v1.2.3