1! { dg-do compile } 2! { dg-options "-fopenmp" } 3 4subroutine foo (vara, varb, varc, vard, n) 5 integer :: n, vara(n), varb(*), varc(:), vard(6), vare(6) 6 vare(:) = 0 7 !$omp parallel default(none) shared(vara, varb, varc, vard, vare) 8 !$omp master 9 vara(1) = 1 10 varb(1) = 1 11 varc(1) = 1 12 vard(1) = 1 13 vare(1) = 1 14 !$omp end master 15 !$omp end parallel 16 !$omp parallel default(none) private(vara, varc, vard, vare) 17 vara(1) = 1 18 varc(1) = 1 19 vard(1) = 1 20 vare(1) = 1 21 !$omp end parallel 22 !$omp parallel default(none) firstprivate(vara, varc, vard, vare) 23 vara(1) = 1 24 varc(1) = 1 25 vard(1) = 1 26 vare(1) = 1 27 !$omp end parallel 28 !$omp parallel default(none) ! { dg-error "enclosing 'parallel'" } 29 !$omp master 30 vara(1) = 1 ! { dg-error "not specified" } 31 varb(1) = 1 ! Assumed-size is predetermined 32 varc(1) = 1 ! { dg-error "not specified" } 33 vard(1) = 1 ! { dg-error "not specified" } 34 vare(1) = 1 ! { dg-error "not specified" } 35 !$omp end master 36 !$omp end parallel 37end subroutine foo 38