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

    <tr>
        <th>Summary</th>
        <td>
            clang-format assertion failure with RemoveBracesLLVM and MacroBlockBegin
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Versions: 15 and main (Debug build)
```
$ cat .clang-format
MacroBlockBegin: "^[A-Z_]+_BEGIN$"
MacroBlockEnd: "^[A-Z_]+_END$"
RemoveBracesLLVM: true
$ cat test.cpp
for (;;)
FOO_BEGIN
  a();
FOO_END
$ clang-format test.cpp
Assertion failed: ((FormatTok->isOneOf(tok::l_brace, TT_MacroBlockBegin) || (Style.isVerilog() && (Keywords.isVerilogBegin(*FormatTok) || VerilogHierarchy))) && "'{' or macro block token expected"), function parseBlock, file UnwrappedLineParser.cpp, line 873.
...
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U02PozgQ_TXFxQqCAgIcOIR87K62u7Pa7e3DXCIDFeKJYyPbdCb_fmSS6XRHGskSwvXq-b3SK26t6BVRBVkN2SrgoztoU-kzqZYHje4u1RsZK7SykCxYnDGuOnbiQjHAYkXN2LNmFLIDLCFaQbSAeXQ7119MWcsdC1vJVT_ba3Pi7lp65q3RtdTtsaZeKM8PiJCtIasXs287yFaA9a5e__HXC2Dqaw99a9X9rmv9svrc8y-d9DvVhrdkn57enn2bMyN9FenIurAdhuvtXhtvEpLan1_-NtvtTdL0yxj3GCw95gPgX78zf3L-8MTCWjJOaMX2XEi6uSkAi80Ef9XHGSRrYbeKtnvAwukjJAtIFnLXeDOAS_b6unscJZYM8iXkS8_2n7tICoV9IyOk7q9yGeAccO7rf9PlrE1n75AbSQG4-NDxifOG-lOQ4aY9XLz76dxJETCHvAbMmTbs5OWxxutjTh9JMfoxUOuom5Cld7EfVTtNYuDG0uRluhaS2P_qbPgwUPckFP3j62aaIS6ZFIpYkSfhdaBhGD7EMOiqpCuTkgdUxfM8iotynkXBoYpinhZ5R3EetXFc7AvMeVMkXZRlWRenXSAqjBBjjFKMkzTKw6LZ8yLOuqTM0racR5BGdOJChlK-n0Jt-kBYO1KVlUmSBZI3JO20WIiKzmwqTlldBabyPbNm7C2kkRTW2TuLE05S9SU2_EtQRkPsLNyBPcZ62s6HMASjkdXBucFvMOAGcNMLdxibsNUnwI1_9vaZDUZ_p9YBbiaxFnAzmfkZAAD__wnIPzo">