PR c++/32158 (libstdc++ bits)
authorPaolo Carlini <pcarlini@suse.de>
Thu, 31 May 2007 11:13:57 +0000 (11:13 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 31 May 2007 11:13:57 +0000 (11:13 +0000)
commitf4c5578ffbdaf421e70882c6cafc63f32faa30d1
tree94d2132a022b2a210e815336da045b2165e41d13
parentb1ae209ca96f6fb9a32c56212c899d5bab399647
PR c++/32158 (libstdc++ bits)

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.

From-SVN: r125223
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