Z. Liu
cd8ca9d92e
lib/zstd.h: move pragma before static
...
otherwise will cause dev-python/zstandard build failed when compiling with
clang as reported at https://bugs.gentoo.org/950259
the root cause is pycparser, which is unfixed since reported 2.5 years
ago, :(
Signed-off-by: Z. Liu <zhixu.liu@gmail.com>
2025-03-20 03:40:42 +00:00
Yann Collet
4d53e27144
removed OpenBSD specificity
2025-03-12 09:55:14 -07:00
Yann Collet
ddcb41a282
updated documentation
2025-03-11 14:10:35 -07:00
Yann Collet
a9b8fef2e8
add support for C11 Annex K qsort_s()
...
standard defined re-entrant variant of qsort().
Unfortunately, Annex K is optional.
2025-03-11 14:10:35 -07:00
Yann Collet
dcf675886b
re-design qsort() selection in cover
...
centralizes auto detection tests,
then distribute the outcome in all the places where it's active.
2025-03-11 14:10:35 -07:00
Yann Collet
51b6e79f65
fix #4312
...
and upgraded the test so that it would fail, both at compile time and at run time, without the fix
2025-03-11 14:10:35 -07:00
Nick Terrell
68dfd14a8c
[linux] Opt out of row based match finder for the kernel
...
The row based match finder is slower without SIMD. We used to detect the
presence of SIMD to set the lower bound to 17, but that breaks
determinism. Instead, specifically opt into it for the kernel, because
it is one of the rare cases that doesn't have SIMD support.
2025-03-11 16:18:59 -04:00
Yann Collet
2ff87aefac
fix FreeBSD
...
use an alias instead of a function
also: added more traces and updated version nb to v1.5.8
2025-03-10 19:04:41 -07:00
Nick Terrell
0de4991942
Add a method for checking if ZSTD was compiled with flags that impact determinism
2025-03-07 10:31:19 -05:00
Nick Terrell
190a620974
[zstd] Remove global variables in dictBuilder
...
D50949782 fixed a race condition updating `g_displayLevel` by disabling display.
Instead of disabling display, delete the global variable and always "capture" a local `displayLevel` variable.
This also fixes `DISPLAYUPDATE()` by requiring the user to pass in the last update time as the first parameter.
2025-03-05 10:35:01 -05:00
Nick Terrell
d5b84f5a27
[zstd] Backport D49756856
2025-03-05 10:35:01 -05:00
Yann Collet
4e1723a7e4
fixed the script so that it fails when a copy fails
...
and also: fix the list of files, as `zdict.h` was incorrectly set.
2025-02-27 16:18:44 -08:00
Yann Collet
7340657c6f
update build_package.bat by using a subrouting
2025-02-27 16:18:44 -08:00
Yann Collet
e94e09dd7b
ensure that a copy error results in the task failing clearly
...
error code != 0, red status
checked by intentionally inserting an error in another run
2025-02-27 16:18:44 -08:00
Yann Collet
a1a5154b69
Merge pull request #4312 from Cyan4973/musl_ci
...
introduce ZSTD_USE_C90_QSORT
2025-02-27 14:27:21 -08:00
Yann Collet
22b2fd2517
Merge pull request #4317 from hirohira9119/fix-function-signature
...
Fix function signature mismatch for ZSTD_convertBlockSequences
2025-02-27 13:03:03 -08:00
Yann Collet
d6fbaaac99
Merge pull request #4320 from sebres/patch-1
...
build_package.bat: fix path to zstd_errors.h, avoid silently ignore of the errors if build failed
2025-02-26 15:15:03 -08:00
Yann Collet
dca9791862
fixed minor C++ compat warnings
2025-02-26 14:30:29 -08:00
Sergey G. Brester
f0d3173203
build_package.bat: don't swallow the error(s) by copy, exit with error if failed somewhere
2025-02-26 20:02:48 +01:00
Sergey G. Brester
97bc43cc68
build_package.bat: fix path to zstd_errors.h (it is in lib not in lib/common)
...
closes gh-4318
2025-02-26 19:27:44 +01:00
Yann Collet
db2d205ada
fixed -Wconversion for lib/decompress/zstd_decompress_block.c
2025-02-26 10:01:05 -08:00
Yann Collet
2413f17322
fixed -Wconversion for cover.c
2025-02-26 08:33:01 -08:00
Yann Collet
8ffa27d93b
fixed -Wconversion for divsufsort.c
2025-02-26 08:12:11 -08:00
Yann Collet
e635221f1b
fixed -Wconversion for zdict
2025-02-26 08:07:51 -08:00
Yann Collet
30281d889f
fix conversion warning
2025-02-26 07:41:34 -08:00
hirohira
2840631dc1
Fix function signature mismatch for ZSTD_convertBlockSequences
2025-02-26 08:23:48 +09:00
Yann Collet
fd5498a179
document ZSTD_USE_C90_QSORT
2025-02-21 12:48:26 -08:00
Yann Collet
ebfa660b82
introduce ZSTD_USE_C90_QSORT
2025-02-21 11:36:30 -08:00
Yann Collet
d2c562b803
update hrlog comment
2025-02-10 10:48:56 -08:00
Yann Collet
67fad95f79
derive hashratelog from hashlog when only hashlog is set
2025-02-10 10:46:37 -08:00
Yann Collet
09d7e34ed8
adjust mml
2025-02-10 10:46:37 -08:00
Yann Collet
d5e4698267
fix boundary condition
2025-02-10 10:46:37 -08:00
Yann Collet
72406b71c3
update hrlog rule to favor compression ratio a bit more at low levels
2025-02-10 10:46:37 -08:00
Yann Collet
f26cc54f37
dynamic bucket sizes
2025-02-10 10:46:37 -08:00
Yann Collet
4609a40b89
dynamically adjust hratelog and ldmml based on strategy
2025-02-10 10:46:37 -08:00
Yann Collet
23e5f80390
Revert "pass dictionary loading method as parameter"
...
This reverts commit 821fc567f93a415e9fbe856271ccd452ee7acf07.
2025-02-05 18:47:26 -08:00
Yann Collet
c7cd7dc04b
better MT fluidity
...
--patch-from no longer blocked on first job dictionary loading
2025-02-05 18:42:00 -08:00
Yann Collet
f11bd19c7f
ensure cdict is properly reset to NULL
2025-02-05 18:42:00 -08:00
Yann Collet
7406d2b6eb
skips the need to create a temporary cdict for --patch-from
...
thus saving a bit of memory and a little bit of cpu time
2025-02-05 18:42:00 -08:00
Yann Collet
220abe6da8
reduced memory usage
...
by avoiding to duplicate in memory
a dictionary that was passed by reference.
2025-02-05 18:42:00 -08:00
Yann Collet
85a44b233a
always free .cdictLocal
2025-02-05 18:41:59 -08:00
Yann Collet
e637fc64c5
update type naming convention
2025-02-05 18:41:59 -08:00
Yann Collet
34ba14437a
minor boundary change
...
improves compression ratio at low levels
2025-02-05 18:41:59 -08:00
Yann Collet
ffa66a6971
fix speed of --patch-from at high compression mode
2025-02-05 18:41:59 -08:00
Yann Collet
e117d79e22
fix minor alignment warning
2025-02-05 16:13:58 -08:00
Yann Collet
c39424ea87
fix minor alignment warning
...
this is a prototype definition error:
`_mm_storeu_si128()` should accept a `void*` pointer,
since it explicitly states that it accepts unaligned addresses
yet requiring a `__m128i*` tells otherwise, and requires the compiler the enforce this alignment.
2025-02-05 16:11:54 -08:00
Yann Collet
32dff04d32
fix one minor alignment warning
...
seems like a prototype interface error:
input parameter should have been `const void*`,
since the documentation is explicit that input doesn't have to be aligned,
but `const __m256i*` makes the compiler enforce it.
2025-02-05 15:46:44 -08:00
Yann Collet
54e9d46db4
added __clang__ to compiler-specific alignment attribute
...
when clang is used within msvc, `__GNUC__` isn't defined,
so testing `__clang__` explicitly is required.
2025-02-05 13:48:24 -08:00
Yann Collet
bcf404c0ab
changed C11 keyword to _Alignas
...
so that it doesn't depend on #include
2025-02-05 13:25:14 -08:00
Yann Collet
26a2b5d5df
Merge pull request #4265 from pps83/static-bmi2-check
...
Check `STATIC_BMI2` instead of `STATIC_BMI2 == 1`
2025-01-31 14:39:20 -08:00