aboutsummaryrefslogtreecommitdiff
path: root/COPYING3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-05-15 16:36:46 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-05-15 16:36:46 +0100
commit5a7960da41fec497eb4203d71215bcb1077207a9 (patch)
tree459507cfc4f9ff9bc0b70712e1db9fd0ce037432 /COPYING3
parentc3b61fdadd7ffc9ef5c613c2df0ff4edf83ad0fc (diff)
downloadgcc-5a7960da41fec497eb4203d71215bcb1077207a9.zip
gcc-5a7960da41fec497eb4203d71215bcb1077207a9.tar.gz
gcc-5a7960da41fec497eb4203d71215bcb1077207a9.tar.bz2
PR libstdc++/85749 constrain seed sequences for random number engines
Constrain constructors and member functions of random number engines so that functions taking seed sequences can only be called with types that meet the seed sequence requirements. PR libstdc++/85749 * include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper. (linear_congruential_engine, mersenne_twister_engine) (subtract_with_carry_engine, discard_block_engine) (independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to constrain function templates taking seed sequences. * include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&)) (mersenne_twister_engine::seed(_Sseq&)) (subtract_with_carry_engine::seed(_Sseq&)): Change return types to match declarations. * include/ext/random (simd_fast_mersenne_twister_engine): Use __is_seed_seq to constrain function templates taking seed sequences. * include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed): Change return type to match declaration. * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ seed_seq2.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/cons/ seed_seq2.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ seed_seq2.cc: New. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno. * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed_seq2.cc: New. * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/ seed_seq2.cc: New. From-SVN: r260263
Diffstat (limited to 'COPYING3')
0 files changed, 0 insertions, 0 deletions