diff options
Diffstat (limited to 'clang/lib/Parse/ParseOpenMP.cpp')
| -rw-r--r-- | clang/lib/Parse/ParseOpenMP.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 91fe10e667d..816e8882510 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -140,7 +140,9 @@ static OpenMPDirectiveKind parseOpenMPDirectiveKind(Parser &P) { {OMPD_master, OMPD_taskloop, OMPD_master_taskloop}, {OMPD_master_taskloop, OMPD_simd, OMPD_master_taskloop_simd}, {OMPD_parallel, OMPD_master, OMPD_parallel_master}, - {OMPD_parallel_master, OMPD_taskloop, OMPD_parallel_master_taskloop}}; + {OMPD_parallel_master, OMPD_taskloop, OMPD_parallel_master_taskloop}, + {OMPD_parallel_master_taskloop, OMPD_simd, + OMPD_parallel_master_taskloop_simd}}; enum { CancellationPoint = 0, DeclareReduction = 1, TargetData = 2 }; Token Tok = P.getCurToken(); unsigned DKind = @@ -1511,6 +1513,7 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirectiveWithExtDecl( case OMPD_master_taskloop: case OMPD_master_taskloop_simd: case OMPD_parallel_master_taskloop: + case OMPD_parallel_master_taskloop_simd: case OMPD_distribute: case OMPD_end_declare_target: case OMPD_target_update: @@ -1567,15 +1570,16 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirectiveWithExtDecl( /// 'for simd' | 'parallel for simd' | 'target' | 'target data' | /// 'taskgroup' | 'teams' | 'taskloop' | 'taskloop simd' | 'master /// taskloop' | 'master taskloop simd' | 'parallel master taskloop' | -/// 'distribute' | 'target enter data' | 'target exit data' | 'target -/// parallel' | 'target parallel for' | 'target update' | 'distribute -/// parallel for' | 'distribute paralle for simd' | 'distribute simd' | -/// 'target parallel for simd' | 'target simd' | 'teams distribute' | -/// 'teams distribute simd' | 'teams distribute parallel for simd' | -/// 'teams distribute parallel for' | 'target teams' | 'target teams -/// distribute' | 'target teams distribute parallel for' | 'target teams -/// distribute parallel for simd' | 'target teams distribute simd' -/// {clause} annot_pragma_openmp_end +/// 'parallel master taskloop simd' | 'distribute' | 'target enter data' +/// | 'target exit data' | 'target parallel' | 'target parallel for' | +/// 'target update' | 'distribute parallel for' | 'distribute paralle +/// for simd' | 'distribute simd' | 'target parallel for simd' | 'target +/// simd' | 'teams distribute' | 'teams distribute simd' | 'teams +/// distribute parallel for simd' | 'teams distribute parallel for' | +/// 'target teams' | 'target teams distribute' | 'target teams +/// distribute parallel for' | 'target teams distribute parallel for +/// simd' | 'target teams distribute simd' {clause} +/// annot_pragma_openmp_end /// StmtResult Parser::ParseOpenMPDeclarativeOrExecutableDirective(ParsedStmtContext StmtCtx) { @@ -1753,6 +1757,7 @@ Parser::ParseOpenMPDeclarativeOrExecutableDirective(ParsedStmtContext StmtCtx) { case OMPD_master_taskloop: case OMPD_master_taskloop_simd: case OMPD_parallel_master_taskloop: + case OMPD_parallel_master_taskloop_simd: case OMPD_distribute: case OMPD_distribute_parallel_for: case OMPD_distribute_parallel_for_simd: |

