! { dg-do run }

! PR fortran/35681
! Check that dependencies of MVBITS arguments are resolved correctly by using
! temporaries if both arguments refer to the same variable.

  integer, dimension(10) :: ila1 = (/1,2,3,4,5,6,7,8,9,10/)
  integer, dimension(20) :: ila2
  integer, dimension(10), target :: ila3
  integer, pointer :: ila3_ptr(:)
  integer, parameter :: SHOULD_BE(10) = (/17,18,11,4,13,22,7,16,9,18/)
  integer, parameter :: INDEX_VECTOR(10) = (/9,9,6,2,4,9,2,9,6,10/)

  ila2(2:20:2) = ila1
  ila3 = ila1

  ! Argument is already packed.
  call mvbits (ila1(INDEX_VECTOR), 2, 4, ila1, 3)
  write (*,'(10(I3))') ila1
  if (any (ila1 /= SHOULD_BE)) STOP 1

  ! Argument is not packed.
  call mvbits (ila2(2*INDEX_VECTOR), 2, 4, ila2(2:20:2), 3)
  write (*,'(10(I3))') ila2(2:20:2)
  if (any (ila2(2:20:2) /= SHOULD_BE)) STOP 2

  ! Pointer and target
  ila3_ptr => ila3
  call mvbits (ila3(INDEX_VECTOR), 2, 4, ila3_ptr, 3)
  write (*,'(10(I3))') ila3
  if (any (ila3 /= SHOULD_BE)) STOP 3

  end 
