mirror of https://git.tukaani.org/xz.git
liblzma: Suppress -Wunused-function warning.
Clang 16.0.0 and earlier have a bug that the ifunc resolver function triggers the -Wunused-function warning. The resolver function is static and only "used" by the __attribute__((__ifunc()__)). At this time, the bug is still unresolved, but has been reported: https://github.com/llvm/llvm-project/issues/63957 This is not a problem in GCC.
This commit is contained in:
parent
43845fa70f
commit
0184d344fa
|
@ -441,6 +441,13 @@ is_clmul_supported(void)
|
|||
typedef uint64_t (*crc64_func_type)(
|
||||
const uint8_t *buf, size_t size, uint64_t crc);
|
||||
|
||||
// Clang 16.0.0 and older has a bug where it marks the ifunc resolver
|
||||
// function as unused since it is static and never used outside of
|
||||
// __attribute__((__ifunc__())).
|
||||
#if defined(HAVE_FUNC_ATTRIBUTE_IFUNC) && defined(__clang__)
|
||||
# pragma GCC diagnostic push
|
||||
# pragma GCC diagnostic ignored "-Wunused-function"
|
||||
#endif
|
||||
|
||||
static crc64_func_type
|
||||
crc64_resolve(void)
|
||||
|
@ -448,6 +455,9 @@ crc64_resolve(void)
|
|||
return is_clmul_supported() ? &crc64_clmul : &crc64_generic;
|
||||
}
|
||||
|
||||
#if defined(HAVE_FUNC_ATTRIBUTE_IFUNC) && defined(__clang__)
|
||||
# pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_FUNC_ATTRIBUTE_IFUNC
|
||||
|
||||
|
|
Loading…
Reference in New Issue