<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/158496>158496</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang][DTIO] Flang complains about `:` in input file that is used for array expression
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:runtime
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          DanielCChen
      </td>
    </tr>
</table>

<pre>
    Consider the following code:
```
module m

   type :: base
      sequence
 integer(4)   ::  i = -999
      character(3) ::  c = 'xxx'
   end type

 interface read(formatted)
      subroutine readformatted(dtv, unit, iotype, v_list, iostat, iomsg )
         import base
         type(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

end module

program array104
   use m

   type(base) :: b1(4)

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

   namelist /nml1/ b1

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

   read (1,NML=nml1, iostat=stat, iomsg=msg)
print*, stat
print*, msg
   if ( stat /=  0 ) ERROR STOP 1

end program


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

   type(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

   read ( unit, "(A3,1X)", iostat = iostat, iomsg=iomsg ) dtv%c
   read ( unit, "(I4,1X)", iostat = iostat, iomsg=iomsg ) dtv%i

end subroutine
```

The input file `array104.1`
```
 &nml1
 b1(4)=JKL 1004
 b1(3:1:-2)=GHI 1003 ABC 1001
 b1(2)=DEF 1002
 /
```


Flang complains
```
> a.out
 1001
 Bad character ':' in INTEGER input field


Fortran ERROR STOP: code 1
```


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVk9zq7YX_TTy5k484gpsWLAgxn6__Pr60kmz6K4jg2yrA8KVRJp8-44kDNgvad-kM5nYvrrn_j1HwI2RRyVETpJ7kpQL3ttTp_OSKymazeYk1GLf1W_5plNG1kKDPQk4dE3T_SXVEaquFoQVhBZkRYc_WrRd3TcCWmemBQDYt7MA58cK2HMjghUAjPizF6ryBqmsOApNMI0JZgAXAEggrIS7LMtGXHXimlfWezPnffGtvC_B9evrK8F1AAhV-xKGelwifeCVAC14TTA9dLrl1oqa4JTC9Hvd9Vaq4DbzSWv7QnADvZLWfcrOB8cNvPzeSDPYjOXDt9YcYR4ZAGR77rS9nsUwJ4KpN2Pm0coKZQmmUnW9nXXqapgHvAxvA3PMDOCrpcXV6AgW3-eZYYbO3s9zA4FpY5cxpO73TePv1Xnd2TC6GehfS74N0JrjiHfLn3Y5EWJkQWCFMwXeht9n3R01b4Frzd8iGgdgb25pPa1rJHg0UHj0G5q-OEztzRtDSmdBPGcCkwONA0DxVrjZAsGdapuI4M7luxx3Z6GAYBq5-RxkIy4xLl0sIx9wA47OhJUE1zNi-xNeVcKYcBbkaSVvCK5h3pKTxCXTt5-_ElaGckbms_JKAISV7r-PcNbS7a1wh8Ms5qZxefLgMngX169rBairArZPT49P8Ovz4y8QTesbVhYMhBYfKRg-JeGRyIEDuIFONW-zG-09TvyYhD8W1Y12f0AKH6j387p9D_mxYD8p1WtSjWshiATTghHcRL_5WDhtxnP7dkmsHO9bP19Mqn-M_RD_l9hyIt_VFTN_GBJaPJ8ESHXu7aDJFZ3pMTjNAEBw5cVE53cJK___01eIaLiJvJ0RVkSEFXcYHL7878E5MCjuN-7LFGFwKLc7Z8eQZPd9oYQWu4b753p7brhU5taHbYEv3Q5pMaa45_W0d39jOfqsQSp4-Pa8_bJ9GrsXTT1l6rTVXM3E7Bjh3iiCqK9LW9Q5qzOW8YXIo3WyTlcsYfHilK_Xgqa4OkS8rig9YBon_FChyDgXa5ZFC5kjxYRmURwlmDC2pBWuqpjGPIpiTDEjMRUtl82yaV7aZaePC2lML_IoSeNstWj4XjTGvyAhHtx4CCt0r6xshSNNUi507qB3-_5oSEydiMwUzErb-PergE1KktyXzw-PJCnhZtrA911vHUHcCFfUjXBGHHviFqRxN1DtbvDwcALxetbCGNmpRa-b_GTt2fgV7AjujtKe-v2y6lqCO1fT8HF31t0forIEd75bQ3A3NPyS498BAAD__2bJ4TE">