| ! { dg-do compile } |
| |
| ! Type-bound procedures |
| ! Test that legal usage of DEFERRED is accepted. |
| |
| MODULE testmod |
| IMPLICIT NONE |
| |
| ABSTRACT INTERFACE |
| SUBROUTINE intf () |
| END SUBROUTINE intf |
| END INTERFACE |
| |
| TYPE, ABSTRACT :: abstract_type |
| CONTAINS |
| PROCEDURE(intf), DEFERRED, NOPASS :: p1 |
| PROCEDURE(realproc), DEFERRED, NOPASS :: p2 |
| END TYPE abstract_type |
| |
| TYPE, EXTENDS(abstract_type) :: sub_type |
| CONTAINS |
| PROCEDURE, NOPASS :: p1 => realproc |
| PROCEDURE, NOPASS :: p2 => realproc |
| END TYPE sub_type |
| |
| CONTAINS |
| |
| SUBROUTINE realproc () |
| END SUBROUTINE realproc |
| |
| END MODULE testmod |