+2018-05-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/85786
+ * gfortran.dg/pr85786.f90: New test.
+
2018-05-25 Paul Koning <ni1d@arrl.net>
* gcc.c-torture/compile/20151204.c: Skip if pdp11.
--- /dev/null
+! { dg-do run }
+! PR fortran/85786
+program test
+
+ implicit none
+
+ type :: p2d
+ real, pointer :: p(:,:) => null()
+ end type p2d
+
+ type :: test_cs
+ type(p2d), pointer :: v(:) => null()
+ end type test_cs
+
+ type(test_cs), pointer :: cs
+ real, allocatable, target :: e(:,:)
+
+ allocate(cs)
+ if (associated(cs) .neqv. .true.) stop 1
+
+ allocate(cs%v(2))
+ if (associated(cs%v) .neqv. .true.) stop 2
+
+ allocate(e(2,2))
+ e = 42
+
+ if (query_ptr(e, cs) .neqv. .true.) stop 3
+
+ contains
+
+ logical function query_ptr(f_ptr, cs)
+
+ real, target, intent(in) :: f_ptr(:,:)
+ type(test_cs), pointer, intent(inout) :: cs
+
+ if (associated(cs)) then
+ if (associated(cs%v) .neqv. .true.) stop 4
+ cs%v(2)%p => f_ptr
+ if (associated(cs%v(2)%p) .neqv. .true.) stop 5
+ query_ptr = associated(cs%v(2)%p, f_ptr)
+ else
+ query_ptr = .false.
+ end if
+ end function query_ptr
+
+end program test