Author: danalbert Date: Mon Jan 8 13:49:12 2018 New Revision: 322031 URL: http://llvm.org/viewvc/llvm-project?rev=322031&view=rev Log: Make rehash(0) work with ubsan's unsigned-integer-overflow.
Reviewers: mclow.lists, EricWF Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D40743 Modified: libcxx/trunk/include/__hash_table Modified: libcxx/trunk/include/__hash_table URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__hash_table?rev=322031&r1=322030&r2=322031&view=diff ============================================================================== --- libcxx/trunk/include/__hash_table (original) +++ libcxx/trunk/include/__hash_table Mon Jan 8 13:49:12 2018 @@ -2136,7 +2136,7 @@ template <class _Tp, class _Hash, class void __hash_table<_Tp, _Hash, _Equal, _Alloc>::rehash(size_type __n) { - if (__n == 1) + if (__n < 2) __n = 2; else if (__n & (__n - 1)) __n = __next_prime(__n); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits