diff options
author | Derek Schuff <dschuff@chromium.org> | 2016-02-03 15:42:26 -0800 |
---|---|---|
committer | Derek Schuff <dschuff@chromium.org> | 2016-02-03 15:42:26 -0800 |
commit | 9a79c2f7b83fae35eef47ca307d834ba5a632689 (patch) | |
tree | 1c491f59b9e534491361098b5a305362543f0468 /src/support | |
parent | 26d5aa903a1f5908e26e63095fd92749e1bc9544 (diff) | |
download | binaryen-9a79c2f7b83fae35eef47ca307d834ba5a632689.tar.gz binaryen-9a79c2f7b83fae35eef47ca307d834ba5a632689.tar.bz2 binaryen-9a79c2f7b83fae35eef47ca307d834ba5a632689.zip |
De-inline signed wrapper templates for bit manipulation functions
This fixes the clang build.
Diffstat (limited to 'src/support')
-rw-r--r-- | src/support/bits.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/support/bits.h b/src/support/bits.h index 3049a2cf1..bbafb29d4 100644 --- a/src/support/bits.h +++ b/src/support/bits.h @@ -53,15 +53,15 @@ extern template int CountLeadingZeroes(uint64_t); // Convenience signed -> unsigned. It usually doesn't make much sense to use bit // functions on signed types. template <typename T> -inline int PopCount(T v) { +int PopCount(T v) { return PopCount(typename std::make_unsigned<T>::type(v)); } template <typename T> -inline int CountTrailingZeroes(T v) { +int CountTrailingZeroes(T v) { return CountTrailingZeroes(typename std::make_unsigned<T>::type(v)); } template <typename T> -inline int CountLeadingZeroes(T v) { +int CountLeadingZeroes(T v) { return CountLeadingZeroes(typename std::make_unsigned<T>::type(v)); } |