summaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2016-02-03 15:42:26 -0800
committerDerek Schuff <dschuff@chromium.org>2016-02-03 15:42:26 -0800
commit9a79c2f7b83fae35eef47ca307d834ba5a632689 (patch)
tree1c491f59b9e534491361098b5a305362543f0468 /src/support
parent26d5aa903a1f5908e26e63095fd92749e1bc9544 (diff)
downloadbinaryen-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.h6
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));
}