diff options
Diffstat (limited to 'contrib/libstdc++/include/tr1/random')
-rw-r--r-- | contrib/libstdc++/include/tr1/random | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/contrib/libstdc++/include/tr1/random b/contrib/libstdc++/include/tr1/random index 56ea508575d3..c97f16d2a2d7 100644 --- a/contrib/libstdc++/include/tr1/random +++ b/contrib/libstdc++/include/tr1/random @@ -1618,7 +1618,11 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) result_type _M_call(_UniformRandomNumberGenerator& __urng, result_type __min, result_type __max, true_type) - { return result_type(__urng() % (__max - __min + 1)) + __min; } + { + typedef typename __gnu_cxx::__add_unsigned<typename + _UniformRandomNumberGenerator::result_type>::__type __utype; + return result_type(__utype(__urng()) % (__max - __min + 1)) + __min; + } template<typename _UniformRandomNumberGenerator> result_type |