| ! { dg-do compile } |
| ! { dg-options "-fopenmp -fcray-pointer" } |
| |
| integer :: a, b, c, d, i |
| pointer (ip1, a) |
| pointer (ip2, b) |
| pointer (ip3, c) |
| pointer (ip4, d) |
| |
| !$omp parallel shared (a) ! { dg-error "Cray pointee 'a' in SHARED clause" } |
| !$omp end parallel |
| |
| !$omp parallel private (b) ! { dg-error "Cray pointee 'b' in PRIVATE clause" } |
| !$omp end parallel |
| |
| !$omp parallel firstprivate (c) ! { dg-error "Cray pointee 'c' in FIRSTPRIVATE clause" } |
| !$omp end parallel |
| |
| !$omp parallel do lastprivate (d) ! { dg-error "Cray pointee 'd' in LASTPRIVATE clause" } |
| do i = 1, 10 |
| if (i .eq. 10) d = 1 |
| end do |
| !$omp end parallel do |
| |
| !$omp parallel reduction (+: a) ! { dg-error "Cray pointee 'a' in REDUCTION clause" } |
| !$omp end parallel |
| |
| ip1 = loc (i) |
| !$omp parallel shared (ip1) |
| a = 2 |
| !$omp end parallel |
| |
| !$omp parallel private (ip2, i) |
| ip2 = loc (i) |
| b = 1 |
| !$omp end parallel |
| |
| ip3 = loc (i) |
| !$omp parallel firstprivate (ip3) ! { dg-error "Cray pointer 'ip3' in FIRSTPRIVATE clause" } |
| !$omp end parallel |
| |
| !$omp parallel do lastprivate (ip4) ! { dg-error "Cray pointer 'ip4' in LASTPRIVATE clause" } |
| do i = 1, 10 |
| if (i .eq. 10) ip4 = loc (i) |
| end do |
| !$omp end parallel do |
| |
| !$omp parallel reduction (+: ip1) ! { dg-error "Cray pointer 'ip1' in REDUCTION clause" } |
| !$omp end parallel |
| |
| end |