http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48279
--- Comment #4 from Adrian Prantl <adrian at llnl dot gov> 2011-03-25 18:59:48 UTC --- It is actually possible to combine the test into a single file: minimal.F03 module sidl_string_array type sidl_string_1d end type sidl_string_1d interface set module procedure & setg1_p end interface contains subroutine setg1_p(array, index, val) type(sidl_string_1d), intent(inout) :: array end subroutine setg1_p end module sidl_string_array module s_Hard use sidl_string_array type :: s_Hard_t integer(8) :: dummy end type s_Hard_t interface set_d_interface end interface interface get_d_string module procedure get_d_string_p end interface contains ! Derived type member access functions type(sidl_string_1d) function get_d_string_p(s) type(s_Hard_t), intent(in) :: s end function get_d_string_p subroutine set_d_objectArray_p(s, d_objectArray) end subroutine set_d_objectArray_p end module s_Hard subroutine initHard(h, ex) use s_Hard type(s_Hard_t), intent(inout) :: h call set(get_d_string(h), 0, 'Three') end subroutine initHard $ gfortran -c minimal.F03 minimal.F03:26:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.