diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/gomp/sharing-1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 b/gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 new file mode 100644 index 000000000..7a107ffe7 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 @@ -0,0 +1,28 @@ +! { dg-do compile } +! { dg-require-effective-target tls } + + integer :: thrpriv, thr, i, j, s, g1, g2, m + integer, dimension (6) :: p + common /thrblk/ thr + common /gblk/ g1 + save thrpriv, g2 +!$omp threadprivate (/thrblk/, thrpriv) + s = 1 +!$omp parallel do default (none) & +!$omp & private (p) shared (s) ! { dg-error "enclosing parallel" } + do i = 1, 64 + call foo (thrpriv) ! Predetermined - threadprivate + call foo (thr) ! Predetermined - threadprivate + call foo (i) ! Predetermined - omp do iteration var + do j = 1, 64 ! Predetermined - sequential loop + call foo (j) ! iteration variable + end do + call bar ((/ (k * 4, k = 1, 8) /)) ! Predetermined - implied do + forall (l = 1 : i) &! Predetermined - forall indice + p(l) = 6 ! Explicitly determined - private + call foo (s) ! Explicitly determined - shared + call foo (g1) ! { dg-error "not specified in" } + call foo (g2) ! { dg-error "not specified in" } + call foo (m) ! { dg-error "not specified in" } + end do +end |