diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/gomp/crayptr1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/crayptr1.f90 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/gomp/crayptr1.f90 b/gcc/testsuite/gfortran.dg/gomp/crayptr1.f90 new file mode 100644 index 000000000..fca5606e0 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/crayptr1.f90 @@ -0,0 +1,51 @@ +! { 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 |