diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/array_function_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/array_function_1.f90 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/array_function_1.f90 b/gcc/testsuite/gfortran.dg/array_function_1.f90 new file mode 100644 index 000000000..281ae88b8 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/array_function_1.f90 @@ -0,0 +1,27 @@ +! { dg-do run } +! PR fortran/30720 +program array_function_1 + integer :: a(5), b, l, u + l = 4 + u = 2 + + a = (/ 1, 2, 3, 4, 5 /) + + b = f(a(l:u) - 2) + if (b /= 0) call abort + + b = f(a(4:2) - 2) + if (b /= 0) call abort + + b = f(a(u:l) - 2) + if (b /= 3) call abort + + b = f(a(2:4) - 2) + if (b /= 3) call abort + + contains + integer function f(x) + integer, dimension(:), intent(in) :: x + f = sum(x) + end function +end program |