1! { dg-do run } 2subroutine f1 3 integer a(20:50,70:90) 4!$omp parallel workshare 5 a(:,:) = 17 6!$omp end parallel workshare 7 if (any (a.ne.17)) stop 1 8end subroutine f1 9subroutine f2 10 integer a(20:50,70:90),d(15),e(15),f(15) 11 integer b, c, i 12!$omp parallel workshare 13 c = 5 14 a(:,:) = 17 15 b = 4 16 d = (/ 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 0, 13, 14 /) 17 forall (i=1:15, d(i) /= 0) 18 d(i) = 0 19 end forall 20 e = (/ 4, 5, 2, 6, 4, 5, 2, 6, 4, 5, 2, 6, 4, 5, 2 /) 21 f = 7 22 where (e.ge.5) f = f + 1 23!$omp end parallel workshare 24 if (any (a.ne.17)) stop 2 25 if (c.ne.5.or.b.ne.4) stop 3 26 if (any(d.ne.0)) stop 4 27 do i = 1, 15 28 if (e(i).ge.5) then 29 if (f(i).ne.8) stop 5 30 else 31 if (f(i).ne.7) stop 6 32 end if 33 end do 34end subroutine f2 35 36 call f1 37 call f2 38end 39