2 ! { dg-options "-fdump-tree-original" }
5 ! ICE on defined assignment with class arrays.
7 ! Original testcase by Alipasha <alipash.celeris@gmail.com>
13 GENERIC :: ASSIGNMENT (=) => ASGN_A
14 PROCEDURE, PRIVATE :: ASGN_A
19 ELEMENTAL SUBROUTINE ASGN_A (A, B)
20 CLASS (A_TYPE), INTENT (INOUT) :: A
21 CLASS (A_TYPE), INTENT (IN) :: B
26 PROGRAM ASGN_REALLOC_TEST
28 TYPE (A_TYPE), ALLOCATABLE :: A(:)
32 A = (/ (A_TYPE(I), I=1,SIZE(A)) /)
34 IF (ANY(A%I /= (/ ((50+I, I=1,SIZE(A)/2), J=1,2) /))) CALL ABORT
35 A(::2) = A(1:50) ! pack/unpack
36 IF (ANY(A( ::2)%I /= (/ (50+I, I=1,SIZE(A)/2) /))) CALL ABORT
37 IF (ANY(A(2::2)%I /= (/ ((50+2*I, I=1,SIZE(A)/4), J=1,2) /))) CALL ABORT
40 ! { dg-final { scan-tree-dump-times "_gfortran_internal_pack" 1 "original" } }
41 ! { dg-final { scan-tree-dump-times "_gfortran_internal_unpack" 1 "original" } }
42 ! { dg-final { cleanup-tree-dump "original" } }