forked from pool/xxhash
31 lines
1.7 KiB
Diff
31 lines
1.7 KiB
Diff
From: Jan Engelhardt <jengelh@inai.de>
|
|
Date:
|
|
|
|
Ditch forced inlining, gcc-14 does not like it on at least some arches (like riscv64):
|
|
|
|
In function 'void XXH3_hashLong_internal_loop(xxh_u64*, const xxh_u8*, size_t, const xxh_u8*, size_t, XXH3_f_accumulate, XXH3_f_scrambleAcc)',
|
|
inlined from 'XXH_NAMESPACEXXH128_hash_t XXH3_hashLong_128b_internal(const void*, size_t, const xxh_u8*, size_t, XXH3_f_accumulate, XXH3_f_scrambleAcc)' at /usr/include/xxhash.h:6416:32,
|
|
inlined from 'XXH_NAMESPACEXXH128_hash_t XXH3_hashLong_128b_default(const void*, size_t, XXH64_hash_t, const void*, size_t)' at /usr/include/xxhash.h:6442:39:
|
|
/usr/include/xxhash.h:5364:18: error: inlining failed in call to 'always_inline' 'void XXH3_accumulate_scalar(xxh_u64*, const xxh_u8*, const xxh_u8*, size_t)': function not considered for inlining
|
|
5364 | XXH_FORCE_INLINE XXH3_ACCUMULATE_TEMPLATE(scalar)
|
|
/usr/include/xxhash.h:5544:14: note: called from here
|
|
5544 | f_acc(acc, input + n*block_len, secret, nbStripesPerBlock);
|
|
|
|
---
|
|
xxhash.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
Index: xxHash-0.8.2/xxhash.h
|
|
===================================================================
|
|
--- xxHash-0.8.2.orig/xxhash.h
|
|
+++ xxHash-0.8.2/xxhash.h
|
|
@@ -2107,7 +2107,7 @@ static void* XXH_memcpy(void* dest, cons
|
|
# define XXH_NO_INLINE static
|
|
/* enable inlining hints */
|
|
#elif defined(__GNUC__) || defined(__clang__)
|
|
-# define XXH_FORCE_INLINE static __inline__ __attribute__((always_inline, unused))
|
|
+# define XXH_FORCE_INLINE static __inline__ __attribute__((unused))
|
|
# define XXH_NO_INLINE static __attribute__((noinline))
|
|
#elif defined(_MSC_VER) /* Visual Studio */
|
|
# define XXH_FORCE_INLINE static __forceinline
|