1 ! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s
5 procedure
, private
:: binding
=> basesub
6 generic
:: generic
=> binding
8 type, extends(base
) :: ext1
10 procedure
, private
:: binding
=> ext1sub
14 class(base
), intent(in
) :: x
17 class(ext1
), intent(in
) :: x
21 !CHECK: CALL ext1sub(x)
28 type, extends(ext1
) :: ext2
30 procedure
:: binding
=> ext2sub
34 class(ext2
), intent(in
) :: x
38 !CHECK: CALL ext1sub(x)
39 call x
%generic
! private binding not overridable
46 procedure
, public
:: binding
=> basesub
47 generic
:: generic
=> binding
49 type, extends(base
) :: ext1
51 procedure
, public
:: binding
=> ext1sub
55 class(base
), intent(in
) :: x
58 class(ext1
), intent(in
) :: x
62 !CHECK: CALL ext1sub(x)
69 type, extends(ext1
) :: ext2
71 procedure
:: binding
=> ext2sub
75 class(ext2
), intent(in
) :: x
79 !CHECK: CALL ext2sub(x)
80 call x
%generic
! public binding is overridable
87 procedure
, private
:: binding
=> basesub
88 generic
:: generic
=> binding
90 type, extends(base
) :: ext1
92 procedure
, public
:: binding
=> ext1sub
96 class(base
), intent(in
) :: x
99 class(ext1
), intent(in
) :: x
103 !CHECK: CALL ext1sub(x)
110 type, extends(ext1
) :: ext2
112 procedure
:: binding
=> ext2sub
115 subroutine ext2sub(x
)
116 class(ext2
), intent(in
) :: x
120 !CHECK: CALL ext2sub(x)
121 call x
%generic
! public binding is overridable