aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/OpenMPKinds.cpp
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny.ornl@gmail.com>2020-07-28 18:06:24 -0400
committerJoel E. Denny <jdenny.ornl@gmail.com>2020-07-28 19:15:18 -0400
commit3c3faae497046be706df29e16c9fbccb7e1fce09 (patch)
tree230a261494cd41163741736cfc68ec89a491fe6a /clang/lib/Basic/OpenMPKinds.cpp
parenta3d1f88fa7da3dfc0b4319f2e4eb7374fa60b819 (diff)
downloadllvm-3c3faae497046be706df29e16c9fbccb7e1fce09.zip
llvm-3c3faae497046be706df29e16c9fbccb7e1fce09.tar.gz
llvm-3c3faae497046be706df29e16c9fbccb7e1fce09.tar.bz2
[OpenMP] Implement TR8 `present` motion modifier in Clang (1/2)
This patch implements Clang front end support for the OpenMP TR8 `present` motion modifier for `omp target update` directives. The next patch in this series implements OpenMP runtime support. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D84711
Diffstat (limited to 'clang/lib/Basic/OpenMPKinds.cpp')
-rw-r--r--clang/lib/Basic/OpenMPKinds.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp
index da362f9..5c19d60 100644
--- a/clang/lib/Basic/OpenMPKinds.cpp
+++ b/clang/lib/Basic/OpenMPKinds.cpp
@@ -64,12 +64,16 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str,
return Type;
}
case OMPC_to:
- case OMPC_from:
- return llvm::StringSwitch<unsigned>(Str)
+ case OMPC_from: {
+ unsigned Type = llvm::StringSwitch<unsigned>(Str)
#define OPENMP_MOTION_MODIFIER_KIND(Name) \
.Case(#Name, static_cast<unsigned>(OMPC_MOTION_MODIFIER_##Name))
#include "clang/Basic/OpenMPKinds.def"
.Default(OMPC_MOTION_MODIFIER_unknown);
+ if (OpenMPVersion < 51 && Type == OMPC_MOTION_MODIFIER_present)
+ return OMPC_MOTION_MODIFIER_unknown;
+ return Type;
+ }
case OMPC_dist_schedule:
return llvm::StringSwitch<OpenMPDistScheduleClauseKind>(Str)
#define OPENMP_DIST_SCHEDULE_KIND(Name) .Case(#Name, OMPC_DIST_SCHEDULE_##Name)