<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/66759>66759</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-format. SeparateDefinitionBlocks inserts spaces after attribute like macro
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
yrHeTaTeJlb
</td>
</tr>
</table>
<pre>
Unreal Engine widely uses attribute-like macroses. And SeparateDefinitionBlocks fails to format them properly in some places. For example UPROPERTY and UENUM look fine
```
UENUM()
enum class EEnum
{
Foo,
Bar,
};
struct FStruct
{
UPROPERTY()
int Baz = 0;
}
```
but USTRUCT and UFUNCTION get space after them
```
USTRUCT()
struct FStruct
{
UFUNCTION()
int Quux();
};
```
I tried adding these macro to StatementMacros and StatementAttributeLikeMacros lists, but it didn't help
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U8mOwzYM_Rr5QiRw5Gw--JDN6BSdpZPk0KMs0Y4aWTIkup306wsvzWSAFBAkUiIpPuI9EYKuLGLGFlu22EeipYvz2c3_gidxwl9NERVO3bKz9SgMHGylLcLfWqG5QRswgCDyumgJJ0ZfEWohvQsYprCxCo7YCC8I91hqq0k7uzVOXgOUQpsA5KB0vhYEdMEaGu8a9OYG2kJwNUJjhOxK5c4Dfom6MQjnj8_3j8Pn6Q8QVsH58HZ-BePcFUptkcV7Fm_YMh5X7_YxjK8ZT4cLtG0N0ogQ4HDo7DFttR0MAIDcOcZ3o78V_u6w1Z4lY-CwB_KtJMiP_fmk1r3lxya6B20JtuIfYMke4u-qq_1THMNetATn4-nzvDsNE8jPb7vTy_sbVEgQGiERREno-5k-H8iQ_tjNMyTPxnL_7QeUn4h-b9uv8fkR0t1-huoFyGtUIJTStupaDyOXOpIcSRDWaOm1Z1eP-363-Y-Av-krjgFGBwqM76CbliZQWlnGVwQXNE2kskSlSSoizGbLdDGbpQmPo0sWS6X4ai3niSgW60Qt16VMyrUolJKKl3GkMx7zJE5n6Szm63k8TUW5khz5XIoFzlPO5jHWQpupMX_VU-erSIfQYrZcrhZpZESBJvRS41waYavJQH_GeSc-n3Vpk6KtApvHPYbvQqTJYPaYNf1_eWkb0FMY6BBGPtyVCt9KjVpvsgtRE1iyYTxnPK80XdpiKl3NeN59Px6Txrs_URLjeQ8qMJ73uP4NAAD__7pyTPE">