| ! { 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, :))) STOP 1 |
| |
| contains |
| |
| function foo (xin) |
| type(vec) :: xin |
| real, dimension (2) :: foo |
| intent(in) xin |
| foo = xin%coords |
| end function |
| end program |