<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54536>54536</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] SpaceBeforeAssignmentOperators: true breaks up function-try-block with BreakBeforeBraces: Allman
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
remyjette
</td>
</tr>
</table>
<pre>
example input:
```cpp
void FunctionWithTryBlock()
try
{
return;
}
catch (const std::exception&)
{
}
void FunctionWithInternalTry()
{
try
{
return;
}
catch (const std::exception&)
{
}
}
```
command line
```
$ clang-format version
clang-format version 14.0.0
$ clang-format -style='{SeparateDefinitionBlocks: Always, BreakBeforeBraces: Allman, IndentWidth: 4}' test.cpp
```
output:
```cpp
void FunctionWithTryBlock()
try
{
return;
}
catch (const std::exception &)
{
}
void FunctionWithInternalTry()
{
try
{
return;
}
catch (const std::exception &)
{
}
}
```
I would not expect that blank line to be added between the `try` and `catch` of the first function.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVU01r4zAQ_TXyRcQ4sp2Pgw_JhkJPe-hCz7I0TtQqkpHGTfPvd2S3acumZReWhTUCz3i-3hs9t16fG3iWx94CN64fkJUbVuxYsWGLYjqq76cvT95ofjM4hca7e4OHH-G8tV49MrFiYj0lYTi_1C-3k8HpCYBDcKzcvsZ2k6EkqgOneuVdRB5Rp_nlBp4V9GkME4tL60vHS_knuG4dQnDSEr730D4guuBMzofIFbxTzu7N-SPcv0x4w38xXpf9npfyx6N0mlvj4HqaqLiy0u1nnQ9HifwJQkzDp_IrET6v8iL_rHwW8WyBlTsmlgT4DnoZJMIOOuNMYjXediSefGNP8hyZ-Ma3AeTjFqgFbINU8BK2BD2Fb50Gh_dG4yEFqkRZLDlCxPyirKv0_YD_XI-_qUr-v8qS_w1d3vKTH6zmziOH5x4UcjyQfFrS0uOoVo6et8Cl1qDJwBOAoxzg1CkxXBQ8CTtdZkKcfN-NCZ0JBLx72Vqe6abU63ItMzRooWH19r1iWb3jdz2JbtLfJkazd0fS2_ceSLk-jGLEMABvk0wjH_pL8xkhmbVJL_xEt_OVkLMh2OaA2KdvTNzQ2VPJ0Ob0j5Jj7dPra9YH_0ArIdfEOFAXcVNXdbnIDk1XKyVh1WrRdfOlWnbETXZqrldCgZAqs7IFGxNLJoSDEx9bkE1EM9OIQoiiFNV8LRZindewqvWqWteiGstZVcBRGpsnHLkP-yw0I6R22EcKWhMxvgXluC0Yl5r6ywEPPjQBjucHQIRsHN6M4H8Csq3M9Q">