X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=3baca8c8b5a2195c97013db5be75002ea14aec12;hb=cd672ed8fcc35be24f8edaffb3962ed88a6b709a;hp=d655cc4dd57830398385ec719c9b550d6d48c56d;hpb=7afab8988db4e3705689ee04b5098a16463e30ba;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d655cc4dd57..6751abbdfae 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,1491 @@ +2011-12-04 Markus Trippelsdorf + Jonathan Wakely + + * 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 + + * 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 + + * doc/xml/manual/utilities.xml: Remove outdated text. + +2011-12-02 Paolo Carlini + + * include/std/iomanip (put_money): Fix thinko, use __err local, + like in, eg, basic_ostream::_M_insert. + +2011-11-30 Benjamin Kosnik + + * 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 + * doc/xml/manual/concurrency_extensions.xml + + * testsuite/18_support/exception_ptr/lifespan.cc + * testsuite/lib/libstdc++.exp + +2011-11-29 François Dumont + + * 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 + + * 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 + + 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 + + * doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead + of i386. + +2011-11-27 Gerald Pfeifer + + * scripts/run_doxygen (problematic): Change Linux reference to + GNU/Linux. + +2011-11-26 Gerald Pfeifer + + * doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux. + Fix reference to GCC. + +2011-11-26 Jonathan Wakely + + 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 + + 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 + * include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect + gthr-posix.h move. + * include/Makefile.in: Regenerate. + +2011-11-07 Jonathan Wakely + + * 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 + + * config/abi/pre/gnu.ver: Fix exports for string::pop_back. + +2011-11-07 Jonathan Wakely + + * acinclude.m4: Check for + * configure: Regenerate. + * config.h.in: Likewise. + * include/Makefile.am: Add . + * 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 + + 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 + + * include/backward/hashtable.h: Make __stl_prime_list + in comdat section. + +2011-11-07 Jonathan Wakely + + * 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 + + * doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for + C++11 compiler features and library headers. Add stable id + attributes. Use element for headers and surround in angle + brackets. Use for classes. + * doc/html/*: Regenerate. + +2011-11-06 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Document and + as missing. + +2011-11-06 Jonathan Wakely + + * 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 + + * 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 + Andrew MacLeod + + 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 + + * doc/xml/manual/test.xml: Fix dg-warning examples. + +2011-11-06 Jonathan Wakely + + PR libstdc++/44436 + * doc/xml/manual/status_cxx200x.xml: Document emplace members are + missing. + +2011-11-05 Jonathan Wakely + + PR libstdc++/49894 + PR bootstrap/50982 + * include/std/mutex (once_flag): Use NSDMI. + +2011-11-04 Benjamin Kosnik + + * scripts/run_doxygen: Fix sed quoting. + +2011-11-03 Benjamin Kosnik + + * 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 + + * doc/html/*: Regenerate. + +2011-11-02 Richard B. Kreckel + Paolo Carlini + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * include/Makefile.am (install-freestanding-headers): Install + c++0x_warning.h. + * libsupc++/initializer_list: Include it. + +2011-10-31 Gerald Pfeifer + + * acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux. + * configure: Regenerate. + +2011-10-31 Jason Merrill + + PR c++/50920 + * include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11. + +2011-10-30 Gerald Pfeifer + + * prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux. + Remove an obsolete reference to a Red Hat release we do not + support any longer. + Refer to Debian GNU/Linux. + +2011-10-30 Gerald Pfeifer + + * faq.xml (Who's in charge of it?): Refer to the Linux kernel + instead of just Linux. + (How do I install libstdc++?): Refer to GNU/Linux instead of + just Linux. + +2011-10-28 Paolo Carlini + + * testsuite/30_threads/condition_variable_any/50862.cc: Trivial + formatting fixes. + +2011-10-28 Paolo Carlini + + * testsuite/23_containers/unordered_map/operations/count.cc: New. + * testsuite/23_containers/multimap/operations/count.cc: Likewise. + * testsuite/23_containers/set/operations/count.cc: Likewise. + * testsuite/23_containers/unordered_multimap/operations/count.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/count.cc: Likewise. + * testsuite/23_containers/multiset/operations/count.cc: Likewise. + * testsuite/23_containers/unordered_multiset/operations/count.cc: + Likewise. + * testsuite/23_containers/map/operations/count.cc: Likewise. + +2011-10-28 Richard B. Kreckel + + * include/std/complex (__complex_acosh): Just use '< _Tp()'. + * include/tr1/complex (__complex_acosh): Likewise. + +2011-10-27 Richard B. Kreckel + Paolo Carlini + + PR libstdc++/50880 + * include/std/complex (__complex_acosh): Fix for __z.real() < 0. + * include/tr1/complex (__complex_acosh): Likewise. + * testsuite/26_numerics/complex/50880.cc: New. + * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise. + +2011-10-27 Jonathan Wakely + + PR libstdc++/50862 + * include/std/condition_variable (condition_variable_any::wait): Avoid + terminating if relocking user mutex throws during stack-unwinding. + * testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require. + +2011-10-25 Jonathan Wakely + + * include/std/condition_variable (condition_variable_any): Remove + unused native_handle_type typedef. + * src/condition_variable.cc (condition_variable): Add missing noexcept + specifications. + * testsuite/30_threads/condition_variable_any/requirements/ + typedefs.cc: Remove. + +2011-10-25 Jonathan Wakely + + PR libstdc++/50862 + * include/std/condition_variable (condition_variable_any::wait): Fix + deadlock and ensure _Lock::lock() is called on exit. + (condition_variable_any::native_handle): Remove, as per LWG 1500. + * testsuite/30_threads/condition_variable_any/50862.cc: New. + +2011-10-25 Jonathan Wakely + + PR libstdc++/49894 + * include/std/mutex (__mutex_base,__recursive_mutex_base): Define new + base classes to manage construction/destruction of native mutexes, + using NSDMI when INIT macros are defined. + (mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from + new base classes. + * include/std/condition_variable (condition_variable): Use NSDMI when + INIT macro is defined. Use noexcept. + * src/condition_variable.cc (condition_variable): Explicitly-default + constructor/destructor when using NSDMI. Use noexcept. + (condition_variable_any): Likewise. + +2011-10-24 Jonathan Wakely + + * testsuite/30_threads/async/49668.cc: Add missing dg-require. + * testsuite/30_threads/packaged_task/49668.cc: Likewise. + +2011-10-22 Jonathan Wakely + + PR libstdc++/50834 + * doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11. + +2011-10-22 Jonathan Wakely + + PR libstdc++/50196 + * acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS. + * configure: Regenerate. + * include/std/mutex (timed_mutex, recursive_timed_mutex): Define + conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK. + * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define. + * testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define. + * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: + Use dg-require-gthreads-timed instead of dg-require-gthreads. + * testsuite/30_threads/recursive_timed_mutex/native_handle/ + typesizes.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: + Likewise. + * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. + * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise. + * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: + Likewise. + * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. + +2011-10-19 Ed Smith-Rowland <3dw4rd@verizon.net> + + * include/tr2/bool_set (bool_set): New. + * include/tr2/bool_set.tcc: New. + * include/tr2/dynamic_bitset (dynamic_bitset): New. + * include/tr2/ratio (kibi, mebi, gibi, tebi, pebi, exbi): New. + * include/Makefile.am: Add files. + * include/Makefile.in: Regenerate. + +2011-10-19 Benjamin Kosnik + + * doc/doxygen/user.cfg.in: Add tr2 files. + * testsuite/tr2/headers/all.cc: New. + * testsuite/tr2/headers/using_namespace_std_tr2.cc: New. + + * include/tr2/type_traits: Tweak. + +2011-10-18 Jason Merrill + + PR c++/50500 + * include/bits/shared_ptr.h: Default copy ctor and assignment. + * testsuite/util/testsuite_allocator.h: Define copy assignment. + * testsuite/util/testsuite_rvalref.h: Default copy assignment. + * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove note tags. + +2011-10-17 Michael Spertus + + * include/tr2/type_traits (bases, direct_bases, typelist): New. + +2011-10-17 Benjamin Kosnik + + * libstdc++-v3/include/Makefile.am: Add tr2 directory and includes. + * libstdc++-v3/include/Makefile.in: Regenerate. + + * scripts/create_testsuite_files: Search tr2 directory. + * testsuite/libstdc++-dg/conformance.exp: Same. + + * testsuite/tr2/bases/requirements/explicit_instantiation.cc: New. + * testsuite/tr2/bases/requirements/typedefs.cc: New. + * testsuite/tr2/bases/value.cc: New. + * testsuite/tr2/direct_bases/requirements/ + explicit_instantiation.cc: New. + * testsuite/tr2/direct_bases/requirements/typedefs.cc: New. + * testsuite/tr2/direct_bases/value.cc: New. + +2011-10-17 Rainer Orth + + PR bootstrap/50715 + * config/abi/pre/gnu.ver (CXXABI_1.3.6): Remove duplicate + __cxa_get_exception_ptr. + +2011-10-14 François Dumont + + * testsuite/performance/23_containers/insert_erase/41975.cc: New. + +2011-10-14 Jonathan Wakely + + * testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar. + +2011-10-14 Jonathan Yong + + * configure.host: Use config/os/mingw32-w64 instead of + config/os/mingw32 if vendor key is "w64". + * config/os/mingw32-w64: Duplicate from config/os/mingw32. + * config/os/mingw32-w64/os_defines.h: Enable + _GLIBCXX_FULLY_DYNAMIC_STRING if undefined. + * acinclude.m4: Set fully-dynamic-string to 1 when enabled, + 0 when disabled or undefined if unset by user. + * include/bits/basic_string.h: Check if + _GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined. + include/bits/basic_string.tcc: Likewise. + * configure: Regenerated. + * config.h.in: Likewise. + +2011-10-13 Paolo Carlini + + PR libstdc++/50714 + * include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize + _M_c_locale_codecvt member. + * testsuite/22_locale/codecvt_byname/50714.cc: New. + +2011-10-12 Paolo Carlini + + PR c++/50594 + * libsupc++/new (operator new, operator delete): Decorate with + __attribute__((__externally_visible__)). + * include/bits/c++config: Add _GLIBCXX_THROW. + * libsupc++/del_op.cc: Adjust. + * libsupc++/del_opv.cc: Likewise. + * libsupc++/del_opnt.cc: Likewise. + * libsupc++/del_opvnt.cc: Likewise. + * libsupc++/new_op.cc: Likewise. + * libsupc++/new_opv.cc: Likewise. + * libsupc++/new_opnt.cc: Likewise. + * libsupc++/new_opvnt.cc: Likewise. + * testsuite/18_support/50594.cc: New. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error + line number. + +2011-10-11 Emil Wojak + + PR c++/50661 + * include/bits/stl_algobase.h (equal): Compare arrays of pointers + too with memcmp. + +2011-10-10 Benjamin Kosnik + + PR libstdc++/49818 + * config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols. + * testsuite/util/testsuite_abi.cc: Same. + * libsupc++/unwind-cxx.h: Move required eh API... + * libsupc++/cxxabi.h: ... to here. Add required forward declarations. + Use _GLIBCXX_NOTHROW. + * libsupc++/pure.cc (__cxa_deleted_virtual): Add. + * libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW. + * libsupc++/eh_catch.cc: Same. + * libsupc++/eh_globals.cc: Same. + * libsupc++/eh_type.cc: Same. + +2011-10-07 Jonathan Wakely + + * testsuite/util/testsuite_allocator.h (uneq_allocator): Add + propagate_on_container_swap typedef for C++0x testing. + +2011-10-06 Paolo Carlini + + * testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives, + for C++0x testing too. + * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise. + * testsuite/24_iterators/istreambuf_iterator/requirements/ + base_classes.cc: Adjust for C++0x testing. + * testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode. + * testsuite/ext/codecvt/char-2.cc: Likewise. + * testsuite/ext/codecvt/wchar_t.cc: Likewise. + +2011-10-05 Paolo Carlini + + * include/ext/pod_char_traits.h: Avoid warnings in C++0x mode + when int_type is unsigned. + +2011-10-04 Paolo Carlini + + PR libstdc++/49561 + * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size): + Add in C++0x mode. + (_List_base<>::_List_impl, _List_base<>::_M_get_node, + _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&), + list<>::size, list<>::swap, list<>::splice): Use it. + (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode. + * include/bits/list.tcc (list<>::erase): Likewise. + (list<>::merge): Adjust in C++0x mode. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/list/requirements/dr438/insert_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. + +2011-10-04 Paolo Carlini + + * testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall + warning. + +2011-10-04 Jonathan Wakely + + * include/ext/alloc_traits.h (__alloc_traits::max_size): Define. + (__alloc_traits::rebind): Define. + * include/bits/stl_vector.h: Use them. + * testsuite/util/testsuite_allocator.h (SimpleAllocator): Define. + * testsuite/23_containers/vector/allocator/minimal.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-10-03 Jonathan Wakely + + * testsuite/20_util/pointer_traits/pointer_to.cc: Define equality + operator and use. + +2011-10-03 Paolo Carlini + + * include/bits/hashtable.h (_Hashtable<>::insert(value_type&&), + insert(const_iterator, value_type&&)): Don't define here... + * include/bits/unordered_set.h (__unordered_set<>, + __unordered_multiset<>): ... define here instead. + +2011-09-29 Jason Merrill + + * testsuite/util/testsuite_tr1.h (test_property): Avoid + ambiguity. + +2011-10-01 François Dumont + + * include/debug/vector (vector<>::erase(iterator, iterator): Check + iterators equality using normal iterators. + * include/debug/deque (deque<>::erase(iterator, iterator): Likewise. + +2011-09-29 Paolo Carlini + + * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): + Remove noexcept from declaration too. + +2011-09-27 Benjamin Kosnik + + * doc/html/*: Regenerate. + + * doc/Makefile.am: Un-nest the ext output directory. + * doc/Makefile.in: Regenerate. + * spine.xml: Remove authors, add abstract for short + contents. Rename to index.html for html output. + * manual/spine.xml: Authors here, manual starts with index.html. + * api.xml: Update. + * faq.xml: Same. + +2011-09-27 Marcus Shawcroft + + * libsupc++/tinfo.cc (type_info::operator==): Test __name instead + of name(). + +2011-09-26 Paolo Carlini + + PR libstdc++/50529 + * include/bits/vector.tcc (vector<>::erase(iterator, iterator)): + Fix to do nothing if the range is empty. + * include/bits/stl_bvector.h: Likewise. + * include/bits/deque.tcc: Likewise. + * include/debug/vector: Adjust. + * include/debug/deque: Likewise. + * testsuite/23_containers/vector/modifiers/erase/50529.cc: New. + * testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise. + * testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust. + +2011-09-25 Benjamin Kosnik + Jonathan Wakely + + PR libstdc++/48698 + * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here. + * configure.ac: Move AC_SUBST of libtool_VERSION past call to + GLIBCXX_ENABLE_SYMVERS. + * configure: Regenerate. + * include/bits/c++config: Use __7 as versioned namespace name. + * config/abi/pre/gnu-versioned-namespace.ver: Change mangling as + per above. + * include/c_global/cwchar: Adjust nested namespaces. + * testsuite/20_util/bind/48698.cc: Add test case. + * testsuite/ext/profile/mutex_extensions_neg.cc: Change line number. + +2011-09-25 Paolo Carlini + + Revert (no longer necessary post r179130): + + 2010-04-27 Fabien Chêne + + * testsuite/util/testsuite_error.h: Add empty default constructor + to __gnu_test::test_category and + __gnu_test::test_derived_category. + * src/future.cc: Add empty default constructor to + future_error_category. + * src/system_error.cc: Add default ctor to generic_error_category + and system_error_category. + +2011-09-24 John Salmon + + PR libstdc++/50510 + * include/bits/random.tcc (seed_seq::generate): Fix computation. + +2011-09-24 John Salmon + + PR libstdc++/50509 + * include/bits/random.tcc (seed_seq::generate): Fix computation. + +2011-09-21 Benjamin Kosnik + + * src/limits.cc: Replace everywhere __int128_t -> __int128, and + __uint128_t -> unsigned __int128. + * include/std/type_traits: Likewise. + * include/std/limits: Likewise. + * testsuite/18_support/numeric_limits/dr559.cc: Likewise. + * testsuite/18_support/numeric_limits/lowest.cc: Likewise. + * testsuite/18_support/numeric_limits/40856.cc: Likewise. + * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. + * testsuite/util/testsuite_common_types.h: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/is_floating_point/value.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/is_signed/value.cc: Likewise. + * testsuite/20_util/is_unsigned/value.cc: Likewise. + * testsuite/20_util/is_integral/value.cc: Likewise. + * config/abi/pre/gnu.ver: Likewise. + * acinclude.m4: Likewise. + * configure: Regenerate. + * config.h.in: Likewise. + +2011-09-19 Paolo Carlini + + PR libstdc++/40856 + * include/std/limits (numeric_limits<__int128_t>, + numeric_limits<__uint128_t>): Add. + * src/limits.cc:Define. + * config/abi/pre/gnu.ver: Export. + * include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add. + * testsuite/util/testsuite_common_types.h (integral_types_gnu): Add + (limits_tl): Use it. + * testsuite/18_support/numeric_limits/requirements/ + constexpr_functions.cc: Likewise. + * testsuite/18_support/numeric_limits/40856.cc: New. + * testsuite/18_support/numeric_limits/dr559.cc: Extend. + * testsuite/18_support/numeric_limits/lowest.cc: Likewise. + * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. + * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error + line numbers. + * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: + Likewise. + * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: + Likewise. + * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: + Likewise. + +2011-09-17 Paolo Carlini + + PR libstdc++/50441 + * acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add. + * configure.ac: Call it. + * include/std/type_traits (__is_integral_helper<__int128_t>, + __is_integral_helper<__uint128_t>, + __is_floating_point_helper<__float128>, + __make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add. + * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend. + * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/is_signed/value.cc: Likewise. + * testsuite/20_util/is_unsigned/value.cc: Likewise. + * testsuite/20_util/is_integral/value.cc: Likewise. + * testsuite/20_util/is_floating_point/value.cc: New. + * testsuite/20_util/is_floating_point/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_floating_point/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust + dg-error line numbers. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. + * configure: Regenerate. + * config.h.in: Likewise. + +2011-09-17 François Dumont + + * include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const + _RehashPolicy&)): Commit the modification of the policy only if no + exception occured. + * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: + New. + +2011-09-16 Paolo Carlini + + * testsuite/23_containers/array/comparison_operators/ + less_or_equal.cc: New. + * testsuite/23_containers/array/comparison_operators/ + greater_or_equal.cc: Likewise. + * testsuite/23_containers/array/comparison_operators/less.cc: Likewise. + * testsuite/23_containers/array/comparison_operators/equal.cc: Likewise. + * testsuite/23_containers/array/comparison_operators/not_equal.cc: + Likewise. + * testsuite/23_containers/array/comparison_operators/greater.cc: + Likewise. + * testsuite/23_containers/array/iterators/end_is_one_past.cc: Likewise. + * testsuite/23_containers/array/capacity/empty.cc: Likewise. + * testsuite/23_containers/array/capacity/max_size.cc: Likewise. + * testsuite/23_containers/array/capacity/size.cc: Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_element.cc: + Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_size.cc: + Likewise. + * testsuite/23_containers/array/element_access/at_out_of_range.cc: + Likewise. + * testsuite/23_containers/array/element_access/back.cc: Likewise. + * testsuite/23_containers/array/element_access/front.cc: Likewise. + * testsuite/23_containers/array/element_access/data.cc: Likewise. + * testsuite/23_containers/array/cons/aggregate_initialization.cc: + Likewise. + * testsuite/23_containers/array/requirements/zero_sized_arrays.cc: + Likewise. + * testsuite/23_containers/array/requirements/contiguous.cc: Likewise. + * testsuite/23_containers/array/requirements/member_swap.cc: Likewise. + * testsuite/23_containers/array/specialized_algorithms/swap.cc: + Likewise. + * testsuite/23_containers/array/constexpr_get.cc: Move... + * testsuite/23_containers/array/tuple_interface/constexpr_get.cc: + ... here. + * testsuite/23_containers/array/requirements/get.cc: Move... + * testsuite/23_containers/array/tuple_interface/get: ... here. + * testsuite/23_containers/array/at_neg.cc: Move... + * testsuite/23_containers/array/element_access: ... here. + * testsuite/23_containers/array/requirements/constexpr_functions.cc: + Move... + * testsuite/23_containers/array/capacity: ... here. + * testsuite/23_containers/array/requirements/ + constexpr_element_access.cc: Move... + * testsuite/23_containers/array/element_access: ... here. + + * testsuite/20_util/duration/cons/1_neg.cc: Avoid -Wall warnings. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise. + * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise. + * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise. + * testsuite/23_containers/bitset/operations/constexpr.cc: Likewise. + + * testsuite/20_util/duration/cons/1_neg.cc: Discard bogus warning. + * testsuite/20_util/forward/1_neg.cc: Likewise. + +2011-09-15 Paolo Carlini + + * include/std/tuple (make_tuple, forward_as_tuple): Declare constexpr. + (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Likewise. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: Enable + make_tuple test. + * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning + line number. + +2011-09-14 François Dumont + Paolo Carlini + + * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore + hash policy _M_prev_resize on exception. + (_Hashtable<>::_M_insert_bucket): Capture hash policy next resize + before using it and use latter method to have it restored on exception. + (_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise. + (_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise. + (_Hashtable<>::rehash): Likewise. + * testsuite/23_containers/unordered_set/insert/hash_policy.cc: New. + * testsuite/23_containers/unordered_multiset/insert/hash_policy.cc: + Likewise. + +2011-09-13 Paul Brook + + * libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation. + * libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base. + * libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove + __ARM_EABI_UNWINDER__ check. + (parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING. + (get_ttype_entry): Use generic implementation on ARM EABI. + (check_exception_spec): Use _Unwind_decode_typeinfo_ptr and + UNWIND_STACK_REG. + (PERSONALITY_FUNCTION): Set ttype_base. + +2011-09-12 Daniel Krugler + Paolo Carlini + + * include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail, + _Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static + constexpr functions; adjust everywhere. + (__get_helper, get): Declare constexpr all three overloads. + (tuple_cat): Declare constexpr; use late return type to improve + error messages. + * include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get, + __pair_get<>::__const_get, get): Declare all constexpr. + * include/std/array (get): Likewise. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable + tuple_cat test. + * testsuite/23_containers/array/constexpr_get.cc: New. + * testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise. + * testsuite/20_util/pair/constexpr_get.cc: Likewise. + * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error + line number. + +2011-09-12 Jason Merrill + + * testsuite/20_util/is_constructible/value-2.cc: Adjust + expected values. + +2011-09-11 Daniel Krugler + + PR libstdc++/50159 + * include/std/tuple (tuple_cat): Reimplement according to the + resolution of LWG 1385. + * include/std/type_traits: Define __and_ and __or_ for zero + arguments too; minor tweaks. + * testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable + for now tuple_cat test. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line numbers. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * doc/xml/manual/status_cxx200x.xml: Update. + +2011-09-09 Paolo Carlini + + * include/std/tuple: Use everywhere std::size_t... instead of int... + * include/std/functional: Likewise. + * include/std/scoped_allocator: Likewise. + * include/bits/stl_pair.h: Likewise. + +2011-09-09 Paolo Carlini + + PR libstdc++/50336 + * include/bits/streambuf_iterator.h (class istreambuf_iterator): + Implement LWG 445 in C++0x mode. + * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc: + New. + +2011-09-08 Dodji Seketeli + + PR c++/33255 - Support -Wunused-local-typedefs warning + * include/ext/bitmap_allocator.h + (__detail::__mini_vector::__lower_bound): Remove unused typedef. + * src/istream.cc (std::operator>>(basic_istream& __in, + basic_string& __str)): Likewise. + (std::getline): Likewise. + * src/valarray.cc (__valarray_product): Likewise. + +2011-09-07 François Dumont + + * testsuite/23_containers/array/at.cc: Revert to... + * testsuite/23_containers/array/at_neg.cc: ...this. + +2011-09-07 Jason Merrill + + * testsuite/20_util/bind/ref_neg.cc: Adjust errors. + * testsuite/20_util/duration/cons/1_neg.cc: Adjust errors. + +2011-09-06 Benjamin Kosnik + + * include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr. + (tuple(tuple&&)): Same. + (tuple(const tuple<_UElements...>& __in)): Same. + (tuple(tuple<_UElements...>&& __in)): Same. + (tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)): + Same. + (get): Same. + * include/std/array: Consolidate array::data usage. + * testsuite/23_containers/array/requirements/constexpr_functions.cc: + Remove extra include. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: New. + * testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests. + * testsuite/20_util/tuple/cons/constexpr-3.cc: Same. + * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers. + +2011-09-06 François Dumont + Paolo Carlini + + * include/bits/hashtable_policy.h (_Prime_rehash_policy:: + _M_next_bkt): Cast _M_max_load_factor to long double. + (_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt. + (_Prime_rehash_policy::_M_need_rehash): Likewise; cast all + float quantities to long double. + +2011-09-06 Paolo Carlini + + PR libstdc++/50257 + * include/bits/hashtable_policy.h (_Prime_rehash_policy:: + _M_next_bkt): Optimize for small argument. + +2011-09-02 François Dumont + + * testsuite/util/testsuite_allocator.h (tracker_allocator_counter:: + allocate): Update allocation count only if allocation succeeded. + 2011-09-02 Paolo Carlini * include/std/bitset: Trivial formatting fixes.