Commit cb42dd6
committed
Fix GCC 16 LTO build failure with multi-target dispatch
Remove always_inline from STDSortComparator. This function is passed
to std::sort, and GCC 16 rejects forced inlining when the caller and
callee have mismatched target attributes during LTO.
This occurs when the library is used via the header-only static include
with multiple dispatch targets (e.g. AVX-512 and baseline) linked
together, as NumPy does.
Standalone builds are unaffected since they use -march=skylake-avx512
for the entire translation unit.1 parent 6a7a01d commit cb42dd6
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
| 43 | + | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
0 commit comments