OSDN Git Service

2011-07-24 François Dumont <francois.cppdevs@free.fr>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index 42f9514..30b954e 100644 (file)
@@ -1,3 +1,400 @@
+2011-07-24  François Dumont  <francois.cppdevs@free.fr>
+
+       * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
+       __builtin_floor rather than __builtin_ceil to compute next resize
+       value.
+       * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
+       New.
+
+2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
+           Daniel Krugler  <daniel.kruegler@googlemail.com>
+
+       * include/bits/move.h (move, forward): Mark constexpr.
+       * include/bits/stl_pair.h (pair): Mark move ctors constexpr.
+       * testsuite/20_util/pair/make_pair/constexpr.cc: New.
+       * testsuite/20_util/pair/cons/constexpr.cc: Add tests.
+
+2011-07-22  Ian Lance Taylor  <iant@google.com>
+
+       * fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
+       * Makefile.in: Rebuild.
+       * doc/Makefile.in: Rebuild.
+       * include/Makefile.in: Rebuild.
+       * libsupc++/Makefile.in: Rebuild.
+       * po/Makefile.in: Rebuild.
+       * python/Makefile.in: Rebuild.
+       * src/Makefile.in: Rebuild.
+       * testsuite/Makefile.in: Rebuild.
+
+2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
+       * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
+       * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
+       * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
+       * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
+       * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.
+
+       * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
+       * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
+       * testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
+       * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
+       * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
+       * testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.
+
+       * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
+       * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
+       * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
+       Move...
+       * testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
+       * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
+       * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
+       Move...
+       * testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.
+
+       * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
+       * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
+       * testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.
+
+       * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
+       * testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
+       * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
+       * testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.
+
+2011-07-21  François Dumont  <francois.cppdevs@free.fr>
+
+       * include/debug/safe_unordered_sequence.h,
+       safe_unordered_sequence.tcc: Rename respectively in...
+       * include/debug/safe_unordered_container.h,
+       safe_unordered_container.tcc: ...those. _Safe_unordered_sequence
+       rename _Safe_unordered_container.
+       * include/debug/safe_unordered_base.h: _Safe_unordered_sequence_base
+       rename _Safe_unordered_container_base.
+       * include/debug/unordered_map, unordered_set: Adapt to previous
+       modifications.
+       * config/abi/pre/gnu.ver: Likewise.
+       * src/debug.cc: Likewise.
+       * include/Makefile.am: Likewise.
+       * include/Makefile.in: Regenerate.
+
+2011-07-21  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/mutex (timed_mutex, recursive_timed_mutex): Update
+       to use steady_clock instead of monotonic_clock.
+       * config/abi/pre/gnu.ver: Export steady_clock::now.
+
+2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
+           Daniel Krugler  <daniel.kruegler@googlemail.com>
+
+       * include/std/array (array::at, array::operator[]): Mark constexpr.
+       * testsuite/23_containers/array/requirements/
+       constexpr_element_access.cc: Add.
+
+2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
+           Daniel Krugler  <daniel.kruegler@googlemail.com>
+
+       * include/std/chrono: (system_clock::is_steady): Update to N3291
+       from is_monotonic.
+       (time_point): Mark nonmember arithmetic operators constexpr.
+       * src/chrono.cc: Modify for above.
+       * src/compatibility-c++0x.cc: Same.
+       * testsuite/20_util/time_point/nonmember/constexpr.cc: New.
+       * testsuite/20_util/time_point/1.cc: Modify.
+       * testsuite/20_util/system_clock/constexpr_data.cc: Modify.
+       * testsuite/20_util/system_clock/1.cc: Modify.
+       * testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
+       * testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
+       * testsuite/30_threads/condition_variable/members/2.cc: Modify.
+       * testsuite/30_threads/condition_variable_any/members/2.cc: Modify.
+
+2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/system_error: Use noexcept.
+       * src/system_error.cc: Likewise.
+       * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
+       * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
+       * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
+       * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
+       * testsuite/util/testsuite_error.h: Likewise.
+
+       * include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
+       Use enable_if on template parameter default.
+       (error_condition::error_condition(_ErrorConditionEnum)): Likewise.
+
+2011-07-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       * include/precompiled/stdc++.h: Add scoped_allocator.
+
+2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/std/bitset (operator[]): Make constexpr.
+       * testsuite/23_containers/bitset/operations/constexpr.cc: New.
+
+2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
+       _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
+       Fix typo.
+
+2011-07-19  François Dumont  <francois.cppdevs@free.fr>
+
+       * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
+       safe_unordered_sequence.tcc, safe_local_iterator.h,
+       safe_local_iterator.tcc: New, support for unordered sequence safe
+       local iterators.
+       * include/Makefile.am: Add previous files.
+       * include/Makefile.in: Regenerate.
+       * include/debug/unordered_map, unordered_set: Implement
+       _Safe_unordered_sequence and expose _Safe_local_iterator.
+       * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
+       _Safe_iterator::_M_get_distance static method to expose it as
+       __get_distance function and use it in _Safe_local_iterator type.
+       * include/debug/formatter.h: Add __msg_local_iter_compare_bad
+       _Debug_msg_id enum entry to notify invalid comparison between local
+       iterators from different buckets. Add _Parameter constructor from
+       _Safe_local_iterator.
+       * include/debug/functions.h: Add __valid_range overload for
+       _Safe_local_iterator.
+       * src/debug.cc: Add _Safe_unordered_sequence_base and
+       _Safe_local_iterator_base methods implementations.
+       * config/abi/pre/gnu.ver: Add export of some
+       _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
+       * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
+       simulate use of a singular iterator.
+       * testsuite/util/debug/unordered_checks.h: New, several functions
+       to simulate classic invalid usage of unordered sequence local
+       iterators.
+       * testsuite/23_containers/unordered_map/debug/
+       use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
+       use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
+       invalid_local_iterator_compare_neg.cc: New.
+       * testsuite/23_containers/unordered_multimap/debug/
+       use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
+       use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
+       invalid_local_iterator_compare_neg.cc: New.
+       * testsuite/23_containers/unordered_set/debug/
+       use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
+       use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
+       invalid_local_iterator_compare_neg.cc: New.
+       * testsuite/23_containers/unordered_multiset/debug/
+       use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
+       use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
+       invalid_local_iterator_compare_neg.cc: New.
+
+2011-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/48430
+       * include/bits/shared_ptr.h (struct hash<shared_ptr<>>): Use
+       __hash_base.
+       * include/bits/unique_ptr.h (struct hash<unique_ptr<>>): Likewise.
+
+2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * crossconfig.m4 (*-netware): Remove.
+       * configure: Regenerate.
+
+2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * config/locale/newlib/ctype_members.cc: New file.
+       * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
+       kind: newlib.  Configure to use the newlib specific
+       ctype_members.cc when with_newlib is enabled.
+       * configure: Regenerate.
+
+2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/49745
+       * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
+       _POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
+       * libsupc++/guard.cc: Include <unistd.h>.
+       * testsuite/17_intro/headers/c++1998/49745.cc: New.
+       * configure: Regenerate.
+       * config.h.in: Likewise.
+
+2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/49559
+       * include/bits/stl_algo.h (__move_merge_backward): Remove.
+       (__move_merge_adaptive, __move_merge_adaptive_backward): New.
+       (__merge_adaptive): Use the latter two.
+       (__rotate_adaptive): Avoid self move-assignment.
+       * include/bits/stl_algobase.h (move_backward): Fix comment.
+       * testsuite/25_algorithms/stable_sort/49559.cc: New.
+       * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
+       * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
+       * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
+       * testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
+       (rvalstruct&&)): Check for self move-assignment.
+
+2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/util/testsuite_allocator.h (propagating_allocator<>::
+       operator=(const propagating_allocator<>&)): Retun *this.
+
+2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/std/scoped_allocator: New.
+       * doc/xml/manual/status_cxx200x.xml: Update.
+       * testsuite/20_util/scoped_allocator/1.cc: New.
+       * testsuite/20_util/scoped_allocator/propagation.cc: New.
+       * testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
+       * testsuite/20_util/scoped_allocator/requirements/
+       explicit_instantiation.cc: New.
+
+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>
 
 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
-        noexcept.
+       noexcept.
        (__get_helper): Likewise.
        (_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
        * include/bits/move.h (swap): Likewise.
 
 2011-03-31  Jeffrey Yasskin  <jyasskin@google.com>
 
-        * libsupc++/exception_ptr.h: Forward-declare std::type_info.
-        * libsupc++/nested_exception.h (__throw_with_nested): Remove a
+       * libsupc++/exception_ptr.h: Forward-declare std::type_info.
+       * libsupc++/nested_exception.h (__throw_with_nested): Remove a
        redundant default argument from std::__throw_with_nested.
 
 2011-03-31  Paolo Carlini  <paolo.carlini@oracle.com>