! PR fortran/27916
! Test whether allocatable privatized arrays has "not currently allocated"
! status at the start of OpenMP constructs.
! { dg-do run }

program pr27916
  integer :: n, i
  logical :: r
  integer, dimension(:), allocatable :: a

  r = .false.
!$omp parallel do num_threads (4) private (n, a, i) &
!$omp & reduction (.or.: r) schedule (static)
  do n = 1, 16
    r = r .or. allocated (a)
    allocate (a (16))
    r = r .or. .not. allocated (a)
    do i = 1, 16
      a (i) = i
    end do
    deallocate (a)
    r = r .or. allocated (a)
  end do
 !$omp end parallel do
  if (r) call abort
end program pr27916
