diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/pointer_intent_4.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/pointer_intent_4.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/pointer_intent_4.f90 b/gcc/testsuite/gfortran.dg/pointer_intent_4.f90 new file mode 100644 index 000000000..862edff4a --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pointer_intent_4.f90 @@ -0,0 +1,30 @@ +! { dg-do run } +! { dg-options "-fno-inline" } +! +! PR fortran/46937 +! +! Check that a non-pointer INTENT(IN) dummy +! with pointer component is properly treated +! +program test + type myT + integer, pointer :: point + end type myT + type(myT) :: t2 + allocate(t2%point) + t2%point = 42 + call nonpointer(t2) + if(t2%point /= 7) call abort() + t2%point = 42 + call nonpointer2(t2) + if(t2%point /= 66) call abort() +contains + subroutine nonpointer(t) + type(myT), intent(in) :: t + t%point = 7 + end subroutine nonpointer + subroutine nonpointer2(t) + class(myT), intent(in) :: t + t%point = 66 + end subroutine nonpointer2 +end program |