OSDN Git Service

2011-12-12 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index ddc30f8..8a46f1c 100644 (file)
@@ -1,3 +1,925 @@
+2011-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       Revert:
+       2011-12-12  Kai Tietz  <ktietz@redhat.com>
+
+       PR libstdc++/51135
+       * libsupc++/cxxabi.h (__cxa_dtor_type): New type.
+       (__cxa_throw): Use it for destructor-argument.
+       * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
+       * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
+       exceptionDestructor to __cxa_dtor_type.
+       * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
+       Define.
+       (__cxa_dtor_type): Declare target secific type variant.
+       * config/os/mingw32/os_defines.h: Likewise.
+
+2011-12-12  Kai Tietz  <ktietz@redhat.com>
+
+       PR libstdc++/51135
+       * libsupc++/cxxabi.h (__cxa_dtor_type): New type.
+       (__cxa_throw): Use it for destructor-argument.
+       * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
+       * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
+       exceptionDestructor to __cxa_dtor_type.
+       * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
+       Define.
+       (__cxa_dtor_type): Declare target secific type variant.
+       * config/os/mingw32/os_defines.h: Likewise.
+
+2011-12-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y,
+       remove excessive duplication of version information.
+       * doc/html/*: Regenerate.
+
+2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/doxygen/user.cfg.in: Add macros, directories.
+       * include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
+       * include/bits/locale_classes.tcc: Same.
+       * include/bits/shared_ptr.h: Same.
+       * include/bits/stl_algo.h: Same.
+       * include/bits/stl_list.h: Same.
+       * include/bits/stl_numeric.h: Same.
+       * include/debug/safe_base.h: Same.
+       * include/parallel/equally_split.h: Same.
+       * include/std/bitset: Same.
+       * include/std/complex: Same.
+       * include/std/fstream: Same.
+       * include/std/istream: Same.
+       * include/std/ostream: Same.
+       * include/tr2/dynamic_bitset: Same.
+       * scripts/run_doxygen: Remove munging for names that no longer exist.
+
+       * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+       Adjust line numbers.
+       * testsuite/23_containers/list/requirements/dr438/
+       constructor_1_neg.cc: Same.
+       * testsuite/23_containers/list/requirements/dr438/
+       constructor_2_neg.cc: Same.
+       * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
+
+2011-12-10  François Dumont <fdumont@gcc.gnu.org>
+
+       * include/profile/unordered_set: Minor formatting changes.
+       (unordered_set<>::_M_profile_destruct,
+       unordered_multiset<>::_M_profile_destruct): Fix implementation to not
+       rely on normal implementation details anymore.
+       (unordered_set<>::_M_profile_resize,
+       unordered_multiset<>::_M_profile_resize): Implement consistently
+       accross all unordered containers.
+       (unordered_set<>::emplace, unordered_set<>::emplace_hint,
+       unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
+       to signal rehash to profiling system.
+       * include/profile/unordered_map: Likewise for unordered_map<> and
+       unordered_multimap<>.
+
+2011-12-09  François Dumont <fdumont@gcc.gnu.org>
+
+       PR libstdc++/44436 (unordered containers emplace, emplace_hint bits)
+       * include/bits/hashtable.h (_Hashtable<>::emplace,
+       _Hashtable<>::emplace_hint): Add.
+       * include/debug/unordered_set (unordered_set<>::emplace,
+       unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
+       unordered_multiset<>::emplace_hint): Add.
+       * include/profile/unordered_set: Likewise.
+       * include/debug/unordered_map (unordered_map<>::emplace,
+       unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
+       unordered_multimap<>::emplace_hint): Add.
+       * include/profile/unordered_map: Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
+       * testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
+       New.
+       * testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
+       * testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
+       New.
+       * testsuite/util/testsuite_container_traits.h
+       (traits_base::has_emplace): Add and defined as std::true_type for
+       unordered containers.
+       * testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
+       use them in basic_safety exception test case.
+       * doc/xml/manual/status_cxx2011.xml: Update unordered containers
+       status.
+
+2011-12-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/atomic_base.h (__calculate_memory_order): Rename to...
+       (__cmpexch_failure_order): This, and rewrite as constexpr function.
+       (compare_exchange_strong, compare_exchange_weak): Use it.
+       * include/std/atomic (compare_exchange_strong, compare_exchange_weak):
+       Likewise.
+
+2011-12-07  François Dumont <fdumont@gcc.gnu.org>
+
+       PR libstdc++/51386
+       * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt):
+       Fix computation of _M_prev_resize so that hashtable do not keep on
+       being rehashed when _M_max_load_factor is lower than 1.
+
+2011-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/51438
+       * libsupc++/nested_exception.h (nested_exception::~nested_exception):
+       Declare noexcept.
+       * libsupc++/nested_exception.cc: Adjust.
+       * testsuite/18_support/nested_exception/51438.cc: New.
+       * testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust.
+       * testsuite/18_support/nested_exception/rethrow_if_nested.cc:
+       Likewise.
+
+       * src/shared_ptr.cc: Use noexcept where appropriate.
+       * include/std/system_error: Likewise.
+       * include/std/functional: Likewise.
+       * include/bits/shared_ptr_base.h: Likewise.
+       * src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate.
+       * include/std/stdexcept: Likewise.
+       * libsupc++/bad_cast.cc: Likewise.
+       * libsupc++/bad_typeid.cc: Likewise.
+       * libsupc++/eh_exception.cc: Likewise.
+       * libsupc++/typeinfo: Likewise.
+       * libsupc++/exception: Likewise.
+       * libsupc++/eh_ptr.cc: Likewise.
+       * libsupc++/bad_alloc.cc: Likewise.
+       * libsupc++/exception_ptr.h: Likewise.
+
+       * include/std/chrono: Use noexcept where appropriate.
+       * src/chrono.cc: Likewise.
+
+2011-12-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+           Chris Jefferson  <chris@bubblescope.net>
+
+       PR libstdc++/51183
+       * include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove.
+       (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare.
+       (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
+       Declare.
+       * include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove.
+       (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
+       Define.
+       (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define,
+       delegating to the latter.
+       * testsuite/20_util/pair/piecewise2.cc: New.
+
+2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * libsupc++/initializer_list: Do not declare anything if
+       __GXX_EXPERIMENTAL_CXX0X__ is not defined.
+
+2011-12-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/type_traits: Doxygen improvements.
+       * include/bits/move.h: Likewise.
+       * include/tr1/type_traits:  Likewise.
+       * include/tr2/type_traits:  Likewise.
+       * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
+       line numbers
+       * testsuite/20_util/forward/c_neg.cc: Likewise.
+       * testsuite/20_util/forward/f_neg.cc: Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+       Likewise.
+
+2011-12-04  Markus Trippelsdorf <markus@trippelsdorf.de>
+           Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/stl_heap.h (pop_heap): Check for non-empty range in
+       overload taking a predicate.
+       * testsuite/25_algorithms/pop_heap/empty2_neg.cc: New.
+
+2011-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/debug/macros.h (__glibcxx_check_non_empty_range): Define.
+       * include/debug/debug.h (__glibcxx_requires_non_empty_range): Define.
+       * include/debug/formatter.h (__msg_non_empty_range): Add.
+       * src/debug.cc: Message text for __msg_non_empty_range.
+       * include/bits/stl_heap.h (pop_heap): Check for non-empty range.
+       * testsuite/25_algorithms/pop_heap/empty_neg.cc: New.
+
+2011-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/utilities.xml: Remove outdated text.
+
+2011-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/iomanip (put_money): Fix thinko, use __err local,
+       like in, eg, basic_ostream::_M_insert.
+
+2011-11-30  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
+       size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
+       _GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
+       _GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
+       indicate use of C++11 atomic builtins.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
+       * include/Makefile.in: Regenerate.
+       * libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
+       * libsupc++/Makefile.in: Regenerate.
+
+       * include/bits/atomic_base.h: Move lock-free property macros...
+       * libsupc++/atomic_lockfree_defines.h: ...here.
+       * include/std/future: Use C++11 macros.
+       * libsupc++/eh_ptr.cc: Same.
+       * libsupc++/eh_throw.cc: Same.
+       * libsupc++/exception: Same.
+       * libsupc++/exception_ptr.h: Same.
+       * libsupc++/guard.cc: Same.
+       * libsupc++/nested_exception.cc: Same.
+       * libsupc++/nested_exception.h: Same.
+       * src/future.cc: Same.
+
+       * include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.
+
+       * doc/doxygen/user.cfg.in: Adjust.
+       * doc/xml/manual/concurrency_extensions.xml: Add note.
+
+       * testsuite/18_support/exception_ptr/lifespan.cc: Tweak.
+       * testsuite/lib/libstdc++.exp: Same.
+
+2011-11-29  François Dumont <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
+       useless now that the hashtable implementation put the hash code in
+       cache if the hash functor throws.
+       * testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
+       checking also distance between begin and end iterators to validate
+       underlying data model.
+       * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
+       * testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
+       * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
+       * testsuite/23_containers/unordered_multiset/erase/2.cc: New.
+       * testsuite/23_containers/unordered_multimap/erase/2.cc: New.
+
+2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
+       predefined macros.
+       * testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
+       macro checks.  Check for expected compile time values.
+
+2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/51288
+       * include/std/iomanip (get_money, put_money): Use sentry.
+       * testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
+       * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
+       Likewise.
+       * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
+       Likewise.
+       * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
+       Likewise.
+
+2011-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
+       of i386.
+
+2011-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * scripts/run_doxygen (problematic): Change Linux reference to
+       GNU/Linux.
+
+2011-11-26  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
+       Fix reference to GCC.
+
+2011-11-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/51296
+       * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
+       on alpha*-*-osf*.
+       * testsuite/30_threads/future/cons/constexpr.cc: Disable debug
+       symbols.
+       * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
+
+2011-11-23  François Dumont <fdumont@gcc.gnu.org>
+
+       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  <jwakely.gcc@gmail.com>
+
+       * 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  <andreast@fgznet.ch>
+
+       * configure: Regenerate.
+
+2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>
+
+       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  <paolo.carlini@oracle.com>
+
+       * 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  <jason@redhat.com>
+
+       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  <jwakely.gcc@gmail.com>
+
+       * include/backward/binders.h: Fix examples in doxygen comments and
+       suggest using std::bind instead.
+
+2011-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/status_cxx2011.xml: Fix docbook markup.
+
+2011-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * 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  <paolo.carlini@oracle.com>
+
+       * 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  <hartmut.brandt@dlr.de>
+
+       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  <paolo.carlini@oracle.com>
+
+       * 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<float>::operator(), hash<double>::operator(),
+       hash<long double>::operator()): Declare noexcept.
+       * include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
+       * include/debug/vector (hash<__debug::vector>::operator()): Likewise.
+       * include/std/system_error (hash<error_code>::operator()): Likewise.
+       * include/std/thread (hash<thread::id>::operator()): Likewise.
+       * include/std/bitset (hash<bitset>::operator()): Likewise.
+       * include/std/typeindex (hash<type_index>::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<shared_ptr>::operator()): Likewise.
+       * include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
+       Likewise.
+       * include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
+       * include/bits/basic_string.h (hash<string>::operator(),
+       hash<wstring>::operator(), hash<u16string>::operator(),
+       hash<u32string>::operator()): Likewise.
+       * include/bits/vector.tcc (hash<vector>::operator()): Likewise.
+       * include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
+       * libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
+       throw().
+
+2011-11-17  Richard Henderson  <rth@redhat.com>
+
+       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  <jwakely.gcc@gmail.com>
+
+       * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
+       on darwin.
+
+2011-11-17  Jason Merrill  <jason@redhat.com>
+
+       * 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  <jwakely.gcc@gmail.com>
+
+       * 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  <amacleod@redhat.com>
+
+       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  <paolo.carlini@oracle.com>
+
+       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  <dickphd@gmail.com>
+
+       PR libstdc++/51133
+       * include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
+       wrong sign in recursion relation.
+
+2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
+       not viable anyway due to the pointer parameter.
+
+2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * 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  <gerald@pfeifer.com>
+
+       * using.xml: Use GNU/Linux.
+
+2011-11-12  Jason Merrill  <jason@redhat.com>
+
+       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  <jwakely.gcc@gmail.com>
+
+       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  <amacleod@redhat.com>
+
+       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  <jwakely.gcc@gmail.com>
+
+       * 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  <jwakely.gcc@gmail.com>
+
+       * include/profile/unordered_map: Add missing copy constructors.
+       * include/profile/unordered_set: Likewise.
+
+2011-11-09  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51027
+       * include/ext/pointer.h (rebind): Append missing ';'.
+
+2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * 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  <jwakely.gcc@gmail.com>
+
+       * 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  <paolo.carlini@oracle.com>
+
+       * 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  <paolo.carlini@oracle.com>
+
+       * testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall
+       warnings.
+       * testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise.
+
+2011-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/51018
+       * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
+       on netbsd.
+
+2011-11-07  Aldy Hernandez  <aldyh@redhat.com>
+           Richard Henderson  <rth@redhat.com>
+
+       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  <paolo.carlini@oracle.com>
+
+       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  <jwakely.gcc@gmail.com>
+
+       * 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  <paolo.carlini@oracle.com>
+
+       * include/std/complex (complex<>::real(), complex<>::imag()):
+       Remove redundant const qualifiers.
+
+2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * 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  <jwakely.gcc@gmail.com>
+
+       * include/std/mutex (call_once): Store closure in __once_functor
+       as bound function wrapper might not be copyable.
+
+2011-11-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * include/bits/atomic_base.h (atomic_thread_fence): Revert.
+       (atomic_signal_fence): Revert.
+
+2011-11-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * 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  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/50982
+       * include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
+       gthr-posix.h move.
+       * include/Makefile.in: Regenerate.
+
+2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
+       (GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define.
+       (GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define.
+       * configure.ac: Use new checks.
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+       * src/thread.cc: Check new config macros.
+       * testsuite/lib/libstdc++.exp: Likewise.
+
+2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * config/abi/pre/gnu.ver: Fix exports for string::pop_back.
+
+2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * acinclude.m4: Check for <stdalign.h>
+       * configure: Regenerate.
+       * config.h.in: Likewise.
+       * include/Makefile.am: Add <cstdalign>.
+       * include/Makefile.in: Regenerate.
+       * include/c_global/cstdalign: New.
+       * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
+       * doc/xml/manual/backwards_compatibility.xml: Update.
+       * doc/xml/manual/status_cxx2011.xml: Update.
+
+2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/50982
+       * include/std/mutex (__once_proxy): Use void parameter list to
+       work on implicit extern "C" systems.
+
+2011-11-07  Xinliang David Li  <davidxl@google.com>
+
+       * include/backward/hashtable.h: Make __stl_prime_list
+       in comdat section.
+
+2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/basic_string.h (basic_string::at): Move adjacent to other
+       overload.
+       (basic_string::pop_back): Define.
+       * include/debug/string (__gnu_debug::basic_string::pop_back): Likewise.
+       * include/ext/vstring.h (__versa_string::pop_back): Likewise.
+       * config/abi/pre/gnu.ver: Add new symbols.
+       * testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New.
+       * testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New.
+       * testsuite/21_strings/basic_string/range_access.cc: Split to ...
+       * testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ...
+       * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here.
+       * testsuite/ext/vstring/modifiers/char/pop_back.cc: New.
+       * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New.
+
+2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
+       C++11 compiler features and library headers. Add stable id
+       attributes. Use <filename> element for headers and surround in angle
+       brackets. Use <classname> for classes.
+       * doc/html/*: Regenerate.
+
+2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
+       <cstdalign> as missing.
+
+2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/faq.xml: Replace references to C++0x with C++11.
+       * doc/xml/manual/intro.xml: Likewise.
+       * doc/xml/manual/backwards_compatibility.xml: Likewise.
+       * doc/xml/manual/shared_ptr.xml: Likewise.
+       * doc/xml/manual/configure.xml: Likewise.
+       * doc/xml/manual/evolution.xml: Likewise.
+       * doc/xml/manual/using.xml: Likewise.
+       * doc/xml/manual/strings.xml: Likewise.
+       * doc/xml/manual/debug_mode.xml: Likewise.
+       * doc/xml/manual/policy_data_structures.xml: Likewise.
+       * doc/xml/manual/extensions.xml: Likewise.
+       * doc/xml/manual/diagnostics.xml: Likewise.
+       * doc/xml/manual/test.xml: Likewise.
+       * doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
+       * doc/xml/manual/status_cxx2011.xml: Here.
+       * doc/Makefile.am: Rename status_cxx200x.xml.
+       * doc/Makefile.in: Regenerate.
+       * doc/html/*: Regenerate.
+
+2011-11-06  François Dumont <fdumont@gcc.gnu.org>
+
+       * testsuite/performance/23_containers/insert_erase/41975.cc: Add
+       tests to check performance with or without cache of hash code and with
+       string type that has a costlier hash functor than int type.
+
+2011-11-06  Benjamin Kosnik  <bkoz@redhat.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       Merged from cxx-mem-model.
+
+       * include/Makefile.am (bits_headers): Remove atomic_0.h, atomic_2.h.
+       * include/Makefile.in: Regenerate.
+       * src/Makefile.am (sources): Rename atomic.cc to
+       compatibility-atomic-c++0x.cc.
+       * src/Makefile.in: Regenerate.
+       * include/bits/atomic_0.h: Remove.
+       * include/bits/atomic_2.h: Incorporate into...
+       * include/bits/atomic_base.h: ...this.  Use new __atomic routines.
+       * include/std/atomic: Add generic atomic calls to basic atomic class.
+       * src/atomic.cc: Move...
+       * src/compatibility-atomic-c++0x.cc: ...here.
+       * src/compatibility-c++0x.cc: Tweak.
+       * testsuite/29_atomics/atomic/cons/user_pod.cc: Fix.
+       * testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc:
+         Same.
+       * testsuite/29_atomics/headers/atomic/macros.cc: Same.
+
+2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/test.xml: Fix dg-warning examples.
+
+2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/44436
+       * doc/xml/manual/status_cxx200x.xml: Document emplace members are
+       missing.
+
+2011-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/49894
+       PR bootstrap/50982
+       * include/std/mutex (once_flag): Use NSDMI.
+
+2011-11-04  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * scripts/run_doxygen: Fix sed quoting.
+
+2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/doxygen/doxygroups.cc: Add markup for namespace tr2.
+       * include/tr2/bool_set: Adjust doxygen markup.
+       * include/tr2/dynamic_bitset: Same.
+       * include/tr2/type_traits: Same.
+
+2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/html/*: Regenerate.
+
+2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/50880
+       * include/std/complex (__complex_acosh): Fix in a better way,
+       use Kahan's formula.
+       * include/tr1/complex (__complex_acosh): Likewise.
+
+2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/50951
+       * include/bits/random.tcc (operator<<(basic_ostream<>&,
+       const mersenne_twister_engine<>&): Output _M_p too.
+       (operator<<(basic_ostream<>&, const
+       subtract_with_carry_engine<>&): Likewise.
+       (operator>>(basic_istream<>&, mersenne_twister_engine<>&):
+       Reload it.
+       (operator>>(basic_istream<>&, subtract_with_carry_engine<>&):
+       Likewise.
+       * include/bits/random.h (mersenne_twister_engine<>::operator==):
+       Compare _M_p too.
+       (subtract_with_carry_engine<>::operator==): Compare _M_carry
+       and _M_p too.
+       (shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too.
+       * testsuite/26_numerics/random/independent_bits_engine/
+       operators/serialize.cc: Extend.
+       * testsuite/26_numerics/random/subtract_with_carry_engine/
+       operators/serialize.cc: Likewise.
+       * testsuite/26_numerics/random/discard_block_engine/
+       operators/serialize.cc: Likewise.
+       * testsuite/26_numerics/random/mersenne_twister_engine/
+       operators/serialize.cc: Likewise.
+       * testsuite/26_numerics/random/linear_congruential_engine/
+       operators/serialize.cc: Likewise.
+       * testsuite/26_numerics/random/shuffle_order_engine/
+       operators/serialize.cc: Likewise.
+
+2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
+       toplevel_builddir.
+       (GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
+       HAVE_GTHR_DEFAULT, enable_thread.
+       (GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
+       * include/Makefile.am (thread_host_headers): Remove
+       ${host_builddir}/gthr-tpf.h.
+       (${host_builddir}/gthr.h): Reflect gthr move to libgcc.
+       Use $<.
+       (${host_builddir}/gthr-single.h): Likewise.
+       (${host_builddir}/gthr-posix.h): Likewise.
+       (${host_builddir}/gthr-tpf.h): Remove.
+       (${host_builddir}/gthr-default.h): Likewise.
+       * configure, config.h.in: Regenerate.
+       * Makefile.in, doc/Makefile.in, include/Makefile.in,
+       libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
+       src/Makefile.intestsuite/Makefile.in: Regenerate.
+
+2011-11-02  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/bits/c++config: Add tr2 to versioned namespaces.
+       * scripts/run_doxygen: Adjust generated man files as well.
+       * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
+
+2011-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/future (promise): Add constructors for uses-allocator
+       construction from rvalue promise.
+       (packaged_task): Implement LWG 2067. Add additional constructors for
+       uses-allocator construction.
+       * testsuite/30_threads/packaged_task/cons/3.cc: New.
+       * testsuite/30_threads/packaged_task/cons/alloc2.cc: New.
+       * testsuite/30_threads/promise/cons/alloc2.cc: New.
+
 2011-10-31  Jason Merrill  <jason@redhat.com>
 
        * include/Makefile.am (install-freestanding-headers): Install
@@ -8,7 +930,7 @@
 
        * acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
        * configure: Regenerate.
-       
+
 2011-10-31  Jason Merrill  <jason@redhat.com>
 
        PR c++/50920