26 lines
595 B
Fortran
26 lines
595 B
Fortran
|
! { dg-do run }
|
||
|
! Check the fix for PR32129 #4 in which the argument 'vec(vy(i, :))' was
|
||
|
! incorrectly simplified, resulting in an ICE.
|
||
|
!
|
||
|
! Reported by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
!
|
||
|
program testCode
|
||
|
implicit none
|
||
|
type vec
|
||
|
real, dimension(2) :: coords
|
||
|
end type
|
||
|
integer :: i
|
||
|
real, dimension(2,2), parameter :: vy = reshape ((/1,2,3,4/),(/2,2/))
|
||
|
i = 1
|
||
|
if (any (foo(vec(vy(i, :))) /= vy(i, :))) call abort ()
|
||
|
|
||
|
contains
|
||
|
|
||
|
function foo (xin)
|
||
|
type(vec) :: xin
|
||
|
real, dimension (2) :: foo
|
||
|
intent(in) xin
|
||
|
foo = xin%coords
|
||
|
end function
|
||
|
end program
|