Retro68/gcc/gcc/testsuite/gfortran.dg/finalize_6.f90
2014-09-21 19:33:12 +02:00

31 lines
844 B
Fortran

! { dg-do compile }
! { dg-options "-std=f95" }
! Parsing of finalizer procedure definitions.
! Check that CONTAINS/FINAL in derived types is rejected for F95.
MODULE final_type
IMPLICIT NONE
TYPE :: mytype
INTEGER :: fooarr(42)
REAL :: foobar
CONTAINS ! { dg-error "Fortran 2003: CONTAINS block in derived type definition" }
FINAL :: finalize_single ! { dg-error "Fortran 2003: FINAL procedure declaration|FINAL procedure 'finalize_single' at .1. is not a SUBROUTINE" }
END TYPE mytype ! { dg-error "Fortran 2008: Derived type definition at .1. with empty CONTAINS section" }
CONTAINS
SUBROUTINE finalize_single (el)
IMPLICIT NONE
TYPE(mytype) :: el
! Do nothing in this test
END SUBROUTINE finalize_single
END MODULE final_type
PROGRAM finalizer
IMPLICIT NONE
! Do nothing
END PROGRAM finalizer