mirror of
https://github.com/facebook/zstd.git
synced 2025-07-29 11:21:22 +03:00
[linux-kernel] Add test that checks the ifdef hardwiring
This commit is contained in:
@ -33,7 +33,7 @@ libzstd:
|
|||||||
-DXXH_STATIC_LINKING_ONLY \
|
-DXXH_STATIC_LINKING_ONLY \
|
||||||
-DMEM_FORCE_MEMORY_ACCESS=0 \
|
-DMEM_FORCE_MEMORY_ACCESS=0 \
|
||||||
-D__GNUC__ \
|
-D__GNUC__ \
|
||||||
-USTATIC_BMI2 \
|
-DSTATIC_BMI2=0 \
|
||||||
-UZSTD_NO_INLINE \
|
-UZSTD_NO_INLINE \
|
||||||
-UNO_PREFETCH \
|
-UNO_PREFETCH \
|
||||||
-U__cplusplus \
|
-U__cplusplus \
|
||||||
|
@ -19,6 +19,7 @@ test: test.c liblinuxzstd.a
|
|||||||
$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) $^ -o $@
|
$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) $^ -o $@
|
||||||
|
|
||||||
run-test: test
|
run-test: test
|
||||||
|
./macro-test.sh
|
||||||
./test
|
./test
|
||||||
|
|
||||||
.PHONY:
|
.PHONY:
|
||||||
|
44
contrib/linux-kernel/test/macro-test.sh
Executable file
44
contrib/linux-kernel/test/macro-test.sh
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
||||||
|
INCLUDE_DIR="$SCRIPT_DIR/../linux/include"
|
||||||
|
LIB_DIR="$SCRIPT_DIR/../linux/lib"
|
||||||
|
|
||||||
|
|
||||||
|
print() {
|
||||||
|
printf '%b' "${*}"
|
||||||
|
}
|
||||||
|
|
||||||
|
println() {
|
||||||
|
printf '%b\n' "${*}"
|
||||||
|
}
|
||||||
|
|
||||||
|
die() {
|
||||||
|
println "$@" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
test_not_present() {
|
||||||
|
print "Testing that '$1' is not present... "
|
||||||
|
grep -r $1 "$INCLUDE_DIR" "$LIB_DIR" && die "Fail!"
|
||||||
|
println "Okay"
|
||||||
|
}
|
||||||
|
|
||||||
|
println "This test checks that the macro removal process worked as expected"
|
||||||
|
println "If this test fails, then freestanding.py wasn't able to remove one of these"
|
||||||
|
println "macros from the source code completely. You'll either need to rewrite the check"
|
||||||
|
println "or improve freestanding.py."
|
||||||
|
println ""
|
||||||
|
|
||||||
|
test_not_present "ZSTD_NO_INTRINSICS"
|
||||||
|
test_not_present "ZSTD_NO_UNUSED_FUNCTIONS"
|
||||||
|
test_not_present "ZSTD_LEGACY_SUPPORT"
|
||||||
|
test_not_present "STATIC_BMI2"
|
||||||
|
test_not_present "ZSTD_NO_INLINE"
|
||||||
|
test_not_present "ZSTD_DLL_EXPORT"
|
||||||
|
test_not_present "ZSTD_DLL_IMPORT"
|
||||||
|
test_not_present "__ICCARM__"
|
||||||
|
test_not_present "_MSC_VER"
|
||||||
|
test_not_present "_WIN32"
|
@ -337,7 +337,7 @@ MEM_STATIC FORCE_INLINE_ATTR size_t BIT_getMiddleBits(size_t bitContainer, U32 c
|
|||||||
|
|
||||||
MEM_STATIC FORCE_INLINE_ATTR size_t BIT_getLowerBits(size_t bitContainer, U32 const nbBits)
|
MEM_STATIC FORCE_INLINE_ATTR size_t BIT_getLowerBits(size_t bitContainer, U32 const nbBits)
|
||||||
{
|
{
|
||||||
#if STATIC_BMI2
|
#if defined(STATIC_BMI2) && STATIC_BMI2 == 1
|
||||||
return _bzhi_u64(bitContainer, nbBits);
|
return _bzhi_u64(bitContainer, nbBits);
|
||||||
#else
|
#else
|
||||||
assert(nbBits < BIT_MASK_SIZE);
|
assert(nbBits < BIT_MASK_SIZE);
|
||||||
|
Reference in New Issue
Block a user