| ! { 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 |