! { dg-do run } ! ! Test the fix for PR66679. ! ! Contributed by Miha Polajnar ! program main implicit none class(*), allocatable :: vec(:) integer :: var, ans(2) allocate(vec(2),source=[1_4, 2_4]) ! This worked correctly. if (any (transfer(vec,[var],2) .ne. [1_4, 2_4])) stop 1 ! This caused an ICE. if (any ([transfer(vec(1),[var]), transfer(vec(2),[var])] .ne. [1_4, 2_4])) stop 2 end program main