! { dg-do run } ! ! PR 57306: [OOP] ICE on valid with class pointer initialization ! ! Contributed by Andrew Benson module m type :: c end type c type, extends(c) :: d end type d type(c), target :: x type(d), target :: y end module m use m class(c), pointer :: px => x class(c), pointer :: py => y if (.not. associated(px, x)) call abort() if (.not. same_type_as(px, x)) call abort() if (.not. associated(py, y)) call abort() if (.not. same_type_as(py, y)) call abort() end ! { dg-final { cleanup-modules "m" } }