blob: a6e5de2088283d3ca88b082ac67f7ba0ca28d4c4 (
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
|
! { dg-do compile }
! Abstract Types.
! Check for module file IO.
MODULE m
IMPLICIT NONE
TYPE, ABSTRACT :: abst_t
INTEGER :: x
END TYPE abst_t
TYPE, EXTENDS(abst_t) :: concrete_t
INTEGER :: y
END TYPE concrete_t
END MODULE m
PROGRAM main
USE m
IMPLICIT NONE
TYPE(abst_t) :: abst ! { dg-error "is of the ABSTRACT type 'abst_t'" }
TYPE(concrete_t) :: conc
! See if constructing the extending type works.
conc = concrete_t (1, 2)
END PROGRAM main
! { dg-final { cleanup-modules "m" } }
|