<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">