xref: /llvm-project/flang/test/Semantics/bind-c01.f90 (revision 3077d61462e09d8d33a5d18c96c88ac6362ecc6b)
16c1ac141SIvan Zhechev! RUN: %python %S/test_errors.py %s %flang_fc1
2b6f22fa5Speter klausler! Check for multiple symbols being defined with with same BIND(C) name
3b6f22fa5Speter klausler
4b6f22fa5Speter klauslermodule m1
5b6f22fa5Speter klausler  integer, bind(c, name="x1") :: x1
6*3077d614SPeter Klausler  !ERROR: Two entities have the same global name 'x1'
7b6f22fa5Speter klausler  integer, bind(c, name=" x1 ") :: x2
8b6f22fa5Speter klausler contains
9b6f22fa5Speter klausler  subroutine x3() bind(c, name="x3")
10b6f22fa5Speter klausler  end subroutine
11b6f22fa5Speter klauslerend module
12b6f22fa5Speter klausler
13*3077d614SPeter Klausler!ERROR: Two entities have the same global name 'x3'
14b6f22fa5Speter klauslersubroutine x4() bind(c, name=" x3 ")
15b6f22fa5Speter klauslerend subroutine
16b6f22fa5Speter klausler
17b6f22fa5Speter klausler! Ensure no error in this situation
18b6f22fa5Speter klauslermodule m2
19b6f22fa5Speter klausler interface
20b6f22fa5Speter klausler  subroutine x5() bind(c, name=" x5 ")
21b6f22fa5Speter klausler  end subroutine
22b6f22fa5Speter klausler end interface
23b6f22fa5Speter klauslerend module
24b6f22fa5Speter klauslersubroutine x5() bind(c, name=" x5 ")
25b6f22fa5Speter klauslerend subroutine
2672904a99SPeter Klausler
2772904a99SPeter Klausler! Ensure no error in this situation
2872904a99SPeter Klauslersubroutine foo() bind(c, name="x6")
2972904a99SPeter Klauslerend subroutine
3072904a99SPeter Klauslersubroutine foo() bind(c, name="x7")
3172904a99SPeter Klauslerend subroutine
32