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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Compilation error of generic interface with specific procedure of the same name
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          ohno-fj
      </td>
    </tr>
</table>

<pre>
    ```
Version of flang-new : 16.0.0(77f2f34d696b77fe5bf05afbe7386966b6bcc8ba)
```

Generic interface 'add' with specific procedure of the same name results in a compilation-time error.

The following are the test program, flang-new, gfortran and ifort compilation result.

snggj112_.f90:
```fortran
module add_char
  interface add
     module procedure add
  end interface add
contains
 function add (x)
    character, intent (in):: x
    integer:: add
 add = ichar (x) + ichar (x)
  end function add
end module add_char

module add_int
  interface add
     module procedure add
  end interface add
contains
  function add (x)
    integer, intent (in):: x
    integer:: add
    add = x + x
  end function add
end module add_int

program main
  use add_char
  use add_int
  implicit none
  integer::ii_int
  character, parameter:: a = 'A'
  integer, parameter:: one = 1
  write(1,*) add (a)
 write(1,*) add (one)
  rewind 1
  read(1,*) ii_int; if (ii_int/=130) print *,'error-1'
  read(1,*) ii_int; if (ii_int/=2) print *,'error-2'
end program main
```

```
$ flang-new -flang-experimental-exec snggj112_.f90
error: Semantic errors in snggj112_.f90
./snggj112_.f90:27:7: error: Cannot use-associate generic interface 'add' with specific procedure of the same name when another such generic is in scope
    use add_int
 ^^^^^^^
./snggj112_.f90:2:13: Previous USE of 'addition'
    interface add
              ^^^
$
```

```
$ gfortran snggj112_.f90
$
```

```
$ ifort snggj112_.f90
$
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vl2PqzYT_jXOzSgR2Hzlgovs7sl7-0qn7e2RMQN4BTayzUn67ysDCeRj20ZtV8CGYfzMM88MY7i1slaIOYnfSPyx4YNrtMl1o_S2-twUuvw9J0kwH8EHCQ6_obFSK9AVVC1X9VbhCQg7QJjsgl1AaJamFa1YVCb7pEjTCuOiCmJeFZiyLNknSZEUQmQFJ3Q_Qd5FmK7_Q4VGCpDKoam4QCA05WVJaAon6RqwPQpZSQG90QLLwaDn5BoEyzsE5S8G7dA6C1IBB6G7XrbcSa22TnYIaIw2u3XQXxqESretPklVAzc44jm0zkepDe8IfV_y9jd1pY0zXAFXJUh_sw40M7gJYlVdf4Yh_bGr9gFhhzsRZrzJ2ulyaBF4Wf4QDTeTEVaieEVmIwDM7osiq8fo-T2uE1o5LpWd3apBiZE4L0sgNDtfq-TxPQcuHBqfuQdTzjtJ5b3YwbfBefH2DjWa-cFCZYRmHyA93CUIEPp2a1kTX9Oa7N76VJ0H4aRy_71ufyHcRYp_IhvAVbnzqNb5JYWuMkzXuZ-h41JdcAb72GoX21rFrm-lkA6UVriW9spayrX_Tdf03PAO3ZLfmBCh6YHQ9B7sib9WOK4IL74nIx0SmoWEvhN68K00l2CZMH_i5FNYKmXwJFW5gBvk5e2yOTX2BrIaizjd0yNhHyELvEtv5Fjgw7gqHcfMNlyl9xoq_RKTXjF9rR8r-nSw3htptBrk2-knnns0skPleLvFMwq4HVpTTM_Bl-Q7dlw5KaaBOk7bJ-47Qo_3o4-mhB38CVewd66Udr7tttxaLSR3CPW_sRmcGvRTWrsGDdhBNAvsxFnoHpd37bHxSfztyfF1coQdQuZz-r_Bn1IPFn79_s3zmshL_7quuuLr8XT9u4tKaPRaoa-b1ZP6vAw2bXYvIG3KnJV7tucbzMMkjaI4TYJs0-RZLMK0ECUtMEpiHoUlp3HJWMSCNC4YbmROA8qCkLIgDZIo2yHDNCrjLN3vC3-SKMCOy3bXtj-7nTb1Rlo7YJ4ElGablhfY2vEjh1Lf5uNDQqn_5jG5X7MthtqSKGildXZBcdK149fR-F6Q-APeV5v72LS-oI_9-Xe7cjOYNm-c662fb_RI6LGWrhmKndAdoUfPZP637Y3-ROGnwsjfEnoc8_sjAAD__yDI37E">