The following code triggers an ICE with gcc-4.3-20080208 <foo.f90> 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 </foo.f90> /home/maik/workspace/gcc/gcc-4.3-20080208/stage/bin/gfortran-4.3 -o CMakeFiles/mylib.dir/foo.f90.o -I/home/maik/workspace/Debug_maik/Debug -c /home/maik/workspace/Debug_maik/foo.f90 /home/maik/workspace/Debug_maik/foo.f90: In function 'my_sub': /home/maik/workspace/Debug_maik/foo.f90:25: internal compiler error: in gfc_conv_array_index_offset, at fortran/trans-array.c:2201 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[2]: *** [CMakeFiles/mylib.dir/foo.f90.o] Error 1 make[2]: Leaving directory `/home/maik/workspace/Debug_maik/Debug' make[1]: *** [CMakeFiles/mylib.dir/all] Error 2 make[1]: Leaving directory `/home/maik/workspace/Debug_maik/Debug' make: *** [all] Error 2 If ELEMENTAL is omitted or replaced by PURE it compiles fine. -- Maik -- Summary: ICE in gfc_conv_array_index_offset Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: beckmann dot maik at googlemail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35184