<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58308>58308</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Bug in IO runtime error?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
PeixinQiao
</td>
</tr>
</table>
<pre>
```
program m_test
real, target :: a(2,2) = reshape([1.,2.,3.,4.], [2,2])
real,pointer,dimension(:):: t
print *, test_func(a)
CONTAINS
function test_func(i2) result(i1)
implicit none
real,dimension(:,:),target,intent(in):: i2
real,pointer,dimension(:):: i1
interface
function ext_interface(ln,i2) result(i1)
implicit none
integer,intent(in) :: ln
real,dimension(:,:),target,intent(in):: i2
real,pointer,dimension(:):: i1
end function ext_interface
end interface
print *, i2, size(i2)
i1 => ext_interface(size(i2),i2)
end
end
function ext_interface(ln,i2) result(i1)
implicit none
integer,intent(in) :: ln
real,dimension(:),target,intent(in):: i2
real,pointer,dimension(:):: i1
i1 => i2
print *, i2
end
```
```
$ gfortran test.f90 && ./a.out
test.f90:14:7:
14 | function ext_interface(ln,i2) result(i1)
| 1
Warning: Interface mismatch in global procedure ‘ext_interface’ at (1): Rank mismatch in argument 'i2' (2/1) [-Wargument-mismatch]
1.00000000 2.00000000 3.00000000 4.00000000 4
1.00000000 2.00000000
1.00000000 2.00000000
$ ifort test.f90 && ./a.out
1.000000 2.000000 3.000000 4.000000 4
1.000000 2.000000
1.000000 2.000000
$ flang-new -flang-experimental-exec test.f90 && ./a.out
fatal Fortran runtime error(./test.f90:21): Could not acquire exclusive lock on unit 6, perhaps due to an attempt to perform recursive I/O
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVklzozgU_jVwUZkCATYcODhOXJVLp2ep6mNKFjLWtJBoLT2Z_vX9xBIbkkyWigtj6enpe99bywdV_1cF63h84usg3nZaNZq0qL23zNhBNrwR0oyIAO-QJbphFgXpFh5EAlxgEMO3BNk1qJkT6RiIg_wqifyRf6X-lUVBfu0x4Gi45LflwkKnuLRMw6rmLZOGK-nRwB6oDlbtdKXToIsCvO2ZAef7o5MU1Mkj7u7uy9_b2y9_zb3xahaQZ5d47wV44IT12-SCHEK87QSn3CKpJDuLR9ZPuO5Gxng3RAwW3i_ZI8uzL2B0ifWGCAC3mT9Az185EnpBDV34yR7s_VkFF0J6Qv_r8Ms-j-aanuPcq6kwAP9S_TOj9KFAjReZrF-KyaOa13lGPKs1H7kdMvwXm-rmST4S3w9BevMk9LNbYxKme2B7WD4uhvfH8_hsCt-evZcS956UfSRb5_CdcZYZWARqPsuWW5yh5qi01WRo-uhYxoC1hgfBcNqTSLlxrkzHwCjJ4LXx7ObpTTIUbHboU7rsDDR6_41oyWXjA3I7gaGWm5ZYeoLcoUaoAxEQD0VZ7TRDwQ0OijgoizmBUVoi4sNWJEOg0Z9Efp_hQR4dZMQrbTzbDRrG-j7payK_Wn2bVFbTPT-7H6MRxeNndAQvBelSkC0F0yd7K-r79Hz-uc__a8m_AFzALVxZOPKqG8-gvV3H0z8KIpuVZP-i1bBkDx3TvpUsEbBh9DXfxllCQB_tx17QTlrAQExrBb1Z-CsXDYCnotkpJ2oYIhYR-sNxKDr2QIUz_CdDQtHvCMrfSZgza9-dQAz-BhhUO4asQmCHWMvazvodHEImWmgJ6nQPcAtG7wZ22wMQY7WvQKrASu3ajtXnATu1dciqZL3O8yxLyiKsq7Qu05KEllvBKijZPkRQpOjKNb7Gb-8Wrqb70GlRnaztTD-E9vA03J7cIaKqhY0QP6efFfTaP4xC_-65MY4ZWORFGhfhqcLlYVPQ-FAyslmTBNNNXhTkSPC6KGNK41CQAxPGkwI-Ia9wjHESJzhO4zLfRCTNic92ktJjcSzSIItZS7iIvOFI6SbUVc_h4BoDh4Iba86HxBjeSMYmfOLsSenqK-MPXP7BiQp7xlVP9zfppLxS">