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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
! RUN: %python %S/test_errors.py %s %flang_fc1
module m
public i
integer, private :: j
!ERROR: The accessibility of 'i' has already been specified as PUBLIC
private i
!WARNING: The accessibility of 'j' has already been specified as PRIVATE
private j
end
module m2
interface operator(.foo.)
module procedure ifoo
end interface
public :: operator(.foo.)
!ERROR: The accessibility of 'OPERATOR(.foo.)' has already been specified as PUBLIC
private :: operator(.foo.)
interface operator(+)
module procedure ifoo
end interface
public :: operator(+)
!ERROR: The accessibility of 'OPERATOR(+)' has already been specified as PUBLIC
private :: operator(+) , ifoo
contains
integer function ifoo(x, y)
logical, intent(in) :: x, y
end
end module
module m3
type t
end type
private :: operator(.lt.)
interface operator(<)
logical function lt(x, y)
import t
type(t), intent(in) :: x, y
end function
end interface
!ERROR: The accessibility of 'OPERATOR(<)' has already been specified as PRIVATE
public :: operator(<)
interface operator(.gt.)
logical function gt(x, y)
import t
type(t), intent(in) :: x, y
end function
end interface
public :: operator(>)
!ERROR: The accessibility of 'OPERATOR(.GT.)' has already been specified as PUBLIC
private :: operator(.gt.)
end
module m4
private
type, public :: foo
end type
interface foo
procedure fun
end interface
contains
function fun
end
end
subroutine s4
!ERROR: 'fun' is PRIVATE in 'm4'
use m4, only: foo, fun
type(foo) x ! ok
print *, foo() ! ok
end
module m5
public
type, private :: foo
end type
interface foo
procedure fun
end interface
contains
function fun
end
end
subroutine s5
!ERROR: 'foo' is PRIVATE in 'm5'
use m5, only: foo, fun
print *, fun() ! ok
end
|