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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] readability-use-concise-preprocessor-directives, take consistency into account
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

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

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

<pre>
    Consider this example:

```cpp
#if defined(FOO)
int x;
elif defined(BAR)
int y;
else
int z;
```

Here we use `if defined` because we don't have `elifdef` until C++23, so we want to keep consistency. However the check warns about it.

Not sure how difficult it would be to implement or if it's worth at all, but would be nice if the check was smart enough to understand this use case (possibly under an option). Otherwise if we think it's too niche of a use case I can just close this and NOLINT it :) 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxUU9GO4ygQ_Br80kpE8DiOH_wwmVW0K51mpNP9AIZ2zIaARTfxZr_-hDN7k5OQLEN1VXXRaCJ3Doi9aI6i-VbpzFNMvdHJRzprf8PfczVEe-_fYiBnMQFPjgB_6evsUdSvQq5rLx_LzHP5VbUbweLoAlqhDqePD6E6IV9dYPgl6qOQr-j_Bzm-_v0Fuf-BEH7u_H7s_KfzkP2OCWFByIQg9vKJcC9hQKPLwYJgYxCqZZj0bQUWbYtjQeXAzsObUEehjqoW6g0olppFBwaOcEGcwZTuiTGY-xa-xwVvaxIIZkJzgUWnQKCHmBkcbx_m3iMD5YQwxQWsG0dnsi_nsMTsLQxY6F3J8YqBISZwIzgWqiVYYuIJNIP2vnga8lNZcAYL9tkAAV11YsAQ83kqzDlYTMQ62MedlSyMLkmpwxyJ3ODvDxDoAHFmV1LqtvDBE6bF0aqxYKkOlz_GOMaiPyHEEfQX6Q8wOsDPTAzGR8KHZhF___jrx_s_pe8yLqqDyva17epOV9jv2mZfK7V7aaup1-NByaaTuukOdYe6baxq693BqFHKAfeV65VUjTyodtftmpd2W7fdQe7q0aJtsTNGvEi8aue33t-u25jOlSPK2O-aZn-QldcDelqHXSnjdThv2Nm7UKoMf-pL1WbIZxIv0jti-uJhx359Jk9lzTdIqK0enHd832TCjYnBOMLNnHBO0SBRTBvrEhp2N6Rylawv-DxQ4AJH0MbEHLjKyfcT80xrWCehTmfHUx62Jl6FOhU_n5_NnOJPNCzUaW2ShDp99nnr1b8BAAD__88qQns">