1! { dg-do compile } 2 3! Type-bound procedures 4! Test that legal usage of DEFERRED is accepted. 5 6MODULE testmod 7 IMPLICIT NONE 8 9 ABSTRACT INTERFACE 10 SUBROUTINE intf () 11 END SUBROUTINE intf 12 END INTERFACE 13 14 TYPE, ABSTRACT :: abstract_type 15 CONTAINS 16 PROCEDURE(intf), DEFERRED, NOPASS :: p1 17 PROCEDURE(realproc), DEFERRED, NOPASS :: p2 18 END TYPE abstract_type 19 20 TYPE, EXTENDS(abstract_type) :: sub_type 21 CONTAINS 22 PROCEDURE, NOPASS :: p1 => realproc 23 PROCEDURE, NOPASS :: p2 => realproc 24 END TYPE sub_type 25 26CONTAINS 27 28 SUBROUTINE realproc () 29 END SUBROUTINE realproc 30 31END MODULE testmod 32