As explained in a comment in https://reviews.llvm.org/D134124, we tried
landing this unconditionally but this actually bit some users who were
sharing std::unordered_map across an ABI boundary. This shows that the
ABI break is not benign and it should be guarded behind ABI v2.
Details
Details
- Reviewers
- None
- Group Reviewers
Restricted Project - Commits
- rG02718433a0dd: [libc++] Guard the fix to CityHash behind ABI v2
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I will land this once CI passes and then cherry-pick it onto release/16.x.
@oToToT Once you have a suggestion for a better hashing algorithm, we can rename the _LIBCPP_ABI_FIX_CITYHASH_IMPLEMENTATION macro to something else and expand the scope of the #ifdef to include basically all of the implementation.
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
15 | Is there also a test that ABI=V1 keeps returning the same "wrong" value? |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
15 | Thanks! |
Is there also a test that ABI=V1 keeps returning the same "wrong" value?