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