! { dg-do run } ! ! Contributed by mrestelli@gmail.com ! Adapated by Andre Vehreschild <vehre@gcc.gnu.org> ! Test that fix for PR69296 is working. program p implicit none type foo integer :: i end type integer :: j, i(3,2) class(foo), allocatable :: a(:,:) allocate (a(2,6)) a(1,:)%i = (/ ( j , j=1,6) /) a(2,:)%i = (/ ( -10*j , j=1,6) /) i(:,1) = (/ 1 , 3 , 5 /) i(:,2) = (/ 4 , 5 , 6 /) associate( ai => a(:,i(:,1))%i ) if (any(shape(ai) /= [2, 3])) STOP 1 if (any(reshape(ai, [6]) /= [1 , -10, 3, -30, 5, -50])) STOP 2 end associate deallocate(a) end program p