1! { dg-do compile } 2 3! Parsing of finalizer procedure definitions. 4! Check that FINAL-declarations are only allowed on types defined in the 5! specification part of a module. 6 7MODULE final_type 8 IMPLICIT NONE 9 10CONTAINS 11 12 SUBROUTINE bar 13 IMPLICIT NONE 14 15 TYPE :: mytype 16 INTEGER, ALLOCATABLE :: fooarr(:) 17 REAL :: foobar 18 CONTAINS 19 FINAL :: myfinal ! { dg-error "in the specification part of a MODULE" } 20 END TYPE mytype 21 22 CONTAINS 23 24 SUBROUTINE myfinal (el) 25 TYPE(mytype) :: el 26 END SUBROUTINE myfinal 27 28 END SUBROUTINE bar 29 30END MODULE final_type 31 32PROGRAM finalizer 33 IMPLICIT NONE 34 ! Do nothing here 35END PROGRAM finalizer 36