OSDN Git Service

2007-05-31 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 May 2007 11:13:57 +0000 (11:13 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 May 2007 11:13:57 +0000 (11:13 +0000)
commit1c7f9d36514f57ce047a4c85038b4fa1376af82a
tree94d2132a022b2a210e815336da045b2165e41d13
parent8b79db4e97bcbd3edf1d2b8de23019536ba3ddfe
2007-05-31  Paolo Carlini  <pcarlini@suse.de>

PR c++/32158 (libstdc++ bits)
* include/bits/stl_uninitialized.h (__uninitialized_copy_aux,
__uninitialized_fill_aux, __uninitialized_fill_n_aux):
Remove.
(struct __uninitialized_copy, struct __uninitialized_fill,
struct __uninitialized_fill_n): Add.
(uninitialized_copy, uninitialized_fill, uninitialized_fill_n):
Adjust.
* testsuite/20_util/specialized_algorithms/32158.cc: New.

* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator)): Robustify vs non-POD input.

* include/bits/stl_vector.h (_M_fill_initialize): New.
(vector(size_type, const value_type&, const allocator_type&),
_M_initialize_dispatch(_Integer, _Integer, __true_type)): Use it.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125223 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_uninitialized.h
libstdc++-v3/include/bits/stl_vector.h
libstdc++-v3/testsuite/20_util/specialized_algorithms/32158.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc