]> git.ipfire.org Git - thirdparty/zlib-ng.git/log
thirdparty/zlib-ng.git
43 hours agoMove cleanup to inffast_tpl.h, clean up INFLATE_FAST develop
Pavel P [Wed, 21 Jan 2026 12:30:11 +0000 (14:30 +0200)] 
Move cleanup to inffast_tpl.h, clean up INFLATE_FAST

43 hours agoAdd cleanup for defines that might be set before inclusion of chunkset_tpl.h
Pavel P [Wed, 21 Jan 2026 11:10:03 +0000 (13:10 +0200)] 
Add cleanup for defines that might be set before inclusion of chunkset_tpl.h

 + remove unused `HAVE_CHUNKUNROLL`
 + type `utilisation` => `utilization`

44 hours agoRead architecture name from binary in detect-arch.
Nathan Moinvaziri [Sat, 17 Jan 2026 18:10:49 +0000 (10:10 -0800)] 
Read architecture name from binary in detect-arch.

44 hours agoRemove architecture-specific compile definitions from build system
Nathan Moinvaziri [Sat, 17 Jan 2026 16:43:26 +0000 (08:43 -0800)] 
Remove architecture-specific compile definitions from build system

44 hours agoConvert arch detection from preprocessor errors to runtime with header
Nathan Moinvaziri [Sun, 18 Jan 2026 03:12:44 +0000 (19:12 -0800)] 
Convert arch detection from preprocessor errors to runtime with header

2 days agoMove DoNotOptimize in benchmark loop to prevent it being optimized away
Nathan Moinvaziri [Thu, 22 Jan 2026 01:10:14 +0000 (17:10 -0800)] 
Move DoNotOptimize in benchmark loop to prevent it being optimized away

In some cases I've noticed incorrect 0 benchmark results from compiler
optimizing away len during hash benchmarks.

2 days agoUse MIN macro in a few more instances throughout the code
Nathan Moinvaziri [Tue, 20 Jan 2026 01:06:02 +0000 (17:06 -0800)] 
Use MIN macro in a few more instances throughout the code

2 days agoAdd ALIGN_UP and ALIGN_DOWN macros for readability
Nathan Moinvaziri [Thu, 8 Jan 2026 02:23:23 +0000 (18:23 -0800)] 
Add ALIGN_UP and ALIGN_DOWN macros for readability

2 days agoRemove redundant include directives
Robert Kausch [Fri, 23 Jan 2026 13:16:46 +0000 (14:16 +0100)] 
Remove redundant include directives

2 days agoMake feature macro tests more consistent
Robert Kausch [Wed, 21 Jan 2026 23:15:08 +0000 (00:15 +0100)] 
Make feature macro tests more consistent

- Test feature macros before any includes
- Use #ifdef over #if defined() for single macro tests
- Always include zbuild.h first

2 days agoTest feature macros in all implementation files
Robert Kausch [Mon, 19 Jan 2026 15:41:14 +0000 (16:41 +0100)] 
Test feature macros in all implementation files

2 days agoReduce code size and directly call in adler32_copy
Nathan Moinvaziri [Thu, 15 Jan 2026 07:53:18 +0000 (23:53 -0800)] 
Reduce code size and directly call in adler32_copy

There is no need for _impl when there is no const int COPY being used

2 days agoFix oversized pair allocation in adler32_vmx
Nathan Moinvaziri [Wed, 14 Jan 2026 23:39:34 +0000 (15:39 -0800)] 
Fix oversized pair allocation in adler32_vmx

2 days agoSkip redundant literal checks in inflate_fast
Nathan Moinvaziri [Fri, 16 Jan 2026 18:36:57 +0000 (10:36 -0800)] 
Skip redundant literal checks in inflate_fast

When we know a code is not a literal we can skip the redundant check for
op == 0.

2 days agoShared macros for inflate decoding trace statements
Nathan Moinvaziri [Fri, 16 Jan 2026 18:50:48 +0000 (10:50 -0800)] 
Shared macros for inflate decoding trace statements

Previously, trace statements for some literal decodes were not being
reported in inflate_fast.

3 days agoReplace conditional byte swapping with portable host/LE conversion
Nathan Moinvaziri [Fri, 16 Jan 2026 19:49:10 +0000 (11:49 -0800)] 
Replace conditional byte swapping with portable host/LE conversion

3 days agoRemove unnecessary CHUNK_SIZE define - rm last ref
Pavel P [Thu, 22 Jan 2026 16:43:43 +0000 (18:43 +0200)] 
Remove unnecessary CHUNK_SIZE define - rm last ref

3 days agoRemove unnecessary CHUNK_SIZE define
Pavel P [Thu, 22 Jan 2026 09:04:33 +0000 (11:04 +0200)] 
Remove unnecessary CHUNK_SIZE define

3 days agoDon't run testing with the extra corpora for RISC-V builds,
Hans Kristian Rosbach [Thu, 22 Jan 2026 15:32:46 +0000 (16:32 +0100)] 
Don't run testing with the extra corpora for RISC-V builds,
they take ~15min to finish a single job and they easily bog down
the whole CI queue when multiple pushes/PRs are queued.

3 days agoAlso upload coverage reports to coveralls.io
Hans Kristian Rosbach [Wed, 21 Jan 2026 17:39:28 +0000 (18:39 +0100)] 
Also upload coverage reports to coveralls.io

4 days ago- Merge -O3 test into prefix test.
Hans Kristian Rosbach [Thu, 22 Jan 2026 12:51:44 +0000 (13:51 +0100)] 
- Merge -O3 test into prefix test.
- Enable benchmarks in both prefix tests, to make sure they work with prefixes.

4 days agoSplit OSB builds out into separate workflow.
Hans Kristian Rosbach [Thu, 22 Jan 2026 10:39:49 +0000 (11:39 +0100)] 
Split OSB builds out into separate workflow.
Enable verbose for cmake build stage.

4 days agoAdd Windows ARM support for EOR3 feature detection and MSVC intrinsics
Mika Lindqvist [Tue, 13 Jan 2026 21:07:56 +0000 (13:07 -0800)] 
Add Windows ARM support for EOR3 feature detection and MSVC intrinsics

4 days agoCheck for null return value from getauxval(AT_PLATFORM)
Nathan Moinvaziri [Tue, 13 Jan 2026 03:11:00 +0000 (19:11 -0800)] 
Check for null return value from getauxval(AT_PLATFORM)

4 days agoGuard FreeBSD/OpenBSD auxv calls with HAVE_SYS_AUXV_H check
Brad Smith [Tue, 13 Jan 2026 02:38:35 +0000 (18:38 -0800)] 
Guard FreeBSD/OpenBSD auxv calls with HAVE_SYS_AUXV_H check

4 days agoAdd elf_aux_info() support on FreeBSD/OpenBSD for PMULL and EOR3
Brad Smith [Tue, 13 Jan 2026 02:38:35 +0000 (18:38 -0800)] 
Add elf_aux_info() support on FreeBSD/OpenBSD for PMULL and EOR3

Use elf_aux_info() to detect PMULL and EOR3 on FreeBSD and OpenBSD
aarch64.

4 days agoRemove unnecessary ARM_AUXV_HAS_NEON preprocessor check
Nathan Moinvaziri [Tue, 13 Jan 2026 03:25:57 +0000 (19:25 -0800)] 
Remove unnecessary ARM_AUXV_HAS_NEON preprocessor check

4 days agoRemove unnecessary ARM_AUXV_HAS_CRC32 preprocessor check
Nathan Moinvaziri [Tue, 13 Jan 2026 02:39:13 +0000 (18:39 -0800)] 
Remove unnecessary ARM_AUXV_HAS_CRC32 preprocessor check

4 days agoUse ARCH_64BIT preprocessor define in arm feature checks.
Nathan Moinvaziri [Tue, 13 Jan 2026 03:13:22 +0000 (19:13 -0800)] 
Use ARCH_64BIT preprocessor define in arm feature checks.

4 days agoClean up arm feature check return values.
Nathan Moinvaziri [Tue, 13 Jan 2026 03:35:34 +0000 (19:35 -0800)] 
Clean up arm feature check return values.

4 days agoPre-calculate last vector check ptr in compare256 for sse2 and lsx
Nathan Moinvaziri [Thu, 8 Jan 2026 07:51:08 +0000 (23:51 -0800)] 
Pre-calculate last vector check ptr in compare256 for sse2 and lsx

4 days agoAdd "None" for sanitizer option
Pavel P [Tue, 20 Jan 2026 19:52:13 +0000 (21:52 +0200)] 
Add "None" for sanitizer option

4 days agoMove cleanup undefs to insert_string_tpl.h
Pavel P [Tue, 20 Jan 2026 19:50:58 +0000 (21:50 +0200)] 
Move cleanup undefs to insert_string_tpl.h

5 days agoFix integer overflow in gz_compress_mmap
Vladislav Shchapov [Sat, 17 Jan 2026 13:46:50 +0000 (18:46 +0500)] 
Fix integer overflow in gz_compress_mmap

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
5 days agoFix CI configure workflow failure artifact upload
Hans Kristian Rosbach [Tue, 13 Jan 2026 21:01:44 +0000 (22:01 +0100)] 
Fix CI configure workflow failure artifact upload

5 days agoExpand configure script testing.
Hans Kristian Rosbach [Sun, 11 Jan 2026 21:50:21 +0000 (22:50 +0100)] 
Expand configure script testing.
- Remove 2 redundant jobs.
- Add 1 new jobs.
- Test multiple non-conflicting options in more of the jobs.

5 days agoEnable codecov for more CI jobs.
Hans Kristian Rosbach [Sun, 11 Jan 2026 14:14:11 +0000 (15:14 +0100)] 
Enable codecov for more CI jobs.
Disable codecov where -O1 or higher is requested, since codecov sets -O0.
Disable codecov where tests are not run.
Add comments for jobs where codecov is not enabled.

5 days agoUse default clang version for most builds.
Hans Kristian Rosbach [Sun, 11 Jan 2026 17:17:26 +0000 (18:17 +0100)] 
Use default clang version for most builds.
Let one job use clang-15, and a few clang-20

5 days agoCombine ARM CI jobs testing non-NEON with non-ARMv8, as these have no common optimized
Hans Kristian Rosbach [Sun, 11 Jan 2026 22:05:51 +0000 (23:05 +0100)] 
Combine ARM CI jobs testing non-NEON with non-ARMv8, as these have no common optimized
functions. For Aarch64, use no-opt config for testing bothwithout Neon/Armv8.
This reduced cmake and configure jobs by 3 each.
Also reorder and rename a few other jobs to try to use a common style.

5 days agoRemove separate MMAP CI job by folding into another.
Hans Kristian Rosbach [Sun, 11 Jan 2026 18:03:27 +0000 (19:03 +0100)] 
Remove separate MMAP CI job by folding into another.
Remove separate REDUCED_MEM CI job by folding into another.
Make sure both are present for both GCC and Clang.
Add ZLIB_COMPAT to clang debug job.

5 days agoFix codecov parameter placement warnings.
Hans Kristian Rosbach [Sun, 11 Jan 2026 18:16:28 +0000 (19:16 +0100)] 
Fix codecov parameter placement warnings.

5 days agoAdd configured compiler defines to informational output,
Hans Kristian Rosbach [Sun, 11 Jan 2026 13:51:31 +0000 (14:51 +0100)] 
Add configured compiler defines to informational output,
this eases debugging, especially in CI where further inspection is hard.

5 days agoImprove detection of compiler code coverage support.
Hans Kristian Rosbach [Sun, 11 Jan 2026 13:49:06 +0000 (14:49 +0100)] 
Improve detection of compiler code coverage support.

5 days agoUnify baseline benchmarking for both adler32 and crc32.
Hans Kristian Rosbach [Thu, 15 Jan 2026 22:42:19 +0000 (23:42 +0100)] 
Unify baseline benchmarking for both adler32 and crc32.
Fix missing benchmarks of _copy functions for some platforms.

5 days agoUnify compare256/compare256_rle benchmarks and add rolling misalignment
Hans Kristian Rosbach [Wed, 14 Jan 2026 20:18:56 +0000 (21:18 +0100)] 
Unify compare256/compare256_rle benchmarks and add rolling misalignment

5 days agoUnify adler32/crc32 benchmarks and add rotating misalignment
Hans Kristian Rosbach [Wed, 14 Jan 2026 16:18:02 +0000 (17:18 +0100)] 
Unify adler32/crc32 benchmarks and add rotating misalignment
Add aligned benchmarks for adler32/crc32

5 days agoUse aligned alloc for insert_string benchmark
Hans Kristian Rosbach [Wed, 14 Jan 2026 20:20:47 +0000 (21:20 +0100)] 
Use aligned alloc for insert_string benchmark

5 days agoFix name collision in inflate benchmark
Hans Kristian Rosbach [Wed, 14 Jan 2026 22:37:34 +0000 (23:37 +0100)] 
Fix name collision in inflate benchmark

6 days agoMake deflate output deterministic if PREFIX3(stream) is reused after deflateReset
Vladislav Shchapov [Tue, 13 Jan 2026 20:02:47 +0000 (01:02 +0500)] 
Make deflate output deterministic if PREFIX3(stream) is reused after deflateReset

Co-authored-by: Marcin Kowalczyk <QrczakMK@gmail.com>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
8 days agoPrefix macros with z in crc32_vpclmulqdq for clarity
Nathan Moinvaziri [Tue, 13 Jan 2026 18:04:55 +0000 (10:04 -0800)] 
Prefix macros with z in crc32_vpclmulqdq for clarity

8 days agoUse epi32 variants for older MSVC (v141/v140) to avoid cast warnings
Nathan Moinvaziri [Tue, 13 Jan 2026 16:43:26 +0000 (08:43 -0800)] 
Use epi32 variants for older MSVC (v141/v140) to avoid cast warnings

8 days agoFix cast truncates constant value warnings with ternarylogic on Win v141
Nathan Moinvaziri [Mon, 12 Jan 2026 01:16:36 +0000 (17:16 -0800)] 
Fix cast truncates constant value warnings with ternarylogic on Win v141

8 days agoUse epi64 intrinsics for VPCLMULQDQ operations
Nathan Moinvaziri [Sun, 11 Jan 2026 22:53:45 +0000 (14:53 -0800)] 
Use epi64 intrinsics for VPCLMULQDQ operations

PCLMULQDQ operates on 64-bit polynomial elements, so use epi64 intrinsics
throughout to provide accurate type information to the compiler.

8 days agoUse masked load/store in partial folding in crc32_vpclmulqdq.
Nathan Moinvaziri [Sun, 11 Jan 2026 20:05:46 +0000 (12:05 -0800)] 
Use masked load/store in partial folding in crc32_vpclmulqdq.

8 days agoCombine final_fold function to remove extra len branch
Nathan Moinvaziri [Sun, 11 Jan 2026 20:03:26 +0000 (12:03 -0800)] 
Combine final_fold function to remove extra len branch

8 days agoEliminate extra vmovdqu instruction folding xmm into zmm.
Nathan Moinvaziri [Sun, 11 Jan 2026 19:32:44 +0000 (11:32 -0800)] 
Eliminate extra vmovdqu instruction folding xmm into zmm.

Fixed by using _mm512_castsi128_si512() and removing redundant insert.

8 days agoClean up variable names for readability in zmm path.
Nathan Moinvaziri [Sat, 3 Jan 2026 07:47:34 +0000 (23:47 -0800)] 
Clean up variable names for readability in zmm path.

8 days agoDon't compile in Chorba for vpclmulqdq because it is never used
Nathan Moinvaziri [Sat, 3 Jan 2026 02:14:24 +0000 (18:14 -0800)] 
Don't compile in Chorba for vpclmulqdq because it is never used

By the time Chorba if statement is hit, len is already reduced to < 256.

8 days agoCombine partial and final fold and reduce the number of operations
Nathan Moinvaziri [Sun, 11 Jan 2026 19:34:45 +0000 (11:34 -0800)] 
Combine partial and final fold and reduce the number of operations

We do the partial fold after we have folded the crc32 state into a single
128-bit value.

8 days agoGenerate shuffle masks in registers for partial_fold.
Nathan Moinvaziri [Fri, 2 Jan 2026 23:03:33 +0000 (15:03 -0800)] 
Generate shuffle masks in registers for partial_fold.

Faster than loading table into memory.

8 days agoUse mm_blend_epi16 in crc32_(v)pclmulqdq final reduction
Nathan Moinvaziri [Fri, 2 Jan 2026 22:47:53 +0000 (14:47 -0800)] 
Use mm_blend_epi16 in crc32_(v)pclmulqdq final reduction

This is the preferred operation mentioned in
https://www.corsix.org/content/alternative-exposition-crc32_4k_pclmulqdq

8 days agoUse ternarylogic when available in crc32_vpclmulqdq.
Nathan Moinvaziri [Sun, 11 Jan 2026 20:17:34 +0000 (12:17 -0800)] 
Use ternarylogic when available in crc32_vpclmulqdq.

8 days agoHoist folding constants to function scope to avoid repeated loads
Nathan Moinvaziri [Sat, 3 Jan 2026 02:26:16 +0000 (18:26 -0800)] 
Hoist folding constants to function scope to avoid repeated loads

8 days agoBatch PCLMULQDQ operations to reduce latency
Nathan Moinvaziri [Sun, 11 Jan 2026 21:28:20 +0000 (13:28 -0800)] 
Batch PCLMULQDQ operations to reduce latency

8 days agoMove remaining fold calls before load to hide latency
Nathan Moinvaziri [Fri, 2 Jan 2026 08:46:36 +0000 (00:46 -0800)] 
Move remaining fold calls before load to hide latency

All fold calls are now consistent in this respect.

8 days agoRevert "Move fold calls closer to last change in xmm_crc# variables."
Nathan Moinvaziri [Fri, 2 Jan 2026 03:26:14 +0000 (19:26 -0800)] 
Revert "Move fold calls closer to last change in xmm_crc# variables."

The fold calls were in a better spot before begin located after loads to
reduce latency.

This reverts commit cda0827b6d522acdb2656114e2c4b7b18b6c1c20.

8 days agoRemove old comments about crc32 folding from crc32 benchmark.
Nathan Moinvaziri [Wed, 31 Dec 2025 23:18:38 +0000 (15:18 -0800)] 
Remove old comments about crc32 folding from crc32 benchmark.

8 days agoRemove unnecessary casts from crc32_(v)pclmulqdq.
Nathan Moinvaziri [Fri, 2 Jan 2026 06:49:56 +0000 (22:49 -0800)] 
Remove unnecessary casts from crc32_(v)pclmulqdq.

Originally, some compilers and older versions of intrinsics libraries only
provided _mm_xor_ps (for __m128) and not _mm_xor_si128 (for __m128i).
Developers would cast integer vectors to float vectors to use the XOR
operation, then cast back. Modern compilers and intrinsics headers provide
_mm_xor_si128, making these casts unnecessary.

9 days agoSimplify CRC32 complement operations using bitwise NOT operator
Nathan Moinvaziri [Tue, 13 Jan 2026 00:47:43 +0000 (16:47 -0800)] 
Simplify CRC32 complement operations using bitwise NOT operator

9 days agoFix space indentation formatting in crc32_zbc
Nathan Moinvaziri [Tue, 13 Jan 2026 00:44:48 +0000 (16:44 -0800)] 
Fix space indentation formatting in crc32_zbc

10 days agoAdd fallback for __has_builtin to prevent unmatched parenthesis warning
Nathan Moinvaziri [Sun, 11 Jan 2026 21:11:08 +0000 (13:11 -0800)] 
Add fallback for __has_builtin to prevent unmatched parenthesis warning

Occurs on MSVC.

10 days agoAdd ARM __builtin_bitreverse16 fallback implementation for GCC.
Nathan Moinvaziri [Tue, 13 Jan 2026 17:01:11 +0000 (09:01 -0800)] 
Add ARM __builtin_bitreverse16 fallback implementation for GCC.

10 days agoRemove compiler check for builtin_bitreverse16 since we check in code
Nathan Moinvaziri [Sun, 11 Jan 2026 00:22:43 +0000 (16:22 -0800)] 
Remove compiler check for builtin_bitreverse16 since we check in code

And we have a generic fallback

10 days ago__builtin_bitreverse16 CMake compiler check fails for GCC 13
Nathan Moinvaziri [Sat, 10 Jan 2026 01:38:55 +0000 (17:38 -0800)] 
__builtin_bitreverse16 CMake compiler check fails for GCC 13

Provide a final check for __builtin_bitreverse16 in code.

11 days agoUse GCC's may_alias attribute for access to buffers in crc32_chorba
Vladislav Shchapov [Wed, 7 Jan 2026 19:30:19 +0000 (00:30 +0500)] 
Use GCC's may_alias attribute for access to buffers in crc32_chorba

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
12 days agoAdd Z_UNREACHABLE compiler hint
Hans Kristian Rosbach [Tue, 13 Jan 2026 14:32:53 +0000 (15:32 +0100)] 
Add Z_UNREACHABLE compiler hint

12 days agoFix (impossible) infinite loop in gz_fetch() detected by GCC-14 static analyzer.
Hans Kristian Rosbach [Tue, 13 Jan 2026 13:55:37 +0000 (14:55 +0100)] 
Fix (impossible) infinite loop in gz_fetch() detected by GCC-14 static analyzer.
According to the comment, gz_fetch() also assumes that state->x.have == 0, so
lets add an Assert to that effect.

12 days agoUpdate static analyzer from targeting GCC v10 to v14
Hans Kristian Rosbach [Mon, 12 Jan 2026 19:52:47 +0000 (20:52 +0100)] 
Update static analyzer from targeting GCC v10 to v14

12 days agoFix symbol mangling so symbols in shared library are exported correctly
Mika T. Lindqvist [Mon, 12 Jan 2026 01:42:13 +0000 (03:42 +0200)] 
Fix symbol mangling so symbols in shared library are exported correctly
* We need to mangle symbols in the map file, otherwise none of the symbols are exported
* Fix gz_error name conflict with zlib-ng API

12 days agoRemove extra indirection calling into crc32_z functions.
Nathan Moinvaziri [Mon, 12 Jan 2026 22:57:50 +0000 (14:57 -0800)] 
Remove extra indirection calling into crc32_z functions.

This also prevents the double-checking of buf == NULL.

12 days agoClean up buf == NULL handling on adler32 functions and test strings.
Nathan Moinvaziri [Mon, 12 Jan 2026 19:18:56 +0000 (11:18 -0800)] 
Clean up buf == NULL handling on adler32 functions and test strings.

12 days agoFixed UB in adler32_avx512_copy storemask when len is 0.
Nathan Moinvaziri [Sun, 11 Jan 2026 00:13:54 +0000 (16:13 -0800)] 
Fixed UB in adler32_avx512_copy storemask when len is 0.

12 days agoRename and reorder properties in hash_test.
Nathan Moinvaziri [Thu, 8 Jan 2026 19:02:08 +0000 (11:02 -0800)] 
Rename and reorder properties in hash_test.

12 days agoMerge adler32 and crc32 hash test strings.
Nathan Moinvaziri [Sat, 10 Jan 2026 18:29:05 +0000 (10:29 -0800)] 
Merge adler32 and crc32 hash test strings.

12 days agoAdd adler32_copy unit test
Nathan Moinvaziri [Wed, 7 Jan 2026 08:39:25 +0000 (00:39 -0800)] 
Add adler32_copy unit test

12 days agoSeparate adler32 test strings into their own source header
Nathan Moinvaziri [Wed, 7 Jan 2026 08:34:02 +0000 (00:34 -0800)] 
Separate adler32 test strings into their own source header

2 weeks agoSimplify the gzread.c name mangling workaround by splitting out just
Hans Kristian Rosbach [Sat, 10 Jan 2026 21:08:13 +0000 (22:08 +0100)] 
Simplify the gzread.c name mangling workaround by splitting out just
the workaround into a separate file. This allows us to browse gzread.c
with code highlighting and it allows codecov to record coverage data.

2 weeks agoDon't count tests/tools towards overall project coverage.
Hans Kristian Rosbach [Sat, 10 Jan 2026 22:32:49 +0000 (23:32 +0100)] 
Don't count tests/tools towards overall project coverage.
Set project coverage target to 80%.
Loosen project coverage reduction threshold to 10% to avoid failing coverage
tests when CI happens to run on hosts that do not support AVX-512.
Set component coverage reduction thresholds low, except for common and
arch_x86 that need higher limits due to the AVX-512 CI hosts.

2 weeks agoUpdate to GoogleTest 1.16.0.
Vladislav Shchapov [Fri, 9 Jan 2026 20:02:11 +0000 (01:02 +0500)] 
Update to GoogleTest 1.16.0.
This requires minimum CMake 3.13 and C++14, this matches nicely with zlib-ng 2.3.x requirements.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2 weeks agoReplace deprecated FetchContent_Populate with FetchContent_MakeAvailable
Vladislav Shchapov [Fri, 9 Jan 2026 19:47:20 +0000 (00:47 +0500)] 
Replace deprecated FetchContent_Populate with FetchContent_MakeAvailable

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2 weeks agoRemove always TRUE or FALSE CMake version checks
Vladislav Shchapov [Fri, 9 Jan 2026 19:01:03 +0000 (00:01 +0500)] 
Remove always TRUE or FALSE CMake version checks

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2 weeks agoSet minimum and upper compatible CMake version
Vladislav Shchapov [Fri, 9 Jan 2026 18:55:13 +0000 (23:55 +0500)] 
Set minimum and upper compatible CMake version

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2 weeks agodeflateinit was still checking for failed secondary allocations, this is
Hans Kristian Rosbach [Sat, 10 Jan 2026 20:31:06 +0000 (21:31 +0100)] 
deflateinit was still checking for failed secondary allocations, this is
no longer necessary as we only allocate a single buffer and has already
been checked for failure before this.

2 weeks agoExplicitly define the __SSE__ and __SSE2__ macros, since starting with MSVS 2012...
Vladislav Shchapov [Thu, 8 Jan 2026 19:27:55 +0000 (00:27 +0500)] 
Explicitly define the __SSE__ and __SSE2__ macros, since starting with MSVS 2012 the default instruction set is SSE2

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2 weeks agoCleanup preprocessor indents in fallback_builtins.
Nathan Moinvaziri [Thu, 8 Jan 2026 19:13:00 +0000 (11:13 -0800)] 
Cleanup preprocessor indents in fallback_builtins.

2 weeks agoAdd missing compiler preprocessor defines for 32-bit architectures
Nathan Moinvaziri [Thu, 8 Jan 2026 00:47:06 +0000 (16:47 -0800)] 
Add missing compiler preprocessor defines for 32-bit architectures

2 weeks agoAdd ARCH defines to code to make the ifdef logic easier
Nathan Moinvaziri [Thu, 8 Jan 2026 00:50:11 +0000 (16:50 -0800)] 
Add ARCH defines to code to make the ifdef logic easier

2 weeks agoAdd ARCH_32BIT and ARCH_64BIT defines for better code clarity
Nathan Moinvaziri [Thu, 8 Jan 2026 00:47:54 +0000 (16:47 -0800)] 
Add ARCH_32BIT and ARCH_64BIT defines for better code clarity

2 weeks agoIgnore benchmarks in codecov coverage reports.
Hans Kristian Rosbach [Sat, 10 Jan 2026 12:54:23 +0000 (13:54 +0100)] 
Ignore benchmarks in codecov coverage reports.
We already avoid collecting coverage when running benchmarks because the
benchmarks do not perform most error checking, thus even though they might
code increase coverage, they won't detect most bugs unless it actually
crashes the whole benchmark.

2 weeks agoAdd missing resets of compiler flags after completing each test,
Hans Kristian Rosbach [Fri, 9 Jan 2026 14:17:58 +0000 (15:17 +0100)] 
Add missing resets of compiler flags after completing each test,
avoids the next test inheriting the previous flags.