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

    <tr>
        <th>Summary</th>
        <td>
            A feature to make clang not touch macros
        </td>
    </tr>

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

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

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

<pre>
    Hey, I'm using Clang format to format my competitive programming codes, I have a large coding template, and when I format using Clang it opens up everything and creates a 100-line mess while when it's compressed it's 31, mostly the thing that happens is this:
```C++
#define sik(x) {cout << x << nl; return;}
```
which turns to this:
```C++
#define sik(x) \
  {                  \
    cout << x << nl; \
    return; \
  }
  ```
  please add a flag to tell clang not touch macros
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyck8FynDwMx5_GXDTZAZkN7IFDlp39vpzaV9CCwG5szNhmk337jqGbJu20h3o8g5Dkv37CiELQ48TciP1R7E8ZLVE53xz_-_K1zS6uvzX_801gC88CKwtL0NMIraFphMF5SxGiu1v2Bp2zM0cd9ZVh9m70ZG060bmewyoDiq4MBIb8yMmfwpHtbChyyqCph1fFEzzfdT8W1RHczFOAZQa-sr9FlYLpUOeZIgcgKPL8weiJwXII8Kq04U1SR4FVWCk9h8D93SOLVNq6EM0NomLYZKOiCIrmtaIOyRuEfBL5SeRP4jHfdivwmPbmRdnzkIoH_SKwfhN4AFEdO7dEELIVsoW3uzEZIY_gOS5-EvIoqtMv0tvrq9KdgpQU0uf-Z4p9u0UhAcFv60Mc4C-8n_Le4T_Ln97Nz60AzIYpMFDfA8FgaFxbYmOgW294cumfWjoFljrvQtY3sj_IA2XcFFWRVoVFppqiknJALpG5rGWeX_L9AauyPtR93RU0ZLrBHMtcIhZY1mWx66mriPaMdXUZ9kMtypwtabMz5mp3zo-ZDmHhpn7EqsoMXdiEdTAQVzaBmGbENyn_4bKMQZS50SGGnwpRR8PNEwxMcfGcmrP0wn9qbvGmUTHO64XiWeB51FEtl13nrMBzkv3xeJi9-8ZdFHheKYPA8wr6PQAA__9ISiLz">