1! { dg-do run } 2 3 integer, allocatable :: a(:) 4 integer :: i 5 logical :: l 6 l = .false. 7 if (allocated (a)) STOP 1 8!$omp parallel private (a) reduction (.or.:l) 9 allocate (a (-7:-5)) 10 l = l.or..not.allocated (a) 11 l = l.or.size(a).ne.3.or.size(a,1).ne.3 12 a(:) = 0 13 !$omp do private (a) 14 do i = 1, 7 15 a(:) = i 16 l = l.or.any (a.ne.i) 17 end do 18 l = l.or.any (a.ne.0) 19 deallocate (a) 20!$omp end parallel 21end 22