Protect more algorithms from overloaded comma operators
commita6ed82d5a6dd345e84e26d2a1f12b4cf46f72680
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Oct 2017 23:50:40 +0000 (26 23:50 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Oct 2017 23:50:40 +0000 (26 23:50 +0000)
tree102e630a448b23221458eabdc5ea069db19503fc
parent229846311b8a883ca7ec9ada49fedc3e813e41fa
Protect more algorithms from overloaded comma operators

* include/bits/stl_algo.h (__find_if_not_n, generate_n): Cast to void
to ensure overloaded comma not used.
* include/bits/stl_algobase.h (__fill_n_a, equal): Likewise.
* include/bits/stl_uninitialized.h (__uninitialized_fill_n)
(__uninitialized_fill_n_a, __uninitialized_default_n_1)
(__uninitialized_default_n_a, __uninitialized_copy_n)
(__uninitialized_copy_n_pair): Likewise
* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
Use test iterator wrappers with overloaded comma operator.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/25_algorithms/generate_n/1.cc: New test.
* testsuite/25_algorithms/stable_partition/1.cc: New test.
* testsuite/util/testsuite_iterators.h (operator,): Add deleted
non-member comma operator with iterator wrappers as right operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254128 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/include/bits/stl_uninitialized.h
libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc
libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
libstdc++-v3/testsuite/25_algorithms/generate_n/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
libstdc++-v3/testsuite/util/testsuite_iterators.h