summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/finalize_6.f90
blob: e790f4efb1056eff621e980c5c1e31c2885b7208 (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
30
31
32
33
34
35
! { 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" }
    FINAL :: finalize_single ! { dg-error "Fortran 2003" }
  END TYPE mytype

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

! TODO: Remove this once finalization is implemented.
! { dg-excess-errors "not yet implemented" }

! { dg-final { cleanup-modules "final_type" } }