<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83836>83836</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] renamed specific shadowed by generic cause error when reading module files
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
flang:semantics
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jeanPerier
</td>
</tr>
</table>
<pre>
Reproducer:
modules.f90 :
```
module mod0
interface proc
module procedure proc
end interface
contains
subroutine proc(n)
print *, n
end subroutine
end module
module mod1
use mod0,renamed_proc=>proc
procedure(renamed_proc),pointer :: p
end module
```
main.f90 :
```
use mod1
p => renamed_proc
call p(343)
end program
```
```
flang-new -c modules.f90
flang-new -c main.f90
```
Bogus error:
```
error: Semantic errors in main.f90
./main.f90:2:3: error: 'proc' is not a procedure
p => renamed_proc
^^^^^^^^^^^^^^^^^
./main.f90:2:3: error: In assignment to object pointer 'p', the target 'proc' is a procedure designator
p => renamed_proc
^^^^^^^^^^^^^^^^^
./mod1.mod:5:26: Declaration of 'p'
procedure(proc),pointer::p
^
./main.f90:3:3: error: 'proc' is not a procedure
call p(343)
^^^^^^^^^^^
./mod1.mod:5:11: error: 'proc' must be an abstract interface or a procedure with an explicit interface
procedure(proc),pointer::p
```
This test is derived from discussions in https://github.com/llvm/llvm-project/pull/81544 and was not fixed by https://github.com/llvm/llvm-project/pull/82837.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VU-Po7gT_TTmUurI2BDgwCHTmUi_20-7e18ZuwCPwEa2mcx8-5WB_OlsujU9h42QI5Wryu-9qrKF97oziDXJv5D8mIg59NbV31CY_6PT6JLGqp_1Hzg5q2aJjvADoUdCt3W0ah7Q79qKwm1rT7fvzgdGqzYDAIA2AV0rJMLkrLzZATb3aEY1u0cHNOoWvJqlNUFo4y9Ofm6cnYM2WywrDWHVLcXktAlA2IGwVzAXe0x8i1yt0bbieaSSXsJmv1Fjrw6NGFH9vRzKj4R_vYd-JURY-caTVYS9TnYhtYjIDzA9P_9B2Q2U0OahAM-cr1Cv0CdYUcIbONumFMMAE2Elz_hVvYhncrZzYvwA0IOxHYTpXgye4UXCXcM8292ofJD8i-1mD-icde813GUT_sRRmKDl6u5Bm4cTdoSdrhZ-YIQfeAy8ZiCsWGtUgPZgbABxV8hbR32gJMm_fvr7NXD_M7DO74gmQLBgm28oA1x7iRUTYUXs8tAjBOE6DA-U7uiAwphMBOv-C2ZWpbvRKsIPeWS3j4yOKAfhRNDWgG2vBNbj7gfoX4Ozzs10f5E8_b2nLv_d0j-dk1-Q5j0h0vQ9FOPsAzQIwoBofHBChrtr1Lo3tTzr0EdP_DENWurweGd-Qs3nM76sf_XaQ0AfokQKnf6OClpnR1Day9l7bc0ydn0Ik49Z2YmwU6dDPzc7aUfCTsPw_fL3MjkbO5iw0zQPA2GnMs2zDIRRcBZrEVr9AxU0P38_JSt5sUtUzVXFK5FgnRa0yvM9K2nS1ylNW6pYqUrFmkZkVVYobKum2It9SUuZ6JpRllFOs5RlWUZ3xZ7TluWCMipyqiqSURyFHnbx_J11XaK9n7Euecn3ySAaHPzy3jLWzB1hjLBXwthyERJ-8Nul5eNOfkxcvfBo5s6TjA7aB3_LHHQYlsd7jc6PlzkFP6HUrZbge6HsedWsQ4NOS5AivgVLk8G5RwMOhdKmuzy-rR7QJ7Mb6k-rvHD1UedI958AAAD__8ejcWw">