Added test case from PR 94737.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 26 Apr 2020 12:57:16 +0000 (14:57 +0200)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 26 Apr 2020 12:57:16 +0000 (14:57 +0200)
2020-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/94737
* gfortran.dg/binding_label_tests_34.f90: New test case.

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/binding_label_tests_34.f90 [new file with mode: 0644]

index cce59449cb03411c94fefe9cbed46e56fd02d233..c4f5f83552ee3d22b62dcbbe5939c7bf27fd705d 100644 (file)
@@ -1,3 +1,8 @@
+2020-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/94737
+       * gfortran.dg/binding_label_tests_34.f90: New test case.
+
 2020-04-25  David Edelsohn  <dje.gcc@gmail.com>
 
        * g++.dg/debug/dwarf2/pr61433.C: Unfail AIX.
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_34.f90 b/gcc/testsuite/gfortran.dg/binding_label_tests_34.f90
new file mode 100644 (file)
index 0000000..f4f1862
--- /dev/null
@@ -0,0 +1,25 @@
+! { dg-do compile }
+! PR 94737 - global symbols are case-insensitive; an error should be
+! reported if they match (see F2018, 9.2, paragraph 2).  Original
+! test case by Lee Busby.
+
+module foo
+
+interface
+function func1(ii) result (k) bind(c, name="c_func")
+  integer :: ii
+  integer :: k
+end function func1
+subroutine sub1(ii,jj) bind(c, name="c_Func") ! { dg-error "Global binding name" }
+  integer :: ii,jj
+end subroutine sub1
+end interface
+
+contains
+
+function func2(ii) result (k) 
+  integer :: ii
+  integer :: k
+  k = func1(ii) ! { dg-error "Global binding name" }
+end function func2
+end module foo