rt_gccstream/gcc/testsuite/gfortran.dg/elemental_subroutine_6.f90

26 lines
673 B
Fortran

! { 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" } }