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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] Ignore preprocessor directives during header groups analysis
        </td>
    </tr>

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

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

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

<pre>
    Sometimes compiler warnings must be disabled in third-party code, but related preprocessor directives are considered by Clang-Format as header group boundary what makes Clang-Format unable to find main header (included after third-party headers).

Code snippet:

```
#include <Python.h>
#ifdef __GNUC__
#   pragma GCC diagnostic push
#   pragma GCC diagnostic ignored "-Wpedantic"
#   pragma GCC diagnostic ignored "-Wshadow"
#   pragma GCC diagnostic ignored "-Wsuggest-override"
#endif
#define BOOST_NO_AUTO_PTR
#include <boost/python/import.hpp>
#include <boost/python/object.hpp>
#ifdef __GNUC__
#   pragma GCC diagnostic pop
#endif
# include "application_header1.h"
...
# include "application_headerN.h"
```

I tried 19.1.1 and `main` (49d48c32e04742ebd05cbbd7dd544b1217b6d9d0)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVE2P2zYQ_TXUZWBBGku2ddDB8cZBLrtBs0GBXgxSM5LYUCRBUrvwvy9kOw3cRdssIEAC9d58PL4ZGaMeLHMr6g-ifsjknEYX2o_zwJb_YMP2u8uUo3P71U2c9MQROjd5bTjAqwxW2yHCNMcEioF0lMowgbaQRh1o5WVIZ-gcscADqDlBYCMTE_jAPriOY3QBSAfukn7hCDIwdM5GTRyYQJ3hYKQdVkcXJplARhhZEgcYgps9KDdbkuEMr6NMMMnvHO8Js11KguSg15Zgktr-iCBwp21nZmIC2ScOd0VfQVFgk4tiL4r9wRFDtNp7TmK9vx6KTXF7ir3A9S0eiPXhyzmNzuajWH-8_euJezidPj1-O5xO1zMA8EEOk4RPhwOQloN1MekO_BzH_4HowbpFIoG4-t0zSZt0JxDfQ4ujJPf6XtI8DBzTyr1wCHq52hudLen--knca8vw4enp6_Pp8em0__b8dPry_NsbmZRzMQk8-otcAo968i6kfPT-p3L_AXfqT-7-AX-X0M6_KR7-TogovTe6k0k7e7paoszHa8d5nv8K_vEH_s4rxf4zpKCZoGzyMi9BWgKxKRaDik2xmLNqqNp1a-Si2lbIioq6U4q2RHVVqRLLrdpQQ4XAJqN2Tc26kRm35bbabaq63NbZ2CL2Fe9QVQ0q2TCzLDfbvlaqlhtVsMp0iwXWRb0uEKtNWedy1zd9WfVUdkSMjagKnqQ2uTEvU-7CkOkYZ27LChGbzEjFJl72B2J3mbz-MnlLz_VDFtqFt1LzEEVVGB1T_Bkp6WQuu-eOWD_A54vf_nVJ0By0He42QQRppTlHHbM5mHZMycdlSvEo8DjoNM4q79wk8Lhkv71WPrjFPovtlqaiwOOtr5cW_woAAP__vvSn_Q">