! RUN: flang -fc1 -emit-hlfir %s -o - | FileCheck %s module m3 type x1 integer::ix1 end type x1 type,extends(x1)::x2 end type x2 type,extends(x2)::x3 end type x3 class(x1),pointer,dimension(:)::cy1 contains subroutine dummy() entry chk(c1) class(x1),dimension(3)::c1 end subroutine dummy end module m3 ! CHECK-LABEL: func.func @_QMm3Pchk( ! CHECK-SAME: %[[ARG0:.*]]: !fir.class>> {fir.bindc_name = "c1"}) { ! CHECK: %[[DUMMY_SCOPE:.*]] = fir.dummy_scope : !fir.dscope ! CHECK: %[[DECLARE:.*]]:2 = hlfir.declare %[[ARG0]] dummy_scope %[[DUMMY_SCOPE]] {{.*}} {uniq_name = "_QMm3FdummyEc1"} : (!fir.class>>, !fir.dscope) -> (!fir.class>>, !fir.class>>) subroutine s1 use m3 type(x1),target::ty1(3) ty1%ix1=[1,2,3] cy1=>ty1 call chk(cy1) end subroutine s1 program main call s1 print *,'pass' end program main