re PR fortran/64107 ([F95] Pure function as array size)
authorSteven G. Kargl <kargl@gcc.gnu.org>
Wed, 7 Mar 2018 00:25:30 +0000 (00:25 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Wed, 7 Mar 2018 00:25:30 +0000 (00:25 +0000)
2018-03-06  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/64107
        * gfortran.dg/pr64107.f90: New test.

From-SVN: r258311

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

index 0a41eaa7585eef00007bcf694b83053ff01e11b6..0440f02a6968bc21f4a8a535a7fb10ed82717640 100644 (file)
@@ -1,3 +1,8 @@
+2018-03-06  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/64107
+       * gfortran.dg/pr64107.f90: New test.
+
 2017-03-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/84697
diff --git a/gcc/testsuite/gfortran.dg/pr64107.f90 b/gcc/testsuite/gfortran.dg/pr64107.f90
new file mode 100644 (file)
index 0000000..7261594
--- /dev/null
@@ -0,0 +1,30 @@
+! { dg-do compile }
+! PR fortran/64107
+! Code contribute by  fxcoudert at gcc dot gnu dot org
+! Appears to be fixed by patch for PR fortran/83633
+module m1
+
+contains
+  pure integer function foo()
+    foo = 2
+  end function
+end module
+
+subroutine test
+  use m1
+  integer :: x1(foo())
+end subroutine
+
+module m
+  use m1
+  integer :: x2(foo())     ! { dg-error "array with nonconstant bounds" }
+contains
+  subroutine sub
+    integer :: x3(foo())
+  end subroutine
+end module
+
+program p
+  use m1
+  integer :: x4(foo())     ! { dg-error "array with nonconstant bounds" }
+end program