! { 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