<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/79833>79833</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] `RemoveSemicolon: true` does not remove semicolon at the end of empty function
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-format
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          CDAlexanderW
      </td>
    </tr>
</table>

<pre>
    ### Environment
The tested v18 clang-format executable was built from latest source of 15.01.2024.

Setting in `.clang-format` is:
```
Language: Cpp
RemoveSemicolon: true
```
### Problem
`RemoveSemicolon: true` does not remove semicolon at the end of constructor/destructor:
```
class A {
  ~A(){};
  void s() {};
};
```
When adding something (in that case `int i;`) into the implementation, it seems to work and the semicolons after `}` get removed:
```
class A {
  ~A() { int i; }
  void s() { int i; }
};
```

It looks like #58251 mentions clang-format "cannot determine {} as an empty function".
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVE1v3CAQ_TX4MoqF8cfaBx822a5UqYeqqZQzNrM2DYYVjDfJpb-9wt5sulXSQ1XJwjDzePAeDDIEPVjElpW3rNwlcqbR-fZutzX4LK1C_5B0Tr20TOTrB5_sSXtnJ7TE-I7x7fcRgTAQKjhlNfRG2uHm4PwkCfAZ-5lkZxCeZIBu1obg4N0ERsY5ENzsewR3gKxMeZYKLop05V3beyTSdgBtgVU8_Z2dVRx0YPkZySp-_pbhF2mHWQ7I8i3cHY9r8BtO7oT3OOneGWdjjvyM7xK8Sf7qXWdwuqA-Yqk4KIcBrCPwCwbCKwgkAY0IaFVU2zsbyM89Oc_EXuFl8IGa3sgQYAtsc7sGAH5umaiZaGJos2P5JXFyWkFYk_BH9qp_vcTDiBakUtHt4CakMfaYqLUFGiVBLwPGQ9CWQEeWiscVtCW3SNPT0WC8F5K0s0zcgSYIiFMAcvDk_CNIqxboxZYA8kDoI23cWsVhwFfz1D-YEWPwukGIlB-Y8g7oL96s7WcC49xjAKMfEZjIy1qUGUTJOkq5uvpMiF7aeBUUEvpJWzwfBsgA0gJOR3qBw2z71S6RJqrNVZM3MsE22_CqzOsiF8nYVthkKDdZ323KRhVdXXOJh6oR2HdciTLRbSwcnokmK8QmE2nXF3hQddPVoqoLrljBcZLapMacptT5IdEhzNhumjrPEyM7NGF5BIS4KjEh4rPg2zjtppuHwApudKDwRkSazPKAXE0sd_B_KuXapmT2ph2Jjkvdiz0T-0HTOHdp7yYm9nFX59_N0bsf2BMT-0VrYGK_yP0VAAD__3qrftc">