]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gfortran.dg/transfer_class_3.f90
re PR fortran/66679 ([OOP] ICE with class(*) and transfer)
[thirdparty/gcc.git] / gcc / testsuite / gfortran.dg / transfer_class_3.f90
1 ! { dg-do run }
2 !
3 ! Test the fix for PR66679.
4 !
5 ! Contributed by Miha Polajnar <polajnar.miha@gmail.com>
6 !
7 program main
8 implicit none
9 class(*), allocatable :: vec(:)
10 integer :: var, ans(2)
11 allocate(vec(2),source=[1_4, 2_4])
12
13 ! This worked correctly.
14 if (any (transfer(vec,[var],2) .ne. [1_4, 2_4])) stop 1
15
16 ! This caused an ICE.
17 if (any ([transfer(vec(1),[var]), transfer(vec(2),[var])] .ne. [1_4, 2_4])) stop 2
18 end program main