http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56261
--- Comment #1 from Andrew Benson <abensonca at gmail dot com> 2013-02-08 23:19:11 UTC --- Reduced test case: module t type, public :: nc integer :: n end type nc contains subroutine ff(self) implicit none class(nc), intent(in), dimension(:) :: self write (0,*) ' --> content of self(1)%n) is ',self(1)%n return end subroutine ff end module t program p use t implicit none class (nc), allocatable, dimension(:) :: c procedure( ), pointer :: f => ff allocate(c(10)) call f(c) end program p