rt_gccstream/gcc/testsuite/gfortran.dg/finalize_8.f03

38 lines
711 B
Fortran

! { dg-do compile }
! Parsing of finalizer procedure definitions.
! Check that FINAL-declarations are only allowed on types defined in the
! specification part of a module.
MODULE final_type
IMPLICIT NONE
CONTAINS
SUBROUTINE bar
IMPLICIT NONE
TYPE :: mytype
INTEGER, ALLOCATABLE :: fooarr(:)
REAL :: foobar
CONTAINS
FINAL :: myfinal ! { dg-error "in the specification part of a MODULE" }
END TYPE mytype
CONTAINS
SUBROUTINE myfinal (el)
TYPE(mytype) :: el
END SUBROUTINE myfinal
END SUBROUTINE bar
END MODULE final_type
PROGRAM finalizer
IMPLICIT NONE
! Do nothing here
END PROGRAM finalizer
! { dg-final { cleanup-modules "final_type" } }