summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/gomp/sharing-3.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/gomp/sharing-3.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/sharing-3.f9037
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/gomp/sharing-3.f90 b/gcc/testsuite/gfortran.dg/gomp/sharing-3.f90
new file mode 100644
index 000000000..05be38283
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/gomp/sharing-3.f90
@@ -0,0 +1,37 @@
+! { dg-do compile }
+! { dg-options "-fopenmp" }
+
+subroutine foo (vara, varb, varc, vard, n)
+ integer :: n, vara(n), varb(*), varc(:), vard(6), vare(6)
+ vare(:) = 0
+ !$omp parallel default(none) shared(vara, varb, varc, vard, vare)
+ !$omp master
+ vara(1) = 1
+ varb(1) = 1
+ varc(1) = 1
+ vard(1) = 1
+ vare(1) = 1
+ !$omp end master
+ !$omp end parallel
+ !$omp parallel default(none) private(vara, varc, vard, vare)
+ vara(1) = 1
+ varc(1) = 1
+ vard(1) = 1
+ vare(1) = 1
+ !$omp end parallel
+ !$omp parallel default(none) firstprivate(vara, varc, vard, vare)
+ vara(1) = 1
+ varc(1) = 1
+ vard(1) = 1
+ vare(1) = 1
+ !$omp end parallel
+ !$omp parallel default(none) ! { dg-error "enclosing parallel" }
+ !$omp master
+ vara(1) = 1 ! { dg-error "not specified" }
+ varb(1) = 1 ! Assumed-size is predetermined
+ varc(1) = 1 ! { dg-error "not specified" }
+ vard(1) = 1 ! { dg-error "not specified" }
+ vare(1) = 1 ! { dg-error "not specified" }
+ !$omp end master
+ !$omp end parallel
+end subroutine foo