From 995ddf329f38da4414d44a16ca7ed35077700099 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Thu, 6 Nov 2025 12:49:38 -0500 Subject: [PATCH] Fixes for gcc 15 --- src/parser3.h | 2 +- src/simd.h | 6 +++--- symbol-imports.txt | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/parser3.h b/src/parser3.h index 8de85bc..de8c640 100644 --- a/src/parser3.h +++ b/src/parser3.h @@ -214,7 +214,7 @@ inline PRESERVE_NONE WeaselJsonStatus scan_string_impl(Parser3 *self, } auto v = V{(int8_t *)buf}; int normal = - (v != V::splat('"') & v != V::splat('\\') & v >= V::splat(0x20)) + ((v != V::splat('"')) & (v != V::splat('\\')) & (v >= V::splat(0x20))) .count_leading_nonzero_lanes(); buf += normal; if (normal < V::lanes) { diff --git a/src/simd.h b/src/simd.h index 1ebdc59..c5a89c6 100644 --- a/src/simd.h +++ b/src/simd.h @@ -558,7 +558,7 @@ template struct simd { for (; i + 16 / sizeof(T) <= kLanes; i += 16 / sizeof(T)) { __m128i v0; memcpy(&v0, &x[i], 16); - v0 = _mm_xor_si128(v0, _mm_set1_epi8(0xff)); + v0 = _mm_xor_si128(v0, _mm_set1_epi8((char)0xff)); memcpy(&result.x[i], &v0, 16); } for (; i < kLanes; ++i) { @@ -1702,13 +1702,13 @@ template struct simd { for (; i + 32 / sizeof(T) <= kLanes; i += 32 / sizeof(T)) { __m256i v0; memcpy(&v0, &x[i], 32); - v0 = _mm256_xor_si256(v0, _mm256_set1_epi8(0xff)); + v0 = _mm256_xor_si256(v0, _mm256_set1_epi8((char)0xff)); memcpy(&result.x[i], &v0, 32); } for (; i + 16 / sizeof(T) <= kLanes; i += 16 / sizeof(T)) { __m128i v0; memcpy(&v0, &x[i], 16); - v0 = _mm_xor_si128(v0, _mm_set1_epi8(0xff)); + v0 = _mm_xor_si128(v0, _mm_set1_epi8((char)0xff)); memcpy(&result.x[i], &v0, 16); } for (; i < kLanes; ++i) { diff --git a/symbol-imports.txt b/symbol-imports.txt index a0ee813..409e6d7 100644 --- a/symbol-imports.txt +++ b/symbol-imports.txt @@ -1,5 +1,7 @@ +_GLOBAL_OFFSET_TABLE_ __cpu_indicator_init __cpu_model +__stack_chk_fail@GLIBC_2.4 free@GLIBC_2.2.5 malloc@GLIBC_2.2.5 memmove@GLIBC_2.2.5