liblzma: Avoid compiler warning without creating extra symbol.

When the generic fast crc64 method is used, then we omit
lzma_crc64_table[][].

The C standards don't allow an empty translation unit which can be
avoided by declaring something, without exporting any symbols.
This commit is contained in:
Jia Tan 2023-09-27 00:02:11 +08:00
parent dce95a593e
commit 1bce6fe483
1 changed files with 2 additions and 4 deletions

View File

@ -18,10 +18,8 @@
#if (defined(__x86_64__) && defined(__SSSE3__) \ #if (defined(__x86_64__) && defined(__SSSE3__) \
&& defined(__SSE4_1__) && defined(__PCLMUL__)) \ && defined(__SSE4_1__) && defined(__PCLMUL__)) \
|| (defined(__e2k__) && __iset__ >= 6) || (defined(__e2k__) && __iset__ >= 6)
// No table needed but something has to be exported to keep some toolchains // No table needed. Use a typedef to avoid an empty translation unit.
// happy. Also use a declaration to silence compiler warnings. typedef void lzma_crc64_dummy;
extern const char lzma_crc64_dummy;
const char lzma_crc64_dummy;
#else #else
// Having the declaration here silences clang -Wmissing-variable-declarations. // Having the declaration here silences clang -Wmissing-variable-declarations.