1! { dg-do compile } 2! PR78659 Spurious "requires DTIO" reported against namelist statement 3MODULE m 4 IMPLICIT NONE 5 TYPE :: t 6 CHARACTER :: c 7 CONTAINS 8 PROCEDURE :: write_formatted 9 GENERIC :: WRITE(FORMATTED) => write_formatted 10 END TYPE 11CONTAINS 12 SUBROUTINE write_formatted(dtv, unit, iotype, v_list, iostat, iomsg) 13 CLASS(t), INTENT(IN) :: dtv 14 INTEGER, INTENT(IN) :: unit 15 CHARACTER(*), INTENT(IN) :: iotype 16 INTEGER, INTENT(IN) :: v_list(:) 17 INTEGER, INTENT(OUT) :: iostat 18 CHARACTER(*), INTENT(INOUT) :: iomsg 19 WRITE (unit, "(A)", IOSTAT=iostat, IOMSG=iomsg) dtv%c 20 print *, "what" 21 END SUBROUTINE 22END MODULE 23 24PROGRAM p 25 USE m 26 IMPLICIT NONE 27 class(t), allocatable :: x 28 NAMELIST /nml/ x 29 x = t('a') 30 WRITE (*, nml) 31 READ (*, nml) ! { dg-error "is polymorphic and requires a defined input/output procedure" } 32END 33