aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/typebound_proc_11.f03
blob: 6105b8ca2f7c5dbaec73f10c5da8e1a8044b19a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
! { 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