http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59781
--- Comment #2 from janus at gcc dot gnu.org --- Here is a reduced test case of comment 0, which shows the wrong dump with all gfortran versions I tried (4.4, 4.6, 4.7, 4.8 and trunk): module dSFMT_interface use, intrinsic :: iso_c_binding implicit none type dSFMT_t type(c_ptr) :: state = c_null_ptr real(c_double), allocatable :: store(:) end type end module use dSFMT_interface implicit none contains subroutine dSFMT_init(rng) type(dSFMT_t) :: rng end subroutine subroutine test_rng() type(dSFMT_t) :: rng call dSFMT_init(rng) end subroutine end It is very similar to comment 1, just that the derived type is defined in a separate module.