diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-06-20 11:19:47 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-06-20 11:19:47 +0000 |
commit | 236070f20d56ec89f1b8f504b5a267b2d558be8d (patch) | |
tree | 56df189d94f81984815c119752897f59b7706e4f /clang/lib/Sema/SemaOpenMP.cpp | |
parent | d1109c874a6c11ce1fbe44aa1d5426473a4fd8e9 (diff) | |
download | bcm5719-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.cpp | 12 |
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."); |