! { dg-do run }

program example
   integer :: x
   x = 0
   !$omp parallel
   !$omp single
      !$omp task shared(x) depend(out: x)
         x = 1
      !$omp end task
      !$omp task shared(x) depend(out: x)
         x = 2
      !$omp end task
      !$omp taskwait
      if ((x .ne. 1) .and. (x .ne. 2)) call abort()
   !$omp end single
   !$omp end parallel
end program
