http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55984
--- Comment #2 from janus at gcc dot gnu.org 2013-01-15 10:04:31 UTC --- Confirmed. Reduced test case: type, abstract :: bcd_t contains procedure(bcd_fill_halos), deferred :: fill_halos end type abstract interface subroutine bcd_fill_halos(this) import :: bcd_t class(bcd_t ) :: this end subroutine end interface type :: mpdata_t class(bcd_t), pointer :: bcx end type contains subroutine mpdata_advop(this) class(mpdata_t) :: this associate ( bcx => this%bcx ) call bcx%fill_halos() end associate end subroutine end 4.7 works, i.e. it is a regression in 4.8. This is the same problem mentioned in PR 55983 comment 2.