3 ! PR 49638: [OOP] length parameter is ignored when overriding type bound character functions with constant length.
5 ! Original test case contributed by Hans-Werner Boschmann <boschmann@tp1.physik.uni-siegen.de>
13 procedure
, nopass
:: a
=> a1
14 procedure
, nopass
:: b
=> b1
15 procedure
, nopass
:: c
=> c1
16 procedure
, nopass
:: d
=> d1
17 procedure
, nopass
:: e
=> e1
20 type, extends(t1
) :: t2
22 procedure
, nopass
:: a
=> a2
! { dg-error "Character length mismatch in function result" }
23 procedure
, nopass
:: b
=> b2
! { dg-error "Rank mismatch in function result" }
24 procedure
, nopass
:: c
=> c2
! FIXME: dg-warning "Possible character length mismatch"
25 procedure
, nopass
:: d
=> d2
! valid, check for commutativity (+,*)
26 procedure
, nopass
:: e
=> e2
! { dg-error "Character length mismatch in function result" }
32 character(len
=6) :: a1
36 character(len
=7) :: a2
44 integer, dimension(2) :: b2
48 integer, intent(in
) :: x
53 integer, intent(in
) :: x
58 integer, intent(in
) :: y
59 character(2*y
+1) :: d1
63 integer, intent(in
) :: y
64 character(1+y
*2) :: d2
68 integer, intent(in
) :: z
73 integer, intent(in
) :: z
90 procedure
, nopass
:: aa
=> aa1
96 integer, intent(in
) :: m
111 type, extends(tt1
) :: tt2
113 procedure
, nopass
:: aa
=> aa2
! FIXME: dg-warning "Possible character length mismatch"
119 integer, intent(in
) :: m
120 character(n
+m
) :: aa2