PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
authorEd Smith-Rowland <3dw4rd@verizon.net>
Tue, 29 Jul 2014 14:56:45 +0000 (14:56 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Tue, 29 Jul 2014 14:56:45 +0000 (14:56 +0000)
commit1c4ff014fe1f6b440b4df75ca6f419ebc00fcac0
treec98e05a6bf49ab42d191c28ae725ebc36e2debb1
parentf3691f465e062f2380c0d9a6018951030fc8a2a3
PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>

2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>

PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
* include/bits/random.h (_Adaptor): static_assert for non floating-point
result type.
* include/bits/random.tcc (generate_canonical): Ditto.
* include/ext/random.tcc (hypergeometric_distribution::operator()):
Use double as a rng result type.
* testsuite/26_numerics/random/pr60037-neg.cc: New.
* testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.

From-SVN: r213207
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/include/ext/random.tcc
libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/pr60037.cc [new file with mode: 0644]