diff options
author | Kelvin Li <kkwli0@gmail.com> | 2016-10-25 12:50:55 +0000 |
---|---|---|
committer | Kelvin Li <kkwli0@gmail.com> | 2016-10-25 12:50:55 +0000 |
commit | 4e325f77a9ad640206c9fb80c2bbf704f330f4d5 (patch) | |
tree | c507a6310157165912002607492b5f2773b19d5f /clang/lib/Parse/ParseOpenMP.cpp | |
parent | 7dc585763ee2a6d196760a5530c70b6db96351fe (diff) | |
download | bcm5719-llvm-4e325f77a9ad640206c9fb80c2bbf704f330f4d5.tar.gz bcm5719-llvm-4e325f77a9ad640206c9fb80c2bbf704f330f4d5.zip |
Re-apply patch r279045.
llvm-svn: 285066
Diffstat (limited to 'clang/lib/Parse/ParseOpenMP.cpp')
-rw-r--r-- | clang/lib/Parse/ParseOpenMP.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 4edac71549e..4f418e3946d 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -109,7 +109,8 @@ static OpenMPDirectiveKind ParseOpenMPDirectiveKind(Parser &P) { { OMPD_target, OMPD_simd, OMPD_target_simd }, { OMPD_target_parallel, OMPD_for, OMPD_target_parallel_for }, { OMPD_target_parallel_for, OMPD_simd, OMPD_target_parallel_for_simd }, - { OMPD_teams, OMPD_distribute, OMPD_teams_distribute } + { OMPD_teams, OMPD_distribute, OMPD_teams_distribute }, + { OMPD_teams_distribute, OMPD_simd, OMPD_teams_distribute_simd } }; enum { CancellationPoint = 0, DeclareReduction = 1, TargetData = 2 }; auto Tok = P.getCurToken(); @@ -742,6 +743,7 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirectiveWithExtDecl( case OMPD_target_parallel_for_simd: case OMPD_target_simd: case OMPD_teams_distribute: + case OMPD_teams_distribute_simd: Diag(Tok, diag::err_omp_unexpected_directive) << getOpenMPDirectiveName(DKind); break; @@ -776,7 +778,7 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirectiveWithExtDecl( /// 'target update' | 'distribute parallel for' | /// 'distribute paralle for simd' | 'distribute simd' | /// 'target parallel for simd' | 'target simd' | -/// 'teams distribute' {clause} +/// 'teams distribute' | 'teams distribute simd' {clause} /// annot_pragma_openmp_end /// StmtResult Parser::ParseOpenMPDeclarativeOrExecutableDirective( @@ -886,7 +888,8 @@ StmtResult Parser::ParseOpenMPDeclarativeOrExecutableDirective( case OMPD_distribute_simd: case OMPD_target_parallel_for_simd: case OMPD_target_simd: - case OMPD_teams_distribute: { + case OMPD_teams_distribute: + case OMPD_teams_distribute_simd: { ConsumeToken(); // Parse directive name of the 'critical' directive if any. if (DKind == OMPD_critical) { |