<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82006>82006</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Incorrect diagnose when declare a procedure with explicit typing in multiple statement
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend,
flang,
flang:semantics
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
Consider the following code.
```
integer :: proc
procedure() :: proc
end
```
Flang currently issues an error as
```
2:16: error: The interface for procedure 'proc' has already been declared
procedure() :: proc
^^^^
./t.f:2:16: Declaration of 'proc'
procedure() :: proc
^^^^
```
It seems incorrect. This code should be equivalent to `procedure(integer) :: proc`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysk89y2yAQxp8GXXaiQcj6d9DBtauZ3PMCSKwEHQQurJL67TsoTuKmmemlNiPB7Irvx_KtjNEsDrFn1TdWnTO5kfahP0tn0J5OGl02enXtT95FozAAaYTZW-tfjFtg8gpzxs-MH1nNb2NfGke4YABWHll5hEvw02sgzVBtAZlomej-TkCnvtzx9TlYmXS3ENCRvYKJccMI0gGG4API-OXHgpXHok5Ce1qaPGmERBlmOaUzBXhHAyaaHUg0oGUEaQNKdYUR0YHCycqAN0j453ng849V3z_GnpIzMVA-s_KO87zLSDLegZ_viN52_R_CX5b4kSAirhGMm3wIOFEOT9rE_bYhar9ZBSMC_tzMs7ToCMgDq_k90e3-P4PVPIdM9aXqyk5m2BcNbwvOi7bLdM95g4i8waot56YtDp3q5rppyhYrIQ9jZnrBxYGLok5_wXPOJyXb8VDIWapm7tiB4yqNza19XnMflmz3R98KzuvMyhFt3K0uxJyMxMrjHLyj5DkhmDi9B_5clceIq3Rkppgi1TkLfZJ4GLclsgO3JlL8ECVDdm-p3a2sOsPjWylBGbk4HxFe9IeZQN6Z78WQBvx1sWYyBHS9pE4zDtbNkrlYhEiScEVH2RZsr4kuMdVYDEwMiyG9jfnkVyaGBHR7PVyC_4ETMTG8tgwTw16V3wEAAP__GHkzvg">