<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83273>83273</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Missing diagnose when procedure pointer is subroutine but the pointer assignment target is a function
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
Consider the following code:
```
IMPLICIT NONE ! p is not implicitly typeable
REAL, EXTERNAL :: func
PROCEDURE(), POINTER :: p1
p1 => func ! illegal
END PROGRAM
```
`p1` is not explicitly or implicitly typed, so it should represent a subroutine.
Flang currently compiles the above code successfully.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxskl9vozgUxT-NeblqBAYCeeCBBbKK1KZV1JX21dgX8Mqxkf-0m28_MpM2o9FISAj53sM5Px_mnJw1YkPKv0jZJyz4xdimZ1qi6roFdTIacWs6o50UaMEvCJNRynxKPQM3AknekrQnaUv26f3ZPgEATi9vz6fu9A7n1_MAhGawgnSgjQd5XZXk0qsb-NuKbFT42LsM7TOhHQz_vg-Xc_sM8Sd5C1PQ_DH1dnnthv6fy0BoTeghLry9ns7vw-Vrfs3u1r531gxI3pN82LRg8ySVwpmpx9Bw7qP435f25Y_RyD5dM7JPv7Lg_99ZjP09mYi-nAHpwS0mKAEWV4sOtQcGLozWBC817n61elQs4g3Woo5C3FxXqdBt_NloPnBjDy5wjs5NQanbXSARTS4O-YEl2GRVesjyvKB5sjSiLvjI6R4nFPXIxkywsuJTWWRpnlXFPpENTWmRUlpnZbYv611ZTpWoapwYP1TIS1KkeGVS7ZT6uO6MnRPpXMCmzmmVJ4qNqNzWJErHMBNKCe0IpVMMQ_J2skZ71CIelH1imyjzNIbZkSJV0nn3EPbSq62VGwlS9vAinYudE5LN2jiEzwU1rNZwFMEirEZqjzbeyQMqjMFvzL5Ofxb-GuF7Zmf0cZ5tZfDS6CRY1Szery42iB4JPc7SL2HccXMl9Bj93V9PqzX_IfeEHjcKjtDjBuJHAAAA___regkY">