diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2020-07-28 18:06:24 -0400 |
---|---|---|
committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2020-07-28 19:15:18 -0400 |
commit | 3c3faae497046be706df29e16c9fbccb7e1fce09 (patch) | |
tree | 230a261494cd41163741736cfc68ec89a491fe6a /clang/lib/Basic/OpenMPKinds.cpp | |
parent | a3d1f88fa7da3dfc0b4319f2e4eb7374fa60b819 (diff) | |
download | llvm-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.cpp | 8 |
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) |