]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR libstdc++/52699 (infinite loop generated with -O0)
authorPaolo Carlini <paolo.carlini@oracle.com>
Sat, 14 Apr 2012 22:33:22 +0000 (22:33 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sat, 14 Apr 2012 22:33:22 +0000 (22:33 +0000)
commitf84ca6e7cefa1c2fdcfc1cc37c6bbbaa4877154f
tree8b420cece30584d28c1e8bb54f8329b5dfb328c3
parent608dccd7ab68e19bcd61caad1161be7d8db10056
re PR libstdc++/52699 (infinite loop generated with -O0)

2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/52699
* include/bits/random.tcc (independent_bits_engine<>::operator()())
Avoid various overflows; use common_type on result_type and
_RandomNumberEngine::result_type; avoid floating point computations;
other smaller tweaks.

* include/bits/random.tcc (uniform_int_distribution<>::operator())
Use common_type; assume _UniformRandomNumberGenerator::result_type
unsigned; tidy.

* include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
__lg(unsigned long long)): Add.

From-SVN: r186456
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/include/bits/stl_algobase.h