1! { dg-do run } 2! PR84389 rejected valid use of ':' in format 3module m 4 type :: t 5 integer :: i 6 contains 7 procedure, pass(this) :: write_t 8 generic, public :: write(formatted) => write_t 9 end type 10contains 11 subroutine write_t(this, lun, iotype, vlist, istat, imsg) 12 ! argument definitions 13 class(t), intent(in) :: this 14 integer, intent(in) :: lun 15 character(len=*), intent(in) :: iotype 16 integer, intent(in) :: vlist(:) 17 integer, intent(out) :: istat 18 character(len=*), intent(inout) :: imsg 19 write(lun, fmt=*, iostat=istat, iomsg=imsg) "Hello World!" 20 end subroutine write_t 21end module 22program p 23 use m, only : t 24 character(50) :: str 25 type(t) :: foo(2) 26 write(str, "(*(dt:,','))") foo 27 if (str.ne." Hello World!, Hello World!") stop 1 28end program 29