<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/83157>83157</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Extension: allow procedure declaration statement to specify return type when a type declaration statement also declares the type for the same entity.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:frontend
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          DanielCChen
      </td>
    </tr>
</table>

<pre>
    ```
real :: proc
procedure(real) :: proc
end
```

Flang currently issues an error 
```
 error: The type of 'proc' has already been declared
  procedure(real) :: proc
 ^^^^
./t1.f:2:20: Declaration of 'proc'
  procedure(real) :: proc
 ^^^^
```

Both XLF and ifort accept this. This can be a extension candidate.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykkk1vnDwQxz-NuYyCjFkWOHDYZMPpOebwXAd7WFx57ZU9NN1vXxk2itrmUKmSgcH2vP5_mJK9eKJBNM-iORe48hLicEZvyb28LOSLKZj7II7yseRZyFMkdCDqk6hPcItB77vZIrNGEqrLN4Tq_7xE3uzGbyH39-jQX0CvMZJndweb0koJ0APFGCJ86bqf5TRvCwHfbwRhBqHaLatqYcEE6CKhucNE5MGQdhjpUQnAX1UOonn9XNtWKdTIVTmL-qTyI7PHeQuObIP_tY5_zfblxJ4DL_D_fyOgN2DnEBlQa7ox8GJTCW-LTaDRw0SAQD-YfMqVafTGGmQqCzPUpq97LGioWtnL5tDUx2IZZtl1R6yqvu-MPBxkW8lK1qbtmkkfsZaFHZRUB6lUW7VKVceyNrKqGmWqqaMedS8Okq5oXenc92sZ4qXYBB26umrawuFELm3oKTVn5UV9mmPwnCFRKgMZh-z6NK2XJA7S2cTpMxhbdhu6GzaiOcPrR395mOhceP-c9kP1XZjEyHQlz8AB0o20ne8Qidfod4LeF_KAu_21I7oUPkhKwB_ozSFuPwmvBOTZ8r0s1uiGhfmWss5qFGq8WF7WqdThKtSYO3p8nm4xfCPNQo07_EKN27h-BgAA___DPB_3">