! { dg-do run } ! ! PR 47767: [OOP] SELECT TYPE fails to execute correct TYPE IS block ! ! Contributed by Andrew Benson module Tree_Nodes type treeNode contains procedure :: walk end type contains subroutine walk (thisNode) class (treeNode) :: thisNode print *, SAME_TYPE_AS (thisNode, treeNode()) end subroutine end module module Merger_Trees use Tree_Nodes private type(treeNode), public :: baseNode end module module Merger_Tree_Build use Merger_Trees end module program test use Merger_Tree_Build use Tree_Nodes type(treeNode) :: node call walk (node) end program ! { dg-final { cleanup-modules "tree_nodes merger_trees merger_tree_build" } }