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

    <tr>
        <th>Summary</th>
        <td>
            clang-tidy misc-include-cleaner should not mark standard headers
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          H-Wadman
      </td>
    </tr>
</table>

<pre>
    Note: I am currently on using clang-tidy provided with the llvm 20.1.2 package from homebrew.

I am currently using clang-tidy with the misc-include-cleaner to, well, keep my includes clean. However I keep getting warnings on standard headers, that in my opinion should not be marked. See for example this case:

<img width="1058" alt="Image" src="https://github.com/user-attachments/assets/0887b7f0-eec7-4a6a-9d8e-60d226092f39" />

This file is including string.h, which is standardised to have NULL defined (see [cppreference](https://en.cppreference.com/w/c/header/string)), but on my current platform (MacOS Sonoma 14.0), the standard library headers define NULL via transitive includes. In fact when I checked the cstring header provided via my llvm 20.1.2 libc++ it also does not define NULL directly. It would be nice (if considered feasible) to take C/C++ standards into account when considering missing includes in order to minimise changes with the sole purpose of satisfying the linter, without improvement to code quality. 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8VEuv4zYP_TXKhrDhyHEeCy_m5n7BBJhvurgtuqYl2mavHq4kJ82_L-TkPqZTFAigQKYOeUiegzHy4Iha0TyJ5nmFcxp9aL8Wv6O26Fad17f2u08k6i9wBrSg5hDIJXMD72CO7AZQBt1QJNY3mIK_sCYNV04jpJHAmIsFWZXrUsKE6hUHgj54C6O31AW6lqL6Iqov_wD_Cfkd0HJUBTtlZk2FMoSOAiQv5BGuZEw-X4kmsDd4REVYwkr46q90oQDne8RAKeUsVwyO3RAzo5jQaQwaRkJNIWa4NGICdhnRT-w4h41-NhqcT9ARWAyvpEt4IYLeB6C_0E6GII0cQWHM3buzFPWR7QBX1mkU9bOQcl01eyEloEn3i7PFgfJNDOp-M6Y0xQwhT0KeBk7j3JXKWyFPc6RQYEqoRksuRSFPGCMtf6r9ftft-qogUrtig1ssDnpPxbbSUm6rg-zrQ86TYev_3ev7NVfcsyHg-Ghf7lBMgd1QjkuTR1Zj_vzWKo6kIXkY8ULw_bdv30BTz440CLmPRCCaJzVNgXoK5BSJ5lnI_Y-kyJWfQx7srkKelJCn-yyEPN3rEPKw_I7QzSkPzd7eNgcmg6n3webc_0f1ywu8eOctwnpTVo9XeYve52y4Cxhub_N-1H7ncWGEFNBFTnyh93Uq4eygR5XgOpKDM6iR1Gtuwkig7jU-8D4EkbHs7Qc5GO6UkE9CPgEnQBM9aE9x2arPZWgOpJK5lXBOcF0WryNwrCiz5B6Ud5E1BdLQE0buDAl5yDNJ-EpwFPJ0fCR6452nmzygUn52DyJvMLl8y3FR4LuE2IEPepEaWHZsORKoEd1A8UOc0RuCaQ6TjwS-h4iJY3_LSIsZsEt5kMflhZ8TsM0dory8GVl5TfDnjIbTrYSVbmt9qA-4ona929SH7XZ7qFZjq7Zy0ynqd_ttv250I_ebpqb1Dhva61qrFbeykk21qbbrw3pdV-W-1nW1q_teVU2H_UZsKrLIpswDKX0YVhzjTO263jTNbmWwIxMXV5Tyw4WElNklQ5tfFd08RLGpDMcUP3ASJ0PtJ-f6V8P6ZCDZPX7yndUcTPsfws_pHkcxBf8HqSTkaeGQtf-gcWnl3wEAAP__vH37LQ">