Fix SVE dynamic dispatch ODR violation#1311
Conversation
Can you elaborate a bit more about this? |
|
@JohanMabille, well in other files there are public utilities in namespace Alternatively, we should say that anything in |
|
Thanks for the detailed explanation. I think this one can be merged once the formatting is fixed. |
1ceecca to
4371d66
Compare
a6dcfa1 to
ddc883b
Compare
### Rationale for this change - Fix for the current SVE ODR violation in the latest version xtensor-stack/xsimd#1311 - Pre-requisit to GH-45331 ### What changes are included in this PR? Bump version and cleanup backports. ### Are these changes tested? Yes, in CI. ### Are there any user-facing changes? No * GitHub Issue: #49921 Authored-by: AntoinePrv <AntoinePrv@users.noreply.github.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
Bug found when adding dynamic dispatch with both SVE128 and SVE256.
The issue is found was on:
Without
XSIMD_INLINE, in debug mode, two inline symbols were created and the linker pickedone (the one with
-msve-vector-length=16) and applied it everywhere.What changed:
xsimd_inline.hppwas renamedxsimd_macros.hppto extend it with other macros required here.XSIMD_INLINEliberally, but because this is fragile, it also adds aninline namespaceto SVE to prevent future (and unfound) violations.inline namespaceis more tricky than I thought, so I had to rename alldetailtodetail_sveinside the header to avoid confusion.Notes:
it right before merging when there is a approval).
@serge-sans-paille @JohanMabille