! { dg-do compile }
subroutine foo ()
real(4), allocatable, save :: tmp (:, :)
real(4), pointer, save :: arr (:, :, :)
integer :: l, m, n
tmp = (cshift(cshift(arr (:,:,l),m,2),n,1))
end subroutine foo
! { dg-do compile }
subroutine foo ()
real(4), allocatable, save :: tmp (:, :)
real(4), pointer, save :: arr (:, :, :)
integer :: l, m, n
tmp = (cshift(cshift(arr (:,:,l),m,2),n,1))
end subroutine foo