34 lines
641 B
Fortran
34 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
|