<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/151756>151756</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] NML: multiple name-value subsequences stopped reading the next item.
</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
integer(4) :: i(3) = (/ 9, 9, 9 /)
end type
type, extends(base) :: child
real(4) :: r(3) = (/ 9.0, 9.0, 9.0 /)
end type
type, extends(child) :: gen3
character(3) :: c(3) = (/ 'xxx', 'xxx', 'xxx' /)
end type
end module
program input104a
use m
integer :: stat
character(150) :: msg = 'original'
procedure(logical) :: precision_r4
type(child) :: b1
type(child), pointer :: b2
type(gen3) :: b3
type(gen3), allocatable :: b4
namelist /n1/ b1, b2, b3, b4
allocate(b2,b4)
open (1, file='input104a.1', form='formatted', access='sequential', blank='zero' )
read (1, n1, iostat = stat, iomsg = msg)
if ( ( stat /= 0 ) .or. ( msg /= 'original' ) ) ERROR STOP 1
print *, b1
print *, b2
print *, b3
print *, b4
end program
```
The input file `input104a.1` is
```
&n1
b1= 2, 4, 6, 8.0, 10.0,
b1%i= ,
b2=1,12,1*,
b2= ,
b3%c= 'abc', b3= 3,6,9,12.0,15.0,18.0,
b4= , , , 4.0, 8.0, 12.0, ,
/
```
It seems line `b1%i= ,` and `b2=,` stopped Flang from reading the next name-list-group-object.
Flang outputs:
```
> a.out
2 4 6 8. 10. 9.
9 9 9 9. 9. 9.
9 9 9 9. 9. 9. xxxxxxxxx
9 9 9 9. 9. 9. xxxxxxxxx
```
Expected output is (after I removed those mentioned two lines from the input file.)
```
> a.out
2 4 6 8. 10. 9.
1 12 9 9. 9. 9.
3 6 9 12. 15. 18. abcxxxxxx
9 9 9 4. 8. 12. xxxxxxxxx
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVl2PozYX_jXOzdEgMB-Bi1zknWykld52q-neVwZOiFtjU9vMZvvrq2MTkpnJqtokmODzfZ7HNsI5OWjEHSv_x8rDRsz-bOzuILRE9fx8Rr1pTf9992y0kz1a8GeEk1HKfJN6gM70yPI9S_esSpdfuh9NPyuEkaV7APDfJ4RWOIyPACC1xwEt43XBeAMA5CLfg2S8zmmG5QdgvGb8CA3jz8sAjB8Zb6Ib1H3wTKHXMKSGF4-6d4zXIWbwFrx3Z6l60rUo1C32Lbx9FD5JQ-z19rNJxKi3LAbU-dqI7iys6DzeRY6pPsiE8e3lcmF8S_4fP_woN_obMYmJTtYMVowg9TT7LC1EtJhdxCw-LSBdU3Je-Ci4Tzor07u0RzcsGW-NlYPU1OdttJqs6bCfLTJeKzPIjmSr5WSxk04a_Yct7jt5a9_bz2LWZg-VqSmToQLW9Fv-RjOg8MHrqpw_UiavQinTCS9ahXfqxdo0LUZU0nlCQmcEW5uRXcvDmIfxpr64oyBBoy0ifFFqJtSEfvBwkgpZfmB8u6KWZAsBTsaOUUb_hPfYLxLRdehclDn8e0btZQSFElFC_xVl_6A1kUDX8BZFvwbXYZSGSBAQDmwIU1fMRzes1JMnsgxXtOBHUqG100BibBJEwTJK3hImqNH16eXlywv8_vXLb5CtXZms1ORyH0rIHk3yR5P5o8kFClogy6J4t5WxdP_1jHGlBAyAVek9AlUK0r0zAsYrHTJrMyovgF_QUNFQx80kS8N9UeOlJFVi1TLHWX6gvmdknsWMV8GqlTNedksPRdtdoc1piuhGEZvgJUTLynirb7GLxd16FTG_a5rR8BqQEPvQos8eHOLoQEkdOnRfEBlWKQjdBwkPjAtTzptpwh6OSugBTtaMgXZ0sNAxo_Hiw4p6oiX1NFgzT0-m_RM7n8S40dDMfpq9-3gOsfwTiMTMYePiUEAFdUJ9h4YcQBO_Sfx9nIHL9fMfsnft-HSZsPPYL5mBdER4caL96DNYHM0r9uDPhjZcWpJG0_M3E_rnYif8G9oly8r8ieoyyPi78nKooCFEISsTyOoERNu9r7BIgh_-gxIh1rjpd3nf5I3Y4C7blkW6repttTnvyjbri4JXVdU3Zcpr7Mv-1OO2rLdpURbFRu54ysu0TrOsyYu8Snhfb_NT19R51ad5IViR4iikSpR6HRNjh410bsZdVmbbstoo0aJy4YWF8xMxgOV7O2svR2Sc01uM3ZHpUzsPjhUpscfdnHnpVXjfibblAX795f_h-JqVl5PCyLlXoWYEN7dx3-zQrXz9QFLpcUw2s1W7s_dTYCKdxMdB-vPcJp0ZGT9SAsvtabKGaMz4MZTmGD8u1b3u-L8BAAD__9jflfc">