! { dg-do run } integer, allocatable :: a(:) logical :: l l = .false. !$omp parallel firstprivate (a) reduction (.or.:l) l = allocated (a) allocate (a(10)) l = l .or. .not. allocated (a) a = 10 if (any (a .ne. 10)) l = .true. deallocate (a) l = l .or. allocated (a) !$omp end parallel if (l) stop 1 end