summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2014-07-21 11:26:11 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2014-07-21 11:26:11 +0000
commit6125da9258e6e070b5188a30715eef9e6e695f71 (patch)
tree1ff7bb0c664c8c49576f4e09338dc3303daaea6b /clang/lib/Basic
parentd7c279604551c091290fc8e5dadb26142ebef459 (diff)
downloadbcm5719-llvm-6125da9258e6e070b5188a30715eef9e6e695f71.tar.gz
bcm5719-llvm-6125da9258e6e070b5188a30715eef9e6e695f71.zip
[OPENMP] Initial parsing and sema analysis for 'flush' directive.
llvm-svn: 213512
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/OpenMPKinds.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp
index 869b00c02a8..06f010f7ceb 100644
--- a/clang/lib/Basic/OpenMPKinds.cpp
+++ b/clang/lib/Basic/OpenMPKinds.cpp
@@ -46,6 +46,8 @@ const char *clang::getOpenMPDirectiveName(OpenMPDirectiveKind Kind) {
}
OpenMPClauseKind clang::getOpenMPClauseKind(StringRef Str) {
+ if (Str == "flush")
+ return OMPC_unknown;
return llvm::StringSwitch<OpenMPClauseKind>(Str)
#define OPENMP_CLAUSE(Name, Class) .Case(#Name, OMPC_##Name)
#include "clang/Basic/OpenMPKinds.def"
@@ -105,6 +107,7 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind,
case OMPC_nowait:
case OMPC_untied:
case OMPC_mergeable:
+ case OMPC_flush:
break;
}
llvm_unreachable("Invalid OpenMP simple clause kind");
@@ -163,6 +166,7 @@ const char *clang::getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind,
case OMPC_nowait:
case OMPC_untied:
case OMPC_mergeable:
+ case OMPC_flush:
break;
}
llvm_unreachable("Invalid OpenMP simple clause kind");
@@ -253,6 +257,9 @@ bool clang::isAllowedClauseForDirective(OpenMPDirectiveKind DKind,
break;
}
break;
+ case OMPD_flush:
+ return CKind == OMPC_flush;
+ break;
case OMPD_unknown:
case OMPD_threadprivate:
case OMPD_section:
OpenPOWER on IntegriCloud