OSDN Git Service

* config/i386/i386.md (UNSPEC_VSIBADDR): New.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / typebound_proc_22.f90
1 ! { dg-do compile }
2 !
3 ! PR fortran/48810
4 !
5 ! Contributed by Andrew Baldwin
6 !
7       module qtest
8       type foobar
9         integer :: x
10         contains
11         private
12         procedure :: gimmex
13         generic, public :: getx => gimmex
14       end type foobar
15       contains
16         function gimmex(foo)
17           class (foobar) :: foo
18           integer :: gimmex
19           gimmex = foo%x
20         end function gimmex
21       end module qtest
22
23       module qtestPriv
24       type foobarPriv
25         integer :: x
26         contains
27         private
28         procedure :: gimmexPriv
29         generic, private :: getxPriv => gimmexPriv
30       end type foobarPriv
31       contains
32         function gimmexPriv(foo)
33           class (foobarPriv) :: foo
34           integer :: gimmex
35           gimmex = foo%x
36         end function gimmexPriv
37       end module qtestPriv
38
39       program quicktest
40       use qtest
41       use qtestPriv
42       type (foobar) :: foo
43       type (foobarPriv) :: fooPriv
44       integer :: bar
45       bar = foo%getx()  ! OK
46       bar = fooPriv%getxPriv() ! { dg-error " is PRIVATE " }
47       end program quicktest
48
49 ! { dg-final { cleanup-modules "qtest qtestpriv" } }