http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55057
--- Comment #3 from janus at gcc dot gnu.org 2012-10-25 14:51:44 UTC --- Here is a reduced test case, which is not usable as a runtime test, but shows the wrong dump: module m implicit none type :: t1 end type type :: t2 class(t1), allocatable :: work(:) end type contains subroutine alt(x) class(t1), intent(in) :: x end subroutine subroutine sub1(a) type(t2) :: a call alt(a%work(1)) end subroutine subroutine sub2(b) class(t2) :: b call alt(b%work(1)) end subroutine end module The dump of 'sub2' is wrong in 4.8, while 'sub1' is ok. With 4.7, both are wrong.