In OMP 5.0 specification clause-list with * task_reduction * allocate were allowed on taskgroup construct. Fix XFAIL - omp-taskloop01.f90. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D93373
49 lines
1.2 KiB
Fortran
49 lines
1.2 KiB
Fortran
! RUN: %S/test_errors.sh %s %t %flang -fopenmp
|
|
! REQUIRES: shell
|
|
|
|
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 |