| ! { dg-do compile } |
| |
| subroutine foo (a, b, p, q) |
| logical, value :: a |
| logical :: b |
| integer :: p(:) |
| integer, pointer :: q(:) |
| integer :: i |
| !$omp parallel if (a) |
| !$omp end parallel |
| !$omp parallel if (parallel:a) |
| !$omp end parallel |
| !$omp parallel do simd if (a) |
| do i = 1, 16 |
| end do |
| !$omp end parallel do simd |
| !$omp parallel do simd if (parallel : a) |
| do i = 1, 16 |
| end do |
| !$omp end parallel do simd |
| !$omp parallel do simd if (simd : a) |
| do i = 1, 16 |
| end do |
| !$omp end parallel do simd |
| !$omp parallel do simd if (simd : a) if (parallel:b) |
| do i = 1, 16 |
| end do |
| !$omp end parallel do simd |
| !$omp task if (a) |
| !$omp end task |
| !$omp task if (task: a) |
| !$omp end task |
| !$omp taskloop if (a) |
| do i = 1, 16 |
| end do |
| !$omp end taskloop |
| !$omp taskloop if (taskloop : a) |
| do i = 1, 16 |
| end do |
| !$omp end taskloop |
| !$omp taskloop simd if (a) |
| do i = 1, 16 |
| end do |
| !$omp end taskloop simd |
| !$omp taskloop simd if (taskloop : a) |
| do i = 1, 16 |
| end do |
| !$omp end taskloop simd |
| !$omp taskloop simd if (simd : a) |
| do i = 1, 16 |
| end do |
| !$omp end taskloop simd |
| !$omp taskloop simd if (taskloop:b) if (simd : a) |
| do i = 1, 16 |
| end do |
| !$omp end taskloop simd |
| !$omp target if (a) |
| !$omp end target |
| !$omp target if (target: a) |
| !$omp end target |
| !$omp target simd if (a) |
| do i = 1, 16 |
| end do |
| !$omp end target simd |
| !$omp target simd if (simd : a) if (target: b) |
| do i = 1, 16 |
| end do |
| !$omp end target simd |
| !$omp target teams distribute parallel do simd if (a) |
| do i = 1, 16 |
| end do |
| !$omp end target teams distribute parallel do simd |
| !$omp target teams distribute parallel do simd if (parallel : a) if (target: b) |
| do i = 1, 16 |
| end do |
| !$omp end target teams distribute parallel do simd |
| !$omp target teams distribute parallel do simd if (simd : a) if (target: b) |
| do i = 1, 16 |
| end do |
| !$omp end target teams distribute parallel do simd |
| |
| !$omp target data if (a) map (p(1:2)) |
| !$omp end target data |
| !$omp target data if (target data: a) map (p(1:2)) |
| !$omp end target data |
| !$omp target enter data if (a) map (to: p(1:2)) |
| !$omp target enter data if (target enter data: a) map (to: p(1:2)) |
| !$omp target exit data if (a) map (from: p(1:2)) |
| !$omp target exit data if (target exit data: a) map (from: p(1:2)) |
| !$omp target update if (a) to (q(1:3)) |
| !$omp target update if (target update:a) to (q(1:3)) |
| !$omp parallel |
| !$omp cancel parallel if (a) |
| !$omp end parallel |
| !$omp parallel |
| !$omp cancel parallel if (cancel:a) |
| !$omp end parallel |
| !$omp do |
| do i = 1, 16 |
| !$omp cancel do if (a) |
| end do |
| !$omp do |
| do i = 1, 16 |
| !$omp cancel do if (cancel: a) |
| end do |
| !$omp sections |
| !$omp section |
| !$omp cancel sections if (a) |
| !$omp end sections |
| !$omp sections |
| !$omp section |
| !$omp cancel sections if (cancel: a) |
| !$omp end sections |
| !$omp taskgroup |
| !$omp task |
| !$omp cancel taskgroup if (a) |
| !$omp end task |
| !$omp task |
| !$omp cancel taskgroup if (cancel: a) |
| !$omp end task |
| !$omp end taskgroup |
| end |