! { dg-do run } | |
program main | |
integer :: x | |
x = 0 | |
!$omp taskgroup task_reduction (+: x) | |
call foo (x) | |
call bar (x) | |
!$omp end taskgroup | |
if (x .ne. 3) stop 1 | |
contains | |
subroutine foo (x) | |
integer :: x | |
!$omp task in_reduction (+: x) | |
x = x + 1 | |
!$omp end task | |
end subroutine foo | |
subroutine bar (x) | |
integer :: x | |
!$omp target in_reduction (+: x) | |
x = x + 2 | |
!$omp end target | |
end subroutine bar | |
end program main |