! { 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