stl_vector.h: Use new allocator model in C++0x mode.
[gcc.git] / libstdc++-v3 / ChangeLog
index 97d4b993fe0edd19f9721ebc2b9d3cc4c4f3f4ce..1304b9241e2800599a953fef85abfd8502d027d4 100644 (file)
@@ -1,3 +1,335 @@
+2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/stl_vector.h: Use new allocator model in C++0x mode.
+       * include/bits/vector.tcc: Likewise.
+       * testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
+       * testsuite/23_containers/vector/allocator/copy_assign.cc: New.
+       * testsuite/23_containers/vector/allocator/noexcept.cc: New.
+       * testsuite/23_containers/vector/allocator/copy.cc: New.
+       * testsuite/23_containers/vector/allocator/swap.cc: New.
+       * testsuite/23_containers/vector/allocator/move_assign.cc: New.
+       * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+       Adjust dg-error line numbers.
+       * 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.
+
+2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/ext/alloc_traits.h (__allocator_always_compares_equal): New
+       trait, provide partial specializations for known allocators.
+       (__alloc_traits::construct, __alloc_traits::destroy): Overload for
+       non-standard pointer types.
+       (__alloc_traits::_S_always_equal): New trait for use with noexcept.
+       (__alloc_traits::_S_nothrow_move): Likewise.
+       (__alloc_traits::_S_nothrow_swap): Likewise.
+
+2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/ext/cast.h: Fix typo in include guard.
+       * include/ext/pointer.h (_Unqualified_type): Remove redundant
+       partial specializations for volatile types. Fix typos in comments.
+       (pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
+
+2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/49668
+       * include/std/functional (__bind_simple): Define.
+       * include/std/future (_Task_setter): Parameterize by type of result
+       pointer instead of state object.
+       (_S_task_setter): Type deduction helper.
+       (_Task_state): Use _S_task_setter and __bind_simple.
+       (_Deferred_state, _Async_state): Store call wrapper directly not as
+       std::function. Use _S_task_setter and __bind_simple.
+       (_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
+       (async): Use new functions and __bind_simple.
+       * include/std/mutex (call_once): Use __bind_simple.
+       * include/std/thread (thread): Likewise. Remove unused headers.
+       * src/thread.cc: Add header.
+       * testsuite/30_threads/async/49668.cc: New.
+       * testsuite/30_threads/call_once/49668.cc: New.
+       * testsuite/30_threads/thread/cons/49668.cc: New.
+       * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
+
+2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.host (abi_baseline_subdir_switch): Describe.
+       Provide default.
+       (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
+       * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
+       baseline_subdir_switch.
+       * testsuite/Makefile.am (site.exp): Emit it.
+       (baseline_subdir): Use it.
+       * testsuite/libstdc++-abi/abi.exp: Use it.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+       * doc/Makefile.in: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * libsupc++/Makefile.in: Regenerate.
+       * po/Makefile.in: Regenerate.
+       * python/Makefile.in: Regenerate.
+       * src/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2011-06-29  François Dumont  <francois.cppdevs@free.fr>
+
+       * include/debug/set.h, unordered_map, multiset.h, forward_list,
+       unordered_set, vector, deque, string, list, multimap.h: Remove
+       base class default constructor calls.
+       * include/debug/map.h: Likewise and cleanup several redefinition of
+       base iterator typedef.
+
+2011-06-29  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * libsupc++/eh_arm.c (__cxa_type_match): Construct address of
+       thrown object here.  Return succeded_with_ptr_to_base for all
+       pointer cases.
+
+2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
+       C++0x mode.
+       * testsuite/25_algorithms/sort/35588.cc: Likewise.
+       * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
+
+2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/20_util/bind/socket.cc: Use variable and remove attribute.
+
+2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
+       warning.
+
+2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
+       * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
+       * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
+       * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
+       Likewise.
+       * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
+       * testsuite/20_util/bind/socket.cc: Likewise.
+       * testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
+       * testsuite/util/testsuite_random.h: Likewise.
+
+2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/Makefile.am: Add alloc_traits.h headers.
+       * include/Makefile.in: Regenerate.
+       * include/std/memory: Include uses_allocator.h explicitly.
+       * include/bits/allocator.h (allocator_traits): Move to ...
+       * include/bits/alloc_traits.h: New header.
+       * include/ext/alloc_traits.h (__alloc_traits): Extension to provide
+       a common allocator interface for C++98 and C++0x.
+       * include/bits/stl_construct.h: Use __alloc_traits.
+       * include/bits/stl_uninitialized.h: Likewise.
+
+2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/move.h (__is_nothrow_swappable): Add.
+       (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
+       * include/bits/algorithmfwd.h: Adjust.
+       * testsuite/25_algorithms/swap/noexcept.cc: New.
+
+2011-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
+       check-DEJAGNUnormal[4-9].
+       (check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
+       * testsuite/Makefile.in: Regenerated.
+
+2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/tuple (__conv_types, __one_by_one_convertible,
+       __all_convertible): Add.
+       (tuple): Use the latter.
+       (tuple<_T1>): Remove.
+       * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
+       line number.
+       * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
+
+2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
+       noexcept.
+
+2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/valarray (~valarray): Use noexcept.
+       * include/bits/unique_ptr.h (~unique_ptr): Likewise.
+       * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
+       * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
+       Likewise.
+       * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
+       Likewise.
+       * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
+       Likewise.
+
+2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/functional: Use noexcept.
+       * include/bits/stl_tempbuf.h: Likewise.
+
+2011-06-12  François Dumont  <francois.cppdevs@free.fr>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/allocator.h (__shrink_to_fit): Rename to
+       __shrink_to_fit_aux, fix.
+       * include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
+       (shrink_to_fit): Use the latter.
+       * include/debug/vector (shrink_to_fit): Likewise.
+       * include/bits/vector.tcc (_M_shrink_to_fit): Define.
+       * include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
+       (shrink_to_fit): Use the latter.
+       * include/debug/deque (shrink_to_fit): Likewise.
+       * include/bits/deque.tcc (_M_shrink_to_fit): Define.
+       * include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
+       * include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
+       (shrink_to_fit): Use the latter.
+       (reserve): Use _M_reallocate, move inline.
+       (_Bvector_base<>::_S_nword): Add, use it throughout.
+       * include/debug/string (shrink_to_fit): Redo.
+       * include/ext/vstring.h (shrink_to_fit): Optimize.
+       * include/bits/basic_string.h (shrink_to_fit): Likewise.
+       * testsuite/21_strings/debug/shrink_to_fit.cc: New.
+       * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
+       * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
+       Likewise.
+       * testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
+       Likewise.
+       * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
+
+2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
+       C++0x mode.
+       * testsuite/25_algorithms/sort/35588.cc: Likewise.
+       * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
+
+2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
+       mode by overloading to take allocator's pointer type.
+       * testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
+       * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
+       2.cc: New.
+
+2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/20_util/allocator_traits/requirements/
+       explicit_instantiation.cc: Add another instantiation.
+
+2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Check
+       for allocator_type and value_type.
+
+2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/30_threads/packaged_task/uses_allocator.cc: New.
+       * testsuite/30_threads/promise/uses_allocator.cc: Likewise.
+
+2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/ext/throw_allocator.h: Use noexcept.
+       * include/ext/pool_allocator.h: Likewise.
+       * include/ext/bitmap_allocator.h: Likewise.
+       * include/ext/new_allocator.h: Likewise.
+       * include/ext/malloc_allocator.h: Likewise.
+       * include/ext/array_allocator.h: Likewise.
+       * include/ext/mt_allocator.h: Likewise.
+       * include/ext/extptr_allocator.h: Likewise.
+       * testsuite/util/testsuite_allocator.h: Likewise; do not include
+       <cassert> directly, include <testsuite_hooks.h> instead.
+
+2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/ext/pb_ds/*: Doxygen markup redo.
+       * include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
+       * include/Makefile.in: Regenerate.
+
+2011-06-10  Jason Merrill  <jason@redhat.com>
+
+       * testsuite/20_util/bind/ref_neg.cc: Remove wrong test lines.
+
+       * testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
+       fix dg-error markup.
+
+2011-06-09  Jason Merrill  <jason@redhat.com>
+
+       * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust.
+
+       * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
+       * testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
+       * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
+       * testsuite/20_util/forward/1_neg.cc: Likewise.
+       * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
+       * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
+       * testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
+       * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
+       * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc:
+       Likewise.
+       * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
+       * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
+       * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
+       Likewise.
+       * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
+       * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
+       * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
+       Likewise.
+       * testsuite/tr1/2_general_utilities/shared_ptr/assign/
+       auto_ptr_rvalue_neg.cc: Likewise.
+       * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
+       Likewise.
+       * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
+       * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
+       Likewise.
+       * testsuite/23_containers/deque/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       assign_neg.cc: Likewise.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       insert_neg.cc: Likewise.
+       * testsuite/23_containers/list/requirements/dr438/
+       assign_neg.cc: Likewise.
+       * testsuite/23_containers/list/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/list/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+       * testsuite/23_containers/list/requirements/dr438/
+       insert_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/
+       assign_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.
+       * testsuite/23_containers/vector/requirements/dr438/
+       insert_neg.cc: Likewise.
+       * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/operators/
+       bitwise_neg.cc: Likewise.
+       * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
+       * testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
+       * testsuite/decimal/operator_neg.cc: Likewise.
+
+2011-06-09  Simon Baldwin  <simonb@google.com>
+
+       * scripts/extract_symvers.in: Handle processor/OS specific or
+       unknown symbol binding strings from readelf.
+
 2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/std/type_traits (__is_copy_assignable_impl,