+2019-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/84387
+ * trans-io.c (transfer_expr): Do not return if there are no
+ components to the derived type or class.
+
2019-02-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88117
+2019-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/84387
+ * gfortran.dg/dtio_34.f90: New test.
+
2019-02-23 Marek Polacek <polacek@redhat.com>
PR c++/88294 - ICE with non-constant noexcept-specifier.
--- /dev/null
+! { dg-do run }
+! PR84387 Defined output does not work for a derived type that
+! has no components
+module m
+ type :: t
+ private
+ !integer :: m_i = 0 !<-- ***
+ contains
+ private
+ procedure, pass(this) :: write_t
+ generic, public :: write(formatted) => write_t
+ end type
+contains
+ subroutine write_t(this, lun, iotype, vlist, istat, imsg)
+ ! argument definitions
+ class(t), intent(in) :: this
+ integer, intent(in) :: lun
+ character(len=*), intent(in) :: iotype
+ integer, intent(in) :: vlist(:)
+ integer, intent(out) :: istat
+ character(len=*), intent(inout) :: imsg
+ write(lun, fmt=*, iostat=istat, iomsg=imsg) "Hello World!"
+ return
+ end subroutine write_t
+
+end module
+
+program p
+ use m, only : t
+ type(t) :: foo
+ print "(dt)", foo ! { dg-output " Hello World!" }
+end program