X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=179b1e6240fd1f01a16d25f1d326a7b2a9a61e3e;hb=10122a90371dc529b762e8249d8f05188a062a36;hp=841523f9021f36681f82a7196198eef08b170e46;hpb=6c9256ad5968e30a656d98a24ba66c2c8b92bb87;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 841523f9021..179b1e6240f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,558 @@ +2010-09-13 Matt Austern + + * 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::operator(), + hash::operator(), hash::operator(), + hash::operator(), hash::operator()): + Adjust, use _Hash_bytes. + * include/std/system_error (hash::operator()): Likewise. + * include/std/thread (hashoperator()): Likewise. + * include/std/bitset (hashoperator()): Likewise. + * include/bits/basic_string.h (hash::operator(), + hash::operator(), hash::operator(), + hash::operator()): Adjust. + * include/bits/vector.tcc (hash>::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::operator(), hash::operator()): Adjust. + * config/abi/pre/gnu.ver: Add exports. + * src/Makefile.am: Add. + * src/Makefile.in: Regenerate. + +2010-09-13 Paolo Carlini + + * 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 + + * 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 + + * 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 + + 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 + + * libsupc++/cxxabi.h: Uglify nothrow to __nothrow__; fix a few + inconsistent uglifications everywhere. + +2010-09-07 Paolo Carlini + Marc Glisse + + 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 + + PR libstdc++/45398 + * include/std/atomic (atomic<_TP*>::store): Define. + + * include/std/atomic (atomic<_TP*>::load, exchange): Define inline. + +2010-09-06 Jason Merrill + + * testsuite/libstdc++-abi/abi.exp: Add "libstdc++-abi/" to + abi_check FAIL message. + +2010-09-03 Paolo Carlini + + PR libstdc++/45347 + * include/ext/concurrence.h: Add #pragma GCC system_header. + +2010-09-03 François Dumont + + * 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 + + PR libstdc++/40974 + * include/Makefile.am: Add -nostdinc++ to PCHFLAGS. + * include/Makefile.in: Regenerate. + +2010-09-01 Christopher Yeleighton + Paolo Carlini + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * include/bits/stl_iterator_base_types.h: Fix doxygen warning. + +2010-08-21 Ralf Wildenhues + + * configure: Regenerate. + +2010-08-18 Kostya Serebryany + Paolo Carlini + + PR libstdc++/45276 + * doc/xml/manual/debug.xml ([debug.races]): Add. + +2010-08-17 Paolo Carlini + + PR libstdc++/45300 + * include/c_std/cwchar: Replace 'restrict' -> '__restrict'. + * include/c_global/cwchar: Likewise. + +2010-08-16 Paolo Carlini + + 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 + + http://sourceware.org/bugzilla/show_bug.cgi?id=11874 + * python/libstdcxx/v6/printers.py (StdVectorPrinter): Added stuff + to handle pretty-printing of std::vector. + +2010-08-14 Jonathan Wakely + + PR libstdc++/45283 + * testsuite/performance/30_threads/future/polling.cc: Replace calls to + shared_future::is_ready. + +2010-08-13 Paolo Carlini + + * 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 + + 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 + + * 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 + + * 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 + Paolo Carlini + + * 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 + + * 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 * include/bits/stl_algo.h (shuffle): Change signature consistently