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

    <tr>
        <th>Summary</th>
        <td>
            [flang] incorrect diagnosis in separate module procedure
        </td>
    </tr>

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

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

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

<pre>
    
```fortran
module m
  interface
    module function func1()
    procedure(), pointer :: func1
    end function
  end interface
end module

submodule(m) msub1
contains
  module procedure func1
 procedure(), pointer :: func1
  end 
end submodule
```
Compile time error:
```
error: Semantic errors in d2.f90
./d2.f90:12:27: error: EXTERNAL attribute was already specified on 'func1'
 procedure(), pointer :: func1
 ^^^^^
./d2.f90:12:27: error: POINTER attribute was already specified on 'func1'
    procedure(), pointer :: func1
 ^^^^^
```
gfortran, ifx and xlf do not emit any errors.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyclE1vnDAQhn-NuYyCzABlOXCgya5UqUqrNIdeDR5YN8ZGtsnHv6_42F0lzaGJZO3i8bwvj8cehPeqN0QVy7-y_CYSUzhaVz08PGkVNVa-VIzfMF6zL3wdnXXBCbNGBysnTTCsMwBlArlOtHQKAGwp3WTaoKxZHhKGO4blJWl0tiU5OdoW8BpGu5gBS2uW1pvsLCAjz5an6Bx7AzCHVoBtF8uvn5otiLuBYQmDn5rNvLUmCGX8yXTDPwO-Avkg9kxz4bpQvC7wOr22w6g0QVADATln3ez4XuZpEX7RIExQ7ZruQRmQGHfllhczPGzztE6QpTUWs-ys3_--39_d1t9BhOBUMwWCJ-FBaEdCvoAfqVWdIgnWAMNiO8jiU7Vg-f7V-D_Cnz--3d7v7z4H-OFr9i7jm-L3p3bAa1DdMwgj4Vl3IC0YG4AGFUCYl-1I4khWqSzTUkRUJQUWRcpT5NGx4qJLRC7KIi1Fl3cd30mZ8UwWWZmWaZFEqkKOGS9TjgnPkzLOqE0oK0mWxW7XcskyToNQOtb6cYit6yPl_URVkvC8SCItGtJ-6XLETgvTs7TunDWBjGSIc--7atZeNVPvWca18sFf3IIKevlKrOL8BpRprXPUBpBK9MZ6tdw5T6NwItA_rRNNTlfHEEY_FxsPDA-9CsepiVs7MDzMr9r-rkZn_1AbGB6WXXiGh20jjxX-DQAA___CJmjj">