Fix PR#20471. Add a cast in __align_it to ensure that the bit twiddling is done at...
authorMarshall Clow <mclow.lists@gmail.com>
Mon, 28 Jul 2014 15:02:42 +0000 (15:02 +0000)
committerMarshall Clow <mclow.lists@gmail.com>
Mon, 28 Jul 2014 15:02:42 +0000 (15:02 +0000)
llvm-svn: 214088

libcxx/include/vector

index 1e638b9..5d41bd1 100644 (file)
@@ -2352,7 +2352,7 @@ private:
     void deallocate() _NOEXCEPT;
     _LIBCPP_INLINE_VISIBILITY
     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 void __construct_at_end(size_type __n, bool __x);
     template <class _ForwardIterator>