Fix clang build error in bitops.c #1794
Merged
+3
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In a recent PR #1741 the new header
<immintrin.h>
was added, which transitively includes<mm_malloc.h>
header, where a function called_mm_malloc(...)
makes a call to themalloc
function.The Valkey server code explicitly sets the malloc function as a deprecated function in
server.h
:The Valkey server code is then compiled with
-Werror=deprecated-declarations
option to detect the uses of deprecated functions likemalloc
, and due to this, when thebitops.c
file is compiled with Clang, fails with the following error:There is a difference in behavior though, between GCC and Clang. The
bitops.c
file compiles successfully with GCC.I don't know exactly why GCC does not issue a warning in this case. My best guess is that GCC does not issue warnings from code of the standard library.
To fix the build error in clang, we explicitly use
pragma
macro to tell clang to ignore deprecated declarations warnings inbitops.c
.