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