diff --git a/contrib/ethereum/libethash/bit_manipulation.h b/contrib/ethereum/libethash/bit_manipulation.h index 3fa22948..5c7baa79 100644 --- a/contrib/ethereum/libethash/bit_manipulation.h +++ b/contrib/ethereum/libethash/bit_manipulation.h @@ -9,6 +9,7 @@ #include "support/attributes.h" #include +#include #ifdef __cplusplus extern "C" { @@ -39,7 +40,7 @@ static inline uint32_t clz32(uint32_t x) static inline uint32_t popcount32(uint32_t x) { - return (uint32_t)__builtin_popcount(x); + return std::bitset<32>(x).count(); } static inline uint32_t mul_hi32(uint32_t x, uint32_t y)