37 lines
729 B
Fortran
37 lines
729 B
Fortran
! { dg-do compile }
|
|
! Tests the fix for PR33566, in which the first variable array ref
|
|
! to v1 would cause an incompatible ranks error and the second an ICE.
|
|
!
|
|
! Contributed by Mikael Morin <mikael.morin@tele2.fr>
|
|
!
|
|
program test_vec
|
|
|
|
implicit none
|
|
|
|
|
|
integer :: i
|
|
real :: x
|
|
|
|
type vec3
|
|
real, dimension(3) :: coords
|
|
end type vec3
|
|
|
|
type(vec3),parameter :: v1 = vec3((/ 1.0, 2.0, 3.0 /))
|
|
type(vec3) :: v2
|
|
|
|
v2 = vec3((/ 1.0, 2.0, 3.0 /))
|
|
|
|
|
|
x = v1%coords(1)
|
|
|
|
do i=1,3
|
|
x = v1%coords(i) ! used to fail
|
|
x = v2%coords(i)
|
|
end do
|
|
|
|
i = 2
|
|
|
|
v2 = vec3 (v1%coords ((/i+1, i, i-1/))) ! also broken
|
|
|
|
end program test_vec
|