diff --git a/include/bitset b/include/bitset index e4c01e6..7ad332c 100644 --- a/include/bitset +++ b/include/bitset @@ -150,6 +150,10 @@ _LIBCPP_PUSH_MACROS #include <__undef_macros> +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +#pragma GCC system_header +#endif + _LIBCPP_BEGIN_NAMESPACE_STD template @@ -289,9 +293,9 @@ inline _LIBCPP_CONSTEXPR __bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT #ifndef _LIBCPP_CXX03_LANG -#if __SIZEOF_SIZE_T__ == 8 +#if SIZE_MAX == 0xffffffffffffffffULL : __first_{__v} -#elif __SIZEOF_SIZE_T__ == 4 +#elif SIZE_MAX == 0xffffffffULL : __first_{static_cast<__storage_type>(__v), _Size >= 2 * __bits_per_word ? static_cast<__storage_type>(__v >> __bits_per_word) : static_cast<__storage_type>((__v >> __bits_per_word) & (__storage_type(1) << (_Size - __bits_per_word)) - 1)}