3 ! Type-bound procedures
4 ! Check calls with passed-objects.
13 PROCEDURE, PASS :: func => func_add
14 PROCEDURE, PASS(me) :: sub => sub_add
20 PROCEDURE, PASS :: swap
25 INTEGER FUNCTION func_add (me, x)
32 SUBROUTINE sub_add (res, me, x)
34 INTEGER, INTENT(OUT) :: res
35 CLASS(add), INTENT(IN) :: me
36 INTEGER, INTENT(IN) :: x
38 END SUBROUTINE sub_add
40 SUBROUTINE swap (me1, me2)
42 CLASS(trueOrFalse), INTENT(INOUT) :: me1, me2
44 IF (.NOT. me1%val .OR. me2%val) THEN
52 ! Do the testing here, in the same module as the type is.
57 TYPE(trueOrFalse) :: t, f
63 IF (adder%func (8) /= 50) THEN
78 IF (.NOT. t%val .OR. f%val) THEN