diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/ret_pointer_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/ret_pointer_1.f90 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/ret_pointer_1.f90 b/gcc/testsuite/gfortran.dg/ret_pointer_1.f90 new file mode 100644 index 000000000..765f20a2f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/ret_pointer_1.f90 @@ -0,0 +1,22 @@ +! { dg-do run } +! Test functions returning array pointers +program ret_pointer_1 + integer, pointer, dimension(:) :: a + integer, target, dimension(2) :: b + integer, pointer, dimension (:) :: p + + a => NULL() + a => foo() + p => b + if (.not. associated (a, p)) call abort +contains +subroutine bar(p) + integer, pointer, dimension(:) :: p +end subroutine +function foo() result(r) + integer, pointer, dimension(:) :: r + + r => b +end function +end program + |