1! { dg-do compile } 2 3! Abstract Types. 4! Check for module file IO. 5 6MODULE m 7 IMPLICIT NONE 8 9 TYPE, ABSTRACT :: abst_t 10 INTEGER :: x 11 END TYPE abst_t 12 13 TYPE, EXTENDS(abst_t) :: concrete_t 14 INTEGER :: y 15 END TYPE concrete_t 16 17END MODULE m 18 19PROGRAM main 20 USE m 21 IMPLICIT NONE 22 23 TYPE(abst_t) :: abst ! { dg-error "is of the ABSTRACT type 'abst_t'" } 24 TYPE(concrete_t) :: conc 25 26 ! See if constructing the extending type works. 27 conc = concrete_t (1, 2) 28END PROGRAM main 29