+2008-09-30 Chris Fairles <cfairles@gcc.gnu.org>
+
+ * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
+ DR 522 [Ready].
+ * testsuite/20_util/tuple/swap.cc: New.
+
+2008-09-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/30085 (again)
+ * include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
+ Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
+ unordered_map / unordered_multimap; add missing member functions.
+ * include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
+ Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
+ * include/debug/safe_association.h: Remove.
+ * include/Makefile.am: Adjust.
+ * include/Makefile.in: Regenerate.
+ * testsuite/23_containers/unordered_multimap/init-list.cc: Remove
+ xfail.
+
+2008-09-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
+ void reset(U)): Add as deleted function, per DR 821 [Ready].
+ * include/bits/unique_ptr.h: Prefer everywhere deleted to private
+ member function declarations; minor formatting tweaks.
+ * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
+ * testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
+ directives.
+
+2008-09-28 Chris Fairles <cfairles@gcc.gnu.org>
+
+ * include/std/mutex (try_lock): Implement generic try_lock.
+ * testsuite/30_threads/try_lock/1.cc: New.
+ * testsuite/30_threads/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/try_lock/3.cc: Likewise.
+ * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
+ * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
+
+2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
+ Steve Ellcey <sje@cup.hp.com>
+
+ * configure: Regenerate for new libtool.
+ * aclocal.m4: Ditto.
+ * Makefile.in: Ditto.
+ * src/Makefile.in: Ditto.
+ * doc/Makefile.in: Ditto.
+ * po/Makefile.in: Ditto.
+ * libmath/Makefile.in: Ditto.
+ * include/Makefile.in: Ditto.
+ * libsupc++/Makefile.in: Ditto.
+ * testsuite/Makefile.in: Ditto.
+
+2008-09-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/bitset: Adjust comment to reflect DR 853.
+ * include/debug/bitset: Likewise.
+ * doc/xml/manual/intro.xml: Add an entry for DR 853.
+
+2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Implement DR 396 [Ready].
+ * include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
+ size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
+ char, char), bitset<>::to_string(_CharT, _CharT),
+ bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
+ size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
+ (std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
+ const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
+ (operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
+ std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
+ * include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
+ size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
+ char, char), bitset<>::to_string(_CharT, _CharT)): Add.
+ * doc/xml/manual/intro.xml: Add an entry for DR 396.
+ * testsuite/23_containers/bitset/cons/dr396.cc: Add.
+ * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
+
+2008-09-23 Chris Fairles <cfairles@gcc.gnu.org>
+
+ * testsuite/25_algorithms/min/37547.cc: Return void to avoid warnings.
+ * testsuite/25_algorithms/max/37547.cc: Likewise.
+ * testsuite/25_algorithms/minmax/37547.cc: Likewise.
+
+2008-09-23 Chris Fairles <cfairles@gcc.gnu.org>
+
+ * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
+ typedef monotonic_clock to system_clock and instead declare new class.
+ * src/chrono.cc: Conditionally define monotonic_clock::now().
+ * include/std/condition_variable (wait_until): Throw exception if
+ __gthread_cond_timedwait returns with error other than timed_out. Use
+ system_clock as known clock type (__clock_t) and add overloads for known
+ and unknown clocks. In the unknown case, sync to the known clock.
+ Implement overload taking a predicate.
+ (wait_for): Implement overload taking a predicate.
+ * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
+ * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
+ line numbers.
+ * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
+ Likewise.
+ * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
+ * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
+ * testsuite/30_threads/condition_variable/member/1.cc: New.
+ * testsuite/30_threads/condition_variable/member/2.cc: Likewise.
+
+2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/37624
+ * testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
+ when strtold is not available.
+ * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
+
+2008-09-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/37391 continued.
+ * doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
+ specify full path for source file links.
+ * doc/html/ext/pb_ds/pq_examples.html: Same.
+
+2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
+ by value parameters.
+ * include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.
+
+2008-09-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/32422, DR 23 [Ready in R60]
+ * config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
+ ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
+ double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
+ char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
+ DR 23 and deal correctly with broken exponents.
+ * config/locale/generic/c_locale.cc (__convert_to_v(const char*,
+ float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
+ char*, double&, ios_base::iostate&, const __c_locale&),
+ __convert_to_v(const char*, long double&, ios_base::iostate&, const
+ __c_locale&)): Likewise.
+ * include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
+ _InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
+ (num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
+ ios_base::iostate&, string&): Change grouping check to set instead of
+ OR failbit; do not check for eofbit here...
+ (num_get<>::do_get(iter_type, iter_type, ios_base&,
+ ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
+ ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
+ iter_type, ios_base&, ios_base::iostate&, long double&),
+ num_get<>::__do_get(iter_type, iter_type, ios_base&,
+ ios_base::iostate&, double&)): ... do it here instead.
+ (num_get<>::do_get(iter_type, iter_type, ios_base&,
+ ios_base::iostate&, bool&)): Implement DR 23.
+ (num_get<>::do_get(iter_type, iter_type, ios_base&,
+ ios_base::iostate&, void*&)): Adjust.
+ * doc/xml/manual/intro.xml: Add and entry for DR 23.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
+ Adjust.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
+ Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
+
+2008-09-22 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/37391
+ * doc/html/ext/pb_ds/*.html: Fix external links.
+
+2008-09-22 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/doxygen/user.cfg.in: Define _GLIBCXX_HAS_GTHREADS for mutex,
+ condition_variable, and thread output.
+
+2008-09-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/html/ext/lwg-closed.html: Update to Revision R59.
+ * doc/html/ext/lwg-active.html: Likewise.
+ * doc/html/ext/lwg-defects.html: Likewise.
+ * doc/xml/manual/intro.xml: Adjust.
+
+2008-09-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
+ consistently with the other overload for initializer_list.
+
+2008-09-19 Johannes Singler <singler@ira.uka.de>
+
+ PR libstdc++/37470
+ * include/parallel/base.h: Rename log2 to __log2.
+ (__log2) Avoid infinite loop for n <= 0, return 0.
+ * include/parallel/losertree.h: Rename log2 to __log2.
+ * include/parallel/multiseq_selection.h: Likewise.
+ * include/parallel/random_shuffle.h: Likewise.
+
+2008-09-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/shared_ptr.h (__shared_count<>::
+ __shared_count(_Ptr, _Deleter), __shared_count<>::
+ __shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
+ __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
+ Qualify new with ::.
+
+2008-09-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/37547
+ * include/bits/stl_algo.h (min(initializer_list<>),
+ min(initializer_list<>, Compare), max(initializer_list<>),
+ max(initializer_list<>, Compare), minmax(initializer_list<>),
+ minmax(initializer_list<>, Compare)): Fix return type.
+ * include/bits/algorithmfwd.h: Adjust.
+ * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
+ * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
+ Likewise.
+ * testsuite/25_algorithms/max/requirements/explicit_instantiation/
+ pod2.cc: Likewise.
+ * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
+ Likewise.
+ * testsuite/25_algorithms/min/requirements/explicit_instantiation/
+ pod2.cc: Likewise.
+ * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
+ 3.cc: Likewise.
+ * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
+ pod2.cc: Likewise.
+ * testsuite/25_algorithms/max/37547.cc: New.
+ * testsuite/25_algorithms/min/37547.cc: Likewise.
+ * testsuite/25_algorithms/minmax/37547.cc: Likewise.
+
+2008-09-16 Chris Fairles <chris.fairles@gmail.com>
+
+ * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
+ New.
+ * testsuite/25_algorithms/min/requirements/explicit_instantiation/
+ pod2.cc: Likewise.
+ * testsuite/25_algorithms/min/3.cc: Likewise.
+ * testsuite/25_algorithms/min/4.cc: Likewise.
+ * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
+ Likewise.
+ * testsuite/25_algorithms/max/requirements/explicit_instantiation/
+ pod2.cc: Likewise.
+ * testsuite/25_algorithms/max/3.cc: Likewise.
+ * testsuite/25_algorithms/max/4.cc: Likewise.
+ * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
+ 3.cc: Likewise.
+ * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
+ pod2.cc: Likewise.
+ * testsuite/25_algorithms/minmax/2.cc: Likewise.
+ * testsuite/25_algorithms/minmax/3.cc: Likewise.
+
+2008-09-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/stl_algo.h (min(initializer_list<>),
+ min(initializer_list<>, Compare), max(initializer_list<>),
+ max(initializer_list<>, Compare), minmax(initializer_list<>),
+ minmax(initializer_list<>, Compare)): Add in C++0x mode.
+ * include/bits/algorithmfwd.h: Add.
+ * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
+