diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/array_alloc_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/array_alloc_1.f90 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/array_alloc_1.f90 b/gcc/testsuite/gfortran.dg/array_alloc_1.f90 new file mode 100644 index 000000000..17be757a9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/array_alloc_1.f90 @@ -0,0 +1,21 @@ +! PR 21104. Make sure that either f() or its caller will allocate +! the array data. We've decided to make the caller allocate it. +! { dg-do run } +program main + implicit none + call test (f ()) +contains + subroutine test (x) + integer, dimension (10) :: x + integer :: i + do i = 1, 10 + if (x (i) .ne. i * 100) call abort + end do + end subroutine test + + function f () + integer, dimension (10) :: f + integer :: i + forall (i = 1:10) f (i) = i * 100 + end function f +end program main |