3 ! PR 63733: [4.8/4.9/5 Regression] [OOP] wrong resolution for OPERATOR generics
5 ! Original test case from Alberto F. MartÃn Huertas <amartin@cimne.upc.edu>
6 ! Slightly modified by Salvatore Filippone <sfilippone@uniroma2.it>
7 ! Further modified by Janus Weil <janus@gcc.gnu.org>
12 procedure
:: sum
=> sum_parent
13 generic
:: operator(+) => sum
16 type, extends(parent
) :: child
18 procedure
:: sum
=> sum_child
23 integer function sum_parent(op1
,op2
)
25 class(parent
), intent(in
) :: op1
, op2
29 integer function sum_child(op1
,op2
)
31 class(child
) , intent(in
) :: op1
32 class(parent
), intent(in
) :: op2
42 type(parent
) :: m1
, m2
43 class(parent
), pointer :: mres
45 class(parent
), pointer :: hres
47 if (m1
+ m2
/= 0) STOP 1
48 if (h1
+ m2
/= 1) STOP 2
49 if (h1
%sum(h2
) /= 1) STOP 3