1! { dg-do run }
2! Check the fix for PR32129 #4 in which the argument 'vec(vy(i, :))' was
3! incorrectly simplified, resulting in an ICE.
4!
5! Reported by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6!
7program testCode
8  implicit none
9  type vec
10    real, dimension(2) :: coords
11  end type
12  integer :: i
13  real, dimension(2,2), parameter :: vy = reshape ((/1,2,3,4/),(/2,2/))
14  i = 1
15  if (any (foo(vec(vy(i, :))) /= vy(i, :))) call abort ()
16
17contains
18
19  function foo (xin)
20    type(vec) :: xin
21    real, dimension (2) :: foo
22    intent(in)  xin
23    foo = xin%coords
24  end function
25end program
26