blob: df7764d34744686ae462603534628bcc1094ba66 (
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
36
37
|
! { 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
! { dg-final { cleanup-modules "testmod" } }
|