diff --git a/flang/test/Semantics/omp-parallel-default.f90 b/flang/test/Semantics/omp-parallel-default.f90 new file mode 100644 --- /dev/null +++ b/flang/test/Semantics/omp-parallel-default.f90 @@ -0,0 +1,12 @@ +!RUN: %S/test_errors.sh %s %t %f18 -fopenmp +! OpenMP Version 4.5 +! 2.15.3.1 default Clause +program omp_parallel_default + integer :: a(10), b(10), c(10),i,k + !ERROR: At most one DEFAULT clause can appear on the PARALLEL directive + !$omp parallel default(shared), default(private) + do i = 1, 10 + c(i) = a(i) + b(i) + k + end do + !$omp end parallel +end program omp_parallel_default diff --git a/flang/test/Semantics/omp-task-default.f90 b/flang/test/Semantics/omp-task-default.f90 new file mode 100644 --- /dev/null +++ b/flang/test/Semantics/omp-task-default.f90 @@ -0,0 +1,12 @@ +!RUN: %S/test_errors.sh %s %t %f18 -fopenmp +! OpenMP Version 4.5 +! 2.15.3.1 default Clause +program omp_task_default + integer :: a(10), b(10), c(10),i,k + !ERROR: At most one DEFAULT clause can appear on the TASK directive + !$omp task default(shared), default(none),shared(a,b,c,k,i) + do i = 1, 10 + c(i) = a(i) + b(i) + k + end do + !$omp end task +end program omp_task_default diff --git a/flang/test/Semantics/omp-taskloop-default.f90 b/flang/test/Semantics/omp-taskloop-default.f90 new file mode 100644 --- /dev/null +++ b/flang/test/Semantics/omp-taskloop-default.f90 @@ -0,0 +1,12 @@ +!RUN: %S/test_errors.sh %s %t %f18 -fopenmp +! OpenMP Version 4.5 +! 2.15.3.1 default Clause +program omp_taskloop_default + integer :: a(10), b(10), c(10),i,k + !ERROR: At most one DEFAULT clause can appear on the TASKLOOP directive + !$omp taskloop default(shared), default(private) + do i = 1, 10 + c(i) = a(i) + b(i) + k + end do + !$omp end taskloop +end program omp_taskloop_default diff --git a/flang/test/Semantics/omp-teams-default.f90 b/flang/test/Semantics/omp-teams-default.f90 new file mode 100644 --- /dev/null +++ b/flang/test/Semantics/omp-teams-default.f90 @@ -0,0 +1,12 @@ +!RUN: %S/test_errors.sh %s %t %f18 -fopenmp +! OpenMP Version 4.5 +! 2.15.3.1 default Clause +program omp_teams_default + integer :: a(10), b(10), c(10),i,k + !ERROR: At most one DEFAULT clause can appear on the TEAMS directive + !$omp teams default(shared), default(none),shared(i,a,b,k,c) + do i = 1, 10 + c(i) = a(i) + b(i) + k + end do + !$omp end teams +end program omp_teams_default diff --git a/llvm/include/llvm/Frontend/OpenMP/OMP.td b/llvm/include/llvm/Frontend/OpenMP/OMP.td --- a/llvm/include/llvm/Frontend/OpenMP/OMP.td +++ b/llvm/include/llvm/Frontend/OpenMP/OMP.td @@ -306,6 +306,7 @@ VersionedClause ]; let allowedOnceClauses = [ + VersionedClause, VersionedClause, VersionedClause, VersionedClause, @@ -326,6 +327,7 @@ VersionedClause ]; let allowedOnceClauses = [ + VersionedClause, VersionedClause, VersionedClause, VersionedClause @@ -816,6 +818,7 @@ VersionedClause ]; let allowedOnceClauses = [ + VersionedClause, VersionedClause, VersionedClause, VersionedClause,