blob: ed5e422b6cf8ab49809d2d194f5a4b8627c1604a [file] [log] [blame]
! { dg-do compile }
! Type-bound procedures
! Test for name collision between type-bound procedures and components.
MODULE testmod
IMPLICIT NONE
TYPE t
REAL :: comp
CONTAINS
PROCEDURE, NOPASS :: comp => proc ! { dg-error "same name as a component" }
END TYPE t
TYPE supert
INTEGER :: comp1
CONTAINS
PROCEDURE, NOPASS :: comp2 => proc
END TYPE supert
TYPE, EXTENDS(supert) :: subt1
INTEGER :: comp2 ! { dg-error "same name" }
END TYPE subt1
TYPE, EXTENDS(supert) :: subt2
CONTAINS
PROCEDURE, NOPASS :: comp1 => proc ! { dg-error "same name as an inherited component" }
END TYPE subt2
CONTAINS
SUBROUTINE proc ()
END SUBROUTINE proc
END MODULE testmod