PR libstdc++/58982
commitb06ebed55304d3344917a8b249cab1955a9e7d23
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Nov 2013 12:38:00 +0000 (9 12:38 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Nov 2013 12:38:00 +0000 (9 12:38 +0000)
tree02a44fb906ee33f23c3474e42a2d8281b25b50ed
parent5f35dd0e122d3aa3cccd4a32c912c25f60064ee6
PR libstdc++/58982
* include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
to prevent using memmove() on non-assignable types.
(__copy_move_backward::__copy_move_b): Likewise.
* include/bits/stl_uninitialized.h (uninitialized_copy
uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
__uninitialized_default, __uninitialized_default_n): Check for
assignable as well as trivial.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
58982.cc: New.
* testsuite/25_algorithms/copy/58982.cc: New.
* testsuite/25_algorithms/copy_n/58982.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204615 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/include/bits/stl_uninitialized.h
libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy/58982.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/copy_n/58982.cc [new file with mode: 0644]