| ! { dg-do compile } |
| |
| subroutine foo(x) |
| implicit none |
| integer :: x |
| integer :: i |
| |
| !$omp parallel do simd private (x) allocate (x) ! { dg-error "'x' specified in 'allocate' clause at .1. but not in an explicit privatization clause" } |
| do i = 1, 64 |
| x = i |
| end do |
| !$omp end parallel do simd |
| |
| end subroutine |
| |
| subroutine bar(a) |
| implicit none |
| integer :: a |
| !$omp target |
| !$omp parallel private (a) allocate(a) ! { dg-error "'allocate' clause must specify an allocator here" } |
| a = 20 |
| !$omp end parallel |
| !$omp end target |
| |
| !$omp target private(a) allocate(a) ! { dg-error "'allocate' clause must specify an allocator here" } |
| a = 30; |
| !$omp end target |
| end subroutine |