3 ! Type-bound procedures
4 ! Check calls with GENERIC bindings.
11 PROCEDURE, NOPASS :: plain_int
12 PROCEDURE, NOPASS :: plain_real
13 PROCEDURE, PASS(me) :: passed_intint
14 PROCEDURE, PASS(me) :: passed_realreal
16 GENERIC :: gensub => plain_int, plain_real, passed_intint, passed_realreal
21 SUBROUTINE plain_int (x)
24 WRITE (*,*) "Plain Integer"
25 END SUBROUTINE plain_int
27 SUBROUTINE plain_real (x)
30 WRITE (*,*) "Plain Real"
31 END SUBROUTINE plain_real
33 SUBROUTINE passed_intint (me, x, y)
37 WRITE (*,*) "Passed Integer"
38 END SUBROUTINE passed_intint
40 SUBROUTINE passed_realreal (x, me, y)
44 WRITE (*,*) "Passed Real"
45 END SUBROUTINE passed_realreal
56 CALL myobj%gensub (2.5)
57 CALL myobj%gensub (5, 5)
58 CALL myobj%gensub (2.5, 2.5)
61 ! { dg-output "Plain Integer(\n|\r\n|\r).*Plain Real(\n|\r\n|\r).*Passed Integer(\n|\r\n|\r).*Passed Real" }
62 ! { dg-final { cleanup-modules "m" } }