summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOpenMP.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2014-06-20 11:19:47 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2014-06-20 11:19:47 +0000
commit236070f20d56ec89f1b8f504b5a267b2d558be8d (patch)
tree56df189d94f81984815c119752897f59b7706e4f /clang/lib/Sema/SemaOpenMP.cpp
parentd1109c874a6c11ce1fbe44aa1d5426473a4fd8e9 (diff)
downloadbcm5719-llvm-236070f20d56ec89f1b8f504b5a267b2d558be8d.tar.gz
bcm5719-llvm-236070f20d56ec89f1b8f504b5a267b2d558be8d.zip
[OPENMP] Initial support for 'nowait' clause.
llvm-svn: 211352
Diffstat (limited to 'clang/lib/Sema/SemaOpenMP.cpp')
-rw-r--r--clang/lib/Sema/SemaOpenMP.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 23c003815a7..53f4b861346 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -1523,6 +1523,7 @@ OMPClause *Sema::ActOnOpenMPSingleExprClause(OpenMPClauseKind Kind, Expr *Expr,
case OMPC_aligned:
case OMPC_copyin:
case OMPC_ordered:
+ case OMPC_nowait:
case OMPC_threadprivate:
case OMPC_unknown:
llvm_unreachable("Clause is not allowed.");
@@ -1701,6 +1702,7 @@ OMPClause *Sema::ActOnOpenMPSimpleClause(
case OMPC_aligned:
case OMPC_copyin:
case OMPC_ordered:
+ case OMPC_nowait:
case OMPC_threadprivate:
case OMPC_unknown:
llvm_unreachable("Clause is not allowed.");
@@ -1810,6 +1812,7 @@ OMPClause *Sema::ActOnOpenMPSingleExprWithArgClause(
case OMPC_aligned:
case OMPC_copyin:
case OMPC_ordered:
+ case OMPC_nowait:
case OMPC_threadprivate:
case OMPC_unknown:
llvm_unreachable("Clause is not allowed.");
@@ -1881,6 +1884,9 @@ OMPClause *Sema::ActOnOpenMPClause(OpenMPClauseKind Kind,
case OMPC_ordered:
Res = ActOnOpenMPOrderedClause(StartLoc, EndLoc);
break;
+ case OMPC_nowait:
+ Res = ActOnOpenMPNowaitClause(StartLoc, EndLoc);
+ break;
case OMPC_if:
case OMPC_num_threads:
case OMPC_safelen:
@@ -1908,6 +1914,11 @@ OMPClause *Sema::ActOnOpenMPOrderedClause(SourceLocation StartLoc,
return new (Context) OMPOrderedClause(StartLoc, EndLoc);
}
+OMPClause *Sema::ActOnOpenMPNowaitClause(SourceLocation StartLoc,
+ SourceLocation EndLoc) {
+ return new (Context) OMPNowaitClause(StartLoc, EndLoc);
+}
+
OMPClause *Sema::ActOnOpenMPVarListClause(
OpenMPClauseKind Kind, ArrayRef<Expr *> VarList, Expr *TailExpr,
SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc,
@@ -1950,6 +1961,7 @@ OMPClause *Sema::ActOnOpenMPVarListClause(
case OMPC_proc_bind:
case OMPC_schedule:
case OMPC_ordered:
+ case OMPC_nowait:
case OMPC_threadprivate:
case OMPC_unknown:
llvm_unreachable("Clause is not allowed.");
OpenPOWER on IntegriCloud