<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">