! { dg-do compile } ! { dg-options "-std=f95" } ! Type-bound procedures ! Test that F95 does not allow type-bound procedures MODULE testmod IMPLICIT NONE TYPE t INTEGER :: x CONTAINS ! { dg-error "Fortran 2003: CONTAINS block in derived type definition" } PROCEDURE proc1 ! { dg-error "Fortran 2003: PROCEDURE statement" } PROCEDURE :: proc2 => p2 ! { dg-error "Fortran 2003: PROCEDURE statement" } END TYPE t ! { dg-error "Fortran 2008: Derived type definition at .1. with empty CONTAINS section" } CONTAINS SUBROUTINE proc1 (me) ! { dg-error "no IMPLICIT type" } IMPLICIT NONE TYPE(t1) :: me ! { dg-error "being used before it is defined" } END SUBROUTINE proc1 REAL FUNCTION proc2 (me, x) ! { dg-error "no IMPLICIT type" } IMPLICIT NONE TYPE(t1) :: me ! { dg-error "being used before it is defined" } REAL :: x proc2 = x / 2 END FUNCTION proc2 END MODULE testmod