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

    <tr>
        <th>Summary</th>
        <td>
            clang 15 broke ABI without bumping ABI compatibility SOVERSION
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    clang 15 changed the value of `CXCursor_TranslationUnit` from 300 to 350 in commit bb83f8e70bd1d56152f02307adacd718cd67e312.

This is an ABI breakage; code compiled with new headers will fail to run with old libraries and vice versa. Therefore SOVERSION 13 should _not_ be allowed for clang 15 even if `CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF`.

In addition, the exact semantics of `CINDEX_VERSION_MAJOR` are unclear:

* in my opinion it should only be for backwards-compatible source/**API** (not ABI) changes, in which case leaving it to 0 is is fine but the documentation should be updated
* if ABI changes should also affect `CINDEX_VERSION_MAJOR`, then it should be bumped to 1
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U81u4zYQfhrqMohBUZZ_Djo4Trx1sRsX2bTYmzEkRxYbijRIyq779AVle5Ne9iIJwvCb748Yozk4oobVj6x-KnBInQ-N9O5f40whvb40yqI7QFmD6tAdSEPqCE5oBwLfApvx9Y_1EKIP-7eALlpMxrs_nUlsxqENvoeKc0geqpqDcaB835sEUi6qdkFzLnWp61lZi5aLis9Ro9LzcqH0bE5VKSaMPzG-uj7fOhPBREAHq8ctyED4jgdi1SMoryljH40lDWeTOnB0ho5QU4hwNtZCi8ZmJmFw1wlvNVgjAwZDGVXDySiCE4WIE3jrKFDrA8H33V_Pr9-3uxcoK4idH6yGvfNpD5IArfVn0tD6AD_NohM5MFd_vq5evuw3u9f18_7b6m392_bly_7r9vH6_yc0q552mw2b8f8p3jpArU32lIn16D39gypBpB5dMireU9i-PD3_2N_A9t9Wv-9ecwIYCAanLGFg1eozNBOrnEd_AX80zngHJt3FeWcvWVvWJFG9nzHo-JDtxWSkJYh-CIqY2DCRgVZ_bK8fwMTC-ZTjYWJ560zM1I2Dc2dUBwojgSU8GXfIK5MHDtdcW-MI5JBGndqroSeXxkLdiUmC4agxkf4koh3bcNt1n0QbPWDbkkq_8Odm6mftMlPoj7npHspCN5VeVkssqCln82m9rOrltOiaOaGqsZQt1pwvKsKFpCWvW7ksK6FEXZhG5EaXYip4XZXTyVIoVdIcaUFtNW0rNuXUo7ETa0_9xIdDYWIcqJlxMeeFRUk23m9maPLQgxwOkU25NTHFj2PJJEsfF1UG_06jJbnkfkijnuz2aNMtRGNNunw0uxiCbbqUjjHXJOe6OZjUDXKifM_EJi-7vR6Owf9NKjGxGQlHJjYj5_8CAAD__8ksY8E">