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

    <tr>
        <th>Summary</th>
        <td>
            `SeparateDefinitionBlocks` inserts a new line before `// clang-format on` when it's directly beneath a concept
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-format,
            invalid-code-generation
      </td>
    </tr>

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

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

<pre>
    `clang-format test.cpp --style="{Language: Cpp, Standard: Latest, SeparateDefinitionBlocks: Always, }"` transforms this
```cpp
// clang-format off
template<class T>
concept C = not A<S<T>>;
// clang-format on

template<class>
struct E {};
```
into this
```cpp
// clang-format off
template<class T>
concept C = not A<S<T>>;

// clang-format on

template <class> struct E {};
```
Built using 0e7cfa59ebe9.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEU8tu4zgQ_Brq0pBBkxIVHXSw5fiUW_YHKKolMUuTAtlK4L9f0PZms0BmMHMagICgrmYVqx86JTt7xI7VR1afCr3REmJn3sahGMJ47Zjixmk_l1OIF01AmGhn1hXKMtHVIZMnJgRrji_az5uekckD9OvKRA-vpP2o45hDLzrfvEVx1VETnnCy3pIN_uiC-TvlrIP70NeUs1hz41UcKGqfsnoCWmxi_MT4gSl-P2ZdHxFxZuIM_3tsmKY7SHhZnSZksjdOpwR_Mfl8h0zwBleCHpg8gQ8EByb7Vyb7W04-x58o-Af2rcynSKK4GYJnYM0xO_uk_NfG_dd6Cn_a5G9ahS9e4RdtHjfrCLZk_QwcGzPpusUB290dLsZOjq1sdYHdXj01gjeVqoula_mAe9FWhtfKPOl6UmiM2gvO27aejChsJ7iQXO1bwatK1LtplFU7Dqj1JFSjBlZxvGjrds69X3YhzoVNacNOSdnKwukBXbqtghBfvedJFD0Twvp37exYmjBiOaPHqPMAZ7w-FbHLtOWwzYlV3NlE6T8hsuQwr9MP519xsD5hpAQaPH6Asx5hwClEhFy875uiOHws6MESE02C0UY05K4woEdNC2h4dL_YousWojWv2p1strRsw86ECxPn_NTHp1xjeENDTJxvBUpMnG81-icAAP__5uBDuQ">