diff options
Diffstat (limited to 'clang/lib/Basic/OpenMPKinds.cpp')
-rw-r--r-- | clang/lib/Basic/OpenMPKinds.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index cfdba09..84579c0 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -21,7 +21,7 @@ using namespace clang; using namespace llvm::omp; unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str, - unsigned OpenMPVersion) { + const LangOptions &LangOpts) { switch (Kind) { case OMPC_default: return llvm::StringSwitch<unsigned>(Str) @@ -59,7 +59,9 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str, .Case(#Name, static_cast<unsigned>(OMPC_MAP_MODIFIER_##Name)) #include "clang/Basic/OpenMPKinds.def" .Default(OMPC_MAP_unknown); - if (OpenMPVersion < 51 && Type == OMPC_MAP_MODIFIER_present) + if (LangOpts.OpenMP < 51 && Type == OMPC_MAP_MODIFIER_present) + return OMPC_MAP_MODIFIER_unknown; + if (!LangOpts.OpenMPExtensions && Type == OMPC_MAP_MODIFIER_ompx_hold) return OMPC_MAP_MODIFIER_unknown; return Type; } @@ -70,7 +72,7 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str, .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) + if (LangOpts.OpenMP < 51 && Type == OMPC_MOTION_MODIFIER_present) return OMPC_MOTION_MODIFIER_unknown; return Type; } |