diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/associated_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/associated_1.f90 | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/associated_1.f90 b/gcc/testsuite/gfortran.dg/associated_1.f90 new file mode 100644 index 000000000..e214fe272 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/associated_1.f90 @@ -0,0 +1,26 @@ +! { dg-do run } +! PR 25292: Check that the intrinsic associated works with functions returning +! pointers as arguments +program test + real, pointer :: a, b + + nullify(a,b) + if(associated(a,b).or.associated(a,a)) call abort() + allocate(a) + if(associated(b,a)) call abort() + if (.not.associated(x(a))) call abort () + if (.not.associated(a, x(a))) call abort () + + nullify(b) + if (associated(x(b))) call abort () + allocate(b) + if (associated(x(b), x(a))) call abort () + +contains + + function x(a) RESULT(b) + real, pointer :: a,b + b => a + end function x + +end program test |