http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54881
--- Comment #7 from janus at gcc dot gnu.org 2012-10-10 17:33:41 UTC --- Here is a variant of the test case in comment 3, which for some strange reason fails also with 4.7: implicit none type treeNode end type class(treeNode), pointer :: theNode logical :: lstatus select type( theNode ) type is (treeNode) call DestroyNode (theNode, lstatus ) class is (treeNode) call DestroyNode (theNode, lstatus ) end select contains subroutine DestroyNode( theNode, lstatus ) type(treeNode), pointer :: theNode logical, intent(out) :: lstatus end subroutine end