! Test that parent components are made explicit in reference to ! procedure pointer from parent type. ! RUN: bbc -emit-hlfir -o - %s | FileCheck %s module type_defs interface subroutine s1 end subroutine real function s2() end function end interface type :: t procedure(s1), pointer, nopass :: p1 procedure(s2), pointer, nopass :: p2 end type type, extends(t) :: t2 end type end module ! CHECK-LABEL: func.func @_QPtest( subroutine test (x) use type_defs, only : t2 type(t2) :: x call x%p1() ! CHECK: %[[T_REF1:.*]] = hlfir.designate %{{.*}}{"t"} ! CHECK: hlfir.designate %[[T_REF1]]{"p1"} print *, x%p2() ! CHECK: %[[T_REF2:.*]] = hlfir.designate %{{.*}}{"t"} ! CHECK: hlfir.designate %[[T_REF2]]{"p2"} end subroutine