blob: 14f01effd0ee13d52c94fdec7560e0e0af6a707b [file] [log] [blame]
! { 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