! PR fortran/49792
! { dg-do run }

subroutine reverse(n, a)
  integer :: n
  real(kind=8) :: a(n)
!$omp parallel workshare
  a(:) = a(n:1:-1)
!$omp end parallel workshare
end subroutine reverse

program pr49792
  real(kind=8) :: a(16) = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
  real(kind=8) :: b(16)
  b(:) = a(16:1:-1)
  call reverse (16,a)
  if (any (a.ne.b)) stop 1
end program pr49792