OSDN Git Service

2010-09-13 Matt Austern <austern@google.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index e23edfc..179b1e6 100644 (file)
@@ -1,3 +1,597 @@
+2010-09-13  Matt Austern  <austern@google.com>
+
+       * src/hash_bytes.cc: New file, exports _Hash_bytes (a Murmur hash),
+       and _Fnv_hash_bytes (based on a FNV algorithm).
+       * src/compatibility-c++0x.cc (hash<string>::operator(),
+       hash<const string&>::operator(), hash<wstring>::operator(),
+       hash<const wstring&>::operator(), hash<error_code>::operator()):
+       Adjust, use _Hash_bytes.
+       * 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/bits/basic_string.h (hash<string>::operator(),
+       hash<wstring>::operator(), hash<u16string>::operator(),
+       hash<u32string>::operator()): Adjust.
+       * include/bits/vector.tcc (hash<vector<bool>>::operator()): Adjust.
+       * include/bits/functional_hash.h (_Hash_bytes, _Fnv_hash_bytes):
+       Declare.
+       (struct _Hash_impl, struct _Fnv_hash_impl): Add, use _Hash_bytes
+       and _Fnv_hash_bytes, respectively.
+       (hash<float>::operator(), hash<double>::operator()): Adjust.
+       * config/abi/pre/gnu.ver: Add exports.
+       * src/Makefile.am: Add.
+       * src/Makefile.in: Regenerate.
+
+2010-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/forward_list.h (forward_list<>::resize(size_type,
+       value_type)): Fix signature, per LWG 1340.
+       * include/bits/forward_list.tcc: Adjust definition.
+
+2010-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: New.
+       * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
+
+2010-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * src/hash-string-aux.cc: Remove. Move contents...
+       * src/hash_tr1.cc: ... here.
+       * src/compatibility-c++0x.cc: ... and here.
+
+2010-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45613
+       * include/bits/random.tcc: Add missing include guards.
+       * include/bits/random.h: Likewise.
+       * include/tr1/random.tcc: Likewise.
+
+2010-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * libsupc++/cxxabi.h: Uglify nothrow to __nothrow__; fix a few
+       inconsistent uglifications everywhere.
+
+2010-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
+           Marc Glisse  <marc.glisse@normalesup.org>
+
+       PR libstdc++/45549
+       * include/bits/cpp_type_traits.h (__is_iterator_helper): Rename to
+       __has_iterator_category.
+       (__is_iterator): Adjust.
+       * include/bits/stl_iterator_base_types.h (__iterator_traits): Add
+       in C++0x mode, use the latter.
+       (iterator_traits): In C++0x mode, derive from the latter.
+       * include/bits/stl_iterator_base_funcs.h (next, prev): Remove
+       enable_if on the return type.
+
+2010-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45398
+       * include/std/atomic (atomic<_TP*>::store): Define.
+
+       * include/std/atomic (atomic<_TP*>::load, exchange): Define inline.
+
+2010-09-06  Jason Merrill  <jason@redhat.com>
+
+       * testsuite/libstdc++-abi/abi.exp: Add "libstdc++-abi/" to
+       abi_check FAIL message.
+
+2010-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45347
+       * include/ext/concurrence.h: Add #pragma GCC system_header.
+
+2010-09-03  François Dumont <francois.cppdevs@free.fr>
+
+        * testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
+        that it really detects when debug mode is activated.
+        * testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
+        Remove, content moved...
+        * testsuite/util/debug/checks.h: ... here. Modify checks to take the
+       type of the container to test rather than an intermediate container
+        type traits helper.
+       * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Update to
+       use dg-require-debug-mode when necessary and use new check functions.
+       * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_map/debug/construct4_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_map/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/multimap/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/set/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc:
+       Likewise.
+       * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/assign4_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/vector/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_set/debug/construct4_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/assign4_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/deque/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/multiset/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/assign4_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/insert4_neg.cc: Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc:
+       Likewise.
+       * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/construct4_neg.cc: Likewise.
+       * testsuite/23_containers/map/debug/insert4_neg.cc: Likewise.
+
+       * testsuite/23_containers/unordered_map/debug/cont_traits.h: Remove.
+       * testsuite/23_containers/unordered_map/debug/debug_cont_traits.h:
+       Likewise.
+       * testsuite/23_containers/multimap/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/multimap/debug/debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/set/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/set/debug/debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/cont_traits.h:
+       Likewise.
+       * testsuite/23_containers/unordered_multimap/debug/
+       debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/vector/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/vector/debug/debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/unordered_set/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/unordered_set/debug/debug_cont_traits.h:
+       Likewise.
+       * testsuite/23_containers/deque/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/deque/debug/debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/multiset/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/multiset/debug/debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/list/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/list/debug/debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/cont_traits.h:
+       Likewise.
+       * testsuite/23_containers/unordered_multiset/debug/
+       debug_cont_traits.h: Likewise.
+       * testsuite/23_containers/map/debug/cont_traits.h: Likewise.
+       * testsuite/23_containers/map/debug/debug_cont_traits.h: Likewise.
+
+       * testsuite/21_strings/basic_string/element_access/char: Tidy.
+       * testsuite/21_strings/basic_string/element_access/wchar_t: Likewise.
+
+2010-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/40974
+       * include/Makefile.am: Add -nostdinc++ to PCHFLAGS.
+       * include/Makefile.in: Regenerate.
+
+2010-09-01  Christopher Yeleighton  <giecrilj@stegny.2a.pl>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45488
+       * include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
+       two variables inside the main loop.
+       * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
+       Likewise.
+
+2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/44480
+       * include/bits/hashtable.h (_Hashtable<>::_M_begin_bucket_index):
+       Add, caching the index of the first non-empty bucket.
+       (begin, cbegin): Use it.
+       (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator, ...),
+       _Hashtable(const _Hashtable&), _Hashtable(_Hashtable&&),
+       swap(_Hashtable&), clear): Adjust.
+       (_M_insert_bucket, _M_insert, erase(const_iterator),
+       erase(const key_type&), _M_rehash): Update it.
+
+       * include/bits/hashtable.h (_Hashtable<>::_M_erase): Remove.
+       (erase(const_iterator)): Inline the latter.
+
+2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/23_containers/forward_list/operations/remove_freed.cc:
+       Fix test01 return type to void.
+       * testsuite/util/exception/safety.h: Avoid -Wall -m32 warnings.
+       * testsuite/util/replacement_memory_operators.h: Likewise.
+
+2010-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/23_containers/bitset/invalidation: Move...
+       * testsuite/23_containers/bitset/debug/invalidation: ... here.
+       * testsuite/23_containers/deque/invalidation: Move...
+       * testsuite/23_containers/deque/debug/invalidation: ... here.
+       * testsuite/23_containers/list/invalidation: Move...
+       * testsuite/23_containers/list/debug/invalidation: ... here.
+       * testsuite/23_containers/map/invalidation: Move...
+       * testsuite/23_containers/map/debug/invalidation: ... here.
+       * testsuite/23_containers/multimap/invalidation: Move...
+       * testsuite/23_containers/multimap/debug/invalidation: ... here.
+       * testsuite/23_containers/set/invalidation: Move...
+       * testsuite/23_containers/set/debug/invalidation: ... here.
+       * testsuite/23_containers/multiset/invalidation: Move...
+       * testsuite/23_containers/multiset/debug/invalidation: ... here.
+       * testsuite/23_containers/vector/invalidation: Move...
+       * testsuite/23_containers/vector/debug/invalidation: ... here.
+
+2010-08-29  François Dumont  <francois.cppdevs@free.fr>
+
+        * include/bits/stl_algobase.h (_Iter_base):  Move...
+        * include/bits/stl_iterator_base_types.h: ...here.
+        * include/debug/functions.h (__check_valid_range, __check_string,
+       __check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include
+       formatter.h and use formatting macros for a consistent debug result.
+        * include/debug/formatter.h (__check_singular): Declare; do not
+       include debug.h.
+        * include/debug/debug.h: Do not include formatter.h.
+        * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator)
+        rename to iterator_type.
+       (__gnu_debug::__base): Add.
+        * include/debug/set.h: Use everywhere __gnu_debug::__base once
+       iterator range valided.
+        * include/debug/unordered_map: Likewise.
+        * include/debug/multiset.h: Likewise.
+        * include/debug/vector: Likewise.
+        * include/debug/unordered_set: Likewise.
+        * include/debug/deque: Likewise.
+        * include/debug/map.h: Likewise.
+        * include/debug/string: Likewise.
+        * include/debug/list: Likewise.
+        * include/debug/multimap.h: Likewise.
+        * testsuite/23_containers/util/debug/assign_neg.h: New test cases on
+        debug checks performed on container assign operation.
+        * testsuite/23_containers/util/debug/construct_neg.h: New test cases
+        on debug checks on constructors.
+        * testsuite/23_containers/util/debug/insert_neg.h: New test cases on
+        debug checks performed on container insert operations.
+        * testsuite/23_containers/unordered_map/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: New.
+        * testsuite/23_containers/multimap/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/set/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/unordered_multimap/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/unordered_set/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/multiset/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/unordered_multiset/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/map/debug/cont_traits.h,
+        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/vector/debug/cont_traits.h,
+        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
+        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/23_containers/deque/debug/cont_traits.h,
+        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
+        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+       * testsuite/23_containers/list/debug/cont_traits.h,
+        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
+        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
+        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
+        insert3_neg.cc, insert4_neg.cc: Likewise.
+        * testsuite/performance/23_containers/range_construct/
+       list_construct1.cc: New, validate performance impact of the patch
+       on the debug mode.
+        * testsuite/performance/23_containers/range_construct/
+       list_construct2.cc: Likewise.
+        * testsuite/performance/23_containers/range_construct/
+       vector_construct.cc: Likewise.
+        * testsuite/performance/23_containers/range_construct/
+       deque_construct.cc: Likewise.
+
+2010-08-26  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/bits/stl_iterator_base_types.h: Fix doxygen warning.
+
+2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+
+2010-08-18  Kostya Serebryany <kcc@google.com>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45276
+       * doc/xml/manual/debug.xml ([debug.races]): Add.
+
+2010-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45300
+       * include/c_std/cwchar: Replace 'restrict' -> '__restrict'.
+       * include/c_global/cwchar: Likewise.
+
+2010-08-16  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45300
+       * include/c_std/cstdlib: Replace 'restrict' -> '__restrict'.
+       * include/c_std/cstdio: Likewise.
+       * include/c_global/cstdlib: Likewise.
+       * include/c_global/cstdio: Likewise.
+
+2010-08-16  Chris Moller  <cmoller@redhat.com>
+
+       http://sourceware.org/bugzilla/show_bug.cgi?id=11874
+       * python/libstdcxx/v6/printers.py (StdVectorPrinter): Added stuff
+       to handle pretty-printing of std::vector<bool>.
+
+2010-08-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/45283
+       * testsuite/performance/30_threads/future/polling.cc: Replace calls to
+       shared_future::is_ready.
+
+2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/hashtable.h (_Hashtable<>::operator=(const
+       _Hashtable&)): Move inline.
+       (operator=(_Hashtable&&)): Define.
+       * include/bits/unordered_map.h (unordered_map(unordered_map&&),
+       unordered_map(const unordered_map&), unordered_multimap
+       (unordered_multimap&&), unordered_multimap(const unordered_multimap&),
+       __unordered_map(__unordered_map&&), __unordered_map(const
+       __unordered_map&), __unordered_multimap(__unordered_multimap&&),
+       __unordered_multimap(const __unordered_multimap&)): Do not define,
+       leave implicit.
+       * include/bits/unordered_set.h (unordered_set(unordered_set&&),
+       unordered_set(const unordered_set&), unordered_multiset
+       (unordered_multiset&&), unordered_multiset(const unordered_multiset&),
+       __unordered_set(__unordered_set&&), __unordered_set(const
+       __unordered_set&), __unordered_multiset(__unordered_multiset&&),
+       __unordered_multiset(const __unordered_multiset&)): Likewise.
+
+       * include/bits/unordered_map.h (__unordered_map(initializer_list<>),
+       __unordered_map<>::operator=(initializer_list<>),
+       __unordered_multimap(initializer_list<>), __unordered_multimap<>::
+       operator=(initializer_list<>)): Add.
+       * include/bits/unordered_set.h (__unordered_set(initializer_list<>),
+       __unordered_set<>::operator=(initializer_list<>),
+       __unordered_multiset(initializer_list<>), __unordered_multiset<>::
+       operator=(initializer_list<>)): Likewise.
+
+       * include/bits/unordered_map.h (__unordered_map(_InputIterator,
+       _InputIterator, size_type __n), unordered_map(_InputIterator,
+       _InputIterator, size_type __n), unordered_map(initializer_list<>,
+       size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
+       Fix __n default to 0.
+       * include/bits/unordered_set.h (__unordered_set(_InputIterator,
+       _InputIterator, size_type __n), unordered_set(_InputIterator,
+       _InputIterator, size_type __n), unordered_set(initializer_list<>,
+       size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
+       Likewise.
+       * include/debug/unordered_map (unordered_map(_InputIterator,
+       _InputIterator, size_type __n), unordered_map(initializer_list<>,
+       size_type __n), unordered_map(_InputIterator, _InputIterator,
+       size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
+       Likewise.
+       * include/debug/unordered_set (unordered_set(_InputIterator,
+       _InputIterator, size_type __n), unordered_set(initializer_list<>,
+       size_type __n), unordered_set(_InputIterator, _InputIterator,
+       size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
+       Likewise.
+       * include/profile/unordered_map (unordered_map(_InputIterator,
+       _InputIterator, size_type __n), unordered_map(initializer_list<>,
+       size_type __n), unordered_map(_InputIterator, _InputIterator,
+       size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
+       Likewise.
+       * include/profile/unordered_set (unordered_set(_InputIterator,
+       _InputIterator, size_type __n), unordered_set(initializer_list<>,
+       size_type __n), unordered_set(_InputIterator, _InputIterator,
+       size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
+       Likewise.
+
+2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/45281
+       * include/bits/stl_queue.h (queue(queue&&), operator=(queue&&),
+       priority_queue(priority_queue&&), operator=(priority_queue&&)):
+       Remove, per CH 15.
+
+2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/23_containers/unordered_map/dr1189.cc: Move to...
+       * testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
+       ... here.
+       * testsuite/23_containers/unordered_set/dr1189.cc: Move to...
+       * testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
+       ... here.
+       * testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
+       * testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
+       ... here.
+       * testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
+       * testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
+       ... here.
+
+       * testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.
+
+2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
+       at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS_* macros,
+       removed by mistake.
+       * include/tr1_impl/boost_sp_counted_base.h: Likewise.
+       * include/ext/rc_string_base.h: Likewise.
+       * include/bits/locale_classes.h: Likewise.
+       * include/bits/basic_string.h: Likewise.
+       * include/bits/ios_base.h: Likewise.
+       * include/bits/c++config: Adjust comment.
+
+2010-08-12  Kostya Serebryany <kcc@google.com>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
+       _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
+       * src/ios_init.cc (ios_base::Init::~Init): Decorate with the
+       latter.
+       * include/tr1_impl/boost_sp_counted_base.h: Likewise.
+       * include/ext/rc_string_base.h: Likewise.
+       * include/bits/locale_classes.h: Likewise.
+       * include/bits/basic_string.h: Likewise.
+       * include/bits/ios_base.h: Likewise.
+       * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
+       line number.
+       * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
+       * testsuite/ext/profile/mutex_extensions.cc: Likewise.
+
+2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)):
+       Use std::__addressof.
+
+       * include/bits/forward_list.tcc (forward_list<>::remove): Deal
+       correctly with &__tmp->_M_value == &__val.
+       * testsuite/23_containers/forward_list/operations/remove_freed.cc:
+       New.
+
+2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/stl_algo.h (shuffle): Change signature consistently
+       with random_shuffle (US 121).
+       * include/bits/algorithmfwd.h: Adjust.
+       * testsuite/25_algorithms/shuffle/requirements/
+       explicit_instantiation/2.cc: Likewise.
+       * testsuite/25_algorithms/shuffle/requirements/
+       explicit_instantiation/pod.cc: Likewise.
+
+2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/move.h (forward): Reinstate the N2835 version.
+
+2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/42925
+       * include/bits/unique_ptr.h (operator==(const unique_ptr<>&,
+       nullptr_t), operator==(nullptr_t, const unique_ptr<>&),
+       operator!=(const unique_ptr<>&, nullptr_t),
+       operator!=(nullptr_t, const unique_ptr<>&)): Add.
+       * include/bits/shared_ptr_base.h (operator==(const __shared_ptr<>&,
+       nullptr_t), operator==(nullptr_t, const __shared_ptr<>&),
+       operator!=(const __shared_ptr<>&, nullptr_t),
+       operator!=(nullptr_t, const __shared_ptr<>&)): Likewise.
+       * include/bits/shared_ptr.h (operator==(const shared_ptr<>&,
+       nullptr_t), operator==(nullptr_t, const shared_ptr<>&),
+       operator!=(const shared_ptr<>&, nullptr_t),
+       operator!=(nullptr_t, const shared_ptr<>&)): Likewise.
+       * testsuite/20_util/unique_ptr/comparison/42925.cc: New.
+       * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
+       * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
+       dg-error line numbers.
+
+2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/unique_ptr.h: Replace _Tp_Deleter -> _Dp, and
+       _Up_Deleter -> _Ep.
+
 2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/bits/shared_ptr_base.h: Remove a few now redundant