From e1f8443db049b60a01139317aff0dccdb16b7ef2 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Wed, 29 Mar 2023 09:03:15 +0200 Subject: [PATCH] AK: Fix build with Xcode 14.2's clang Else: AK/BitStream.h:218:24: error: inline function '...::lsb_mask' is not defined [-Werror,-Wundefined-inline] static constexpr T lsb_mask(T bits) ^ --- AK/BitStream.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/AK/BitStream.h b/AK/BitStream.h index 3c7ef8ba0ba..df7bdd1f5fe 100644 --- a/AK/BitStream.h +++ b/AK/BitStream.h @@ -120,6 +120,15 @@ private: /// A stream wrapper class that allows you to read arbitrary amounts of bits /// in little-endian order from another stream. class LittleEndianInputBitStream : public Stream { + template + static constexpr T lsb_mask(T bits) + { + constexpr auto max = NumericLimits::max(); + constexpr auto digits = NumericLimits::digits(); + + return bits == 0 ? 0 : max >> (digits - bits); + } + public: explicit LittleEndianInputBitStream(MaybeOwned stream) : m_stream(move(stream)) @@ -214,15 +223,6 @@ public: private: using BufferType = u64; - template - static constexpr T lsb_mask(T bits) - { - constexpr auto max = NumericLimits::max(); - constexpr auto digits = NumericLimits::digits(); - - return bits == 0 ? 0 : max >> (digits - bits); - } - ALWAYS_INLINE BufferType lsb_aligned_buffer() const { return m_bit_offset == bit_buffer_size ? 0 : m_bit_buffer >> m_bit_offset;