diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-10-07 10:13:33 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-10-07 10:13:33 +0000 |
commit | 941bbec6f4d90763ec3fd97f7380836c7085ea81 (patch) | |
tree | 11486f57eae83a1dca964517a51a7658b19a3e86 /clang/lib/Parse/ParseOpenMP.cpp | |
parent | f3fe49aac61e49c0ff14602c95c2c3c7bbb6578a (diff) | |
download | bcm5719-llvm-941bbec6f4d90763ec3fd97f7380836c7085ea81.tar.gz bcm5719-llvm-941bbec6f4d90763ec3fd97f7380836c7085ea81.zip |
[OPENMP] 'omp teams' directive basic support.
Includes parsing and semantic analysis for 'omp teams' directive support from OpenMP 4.0. Adds additional analysis to 'omp target' directive with 'omp teams' directive.
llvm-svn: 219197
Diffstat (limited to 'clang/lib/Parse/ParseOpenMP.cpp')
-rw-r--r-- | clang/lib/Parse/ParseOpenMP.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 1682c83bab1..3a119a601e2 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -108,6 +108,7 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirective() { case OMPD_parallel_sections: case OMPD_atomic: case OMPD_target: + case OMPD_teams: Diag(Tok, diag::err_omp_unexpected_directive) << getOpenMPDirectiveName(DKind); break; @@ -127,7 +128,7 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirective() { /// 'section' | 'single' | 'master' | 'critical' [ '(' <name> ')' ] | /// 'parallel for' | 'parallel sections' | 'task' | 'taskyield' | /// 'barrier' | 'taskwait' | 'flush' | 'ordered' | 'atomic' | -/// 'for simd' | 'parallel for simd' | 'target' {clause} +/// 'for simd' | 'parallel for simd' | 'target' | 'teams' {clause} /// annot_pragma_openmp_end /// StmtResult @@ -196,7 +197,8 @@ Parser::ParseOpenMPDeclarativeOrExecutableDirective(bool StandAloneAllowed) { case OMPD_task: case OMPD_ordered: case OMPD_atomic: - case OMPD_target: { + case OMPD_target: + case OMPD_teams: { ConsumeToken(); // Parse directive name of the 'critical' directive if any. if (DKind == OMPD_critical) { |