OSDN Git Service

2010-04-24 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / typebound_call_5.f03
1 ! { dg-do compile }
2
3 ! Type-bound procedures
4 ! Check for correct access-checking on type-bound procedures.
5
6 MODULE m
7   IMPLICIT NONE
8
9   TYPE t
10   CONTAINS
11     PROCEDURE, NOPASS, PRIVATE :: priv => proc
12     PROCEDURE, NOPASS, PUBLIC :: publ => proc
13   END TYPE t
14
15 CONTAINS
16
17   SUBROUTINE proc ()
18   END SUBROUTINE proc
19
20   ! This is inside the module.
21   SUBROUTINE test1 ()
22     IMPLICIT NONE
23     TYPE(t) :: obj
24
25     CALL obj%priv () ! { dg-bogus "PRIVATE" }
26     CALL obj%publ ()
27   END SUBROUTINE test1
28
29 END MODULE m
30
31 ! This is outside the module.
32 SUBROUTINE test2 ()
33   USE m
34   IMPLICIT NONE
35   TYPE(t) :: obj
36
37   CALL obj%priv () ! { dg-error "PRIVATE" }
38   CALL obj%publ ()
39 END SUBROUTINE test2
40
41 ! { dg-final { cleanup-modules "m" } }