Fix PR#20471. Add a cast in __align_it to ensure that the bit twiddling is done at the correct size. A better solution, IMHO, would be to declare vector<bool>::__bits_per_word as 'size_type', rather than 'unsigned', but that's a possible ABI change.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@214088 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0c6d1a88de
commit
0d1965d8c2
@ -2352,7 +2352,7 @@ private:
|
|||||||
void deallocate() _NOEXCEPT;
|
void deallocate() _NOEXCEPT;
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
static size_type __align_it(size_type __new_size) _NOEXCEPT
|
static size_type __align_it(size_type __new_size) _NOEXCEPT
|
||||||
{return __new_size + (__bits_per_word-1) & ~(__bits_per_word-1);};
|
{return __new_size + (__bits_per_word-1) & ~((size_type)__bits_per_word-1);};
|
||||||
_LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const;
|
_LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const;
|
||||||
_LIBCPP_INLINE_VISIBILITY void __construct_at_end(size_type __n, bool __x);
|
_LIBCPP_INLINE_VISIBILITY void __construct_at_end(size_type __n, bool __x);
|
||||||
template <class _ForwardIterator>
|
template <class _ForwardIterator>
|
||||||
|
Loading…
Reference in New Issue
Block a user