xref: /llvm-project/flang/test/Semantics/resolve112.f90 (revision a61835b1e3f5e074f4c8174edadfc6bef975138f)
1*a61835b1SDaniil Dudkin! RUN: %python %S/test_errors.py %s %flang_fc1
2*a61835b1SDaniil Dudkin
3*a61835b1SDaniil Dudkin! If there are 2 or more use-associated symbols
4*a61835b1SDaniil Dudkin! from different modules with the same name,
5*a61835b1SDaniil Dudkin! the error should be generated only if
6*a61835b1SDaniil Dudkin! the name is actually used.
7*a61835b1SDaniil Dudkinmodule a
8*a61835b1SDaniil Dudkin  contains
9*a61835b1SDaniil Dudkin    function foo()
10*a61835b1SDaniil Dudkin      foo = 42
11*a61835b1SDaniil Dudkin    end function foo
12*a61835b1SDaniil Dudkinend module a
13*a61835b1SDaniil Dudkin
14*a61835b1SDaniil Dudkinmodule b
15*a61835b1SDaniil Dudkin  contains
16*a61835b1SDaniil Dudkin    function foo()
17*a61835b1SDaniil Dudkin      foo = 42
18*a61835b1SDaniil Dudkin    end function foo
19*a61835b1SDaniil Dudkinend module b
20*a61835b1SDaniil Dudkin
21*a61835b1SDaniil Dudkinsubroutine without_error
22*a61835b1SDaniil Dudkin  use a
23*a61835b1SDaniil Dudkin  use b
24*a61835b1SDaniil Dudkinend subroutine without_error
25*a61835b1SDaniil Dudkin
26*a61835b1SDaniil Dudkinsubroutine with_error
27*a61835b1SDaniil Dudkin  use a
28*a61835b1SDaniil Dudkin  use b
29*a61835b1SDaniil Dudkin  integer :: res
30*a61835b1SDaniil Dudkin  ! ERROR: Reference to 'foo' is ambiguous
31*a61835b1SDaniil Dudkin  res = foo()
32*a61835b1SDaniil Dudkinend subroutine with_error
33