1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
! { dg-do compile }
! PR35184 ICE in gfc_conv_array_index_offset
MODULE foo
TYPE, PUBLIC :: bar
PRIVATE
REAL :: value
END TYPE bar
INTERFACE ASSIGNMENT (=)
MODULE PROCEDURE assign_bar
END INTERFACE ASSIGNMENT (=)
CONTAINS
ELEMENTAL SUBROUTINE assign_bar (to, from)
TYPE(bar), INTENT(OUT) :: to
TYPE(bar), INTENT(IN) :: from
to%value= from%value
END SUBROUTINE
SUBROUTINE my_sub (in, out)
IMPLICIT NONE
TYPE(bar), DIMENSION(:,:), POINTER :: in
TYPE(bar), DIMENSION(:,:), POINTER :: out
ALLOCATE( out(1:42, 1:42) )
out(1, 1:42) = in(1, 1:42)
END SUBROUTINE
END MODULE foo
! { dg-final { cleanup-modules "foo" } }
|