From: Marshall Clow Date: Thu, 30 Jul 2015 18:26:34 +0000 (+0000) Subject: Fix PR#24267. use numeric_limits::max instead of ~0 for 'all ones', since that might... X-Git-Tag: studio-1.4~1181 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6438ca12a72efe147e74b6ea4698f696f52b969;p=platform%2Fupstream%2Fllvm.git Fix PR#24267. use numeric_limits::max instead of ~0 for 'all ones', since that might give wrong answers on a 1's complement machine. llvm-svn: 243674 --- diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm index 7b0c53e..c1635fc 100644 --- a/libcxx/include/algorithm +++ b/libcxx/include/algorithm @@ -3037,7 +3037,7 @@ uniform_int_distribution<_IntType>::operator()(_URNG& __g, const param_type& __p if (_Rp == 0) return static_cast(_Eng(__g, _Dt)()); size_t __w = _Dt - __clz(_Rp) - 1; - if ((_Rp & (_UIntType(~0) >> (_Dt - __w))) != 0) + if ((_Rp & (std::numeric_limits<_UIntType>::max() >> (_Dt - __w))) != 0) ++__w; _Eng __e(__g, __w); _UIntType __u;