+2019-03-31 Harald Anlauf <anlauf@gmx.de>
+
+ Backport from trunk
+ PR fortran/83515
+ PR fortran/85797
+ * trans-types.c (gfc_typenode_for_spec): Handle conversion for
+ procedure pointers.
+ * target-memory.c (gfc_element_size): Handle size determination
+ for procedure pointers.
+
2019-03-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/71861
+2019-03-31 Harald Anlauf <anlauf@gmx.de>
+
+ Backport from trunk
+ PR fortran/83515
+ PR fortran/85797
+ * gfortran.dg/pr85797.f90: New test.
+
2019-02-26 Richard Biener <rguenther@suse.de>
Backport from mainline
--- /dev/null
+! { dg-do compile }
+! { dg-options "-Wall" }
+! PR fortran/83515 - ICE: Invalid expression in gfc_element_size
+! PR fortran/85797 - ICE in gfc_element_size, at fortran/target-memory.c:126
+
+subroutine a
+ c = transfer (a, b) ! { dg-warning "Non-RECURSIVE procedure" }
+end
+
+recursive subroutine d
+ c = transfer (d, b)
+end
+
+recursive subroutine e
+ k = transfer (transfer (e, e), 1)
+end
+
+subroutine f
+ use, intrinsic :: iso_c_binding
+ integer(c_intptr_t) :: b, c
+ c = transfer (transfer (b, a), b)
+end
+
+module m
+contains
+ function f () result (z) ! { dg-warning "Return value" }
+ class(*), pointer :: z
+ end function f
+ recursive subroutine s (q)
+ procedure(f) :: q
+ call s (q)
+ end subroutine s
+end