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

    <tr>
        <th>Summary</th>
        <td>
            clang-format should not remove braces in macro definitions
        </td>
    </tr>

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

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

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

<pre>
    Versions: 14 and main

```
$ cat test.cpp
int i;

#define FOO(X, Y)                                \
  do {                                           \
    if (X) {                                     \
      Y;                                         \
    }                                            \
  } while (0)

#include <iostream>

int main() {
  FOO(i > 0, --i; std::cout << i << '\n');
}
$ clang++ -o test test.cpp
$ ./test
$ clang-format -style="{ColumnLimit: 50, RemoveBracesLLVM: true}" test.cpp>bug.cpp
$ diff test.cpp bug.cpp
5c5
<     if (X) {                                     \
---
>     if (X)                                       \
7d6
<     }                                            \
build_ninja$ ./bug
0
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylVEtv4yAQ_jX4MnLkgB_xwYfm0VNXlfZQ7Z5WGEhChSEyuFX__Q520o2jldruWiPzGGbmg--D1sm35kn1XjvrCbuDZQ7cSui4tiTbkuzu_C-zs01DmoPgAYLyYSFOp2lW2wCasPUskDKp9toquH98JHT1g9AN_CS0hg8-UmymDADSAanWHwX8PRZA72GqW386yyweEC77fPVZLKm2X4B9HRsjX4_aqAg-Q_A3h6qtMINEL9to50OveEfY7npRZGOkka7Oe7_knpjQGLuDLPKRppE28EGiBNCEG0LMjAb60iG0Qnw2NojmneVqeyUJw-2B0DUapG5Ux41E4qoFofdx9iYu3bu-Q02lPrwZRdiWUIqgN84MnX3QnQ5Rn8UI-Lvq3Ita91wo__Dw9C16Qj-oiIbSPzXZrh0O8-pS7_fvC2DmLkRxXofb_V_ppGl6Sba7TfZFNVSynOP6V1m1gzbyl9X2mV-IwAOYfNnNRU9kw2TNap4EHYxqZhz5oxuMBOsC9CMV0I5cgLaoOdE7GC-9DvFZSYbeNMcQTvGBwZJoBx2OQ7sQrsOBMS-XJj317lmJgEPt_aA8doqyKOrk2FSCVUuRt6u8lpTTalnLvcpLnrcsl0VdJ4a3yviGFKg_eg03CqnYJrqhGaVZtSyzZYHdhaCsFKuKr2jFMFlJ8kzhjTGLCGXh-kPSNyMqPCSPTqN98H-c3Ht9sEqdK7pXZQU_1-JDOLq-meaScS_NuJHfV1lecg">