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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] `AlignArrayOfStructures` crashes with trailing comment
        </td>
    </tr>

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

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

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

<pre>
    my clang-format file contains:

```
AlignArrayOfStructures: Left
```

running clang-format crashes with:
```
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x31)[0x7ff69a14af31]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0xee)[0x7ff69a148c6e]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(+0xe40466)[0x7ff69a14b466]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7ff698df2520]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x2c74deb)[0x7ff6a2851deb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6format17WhitespaceManager35alignArrayInitializersLeftJustifiedEONS1_16CellDescriptionsE+0xe7)[0x7ff6a28517e7]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6format17WhitespaceManager22alignArrayInitializersEjj+0x76)[0x7ff6a28502b6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6format17WhitespaceManager20generateReplacementsEv+0x176)[0x7ff6a284d246]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x2c1dbad)[0x7ff6a27fabad]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6format13TokenAnalyzer7processEv+0x376)[0x7ff6a2823246]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x2c2aa71)[0x7ff6a2807a71]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6format8internal8reformatERKNS0_11FormatStyleEN4llvm9StringRefENS5_8ArrayRefINS_7tooling5RangeEEEjjjS6_PNS0_23FormattingAttemptStatusE+0x8db)[0x7ff6a27f2aeb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6format8reformatERKNS0_11FormatStyleEN4llvm9StringRefENS4_8ArrayRefINS_7tooling5RangeEEES5_PNS0_23FormattingAttemptStatusE+0x51)[0x7ff6a27f38c1]
clang-format-14[0x40b129]
clang-format-14[0x409335]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7ff698dd9d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7ff698dd9e40]
clang-format-14[0x406475]
```

the code in question is:
```
std::array<pairs> foo()
{
    return { {
        { a, d },
        { b, e },
        { c, f }, // crash
    } };
}
```

removing the railing comment, the crash goes away:
```
std::array<pairs> foo()
{
    return { {
        { a, d },
        { b, e },
        { c, f },
    } };
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVVktz2zYQ_jXUhSMNCb4POsg2PU3rKBkp08zkwgHJJQUHBFUAtK3--i5AqbYlO7Ed91ANhwJ2F98-sdyyr3fzbudWnIp22vSyo9ptGAe36oWmTCgnWDjeheMd3rG3f-x2wVkrFlLS3admreVQ6UGCOeNeQaOfPDK-5SAEE-1jxZWkagPKvWV6c6_36Di55KzE910aF3E45UwMd9NWDCPj6urPj1M_nKl-5jskLb4tQ85vukDtlB99lkzotabV9y-SVpCvluvC9yW9LXqlJdAuZw458-4CPJo5Ea6Spokz6oe0QVp08csmJKtBrDFklP9GRc1BqvzGqgQ4VplWMbxR5YgYemEcH6OWhvZC1MrgxQe8kETEewSX1o2lvRTOprrabq2Z4QGXVElYQ_kQmZI08g3tzcgY9MhS47G0_OTrhmlQW0z7RypoCzKI6L_F-0EwzXD7NybEFO7vg9KsYVDnn5Zrv_Djc-D8AlQl2VazXqh8DHFyYnWCtP_SakKetjq_vrYmJfGxSR4pX57xN5nktSBAUg0r2HKkdyD0oa79E4PCmoS_YNC-Zvy6pPVj5KShhvZ-rgZf-u8gFnhZdxjiZCv7CtTBseDEMRK8h2OE0sQ_QvYSQ3s3x1LsgiDRrVTCSMlXfyzXHvbCS7td6x2HfGxbGbZ1bNQraPLlOipSW3m4-4C9M9F9j9rbaIXgkOdYhNfruPhssEgwYmnkL7SGbms6rx72Vyety-PsEfqeN_7VvoU_8Q2df4ljkX_sV5BW98l7-L3Djm0FQ6_0zZkfimRBEL2tcZOszo4bd21pr4UrCrMrlKZSFx1OB2MqT8Hx2_MTd-IweeDOUxOC3pghpAaXCfevAZTpuy5Tz80FSteGFSyoSaITnG8pkyidu03f21Bk-3PJ2bhw8ScBBxbhIs19RDc_Q6QOOXdrXF7g4pRdGjY8y64Mu9mzXQwmPuOQcy-LTCsQnB3M-1FQJHT9jZmbTHQkZdzOUH1nWq7RYYNmFLhtj4MUvTWh-J8G7DUxmtTzoM6CjE400xzmWGUP6w4rzUWpZ6bV2Hs0ebr6KLCTQfL5RuutLT6bxRblhnKGAuaKYCvZ_03xI3ENFebikimFVYuLKAqzYLKZZ6mXVQGN0hKaMi1pnJSkrOM0jGsgQNIJpyVwZWx3CBFw61oIXKP5EzYnHiFe5MeeH4YemQUIRBq_9sIspVVDndADvJN8ZuyY9bKdyLk1qRxahUzOlFb3TKoUBgNsqAw-HfSml3PNupJDtemoEBOrf27t_wfgK55F">