Files
clang-p2996/flang/test/Semantics/OpenMP/taskgroup01.f90
Krzysztof Parzyszek 00ab44ee66 [flang][OpenMP] Add version checks for clauses (#110015)
If there is a clause that is allowed on a given directive in a later
version of the OpenMP spec, report an error and provide the minimal spec
version that allows the clause.

The case where a clause is not allowed on a directive at all is already
handled elsewhere.
2024-09-26 08:56:41 -05:00

51 lines
1.3 KiB
Fortran

! REQUIRES: openmp_runtime
! RUN: %python %S/../test_errors.py %s %flang %openmp_flags -fopenmp-version=50
use omp_lib
implicit none
integer :: xyz, abc
real :: reduction_var
!$omp parallel num_threads(4)
!$omp single
print *, "The"
!$omp taskgroup
!$omp task
print *, "almighty"
!$omp end task
!$omp task
print *, "sun"
!$omp end task
!$omp end taskgroup
!$omp end single
!$omp end parallel
!$omp parallel private(xyz)
!$omp taskgroup allocate(xyz)
!$omp task
print *, "The "
!$omp taskgroup allocate(omp_large_cap_mem_space: abc)
!$omp task
print *, "almighty sun"
!$omp end task
!$omp end taskgroup
!$omp end task
!$omp end taskgroup
!$omp end parallel
!ERROR: PRIVATE clause is not allowed on the TASKGROUP directive
!$omp taskgroup private(abc)
!$omp end taskgroup
!$omp parallel
!$omp task
!$omp taskgroup task_reduction(+ : reduction_var)
print *, "The "
!$omp taskgroup task_reduction(.or. : reduction_var) task_reduction(.and. : reduction_var)
print *, "almighty sun"
!$omp end taskgroup
!$omp end taskgroup
!$omp end task
!$omp end parallel
end program