Skip to content

Commit

Permalink
[OPENMP] Do not allow linear clauses on non-simd distribute
Browse files Browse the repository at this point in the history
directives.

`linear` clause is not allowed on non-simd distribute-based directives.

llvm-svn: 319332
  • Loading branch information
alexey-bataev committed Nov 29, 2017
1 parent bafaa53 commit a1f6fbd
Show file tree
Hide file tree
Showing 9 changed files with 11 additions and 893 deletions.
3 changes: 0 additions & 3 deletions clang/include/clang/Basic/OpenMPKinds.def
Expand Up @@ -610,7 +610,6 @@ OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared)
OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction)
OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(copyin)
OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule)
OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(linear)

// Clauses allowed for OpenMP directive 'distribute parallel for simd'
OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate)
Expand Down Expand Up @@ -746,7 +745,6 @@ OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(linear)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_teams)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(thread_limit)
OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(copyin)
Expand Down Expand Up @@ -807,7 +805,6 @@ OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule)
OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads)
OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind)
OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule)
OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(linear)

// Clauses allowed for OpenMP directive
// 'target teams distribute parallel for simd'.
Expand Down
338 changes: 0 additions & 338 deletions clang/test/OpenMP/distribute_parallel_for_linear_messages.cpp

This file was deleted.

2 changes: 1 addition & 1 deletion clang/test/OpenMP/distribute_parallel_for_messages.cpp
Expand Up @@ -38,7 +38,7 @@ int main(int argc, char **argv) {
foo();
#pragma omp target
#pragma omp teams
#pragma omp distribute parallel for
#pragma omp distribute parallel for linear(argc) // expected-error {{unexpected OpenMP clause 'linear' in directive '#pragma omp distribute parallel for'}}
for (int i = 0; i < argc; ++i)
foo();
#pragma omp target
Expand Down
Expand Up @@ -116,10 +116,10 @@ T tmain(T argc) {
// CHECK: #pragma omp target teams distribute parallel for default(none) private(b) firstprivate(argc) shared(d) reduction(+: c) reduction(max: e) num_teams(f) thread_limit(d)
// CHECK-NEXT: for (int k = 0; k < 10; ++k)
// CHECK-NEXT: e += d + argc;
#pragma omp target teams distribute parallel for linear(d)
#pragma omp target teams distribute parallel for
for (int k = 0; k < 10; ++k)
e += d + argc;
// CHECK: #pragma omp target teams distribute parallel for linear(d)
// CHECK: #pragma omp target teams distribute parallel for
// CHECK-NEXT: for (int k = 0; k < 10; ++k)
// CHECK-NEXT: e += d + argc;
return T();
Expand Down Expand Up @@ -161,10 +161,10 @@ int main (int argc, char **argv) {
// CHECK: #pragma omp target teams distribute parallel for default(none) private(b) firstprivate(argc) shared(d) reduction(+: c) reduction(max: e) num_teams(f) thread_limit(d)
// CHECK-NEXT: for (int k = 0; k < 10; ++k)
// CHECK-NEXT: e += d + argc;
#pragma omp target teams distribute parallel for linear(d)
#pragma omp target teams distribute parallel for
for (int k = 0; k < 10; ++k)
e += d + argc;
// CHECK: #pragma omp target teams distribute parallel for linear(d)
// CHECK: #pragma omp target teams distribute parallel for
// CHECK-NEXT: for (int k = 0; k < 10; ++k)
// CHECK-NEXT: e += d + argc;
return (0);
Expand Down

0 comments on commit a1f6fbd

Please sign in to comment.