blob: 13df20e1590269140475a2ee240ef19adbaaceb6 [file] [log] [blame]
! { dg-do run }
!
! PR 78848: [OOP] ICE on writing CLASS variable with non-typebound DTIO procedure
!
! Contributed by Mikael Morin <morin-mikael@orange.fr>
module m
type :: t
integer :: i = 123
end type
interface write(formatted)
procedure wf
end interface
contains
subroutine wf(this, unit, b, c, iostat, iomsg)
class(t), intent(in) :: this
integer, intent(in) :: unit
character(*), intent(in) :: b
integer, intent(in) :: c(:)
integer, intent(out) :: iostat
character(*), intent(inout) :: iomsg
write (unit, "(i3)", IOSTAT=iostat, IOMSG=iomsg) this%i
end subroutine
end
program p
use m
character(3) :: buffer
class(t), allocatable :: z
allocate(z)
write(buffer,"(DT)") z
if (buffer /= "123") STOP 1
end