<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57150>57150</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Continuation indent width clang-format 14 regression
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
JohnC32
</td>
</tr>
</table>
<pre>
Given `test.cpp`:
```c++
void foo() {
std::ostringstream outStream;
json outJSON = {
{ "type", "asdf"},
{ "name", "asdfasdfasdfsadfasdfasdf"},
{"callback", "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdf"},
{ "items", foobar}
};
}
```
and `_clang-format`
```yaml
---
BasedOnStyle: Google
IndentWidth: 4
AlignArrayOfStructures: Right
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveDeclarations: Consecutive
...
```
With clang-format 13, we get:
```c++
void foo() {
std::ostringstream outStream;
json outJSON = {
{ "type", "asdf"},
{ "name", "asdfasdfasdfsadfasdfasdf"},
{"callback", "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdf"},
{ "items", foobar}
};
}
```
With clang-format 14, we get:
```c++
void foo() {
std::ostringstream outStream;
json outJSON = {
{ "type", "asdf"},
{ "name", "asdfasdfasdfsadfasdfasdf"},
{"callback", "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdf"},
{ "items", foobar}
};
}
```
Notice the continuation indent is wrong. Note, if you remove the `AlignConsecutiveDeclarations: Consecutive` specification, then
clang-format 14 matches clang-format 13, which may be a clue as to the source of the regression.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVcFu4yAQ_Rr7gmLZOE7qgw9polbbQyttDz2uMB7bdG2IACfK3-9AkjbNuq26UrdaaRH2wMzwZoAHlKraFddiA5IEs9iCsRFfr7EZpIsgXgXx8Y8aX3lAL1312o0SFamVCuhFQHMSzA96gsXYymGkC2WsFrLBP7CeqMHe-1aQnjg_GiXJy4KON_d3tyRIVy-BXUGFF5Ta3RpQBHRJPlJwCDNV7UbOVzj4NXjJ-vfgD1DHz7Dn9uvwaOGs60rGfx7gz2De-o4h3swejcJCb_5gcXBHS6Yd9BOu6xw37MlwRo1TJZOVI9QP3jHZTGqle2bPXJ7G7Vjf7VWTyWTfuGQGqjt5b3cdIIXItVINtrztm6xA2gdR2daZpnvtohONXGjNdnc1EmzgdtBgnMN30bT2xGmppAE-WCT9whhU9AjnPU8s4_4rwPloZgWqRgdEUfTu0jwI25LTdSFJ6nZoC6QB-wXn7v9J-5dP2gidpl9Kp5flTXKdbe_nUu21YJ9CvN-CfSYNx2b2N0g5RsdbZQUHYlsgXEkr5OCvSyL8rU2EIVutZBMRdASXmajJTg1EQ682-3GI-JGLdxYTswYuasG9gwNFGLnP5-xkEBS8BTN6AbeCt-iwIyUQhh4DCkOs8lkZNWicmKp9T0ODz4vBcIcLP4Qimc3ibDbPkllYFWmVpzkLrbAdFMuRldi6B-z84J7ghoPuitbatZtwQK-wNnjUhzLiqsdO122OYrLW6hG4xa4wZsBnj15l8ySLw7bI45QBqxKUUOdZPq_Tqs5jOrtgdc45hB0roTNFkDmKStgSD-Fok61CUdCY0vgiyRI6zZIsKtOszvK0zvN5wiiFYBpDz0QXuTwipZtQFz6lcmgMGjthrHk2Mv_gAvhwiM8G2ypd3KhWLlMa-tCFT_0Xa_jaKA">