PR middle-end/77674
[official-gcc.git] / gcc / testsuite / gfortran.dg / associate_20.f03
blob9d420efd9d659b9220630fa557260cd572329612
1 ! { dg-do run }
3 ! Contributed by mrestelli@gmail.com
4 ! Adapated by Andre Vehreschild  <vehre@gcc.gnu.org>
5 ! Test that fix for PR69296 is working.
7 program p
8   implicit none
10   type foo
11     integer :: i
12   end type
14   integer :: j, i(3,2)
15   class(foo), allocatable :: a(:,:)
17   allocate (a(2,6))
19   a(1,:)%i = (/ (     j , j=1,6) /)
20   a(2,:)%i = (/ ( -10*j , j=1,6) /)
22   i(:,1) = (/ 1 , 3 , 5 /)
23   i(:,2) = (/ 4 , 5 , 6 /)
25   associate( ai => a(:,i(:,1))%i )
26     if (any(shape(ai) /= [2, 3])) call abort()
27     if (any(reshape(ai, [6]) /= [1 , -10, 3, -30, 5, -50])) call abort()
28   end associate
30   deallocate(a)
31 end program p