aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/typebound_proc_8.f03
blob: ed5e422b6cf8ab49809d2d194f5a4b8627c1604a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
! { 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