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

    <tr>
        <th>Summary</th>
        <td>
            clang-format not idempotent (cycles between two variants)
        </td>
    </tr>

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

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

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

<pre>
    Source `cf-test.cpp`:
```
#define SYMBOL(Name, NS, Header) \
  { \
    #NS #Name, static_cast<decltype(Symbol::NSLen)>(StringRef(#NS).size()),    \
 #Header                                                                \
 } \
  ,
```

```
$ clang-format cf-test.cpp
#define SYMBOL(Name, NS, Header)                                               \
 {#NS #Name, static_cast<decltype(Symbol::NSLen)>(StringRef(#NS).size()), \
   #Header},
```

```
$ clang-format cf-test.cpp | clang-format
#define SYMBOL(Name, NS, Header) \
  { \
    #NS #Name, static_cast<decltype(Symbol::NSLen)>(StringRef(#NS).size()),    \
 #Header                                                                \
 } \
  ,
```

```
$ clang-format cf-test.cpp | clang-format | clang-format
#define SYMBOL(Name, NS, Header) \
  {#NS #Name, static_cast<decltype(Symbol::NSLen)>(StringRef(#NS).size()),     \
 #Header},
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsVM2OmzAQfprhYiUyYwj4wGFDGvWwTaVy6qkyZiBuzY-w2VX26SvIapuoubRd5VRkGY-smfH3o1HOmaYjyiDeQrwL1OSP_Zj9GNT4cnIvQdlXp6zop1ETgw3X9cqT82s9DLDhIB6A74A_zOfzOocoKqpNR6z4-mn7-REwPaiWAHN2KOb9I6mKRkDJIM7POYxBsr0MGQMUh2LZX5OdV97ob1o5DyKvSFt_GggwLU5t2dv5OeLhUDxSByhBfJhv_Gi65gvVgOlSD1CunXmhJZbLypdmb50Bxfl97B-_i5LJ7gop5rd5u01mxLRVXbOq-7FVnl1q8Kd0_z2A7f3UuDTBmxiQ7N6NNgZJfnX537Z3te1v_L-3IHeV4JYGN90aVJmopJAqoCxMOEchZBoHxyzc1LxMolTUqVaRRK2isuQ6TjeJkKnEwGTIUYRhmIRxKHi8JqGrKFVlLFKpRIUQcWqVsWtrn9p1PzaBcW6iLMHNBgOrSrJuGfGIVzQjzkN_zOa0VTk1DiJujfPuVyFvvKXsSq2u98xU1A69p84zwFSftCXHSvLPRB3zzz17UqNRnXeAMphGmx29H9xMNO4B943xx6lc674F3M-9Xn-rYey_k_aA-wWBA9wvIH4GAAD__8vZxc8">