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