blob: 66d8dd187eecdee4818790e0d77fcfb315a5c70d (
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
|
! { dg-do compile }
! PR fortran/45786 - operators were not correctly marked as public
! if the alternative form was used.
! Test case contributed by Neil Carlson.
module foo_type
private
public :: foo, operator(==)
type :: foo
integer :: bar
end type
interface operator(.eq.)
module procedure eq_foo
end interface
contains
logical function eq_foo (a, b)
type(foo), intent(in) :: a, b
eq_foo = (a%bar == b%bar)
end function
end module
subroutine use_it (a, b)
use foo_type
type(foo) :: a, b
print *, a == b
end subroutine
! { dg-final { cleanup-modules "foo_type" } }
|