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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Incorrect diagnostic on NULL intrinsic
        </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:
```
module m
    type base
        real(4) data
 end type

    interface operator (==)
        logical(4) function equal (b1, b2)
        import
            class (base), pointer, intent(in) :: b1, b2
        end function
    end interface
end module

program fclass022
use m
    class(base), pointer :: b1, b2

    nullify (b1, b2)

    if (b1 == null(b1)) ERROR STOP 3
end
```

Flang complains:
```
error: Semantic errors in t.f
./t.f:20:9: error: A NULL() pointer is not allowed as an operand here
      if (b1 == null(b1)) ERROR STOP 3
          ^^^^^^^^^^^^^^
./t.f:20:15: error: NULL() may not be used as an expression in this context
      if (b1 == null(b1)) ERROR STOP 3
 ^^^^^^^^

```

All gfortran, ifort and XLF accepts the code.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVFGPnDYQ_jXmZZSVGWC7PPBA77JSpVNTXVqprwYPrCtjU9ukuX9fjdnsXnpR1QZZwgwz4-_7_NkqRjM7ok40P4rmsVBbuvjQPSpnyD48XMgVg9cv3YN30WgKkC4Ek7fW_2XcDKPXJKpeyF4c5XXIfvF6swSLkD0AQHpZCQYV6frNTyBlBZ5qgS1olRT_IqdzLnfbM41LFCY1EviVgko-gMCTqB55YPuqn_WzGe8tp82NyXgH9OemLBcNpcAHGPDrMrOsPqRXAX5Gq2LMNYwZWy5cfcbCU564JPBkHC_F9Ksebv3vvZjPFyDXMIdupITs-XtXaye9Bj8HtcCUMUjkdlu8S5nD30T2DRzXGrdZa6aXtyJ8EXnaf8Gua86_5rZM8P3z84dn-Pjrh1-g2iH_Y7uF7M9WZTcsq1XGxbeWoBB8YHwfaVEumRFyJIJxkA6TkP1B4JlnVY9SVH3LybeqHn7-7emJ9x7bG2MTwfkEis1IGlQE5XajOA0XCne__U-KdyuI5v1_HW8YlM1XFF4RWNRLRj4QbPGGnD6vgWJk17IoFxNh9C7R5_TdPP4F7Ns97K2FefIhBeWyz3kOrOXvT2dQ40hrivn886k_FLqrdFu1qqCu_OEoq1PdYFlcuqrEI6FuR6yIjrKVssJBaRwmXcu6rQrTocSmlGVVtjXK8nCsp1q3UtcnOmFdn0QtaVHGHqz9tBx8mAsT40ZdeaywaQqrBrIx31iIEztPVP0UWCunBSLfY6Hj2nfDNkdRS2tiivduySSbb7y9uHmEn9zoQ6AxgTZqdj6yQ73Lm8YHNhgXzVhswXaXlNZscDwLPM8mXbbhMPpF4JkXuL7ercH_QWMSeM7Yo8DzFf6nDv8OAAD__645kBY">