You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
clang 15 changed the value of CXCursor_TranslationUnit from 300 to 350 in commit bb83f8e.
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
The text was updated successfully, but these errors were encountered:
This is unfortunate. We have tests that are supposed to catch this, but failed. Maybe we need to run the tests on the main branch and not just on the release branches.
I think for v15 it's enough to tell people not to use CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF. For v16 however the SOVERSION should be pushed up to 15 when the flag is OFF (and 16 when it is ON, of course).
I think for v15 it's enough to tell people not to use CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF.
For reference, we've been using this in conda-forge ever since llvm 14 without any reported issues. It's a pretty subtle failure. @bonzini said in an issue linked above:
Yeah, the breakage is subtle and unlikely to cause trouble outside a testsuite (I originally found it via KyleMayes/clang-rs#45), but it sucks nevertheless...
clang 15 changed the value of
CXCursor_TranslationUnit
from 300 to 350 in commit bb83f8e.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:CINDEX_VERSION_MAJOR
, then it should be bumped to 1The text was updated successfully, but these errors were encountered: