blob: 2d9f17c564f69fe29b9905d8eb31078010aaca83 [file] [log] [blame]
! { dg-do compile }
!
! PR fortran/48810
!
! Contributed by Andrew Baldwin
!
module qtest
type foobar
integer :: x
contains
private
procedure :: gimmex
generic, public :: getx => gimmex
end type foobar
contains
function gimmex(foo)
class (foobar) :: foo
integer :: gimmex
gimmex = foo%x
end function gimmex
end module qtest
module qtestPriv
type foobarPriv
integer :: x
contains
private
procedure :: gimmexPriv
generic, private :: getxPriv => gimmexPriv
end type foobarPriv
contains
function gimmexPriv(foo)
class (foobarPriv) :: foo
integer :: gimmex
gimmex = foo%x
end function gimmexPriv
end module qtestPriv
program quicktest
use qtest
use qtestPriv
type (foobar) :: foo
type (foobarPriv) :: fooPriv
integer :: bar
bar = foo%getx() ! OK
bar = fooPriv%getxPriv() ! { dg-error " is PRIVATE " }
end program quicktest