X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=aa324e0f3743dcf0523e748758ff54944e6e23b2;hb=806074ec6ecddf4259204e1b29aa14806c080660;hp=abcee817a4bb9353b0e0d7dc2a7daaf42b2e60a0;hpb=7336fab9ce205d0f05d409afa589342da06052dc;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index abcee817a4b..aa324e0f374 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,399 @@ +2011-11-23 François Dumont + + PR libstdc++/41975 + * include/bits/hashtable.h (_Hashtable<>): Major data model + modification to limit performance impact of empty buckets in + erase(iterator) implementation. + * include/bits/hashtable_policy.h (_Hashtable_iterator, + _Hashtable_const_iterator): Remove not used anymore. + * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove + _M_grow_factor, just use natural evolution of prime numbers. Add + _M_prev_size to know when the number of buckets can be reduced. + * include/bits/unordered_set.h (__unordered_set<>, + __unordered_multiset<>), unordered_map.h (__unordered_map<>, + __unordered_multimap<>): Change default value of cache hash code + template parameter, false for integral types with noexcept hash + functor, true otherwise. + * include/debug/unordered_map, unordered_set: Adapt transformation + from iterator/const_iterator to respectively + local_iterator/const_local_iterator. + * testsuite/performance/23_containers/copy_construct/unordered_set.cc: + New. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: New. + * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New. + * testsuite/23_containers/unordered_multiset/cons/copy.cc: New. + * testsuite/23_containers/unordered_multiset/erase/1.cc, + 24061-multiset.cc: Add checks on the number of bucket elements. + * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc, + multiset_single.cc, multiset_single_move.cc: Likewise. + +2011-11-21 Jonathan Wakely + + * include/std/functional (is_placeholder, is_bind_expression): Add + partial specializations for cv-qualified types. + * include/tr1/functional (is_placeholder, is_bind_expression): Add + partial specializations for std::bind and std::placeholders and for + cv-qualified types. + * testsuite/20_util/bind/cv_quals_3.cc: New. + * testsuite/tr1/3_function_objects/bind/cv_quals.cc: New. + * testsuite/tr1/3_function_objects/bind/mixed.cc: New. + +2011-11-21 Andreas Tobler + + * configure: Regenerate. + +2011-11-21 Daniel Krugler + + PR libstdc++/51185 + * include/std/type_traits (__is_base_to_derived_ref, + __is_lvalue_to_rvalue_ref): Fix. + * testsuite/20_util/is_constructible/51185.cc: New. + * testsuite/20_util/is_constructible/value-2.cc: Extend. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line number. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc + Likewise. + +2011-11-21 Paolo Carlini + + * include/std/tuple (__conv_types, __one_by_one_convertible, + __all_convertible): Remove. + (tuple<>::tuple(_UElements&&...), + tuple<>::tuple(const tuple<_UElements...>&), + tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322. + * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error + line number. + +2011-11-20 Jason Merrill + + PR c++/48322 + * include/std/tuple (tuple(_UElements&&...)): Fix SFINAE. + + * testsuite/20_util/bind/ref_neg.cc: Adjust error markings. + +2011-11-20 Jonathan Wakely + + * include/backward/binders.h: Fix examples in doxygen comments and + suggest using std::bind instead. + +2011-11-20 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Fix docbook markup. + +2011-11-20 Jonathan Wakely + + * doc/xml/manual/appendix_contributing.xml: Do not use "here" as link + text. + * doc/xml/faq.xml: Likewise. Do not request standard library issues + to be reported to the libstdc++ mailing list. + * doc/xml/manual/status_cxx2011.xml: Document implementation-defined + behaviour. + * doc/xml/manual/status_cxxtr1.xml: Likewise. + * doc/xml/manual/utilities.xml: Fix grammar, probably caused by a + global search and replace of "part" by "chapter". + * doc/xml/manual/shared_ptr.xml: Remove outdated information. + * doc/xml/manual/messages.xml: Be more specific about systems where + using 'int' for catalog handle is not a problem, mention LWG issue. + +2011-11-19 Paolo Carlini + + * include/debug/bitset (operator[](size_t) const): Declare constexpr. + * include/profile/bitset: Likewise. + * testsuite/23_containers/bitset/operations/constexpr.cc: Split out + non portable bits to... + * testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here. + +2011-11-18 Harti Brandt + + PR libstdc++/51209 + * include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return + nullptr when no node is found. + * include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return + zero when no node is found. + +2011-11-18 Paolo Carlini + + * src/hash-long-double-aux.cc: Rename to... + * src/hash-long-double-tr1-aux.cc: ... this. + * src/compatibility-ldbl.cc: Adjust. + * src/hash_tr1.cc: Likewise. + * src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc. + * include/bits/functional_hash.h (hash<_Tp*>::operator(), specs + for integer types, hash::operator(), hash::operator(), + hash::operator()): Declare noexcept. + * include/debug/bitset (hash<__debug::bitset>::operator()): Likewise. + * include/debug/vector (hash<__debug::vector>::operator()): Likewise. + * include/std/system_error (hash::operator()): Likewise. + * include/std/thread (hash::operator()): Likewise. + * include/std/bitset (hash::operator()): Likewise. + * include/std/typeindex (hash::operator()): Likewise. + * include/profile/bitset (hash<__profile::vector>::operator()): + Likewise. + * include/profile/vector (hash<__profile::vector>::operator()): + Likewise. + * include/ext/vstring.h (hash<__vstring>::operator(), + hash<__wvstring>::operator(), hash<__u16vstring>::operator(), + hash<__u32vstring>::operator()): Likewise. + * include/bits/shared_ptr.h (hash::operator()): Likewise. + * include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()): + Likewise. + * include/bits/unique_ptr.h (hash::operator()): Likewise. + * include/bits/basic_string.h (hash::operator(), + hash::operator(), hash::operator(), + hash::operator()): Likewise. + * include/bits/vector.tcc (hash::operator()): Likewise. + * include/bits/stl_bvector.h (hash::operator()): Likewise. + * libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of + throw(). + +2011-11-17 Richard Henderson + + PR libstdc++/51181 + * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use + of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4. + +2011-11-18 Jonathan Wakely + + * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run + on darwin. + +2011-11-17 Jason Merrill + + * testsuite/21_strings/basic_string/cons/char/moveable2.cc + (tstring): Add defaulted move assignment. + * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc + (tstring): Add defaulted move assignment. + * testsuite/util/testsuite_tr1.h (NoexceptMoveConsClass): Add + defaulted move assignment operator. + (NoexceptMoveAssignClass): Add defaulted move constructor. + +2011-11-17 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Status of piecewise construction + and ios_base::failure. + * doc/xml/manual/backwards_compatibility.xml: List headers in + alphabetical order. + +2011-11-16 Andrew MacLeod + + PR libstdc++/51102 + * include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE, + ATOMIC_POINTER_LOCK_FREE): New. Add missing macros. + +2011-11-15 Paolo Carlini + + PR libstdc++/51142 + * include/debug/unordered_map (unordered_map<>::erase(iterator), + unordered_multimap<>::erase(iterator)): Add, consistently with + LWG 2059. + * include/debug/unordered_set (unordered_set<>::erase(iterator), + unordered_multiset<>::erase(iterator)): Likewise. + * include/debug/map.h (map<>::erase(iterator)): Likewise. + * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise. + * include/profile/map.h (map<>::erase(iterator)): Likewise. + * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise. + * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise. + * include/bits/stl_map.h (map<>::erase(iterator)): Likewise. + * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise. + * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise. + * testsuite/23_containers/unordered_map/erase/51142.cc: New. + * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise. + * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise. + * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise. + * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise. + * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise. + * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise. + * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise. + +2011-11-15 Jason Dick + + PR libstdc++/51133 + * include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix + wrong sign in recursion relation. + +2011-11-14 Paolo Carlini + + * include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr, + not viable anyway due to the pointer parameter. + +2011-11-13 Paolo Carlini + + * include/c_global/cmath (atan2, fmod, pow, copysign, fdim, + fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify + constraining on the return type. + * include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot, + nextafter, remainder, remquo): Likewise. + +2011-11-13 Gerald Pfeifer + + * using.xml: Use GNU/Linux. + +2011-11-12 Jason Merrill + + PR c++/51060 + * testsuite/25_algorithms/max/1.cc (test01): Drop references. + * testsuite/25_algorithms/min/1.cc (test01): Drop references. + * testsuite/25_algorithms/minmax/1.cc (test01): Drop references. + +2011-11-12 Jonathan Wakely + + PR libstdc++/51083 + * include/ext/type_traits.h (__promote): Only define __type member + for integral and floating point types, to prevent math functions + participating in overload resolution for other types. + (__promote_2, __promote_3, __promote_4): Use __promote in default + template argument values, so deduction only succeeds for integral and + floating point types. + * testsuite/26_numerics/cmath/51083.cc: New. + * testsuite/26_numerics/complex/51083.cc: New. + * testsuite/tr1/8_c_compatibility/cmath/51083.cc: New. + * testsuite/tr1/8_c_compatibility/complex/51083.cc: New. + +2011-11-10 Andrew MacLeod + + PR middle-end/51038 + * include/bits/atomic_base.h (atomic_thread_fence): Call built-in. + (atomic_signal_fence): Call built-in. + (test_and_set, clear): Call new atomic built-ins. + +2011-11-09 Jonathan Wakely + + * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create + the new object with the same allocator. + * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New. + +2011-11-09 Jonathan Wakely + + * include/profile/unordered_map: Add missing copy constructors. + * include/profile/unordered_set: Likewise. + +2011-11-09 Dodji Seketeli + + PR c++/51027 + * include/ext/pointer.h (rebind): Append missing ';'. + +2011-11-09 Jonathan Wakely + + * include/bits/stl_vector.h (vector::_Alloc_traits): Make private. + * include/debug/vector: Add allocator-extended constructors, ensure + move assignment and swap have same allocator propagation semantics + and exceptions specification as base class. + * include/profile/vector: Likewise. + (vector::push_back(_Tp&&)): Forward argument as rvalue. + * testsuite/23_containers/vector/debug/alloc_prop.cc: New. + * doc/xml/manual/status_cxx2011.xml: Clarify status of container + requirements with respect to allocators. + (status.iso.200x): Add anchor for old ID to preserve existing links. + +2011-11-08 Jonathan Wakely + + * include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'. + (_Sp_counted_deleter): Make 'final'. Use allocator_traits. + (_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits. + Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO + for the allocator. + (__shared_count, __shared_ptr): Use allocator_traits. + * include/std/future (__future_base::_Result_alloc): Make 'final'. Use + allocator traits. + (__future_base::_Task_state): Make 'final'. + (__future_base::_Deferred_state): Likewise. + (__future_base::_Async_state): Likewise. + * testsuite/20_util/shared_ptr/cons/alloc_min.cc: New. + * testsuite/20_util/shared_ptr/creation/alloc_min.cc: New. + * testsuite/20_util/shared_ptr/creation/private.cc: New. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. + * testsuite/30_threads/packaged_task/cons/alloc_min.cc: New. + * testsuite/30_threads/promise/cons/alloc_min.cc: New. + +2011-11-08 Paolo Carlini + + * acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to + [GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], likewise for the + option itself, to --enable-libstdcxx-visibility. + * configure.ac: Adjust call. + * doc/xml/manual/configure.xml: Update. + * configure: Regenerate. + +2011-11-08 Paolo Carlini + + * testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall + warnings. + * testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise. + +2011-11-08 Jonathan Wakely + + PR libstdc++/51018 + * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run + on netbsd. + +2011-11-07 Aldy Hernandez + Richard Henderson + + Merged from transactional-memory. + + * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_TM_1. + * libsupc++/eh_tm.cc: New file. + * libsupc++/unwind-cxx.h (__cxa_tm_cleanup): Declare. + * config/abi/pre/gnu.ver: Export __cxa_tm_cleanup. + * config/abi/pre/gnu-versioned-namespace.ver: Likewise. + * libsupc++/Makefile.am (sources): Add eh_tm.cc. + * libsupc++/Makefile.in: Rebuild. + +2011-11-07 Paolo Carlini + + PR libstdc++/51018 + * include/profile/impl/profiler_node.h (__stack_hash:: + operator()(__stack_t)): Just use std::size_t everywhere. + +2011-11-07 Jonathan Wakely + + * include/std/future (__future_base::_Ptr): Use alias-declaration. + (__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay + instead of remove_reference so that cv-quals are removed. + +2011-11-07 Ed Smith-Rowland <3dw4rd@verizon.net> + + * include/precompiled/stdc++.h: Add cstdalign. + +2011-11-07 Paolo Carlini + + * include/std/complex (complex<>::real(), complex<>::imag()): + Remove redundant const qualifiers. + +2011-11-07 Jonathan Wakely + + * include/bits/ptr_traits.h (__rebind): Replace with... + (rebind): Implement using alias-declaration. + * include/ext/pointer.h (__rebind): Replace with... + (rebind): Implement using alias-declaration. + * include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits): + Replace with... + (rebind_alloc, rebind_traits): Implement using alias-declaration. + * include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of + __rebind_alloc. + * include/std/scoped_allocator (rebind): Likewise. + +2011-11-07 Jonathan Wakely + + * include/std/mutex (call_once): Store closure in __once_functor + as bound function wrapper might not be copyable. + +2011-11-07 Andrew MacLeod + + * include/bits/atomic_base.h (atomic_thread_fence): Revert. + (atomic_signal_fence): Revert. + +2011-11-07 Andrew MacLeod + + * include/bits/atomic_base.h (atomic_thread_fence): Call builtin. + (atomic_signal_fence): Call builtin. + (atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree, + otherwise fall back to call __sync_lock_test_and_set. + (atomic_flag::clear): Call __atomic_store when it is lockfree, + otherwise fall back to call __sync_lock_release. + 2011-11-07 Rainer Orth PR bootstrap/50982