! { dg-do run } | |
module m | |
integer a | |
end module m | |
program main | |
use omp_lib | |
use m | |
implicit none | |
!$omp task final (.true.) | |
if (.not. omp_in_final ()) & | |
error stop | |
!$omp task | |
if (.not. omp_in_final ()) & | |
error stop | |
!$omp taskgroup task_reduction (+: a) | |
if (.not. omp_in_final ()) & | |
error stop | |
!$omp task in_reduction (+: a) | |
a = a + 1 | |
if (.not. omp_in_final ()) & | |
error stop | |
!$omp end task | |
!$omp end taskgroup | |
if (.not. omp_in_final ()) & | |
error stop | |
!$omp taskwait | |
!$omp end task | |
!$omp end task | |
end |