From 539c45ee2356d5a2f0d87cd7e14f268452a704ea Mon Sep 17 00:00:00 2001 From: Rico P Date: Sun, 2 Mar 2025 16:20:49 +0100 Subject: [PATCH 1/4] sinfl_bsr fix for TCC --- src/external/sinfl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/external/sinfl.h b/src/external/sinfl.h index 3c7173777..af730c1d2 100644 --- a/src/external/sinfl.h +++ b/src/external/sinfl.h @@ -174,7 +174,7 @@ sinfl_bsr(unsigned n) { #if defined(_MSC_VER) && !defined(__clang__) _BitScanReverse(&n, n); return n; -#elif defined(__GNUC__) || defined(__clang__) +#else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__) return 31 - __builtin_clz(n); #endif } From e7872a700db11174852d72db544c7d703c8aa260 Mon Sep 17 00:00:00 2001 From: Rico P Date: Mon, 10 Mar 2025 20:57:48 +0100 Subject: [PATCH 2/4] update sinfl_bsr --- src/external/sinfl.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/external/sinfl.h b/src/external/sinfl.h index af730c1d2..591fcf1cb 100644 --- a/src/external/sinfl.h +++ b/src/external/sinfl.h @@ -171,9 +171,10 @@ extern int zsinflate(void *out, int cap, const void *in, int size); static int sinfl_bsr(unsigned n) { -#if defined(_MSC_VER) && !defined(__clang__) - _BitScanReverse(&n, n); - return n; +#ifdef _MSC_VER + unsigned long r = 0; + _BitScanReverse(&r, n); + return int(r); #else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__) return 31 - __builtin_clz(n); #endif From 7dc409d06099ae8930a3e5e31c637e4c696d6776 Mon Sep 17 00:00:00 2001 From: Rico P Date: Tue, 11 Mar 2025 07:03:57 +0100 Subject: [PATCH 3/4] potential fix for MSVC compile error --- src/external/sinfl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/external/sinfl.h b/src/external/sinfl.h index 591fcf1cb..38564f701 100644 --- a/src/external/sinfl.h +++ b/src/external/sinfl.h @@ -172,9 +172,9 @@ extern int zsinflate(void *out, int cap, const void *in, int size); static int sinfl_bsr(unsigned n) { #ifdef _MSC_VER - unsigned long r = 0; - _BitScanReverse(&r, n); - return int(r); + unsigned long uln = 0; + _BitScanReverse(&uln, n); + return int(uln); #else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__) return 31 - __builtin_clz(n); #endif From 0934cdba48d1d6508bcc69308d91c2d8fc961893 Mon Sep 17 00:00:00 2001 From: Rico P Date: Tue, 11 Mar 2025 07:09:10 +0100 Subject: [PATCH 4/4] fix C++ style cast --- src/external/sinfl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/external/sinfl.h b/src/external/sinfl.h index 38564f701..a749501ca 100644 --- a/src/external/sinfl.h +++ b/src/external/sinfl.h @@ -174,7 +174,7 @@ sinfl_bsr(unsigned n) { #ifdef _MSC_VER unsigned long uln = 0; _BitScanReverse(&uln, n); - return int(uln); + return (int)(uln); #else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__) return 31 - __builtin_clz(n); #endif