<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59967>59967</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Missing diagnose that a type bound procedure cannot be passed as an actual argument.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
Test case:
```
type dt
contains
procedure, nopass :: foo => real_foo
end type
interface
subroutine real_foo()
end
end interface
type(dt) :: t1
call sub1(t1%foo) !!! ERROR: Is it illegal to pass t1%foo as actual argument
end
```
Based on R1524 (F2018)
```
R1524 actual-arg is expr
or variable
or procedure-name
or proc-component-ref
or alt-return-spec
```
the binding name `t1%foo` is not in the list.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU02L2zAQ_TXyZUiwpdixDz7sbjbQQymE3stImjgqimQkedv990VOvC6Blg1CYax5b-bNB8ZoBkfUs_qZ1YcCp3TxoT-gM2RfXi7kCun1e_-dYgKFkZh4YuWBlcvdlPczmwDpfSTQ6W4q7xIaF5dXgDF4RXoKxPgLOD9ijJA5xROcvQcmDky8QiC0P87eLzhyema-28YlCmdUtPLGSQY_JeNoBfOW8W51Iaf_5nskmfl5qxPj3ZJSqhaEQmtzkIrxNlWM13OALvMyXt0OvJ5O304Z9yWCSWCspQEtJA-zzgUHGAFVmtAChmG6krvX6yPDh7Le7meMpME7OFU13wHj7ZGX1arxAXTzusXZYBjARKDfY1gL8q-fD_CGwaC09Cnnj55uHF4XyP37Rvnr6B25tAl0_hQd2uybpuA2cST1n4qkC4E0Ths3QA4NrCk_mtOUWbHzCYyD7GlNTNsbsNC90J3osKC-avaiFl0pmuLSt7tWC91QVeqdFqKVHVVi3zS1ULumllSYnpdclFXFq7reV82WZKekOLckzo08q47tSrqisVtr365bH4bCxDhRX3ddsy8sSrJx3jbOHf2C-ZFxnpcv9BmzkdMQ2a7M6caVJZlk5zU9WnQDqw_w1cSYlWuDg_ORIF0wAd5WUPrJ6bUzoNDlUkiaR5H0PIPucQy3xRRsf0lpjHkD-JHx42DSZZJb5a-MH3M697_NGPxPUonx4ywiMn6cRf4JAAD__0JIQe4">