summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/abstract_type_4.f03
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" } }