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

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Missing diagnostic on abstract interface name being the same as the keyword of an intrinsic type
        </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>
    Consider the following code.
```
abstract interface
 function integer()  ! Error: intrinsic name is illegal here
 end function
end interface
end
```

The standard has:
```
C1503 (R1503) If the interface-stmt is ABSTRACT INTERFACE, then the function-name in the function-stmt
or the subroutine-name in the subroutine-stmt shall not be the same as a keyword that specifies an
intrinsic type.
```

The above code should be diagnosed.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkUs1upDwQfBpzac3IND8TDhwICVIO33fIzgsYuwHveuyRbRLl7Vdm2PxKSJim3F1VXSIEPVuillX3rHrIxBoX59sHYTWZvl_IZqNTb23vbNCKPMSFYHLGuFdtZ5BO0ZHxjtV8f3gnxhC9kBG0jeQnIYnxDqbVyqid3aozeYZ3DBsAhjk8eu88K7r0z2sbtAQrLgQ6gDaGZmFgIb-1IaveWzHepc_PY8iqb2wY784LQYjCKuEVLCKwovsG6vOKF8Dw7jkdEq-naVP63vsQ4iUmQt39r_Nz15_h6f_z4_PQ9Y8M-4S1N2t2boebgG_F1ITxzt1sDOvo3Rq1pS_oT-VtaFiEMWBdhJFugAQWAQT8obdX5xXERUQIV5J60hRAJGs-vIxv1x9L2m0Ro3uhbYsQFrcalWYoLWbrAqljptpCNUUjMmrzU8krXtRlni0tyUJIfqo4yrI61VUt6rFpsEZZlQoVz3SLHCuOWOWnvOT8OOYn1WCteDlVE5YNKzldhDZHY14uR-fnTIewUpvj3aksMyNGMmFLJeJkhJ1Z0U3e2ZhWjJiy6tt09zCuc2AlNzrE8NEt6mi2VA_b5eoB_tMhpMzu8qKW4Cz8TOsteyMl7Ge70_mf4W4CYeGrxdnqTbvEeN0ChgPDYdZxWcejdBeGQ6K2vw5X736TjAyHTXVgOOzCX1r8GwAA___pfypr">