<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/140220>140220</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-format, Inconsistent formatting with BraceWrapping.AfterControlStatement: MultiLine for single-line and multi-line if conditions
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
halcyonx
</td>
</tr>
</table>
<pre>
Tested with: clang-format version 20.1.3 (https://github.com/llvm/llvm-project 923a5c4f83d2b3675bb88e9fe441daeaa4d69488)
Using BraceWrapping.AfterControlStatement: MultiLine leads to inconsistent formatting between single-line and multi-line if statements, which creates a visual inconsistency in codebases that use the compact if (cond) {} style.
```yaml
BraceWrapping:
AfterControlStatement: MultiLine
```
```cpp
if (!flag1) {
return;
}
if (flag2)
{
return;
}
```
If a codebase uses AfterControlStatement: Never and all if statements were consistent, it may still be desirable to apply AfterControlStatement: MultiLine for multi-line if conditions only, while keeping AfterControlStatement: Never for all other cases.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVE2PrDYQ_DXm0lpkDAxw4DC7q5GelOSSRDk3pgEnxkZ2Mxv-feSZ3bzdJ70vCQlZape7qroaYzSzI-pF_Sjq5wx3XnzoF7T68O7fbPDj0f9BkWmEF8OLKM-gLbr5YfJhRYYrhWi8AyXzIi9BqHZh3qIoz0JdhLrMhpd9yLVfhbpYe337PWzB_02aoVMl1rqa2nJUQ3lq6mFoW-omqqpiREKsxlNXta1QnZBnIc9_RuNmeAyo6a-A22bcnJ8npvDkHQdvf2dkWslx6vXX3bL5xTgCSzhGYA_Gae-iiUyO4c6CE-JA_ELkIMFberDpEroR1gRxP5oJ4ht6FOoJXhajF9CBkCkCwtXEHe37J_QBxoH2Iw0YKQIvyLBHAl4ItF831JxwhWq1d6NQHYjmUTTPEPmwlN85i5O8fweuVsjzB_ZJa3kG-L4I75G-ANbbJuT53ohQxWRxLt6aSZVdIN6DE-Xt2Dzfr9_rU7F69ecb5R9f_jQB_q9LUiR-ncBvdKVwMwOt_egCvFBIQr45mlwxDCseENlYCwPBSNEEHCwl-3Hb7PEDWqXR-ML7ZJBh410E7-zxOgCW4B-iZMT3CCTERMDzQgF0moc8G_ty7MoOM-qLpmrKtlRFmS29qjpsqJ2oneqaSOMwDR1KQtmO3QmbzPRKqlrWxUm2RVmW-ag61Qy6Guuu0ISVqCStaGye8pb7MGcmxp36opJKycziQDbegq_U-0wLpdIqCP0tp8M-R1FJayLHz0hs2FL_8dYTfPpKtNLm-PnEJrm-HcbPhmR7sP3PbR6hLjc9olCXV0muvfovAAD___nKryA">