33 lines
641 B
Fortran
33 lines
641 B
Fortran
! { dg-do run }
|
|
|
|
! Test the task detach clause used together with dependencies.
|
|
|
|
program task_detach_3
|
|
|
|
use omp_lib
|
|
|
|
integer (kind=omp_event_handle_kind) :: detach_event
|
|
integer :: x = 0, y = 0, z = 0
|
|
integer :: dep
|
|
|
|
!$omp parallel
|
|
!$omp single
|
|
!$omp task depend (out:dep) detach (detach_event)
|
|
x = x + 1
|
|
!$omp end task
|
|
|
|
!$omp task
|
|
y = y + 1
|
|
call omp_fulfill_event (detach_event)
|
|
!$omp end task
|
|
|
|
!$omp task depend (in:dep)
|
|
z = z + 1
|
|
!$omp end task
|
|
!$omp end single
|
|
!$omp end parallel
|
|
|
|
if (x /= 1) stop 1
|
|
if (y /= 1) stop 2
|
|
if (z /= 1) stop 3
|
|
end program
|