1! RUN: %S/test_errors.sh %s %t %f18
2module m1
3  integer :: x
4  integer, private :: y
5  interface operator(.foo.)
6    module procedure ifoo
7  end interface
8  interface operator(-)
9    module procedure ifoo
10  end interface
11  interface operator(.priv.)
12    module procedure ifoo
13  end interface
14  interface operator(*)
15    module procedure ifoo
16  end interface
17  private :: operator(.priv.), operator(*)
18contains
19  integer function ifoo(x, y)
20    logical, intent(in) :: x, y
21  end
22end
23
24use m1, local_x => x
25!ERROR: 'y' is PRIVATE in 'm1'
26use m1, local_y => y
27!ERROR: 'z' not found in module 'm1'
28use m1, local_z => z
29use m1, operator(.localfoo.) => operator(.foo.)
30!ERROR: 'OPERATOR(.bar.)' not found in module 'm1'
31use m1, operator(.localbar.) => operator(.bar.)
32
33!ERROR: 'y' is PRIVATE in 'm1'
34use m1, only: y
35!ERROR: 'OPERATOR(.priv.)' is PRIVATE in 'm1'
36use m1, only: operator(.priv.)
37!ERROR: 'OPERATOR(*)' is PRIVATE in 'm1'
38use m1, only: operator(*)
39!ERROR: 'z' not found in module 'm1'
40use m1, only: z
41!ERROR: 'z' not found in module 'm1'
42use m1, only: my_x => z
43use m1, only: operator(.foo.)
44!ERROR: 'OPERATOR(.bar.)' not found in module 'm1'
45use m1, only: operator(.bar.)
46use m1, only: operator(-) , ifoo
47!ERROR: 'OPERATOR(+)' not found in module 'm1'
48use m1, only: operator(+)
49
50end
51