Issue 159127
Summary [flang][runtime] DTIO failure with namelist input
Labels flang:runtime
Assignees
Reporter DanielCChen
    Consider the following code:
```
module m

   type base
      character(7)   :: c(3) = (/ 'xxxxxxx', 'xxxxxxx', 'xxxxxxx' /)
   end type

   type nodtio
 character(7)   :: c(3) = (/ 'xxxxxxx', 'xxxxxxx', 'xxxxxxx' /)
   end type

end module

program character002
   use m

   interface read(formatted)
      subroutine readformatted(dtv, unit, iotype, v_list, iostat, iomsg )
         import base
         class(base), intent(inout) :: dtv
         integer,  intent(in) :: unit
         character(*), intent(in) :: iotype
         integer, intent(in)     :: v_list(:)
         integer, intent(out) :: iostat
         character(*),  intent(inout) :: iomsg
 end subroutine
   end interface

   integer :: stat
   character(150) :: msg = ''

   type(base)   :: b1
   type(nodtio) :: b2

   namelist /n1/ b1, b2

   open (1, file='character002.1', form='formatted', access='sequential' )

   read (1, n1, iostat = stat, iomsg = msg)

print*, b2%c(1), "<"
print*, b2%c(2), "<"
print*, b2%c(3), "<"
end program

subroutine readformatted (dtv, unit, iotype, v_list, iostat, iomsg)
use m, only: base

   class(base), intent(inout) :: dtv
 integer, intent(in) :: unit
   character(*), intent(in) :: iotype
 integer, intent(in)     :: v_list(:)
   integer, intent(out) :: iostat
 character(*), intent(inout) :: iomsg
   type(base)           :: dummy
 namelist /dtio/ dummy

   read( unit, dtio, iostat = iostat)

   dtv%c = dummy%c

end subroutine
```

Flang outputs
```
> a.out
 xxxxxxx<
 xxxxxxx<
 xxxxxxx<
```

Where both gfortran and XLF outputs
```
> a.out
 ABCDEFG<
 abc    <
 xxxxxxx<
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to