1! { dg-do compile }
2!
3! PR 45827: [4.6 Regression] [OOP] mio_component_ref(): Component not found
4!
5! Contributed by Daniel Franke <dfranke@gcc.gnu.org>
6
7MODULE m
8
9  TYPE, ABSTRACT :: t
10    PRIVATE
11    INTEGER   :: n
12  CONTAINS
13    PROCEDURE :: get
14  END TYPE
15
16  ABSTRACT INTERFACE
17    SUBROUTINE create(this)
18      IMPORT t
19      CLASS(t) :: this
20    END SUBROUTINE
21  END INTERFACE
22
23CONTAINS
24
25  FUNCTION get(this)
26    CLASS(t) :: this
27    REAL, DIMENSION(this%n) :: get
28  END FUNCTION
29
30  SUBROUTINE destroy(this)
31    CLASS(t) :: this
32  END SUBROUTINE
33
34END MODULE
35
36
37PROGRAM p
38  USE m
39END
40