2010-03-19 Paolo Carlini * testsuite/17_intro/freestanding.cc: Avoid -Wall warnings. 2010-03-19 Rodolfo Lima * include/bits/shared_ptr.h (shared_ptr(unique_ptr&&), shared_ptr(auto_ptr&&)): Remove explicit specifier (as per DR 925). * include/bits/shared_ptr_base.h: Likewise. * testsuite/20_util/shared_ptr/creation/dr925.cc: New. 2010-03-19 Paolo Carlini * include/bits/random.tcc: Minor formatting changes. 2010-03-19 Paolo Carlini * include/bits/stl_algo.h (shuffle): Fix typo in signature. * 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-03-19 Paolo Carlini * include/bits/stl_algo.h (shuffle): Add, per D3056. (random_shuffle): Fix signature in C++0x mode. (lower_bound, __lg): Move... * include/bits/stl_algobase.h: ... here. * include/bits/algorithmfwd.h: Adjust. * include/parallel/algorithmfwd.h: Likewise. * include/parallel/algo.h: Likewise. * include/bits/hashtable_policy.h (__lower_bound): Remove, adjust callers. * include/tr1/hashtable_policy.h (__lower_bound): Likewise. * include/bits/random.tcc (__detail::__transform): Add, adjust std::transform callers; don't include . * testsuite/25_algorithms/shuffle/1.cc: Add. * testsuite/25_algorithms/shuffle/requirements/ explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/shuffle/requirements/ explicit_instantiation/pod.cc: Likewise. * include/bits/random.h: Add comments. 2010-03-17 Jonathan Wakely * doc/xml/manual/debug_mode.xml: Correct debug headers. 2010-03-17 Jonathan Wakely PR libstdc++/43397 * include/std/functional (_Mem_fn): Use perfect forwarding. * testsuite/20_util/function/43397.cc: New. 2010-03-16 Paolo Carlini PR libstdc++/43394 * include/parallel/compatibility.h: Add __k8 and __core2 among the i386 targets supporting atomic operations. 2010-03-16 Paolo Carlini * include/backward/hash_map: Use consistently the _BACKWARD_* prefix for the include guard. * include/backward/hash_fun.h: Likewise. * include/backward/hashtable.h: Likewise. * include/backward/auto_ptr.h: Likewise. * include/backward/strstream: Likewise. * include/backward/binders.h: Likewise. * include/backward/hash_set: Likewise. 2010-03-16 Paolo Carlini * include/bits/random.h (operator==(const uniform_int_distribution<>&, const uniform_int_distribution<>&), operator==(const uniform_real_distribution<>&, const uniform_real_distribution<>&), operator==(const lognormal_distribution<>&, const lognormal_distribution<>&), operator==(const chi_squared_distribution<>&, const chi_squared_distribution<>&), operator==(const cauchy_distribution<>&, const cauchy_distribution<>&), operator==(const fisher_distribution<>&, const fisher_distribution<>&), operator==(const student_t_distribution<>&, const student_t_distribution<>&), operator==(const bernoulli_distribution<>&, const bernoulli_distribution<>&), operator==(const binomial_distribution<>&, const binomial_distribution<>&), operator==(const geometric_distribution<>&, const geometric_distribution<>&), operator==(const negative_binomial_distribution<>&, const negative_binomial_distribution<>&), operator==(const poisson_distribution<>&, const poisson_distribution<>&), operator==(const exponential_distribution<>&, const exponential_distribution<>&), operator==(const gamma_distribution<>&, const gamma_distribution<>&), operator==(const weibull_distribution<>&, const weibull_distribution<>&), operator==(const extreme_value_distribution<>&, const extreme_value_distribution<>&), operator==(const discrete_distribution<>&, const discrete_distribution<>&), operator==(const piecewise_constant_distribution<>&, const piecewise_constant_distribution<>&), operator==(const piecewise_linear_distribution<>&, const piecewise_linear_distribution<>&)): Add, likewise for operator!=. (operator!=(const independent_bits_engine<>&, const independent_bits_engine<>&), operator!=(const subtract_with_carry_engine<>&, const subtract_with_carry_engine<>&), operator!=(const discard_block_engine<>&, const discard_block_engine<>&), operator!=(const mersenne_twister_engine<>&, const mersenne_twister_engine<>&), operator!=(const linear_congruential_engine<>&, const linear_congruential_engine<>&), operator!=(const shuffle_order_engine<>&, const shuffle_order_engine<>&): Add. * include/bits/random.tcc (operator==(const normal_distribution<>&, const normal_distribution<>&)): Add. * testsuite/26_numerics/random/uniform_real_distribution/operators/ inequal.cc: New. * testsuite/26_numerics/random/uniform_real_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/ operators/inequal.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/ operators/equal.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/bernoulli_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/bernoulli_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/inequal.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/equal.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/binomial_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/binomial_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/ operators/inequal.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/ operators/equal.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/operators/ equal.cc: Likewise. 2010-03-15 Paolo Carlini * include/bits/forward_list.tcc (_Fwd_list_node_base:: _M_transfer_after): Return _Fwd_list_node_base*. (forward_list<>::_M_splice_after): Add. (forward_list<>::insert_after(const_iterator, size_type, const _Tp&), insert_after(const_iterator, _InputIterator, _InputIterator), insert_after(const_iterator, initializer_list<>)): Use the above, implement DR 1278 ([Ready] in Pittsburgh). * include/bits/forward_list.h (insert_after(const_iterator, size_type, const _Tp&), insert_after(const_iterator, _InputIterator, _InputIterator), insert_after(const_iterator, initializer_list<>)): Only declare. * testsuite/23_containers/forward_list/modifiers/2.cc: Adjust. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. 2010-03-15 Paolo Carlini * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/capacity/1.cc: Adjust. Revert: 2008-11-11 Bob Walters * include/bits/forward_list.h: Support non-standard pointer types (_Fwd_list_node_base): Add _Alloc template parameter. (_Fwd_list_node<>): Likewise. (_Fwd_list_iterator<>): Likewise. (_Fwd_list_const_iterator<>): Likewise. (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after): Use _Alloc<_Tp>::pointer. (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer. (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node, _M_insert_after, _M_put_node, _M_erase_after): Likewise. (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer. (forward_list<>): Use __static_pointer_cast in place of static_cast, and __const_pointer_cast in place of const_cast. * include/bits/forward_list.tcc (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place of standard pointers, __static_pointer_cast in place of static_cast. (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after): Likewise. (forward_list<>::_M_initialize_dispatch, _M_fill_initialize, splice_after, remove, remove_if, merge): Likewise. * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New. * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise. 2010-03-13 Paolo Carlini * include/tr1_impl/array (swap(array<>&, array<>&)): Use member swap. * include/bits/stl_algo.h: Improve comment. 2010-03-12 Benjamin Kosnik * scripts/run_doxygen: Adjust. * doc/doxygen/user.cfg.in: Adjust latex, xml prefs. * doc/xml/api.xml: Update. * doc/Makefile.am: Re-do stamp rules. * doc/Makefile.in: Regenerate. 2010-03-10 Paolo Carlini * include/bits/hashtable_policy.h (_Rehash_base<_Prime_rehash_policy, _Hashtable>::reserve): Add, per DR 1189. * include/bits/hashtable.h (_Hashtable<>::size_type, _Hashtable<>::difference_type): Do not typedef from _Allocator. * testsuite/23_containers/unordered_map/dr1189.cc: New. * testsuite/23_containers/unordered_set/dr1189.cc: Likewise. * testsuite/23_containers/unordered_multimap/dr1189.cc: Likewise. * testsuite/23_containers/unordered_multiset/dr1189.cc: Likewise. 2010-03-08 Paolo Carlini Revert: 2010-02-11 Paolo Carlini PR libstdc++/41975, DR 579 * include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove. (erase(const_iterator), erase(const_iterator, const_iterator)): Change return type to void. * include/debug/unordered_map: Adjust. * include/debug/unordered_set: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/23_containers/unordered_map/erase/1.cc: Likewise. * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_set/erase/1.cc: Likewise. * testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/24061-map.cc: Likewise. 2010-03-04 Paolo Carlini * testsuite/util/testsuite_container_traits.h (traits_base): Add has_throwing_erase trait. (traits, traits): Typedef the latter to true_type. * testsuite/util/exception/safety.h (generation_prohibited): Do not test vector::erase and deque::erase: can throw if either copy constructor or assignment operator of value_type throws. * testsuite/23_containers/vector/requirements/exception/ generation_prohibited.cc: Remove xfail. * testsuite/23_containers/deque/requirements/exception/ generation_prohibited.cc: Likewise. * include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>:: operator(), hash<__gnu_cxx::throw_value_random>::operator()): Pass argument by const ref. * testsuite/util/testsuite_container_traits.h (traits, traits, traits, traits, traits, traits, traits, traits): Typedef consistently has_erase and has_insert as true_type. * testsuite/util/testsuite_container_traits.h (traits, traits, traits, traits): Do not wrongly typedef has_size_type_constructor as true_type: the constructor accepting a size_type actually gets the initial number of buckets. 2010-03-03 Benjamin Kosnik * doc/Makefile.am: Re-organize xml sources. (doc-latex-doxygen): New. (doc-pdf-doxygen): New. (stamp-xml-doxygen, stamp-latex-doxygen): New. * doc/Makefile.in: Regenerate. * doc/doxygen/user.cfg.in: Add support here. * doc/xml/manual/appendix_contributing.xml: Add specifics. * doc/xml/manual/concurrency.xml: New. * doc/xml/manual/atomics.xml: New. * doc/xml/manual/spine.xml: Adjust. * doc/xml/manual/diagnostics.xml: Adjust. 2010-03-03 Paolo Carlini Jonathan Wakely * include/bits/unique_ptr.h (unique_ptr<>::get_deleter): Simplify return type. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust dg-error line number. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise. 2010-03-02 Paolo Carlini * include/debug/bitset (hash): Minor tweaks. * include/debug/vector (hash): Likewise. * include/profile/bitset (hash): Likewise. * include/profile/vector (hash): Likewise. 2010-03-02 Paolo Carlini * include/bits/functional_hash.h (_Fnv_hash_base<>::hash): Change to template. * include/tr1/functional_hash.h (_Fnv_hash_base<>::hash): Likewise. * include/bits/vector.tcc (hash): Adjust. * include/bits/basic_string.h (hash): Likewise. * include/std/bitset (hash): Likewise. * src/hash-string-aux.cc (hash): Likewise. 2010-03-02 Jonathan Wakely * include/std/mutex (lock_guard::lock_guard): Do not lock mutex when adopt_lock_t constructor is used. * testsuite/30_threads/lock_guard/cons/1.cc: New. 2010-03-02 Paolo Carlini * include/bits/stl_bvector.h (hash>:: operator()(const vector&)): Move definition... * include/bits/vector.tcc: ... here. 2010-03-02 Rainer Orth * testsuite/Makefile.am (check-DEJAGNU): Include de* in normal0 dirs. * testsuite/Makefile.in: Regenerate. 2010-03-02 Paolo Carlini * include/bits/stl_bvector.h (hash>): Add. * include/debug/vector (hash<__debug::vector>): Likewise. * include/profile/vector (hash<__profile::vector>): Likewise. * testsuite/23_containers/vector/bool/hash/1.cc: New. * include/std/bitset (hash>): Small tweaks. (hash>): Add. * include/debug/bitset (hash<__debug::bitset<_Nb>>): Forward to hash>. * include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise. * testsuite/23_containers/bitset/hash/1.cc: Improve. 2010-03-02 Jonathan Wakely PR libstdc++/43230 * testsuite/30_threads/promise/members/set_value3.cc (tester::~tester): Remove. 2010-03-02 Paolo Carlini * include/std/bitset (_Base_bitset<>::_M_getdata()): Add. (hash>): Add, use the latter. * include/debug/bitset (hash<__debug::bitset<_Nb>>): Add. * include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise. * testsuite/23_containers/bitset/hash/1.cc: New. 2010-03-02 Jonathan Wakely PR libstdc++/43183 * include/bits/unique_ptr.h (reset): Fix as per working paper. (operator*, operator->, operator[], operator bool, release): Use pointer's null value instead of 0. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust. * testsuite/20_util/unique_ptr/modifiers/43183.cc: New. 2010-03-01 Paolo Carlini * include/std/iomanip (get_money, put_money): Add in C++0x mode; tidy. * testsuite/27_io/manipulators/extended/get_money/char/1.cc: New. * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc: Likewise. 2010-03-01 Benjamin Kosnik * include/bits/atomicfwd_cxx.h: Add typedefs to group. 2010-03-01 Rainer Orth PR libstdc++/32499 * testsuite/Makefile.am (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Export AR, RANLIB. * testsuite/Makefile.in: Regenerate. 2010-02-28 Gerald Pfeifer * doc/html/ext/pb_ds/references.html: Adjust link to SGI's STL site. 2010-02-28 Paolo Carlini * src/hash-long-double-aux.cc (hash:: operator()(long double)): Hash both -0 and +0 to 0. 2010-02-25 Ed Smith-Rowland <3dw4rd@verizon.net> * include/bits/random.tcc (operator<<): Use max_digits10. 2010-02-25 Ed Smith-Rowland <3dw4rd@verizon.net> * include/std/limits (__numeric_limits_base::max_digits10, numeric_limits<>::max_digits10, numeric_limits<>::lowest): Add. * src/limits.cc: Define max_digits10. * config/abi/pre/gnu.ver: Adjust. * testsuite/18_support/numeric_limits/dr559.cc: Test max_digits10 and lowest too. * testsuite/18_support/numeric_limits/lowest.cc: New. * testsuite/18_support/numeric_limits/max_digits10.cc: New. 2010-02-25 Paolo Carlini * include/bits/functional_hash.h (__hash_combine): Remove. (_Fnv_hash_base<>::hash(const char*, size_t)): Add defaulted hash parameter. (_Fnv_hash::__hash_combine(const _Tp&, size_t)): Add. * include/std/system_error (hash): Adjust. * src/compatibility-c++0x.cc (hash): Likewise. 2010-02-24 Benjamin Kosnik * doc/xml/faq.xml: Adjust structure for pdf index. * doc/xml/manual/mt_allocator.xml: Same. * doc/xml/manual/allocator.xml: Same. * doc/xml/manual/ctype.xml: Same. * doc/xml/manual/numerics.xml: Same. * doc/xml/manual/codecvt.xml: Same. * doc/xml/manual/intro.xml: Same. * doc/xml/manual/shared_ptr.xml: Same. * doc/xml/manual/status_cxxtr1.xml: Same. * doc/xml/manual/auto_ptr.xml: Same. * doc/xml/manual/internals.xml: Same. * doc/xml/manual/status_cxx1998.xml: Same. * doc/xml/manual/parallel_mode.xml: Same. * doc/xml/manual/profile_mode.xml: Same. * doc/xml/manual/containers.xml: Same. * doc/xml/manual/io.xml: Same. * doc/xml/manual/concurrency_extensions.xml: Same. * doc/xml/manual/appendix_porting.xml: Same. * doc/xml/manual/utilities.xml: Same. * doc/xml/manual/support.xml: Same. * doc/xml/manual/bitmap_allocator.xml: Same. * doc/xml/manual/configure.xml: Same. * doc/xml/manual/build_hacking.xml: Same. * doc/xml/manual/evolution.xml: Same. * doc/xml/manual/using.xml: Same. * doc/xml/manual/debug.xml: Same. * doc/xml/manual/localization.xml: Same. * doc/xml/manual/strings.xml: Same. * doc/xml/manual/debug_mode.xml: Same. * doc/xml/manual/locale.xml: Same. * doc/xml/manual/extensions.xml: Same. * doc/xml/manual/appendix_contributing.xml: Same. * doc/xml/manual/prerequisites.xml: Same. * doc/xml/manual/messages.xml: Same. * doc/xml/manual/diagnostics.xml: Same. * doc/xml/manual/algorithms.xml: Same. * doc/xml/manual/appendix_free.xml: Same. * doc/xml/manual/iterators.xml: Same. * doc/xml/manual/spine.xml: Same. * doc/xml/manual/status_cxxtr24733.xml: Same. * doc/xml/manual/status_cxx200x.xml: Same. * doc/Makefile.am: Refactor. * doc/Makefile.in: Regenerate. * include/bits/c++0x_warning.h: Tweak doxygen file markup. 2010-02-24 Rainer Orth * testsuite/ext/new_allocator/deallocate_global.cc: Require __cxa_atexit. * testsuite/ext/throw_allocator/deallocate_global.cc: Likewise. 2010-02-23 Benjamin Kosnik * doc/xml/manual/concurrency.xml: Move... * doc/xml/manual/concurrency_extensions.xml: ...here. * doc/xml/manual/extensions.xml: Adjust. * doc/Makefile.am: Adjust. * doc/Makefile.in: Regenerate. 2010-02-23 Benjamin Kosnik * include/bits/random.h: Doxygen group markup fixes. 2010-02-23 Paolo Carlini * include/bits/functional_hash.h (struct _Fnv_hash): Rename to _Fnv_hash_base. (struct _Fnv_hash): Add, derives from the latter. (__hash_combine): Add. (hash::operator()(float), hash::operator()(double)): Adjust. * include/bits/basic_string.h (hash, hash, hash, hash): Adjust. * src/hash-string-aux.cc: Adjust. * src/compatibility-c++0x.cc (hash): Use __hash_combine. * include/std/system_error (hash): Likewise. * include/std/thread (struct hash): Add. * include/tr1/functional_hash.h : Rename to _Fnv_hash_base. (struct _Fnv_hash): Add, derives from the latter. (hash::operator()(float), hash::operator()(double)): Adjust. * testsuite/30_threads/thread/id/hash.cc: New. * testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/30_threads/thread/cons/copy_neg.cc: Likewise. 2010-02-22 Janis Johnson * src/compatibility-ldbl.cc: Include new hash-long-double-aux.cc. 2010-02-22 Paolo Carlini * src/hash-aux.cc: Rename to... * src/hash-string-aux.cc: ... this. * src/hash-long-double-aux.cc: New. * src/hash_c++0x.cc: Adjust. * src/hash_tr1.cc: Likewise. * src/compatibility-c++0x.cc: Likewise. 2010-02-22 Benjamin Kosnik * doc/xml/class.txml: Adjust biblio markup. * doc/xml/manual/allocator.xml: Same. * doc/xml/manual/ctype.xml: Same. * doc/xml/manual/codecvt.xml: Same. * doc/xml/manual/backwards_compatibility.xml: Same. * doc/xml/manual/abi.xml: Same. * doc/xml/manual/shared_ptr.xml: Same. * doc/xml/manual/profile_mode.xml: Same. * doc/xml/manual/using_exceptions.xml: Same. * doc/xml/manual/locale.xml: Same. * doc/xml/manual/appendix_contributing.xml: Same. * doc/xml/manual/messages.xml: Same. * doc/Makefile.am (DBLATEX_FLAGS): Adjust. * doc/Makefile.in: Regenerate. 2010-02-22 François Dumont * doc/xml/manual/profile_mode.xml: Minor updates and fixes. * doc/xml/manual/debug_mode.xml: Likewise. * doc/xml/manual/test.xml: Likewise. 2010-02-22 Paolo Carlini * include/tr1_impl/complex (arg): Use std::signbit only when available. 2010-02-22 Paolo Carlini * include/bits/functional_hash.h (hash, hash, hash, hash, hash): Move, per DR 1182 to... * include/bits/basic_string.h: ... here. * include/std/system_error: ... and here, respectively. * src/hash-aux.cc (hash::operator()(long double)): Move definition... * src/hash_c++0x.cc: ... here, new file. * src/hash_tr1.cc: ... and here, tweak includes. * src/compatibility-c++0x.cc (hash, _Fnv_hash): Remove. * src/Makefile.am: Adjust. * src/Makefile.in: Regenerate. * include/std/functional: Include . * include/std/unordered_set: Remove redundant include. * include/std/unordered_map: Likewise. * include/tr1/functional_hash.h: Remove spurious trailing semicolon. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove dg-excess. 2010-02-21 Paolo Carlini * include/std/complex (proj): Change return type per DR 1137. (conj): Copy from tr1_impl, likewise adjust return type. * include/tr1_impl/complex (conj): Remove. * include/tr1/complex (conj): Add both overloads. * testsuite/26_numerics/complex/dr781.cc: Rename to... * testsuite/26_numerics/complex/dr781_dr1137.cc: ... this, and extend. * include/tr1_impl/complex (arg): Optimize. 2010-02-21 Paolo Carlini * testsuite/20_util/is_trivial/requirements/typedefs.cc: New. * testsuite/20_util/is_trivial/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_pod/value.cc: Likewise. * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_pod/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_standard_layout/requiremenents/ typedefs.cc: Likewise. * testsuite/20_util/is_standard_layout/requiremenents/ explicit_instantiation.cc: Likewise. 2010-02-20 Manuel López-Ibáñez PR c++/35669 * testsuite/18_support/headers/cstddef/macros.cc: Add -Wno-conversion-null. 2010-02-19 Paolo Carlini * include/tr1_impl/array (array): Add pointer and const_pointer typedefs in C++0x mode, per DR 1306. * testsuite/util/testsuite_containers.h (basic_types): Add pointer and const_pointer typedefs. (pointer_aware_types): Remove. * testsuite/util/testsuite_container_traits.h: Adjust. 2010-02-19 Paolo Carlini * include/bits/stl_algo.h (for_each): Implement resolution of DR 1110. * testsuite/25_algorithms/for_each/1.cc: New. 2010-02-19 Paolo Carlini * include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted comparison operators, per DR 1256. * include/bits/shared_ptr.h (weak_ptr): Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust. 2010-02-18 Benjamin Kosnik * scripts/run_doxygen: Add shortnames option. * doc/Makefile.am (doc-man-doxygen): Use it. (doc-html-doxygen): Use it. (doc-xml-doxygen): Use it, but default to NO. (doc-pdf-dblatex): Add. * doc/Makefile.in: Regenerate. * doc/doxygen/user.cfg.in: Update filelist. * include/bits/locale_facets.h: Fix markup warning. 2010-02-18 Benjamin Kosnik * doc/xml/manual/using.xml: Update. * doc/xml/manual/status_cxx1998.xml: Same. * doc/xml/manual/status_cxx200x.xml: Add link. * doc/html/*: Regenerate. * testsuite/17_intro/freestanding.cc: Add. 2010-02-18 Paolo Carlini * libsupc++/typeinfo: Add system_header pragma. * libsupc++/exception: Likewise. * libsupc++/cxxabi-forced.h: Likewise. * libsupc++/new: Likewise. * libsupc++/cxxabi.h: Likewise. * libsupc++/initializer_list: Likewise. 2010-02-18 Paolo Carlini * libsupc++/nested_exception.h: Fix include. 2010-02-17 Benjamin Kosnik * doc/xml/manual/appendix_contributing.xml: Update markup rules for quoting and functions. 2010-02-17 Chris Jefferson * include/bits/locale_facets.h (__convert_to_v): Add empty exception-specification. 2010-02-17 Paolo Carlini * include/std/limits: Implement resolution of DR 559 (CD1) in C++0x mode. * testsuite/18_support/numeric_limits/dr559.cc: New. 2010-02-16 Benjamin Kosnik * src/ios_locale.cc: Fixes for -pedantic. * src/system_error.cc: Same. * src/locale.cc: Same. * src/list.cc: Same. * src/locale_facets.cc: Same. * src/locale_init.cc: Same. * src/ios.cc: Same. * config/locale/darwin/ctype_members.cc: Same. * config/locale/gnu/collate_members.cc: Same. * config/locale/gnu/ctype_members.cc: Same. * config/locale/gnu/c_locale.cc: Same. * config/locale/gnu/monetary_members.cc: Same. * config/locale/gnu/time_members.cc: Same. * config/locale/ieee_1003.1-2001/c_locale.cc: Same. * config/locale/generic/collate_members.cc: Same. * config/locale/generic/ctype_members.cc: Same. * config/locale/generic/c_locale.cc: Same. * config/locale/generic/monetary_members.cc: Same. * config/locale/generic/time_members.cc: Same. * config/io/basic_file_stdio.cc: Same. * libsupc++/pbase_type_info.cc: Fixes for -fno-rtti. * libsupc++/pointer_type_info.cc: Same. * libsupc++/eh_personality.cc: Same. * include/std/system_error: Throw spacing. * include/bits/locale_classes.h: Same. * include/bits/locale_facets.h: Same. * include/bits/ios_base.h: Same. * testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New. * testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New. 2010-02-16 Paolo Carlini * include/bits/random.h (linear_congruential_engine(_Sseq&), mersenne_twister_engine(_Sseq&), subtract_with_carry_engine(_Sseq&)): Do not enable for the type itself. (discard_block_engine(_Sseq&), independent_bits_engine(_Sseq&), shuffle_order_engine(_Sseq&)): Do not enable for the type itself too. (linear_congruential_engine<>::seed(_Sseq&), mersenne_twister_engine<>::seed(_Sseq&), subtract_with_carry_engine<>::seed(_Sseq&)): Use enable_if on the return type. (discard_block_engine<>::seed(_Sseq&), independent_bits_engine<>::seed(_Sseq&), shuffle_order_engine<>::seed(_Sseq&)): Do not use enable_if. * include/bits/random.tcc: Adjust definitions. * testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ copy.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/ copy.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ copy.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ copy.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/ copy.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/cons/ base_move.cc: Minor tweaks. * testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/cons/ base_copy.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/cons/ default.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/cons/ seed_seq.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed1.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed2.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ default.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed_seq.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/default.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ default.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ seed_seq.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ seed1.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ seed2.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ seed_seq.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc: Likewise. 2010-02-16 Paolo Carlini * include/bits/unique_ptr.h: (unique_ptr<>:: unique_ptr(const unique_ptr<_Up, _Up_Deleter>&), operator=(const unique_ptr<_Up, _Up_Deleter>&)): Remove, redundant, per DR 1303. * include/bits/shared_ptr.h (shared_ptr<>:: shared_ptr(const unique_ptr<_Up, _Up_Deleter>&), operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise. * include/bits/shared_ptr_base.h (__shared_ptr<>:: __shared_ptr(const unique_ptr<_Up, _Up_Deleter>&), operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise. 2010-02-15 Paolo Carlini * testsuite/ext/median.cc: Adjust. 2010-02-15 Paolo Carlini * include/bits/stl_algo.h (__median): Move... * include/ext/algorithm: ... here, being an SGI extension. 2010-02-12 Jonathan Wakely Paolo Carlini PR libstdc++/42819, DR 1315 * include/std/future (async): Use std::result_of for the template argument of the std::future return type; adjust everywhere. * testsuite/30_threads/async/42819.cc: New. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise. * testsuite/30_threads/future/cons/assign_neg.cc: Likewise. * testsuite/30_threads/future/cons/copy_neg.cc: Likewise. * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise. * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise. 2010-02-11 Paolo Carlini * config/abi/pre/gnu.ver: Revert last changes. 2010-02-11 Jason Merrill * include/std/thread (~_Impl_base): Declare inline. * libsupc++/nested_exception.h (~nested_exception): Likewise. 2010-02-11 Paolo Carlini PR libstdc++/41975, DR 579 * include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove. (erase(const_iterator), erase(const_iterator, const_iterator)): Change return type to void. * include/debug/unordered_map: Adjust. * include/debug/unordered_set: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/23_containers/unordered_map/erase/1.cc: Likewise. * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_set/erase/1.cc: Likewise. * testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/24061-map.cc: Likewise. 2010-02-11 Paolo Carlini * config/abi/pre/gnu.ver: Avoid exporting inadvertently std::nested_exception symbols at GLIBCXX_3.4. 2010-02-10 Jason Merrill Core issue 906 * include/std/thread (~_Impl_base): Move defaulted dtor out of line. * libsupc++/nested_exception.h (~nested_exception): Likewise. * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise. * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise. 2010-02-10 Paolo Carlini * include/tr1/hashtable.h: Fold in include/tr1_impl/hashtable.h contents. * include/tr1_impl/hashtable.h: Remove. * include/tr1_impl/hashtable_policy.h: Move and rename... * include/tr1/hashtable_policy.h: ... here. * include/tr1_impl/unordered_map: Move and rename... * include/tr1/unordered_map.h: ... here. * include/tr1_impl/unordered_set: Move and rename... * include/tr1/unordered_set.h: ... here. * include/tr1_impl/unordered_map: Move and rename... * include/tr1/unordered_map.h: ... here. * include/tr1/unordered_map: Adjust. * include/tr1/unordered_set: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * include/std/c++0x_warning.h: Move... * include/bits/c++0x_warning.h: ... here. * include/debug/unordered_map: Adjust. * include/debug/unordered_set: Likewise. * include/std/tuple: Likewise. * include/std/system_error: Likewise. * include/std/forward_list: Likewise. * include/std/thread: Likewise. * include/std/type_traits: Likewise. * include/std/future: Likewise. * include/std/regex: Likewise. * include/std/atomic: Likewise. * include/std/ratio: Likewise. * include/std/random: Likewise. * include/std/unordered_map: Likewise. * include/std/chrono: Likewise.: Likewise. * include/std/condition_variable: Likewise. * include/std/mutex: Likewise. * include/std/unordered_set: Likewise. * include/std/array: Likewise. * include/profile/unordered_map: Likewise. * include/profile/unordered_set: Likewise. * include/c_global/cinttypes: Likewise. * include/c_global/ctgmath: Likewise. * include/c_global/cfenv: Likewise. * include/c_global/cstdint: Likewise. * include/c_global/cstdbool: Likewise. * include/c_global/ccomplex: Likewise. * include/bits/shared_ptr.h: Do not include at all, the file is not meant to be included by the users. * include/bits/functional_hash.h: Likewise. * include/bits/unique_ptr.h: Likewise. * include/bits/forward_list.h: Likewise. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-* line numbers. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Likewise. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise. 2010-02-10 Paolo Carlini * include/bits/hashtable.h: Fold in include/tr1_impl/hashtable.h for C++0x use. * include/bits/hashtable_policy.h: New, copy and adjust for C++0x use, include/tr1_impl/hashtable_policy.h; fix erase and insert member functions per n3000. * include/bits/unordered_map.h: Likewise for include/tr1_impl/ unordered_map. * include/bits/unordered_set.h: Likewise for include/tr1_impl/ unordered_set. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * include/tr1/unordered_map: Adjust. * include/tr1/unordered_set: Likewise. * include/tr1_impl/unordered_map: Adjust, now used only by tr1. * include/tr1_impl/hashtable: Likewise. * include/tr1_impl/hashtable_policy.h: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/std/unordered_map: Adjust and simplify includes. * include/std/unordered_set: Likewise. * include/debug/unordered_map: Adjuse erase and insert members. * include/debug/unordered_set: Likewise. * include/profile/unordered_map: Likewise. * include/profile/unordered_set: Likewise. * testsuite/util/exception/safety.h: Fix for the updated erase and insert member functions of the unordered_containers. * testsuite/23_containers/unordered_map/erase/1.cc: New. * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_map/insert/map_single.cc: Likewise. * testsuite/23_containers/unordered_map/insert/array_syntax.cc: Likewise. * testsuite/23_containers/unordered_map/insert/24061-map.cc: Likewise. * testsuite/23_containers/unordered_map/insert/map_range.cc: Likewise. * testsuite/23_containers/set/operators/1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/ 24061-multimap.cc: Likewise. * testsuite/23_containers/unordered_multimap/insert/ 24061-multimap.cc: Likewise. * testsuite/23_containers/unordered_multimap/insert/ multimap_range.cc: Likewise. * testsuite/23_containers/unordered_multimap/insert/ multimap_single.cc: Likewise. * testsuite/23_containers/unordered_set/erase/1.cc: Likewise. * testsuite/23_containers/unordered_set/erase/24061-set.cc: Likewise. * testsuite/23_containers/unordered_set/insert/set_single.cc: Likewise. * testsuite/23_containers/unordered_set/insert/24061-set.cc: Likewise. * testsuite/23_containers/unordered_set/insert/set_range.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/ 24061-multiset.cc: Likewise. * testsuite/23_containers/unordered_multiset/insert/ 24061-multiset.cc: Likewise. * testsuite/23_containers/unordered_multiset/insert/ multiset_range.cc: Likewise. * testsuite/23_containers/unordered_multiset/insert/ multiset_single.cc: Likewise. * testsuite/23_containers/set/operators/1_neg.cc: Tweak dg-errors to avoid spurious fails in debug-mode. * testsuite/23_containers/map/operators/1_neg.cc: Likewise. 2010-02-09 Benjamin Kosnik * include/std/streambuf: Adjust doxygen group markup. * include/std/functional: Same. * include/ext/vstring.h: Same. * include/ext/pb_ds/assoc_container.hpp: Same. * include/ext/stdio_filebuf.h: Same. * include/ext/stdio_sync_filebuf.h: Same. * include/bits/localefwd.h: Same. * include/bits/functional_hash.h: Same. * include/bits/locale_classes.h: Same. * include/bits/locale_facets.h: Same. * include/bits/ios_base.h: Same. * include/bits/codecvt.h: Same. * include/bits/locale_facets_nonio.h: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. 2010-02-08 Benjamin Kosnik PR libstdc++/42460 * include/tr1_impl/regex: Fix quoting issues in doxygen markup. * include/bits/random.h: Fix multi-line doxygen function markup. 2010-02-08 Matthias Klose PR libstdc++/42460 * include/std/istream: Fix '\' quoting in doxygen markup. 2010-02-08 Ed Smith-Rowland <3dw4rd@verizon.net> * include/bits/random.tcc (uniform_int_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Use make_unsigned instead of __add_unsigned and conditional instead of __conditional_type. * include/std/random: Do not include and . 2010-02-07 Paolo Carlini PR libstdc++/16896 * include/bits/stl_list.h (_List_node_base::transfer): Rename to _M_transfer. (_List_node_base::reverse): Rename to _M_reverse. (_List_node_base::hook): Rename to _M_hook. (_List_node_base::unhook): Rename to _M_unhook; adjust callers. * include/bits/list.tcc: Adjust callers. * src/list.cc: Adjust. * src/compatibility.cc: Likewise. * src/compatibility-list.cc: New. * src/compatibility-debug_list.cc: Likewise. * src/compatibility-parallel_list.cc: Likewise. * src/Makefile.am: Add. * src/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Export _M_* symbols. * src/hash.cc: Rename to hash-aux.cc. * src/compatibility-ldbl.cc: Adjust. * src/compatibility-c++0x.cc: Likewise. * src/hash_tr1.cc: Likewise. * src/hashtable.cc: Rename to hashtable-aux.cc. * src/hashtable_c++0x.cc: Adjust. * src/hashtable_tr1.cc: Likewise. * src/limits_c++0x.cc: Fold... * src/limits.cc... here. 2010-02-07 Paolo Carlini * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&), pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)): Revert to std::is_convertible, basing on DR 811. 2010-02-06 Paolo Carlini PR libstdc++/42989 * config/abi/pre/gnu.ver: Fix wstring move assignment operator typo. 2010-02-06 Paolo Carlini PR libstdc++/27340 * include/bits/valarray_before.h: Uglify the structs wrapping cmath functions differently, eg, _Cos instead of __cos. * include/bits/valarray_after.h: Adjust. 2010-02-05 Paolo Carlini * include/std/future (swap(packaged_task<>&, packaged_task<>&)): Fix typo in last commit. 2010-02-05 Paolo Carlini * include/std/future (swap(packaged_task<>&, packaged_task<>&), swap(promise<>&, promise<>&)): Add; minor formatting fixes. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise. * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise. * testsuite/30_threads/promise/cons/copy_neg.cc: Likewise. 2010-02-05 Paolo Carlini * include/bits/stl_algobase.h (struct __iter_base): Rename to _Iter_base; add iterator_type typedef. (struct __miter_base): Rename to _Miter_base. (struct __niter_base): Rename to _Niter_base. (__miter_base, __niter_base): Add, use the latter; adjust everywhere. 2010-02-04 Benjamin Kosnik PR libstdc++/42460 * doc/doxygen/user.cfg.in: Update file list. * include/debug/safe_sequence.h: Doxygen markup fixes for '' and "". * include/debug/safe_base.h: Same. * include/debug/macros.h: Same. * include/tr1_impl/regex: Same. * include/std/iostream: Same. * include/std/streambuf: Same. * include/std/bitset: Same. * include/std/iosfwd: Same. * include/std/limits: Same. * include/std/fstream: Same. * include/std/istream: Same. * include/std/ostream: Same. * include/std/sstream: Same. * include/parallel/multiway_merge.h: Same. * include/parallel/for_each.h: Same. * include/parallel/workstealing.h: Same. * include/parallel/omp_loop_static.h: Same. * include/parallel/omp_loop.h: Same. * include/c_std/csignal: Same. * include/c_std/cstdlib: Same. * include/c_std/cstdio: Same. * include/c_std/cstdarg: Same. * include/c_std/cctype: Same. * include/c_std/cerrno: Same. * include/c_std/cmath: Same. * include/c_std/ciso646: Same. * include/c_std/ctime: Same. * include/c_std/clocale: Same. * include/c_std/climits: Same. * include/c_std/cassert: Same. * include/c_std/csetjmp: Same. * include/c_std/cwchar: Same. * include/c_std/cfloat: Same. * include/c_std/cstring: Same. * include/c_std/cstddef: Same. * include/c_std/cwctype: Same. * include/profile/iterator_tracker.h: Same. * include/profile/impl/profiler_trace.h: Same. * include/ext/vstring.h: Same. * include/ext/algorithm: Same. * include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same. * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same. * include/ext/pb_ds/detail/type_utils.hpp: Same. * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same. * include/ext/rc_string_base.h: Same. * include/ext/stdio_sync_filebuf.h: Same. * include/ext/functional: Same. * include/ext/mt_allocator.h: Same. * include/bits/basic_ios.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/stl_queue.h: Same. * include/bits/locale_classes.h: Same. * include/bits/stl_set.h: Same. * include/bits/locale_facets.h: Same. * include/bits/stl_stack.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/ios_base.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_iterator_base_funcs.h: Same. * include/bits/char_traits.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stl_iterator.h: Same. * include/bits/stl_tempbuf.h: Same. * include/bits/random.tcc: Same. * include/bits/stl_function.h: Same. * include/bits/cpp_type_traits.h: Same. * include/bits/random.h: Same. * include/bits/allocator.h: Same. * include/bits/locale_facets_nonio.h: Same. * include/c_global/csignal: Same. * include/c_global/cstdlib: Same. * include/c_global/cstdio: Same. * include/c_global/cstdarg: Same. * include/c_global/cctype: Same. * include/c_global/cerrno: Same. * include/c_global/cmath: Same. * include/c_global/ciso646: Same. * include/c_global/ctime: Same. * include/c_global/clocale: Same. * include/c_global/climits: Same. * include/c_global/cassert: Same. * include/c_global/csetjmp: Same. * include/c_global/cwchar: Same. * include/c_global/cfloat: Same. * include/c_global/cstring: Same. * include/c_global/cstddef: Same. * include/c_global/cwctype: Same. * include/tr1/hypergeometric.tcc: Same. * include/tr1/random.tcc: Same. * include/tr1/functional: Same. * include/tr1/random.h: Same. * include/backward/auto_ptr.h: Same. * include/backward/binders.h: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust line numbers. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: Same. 2010-02-03 Jonathan Wakely * include/std/condition_variable (condition_variable_any): Provide definitions for all members. * src/condition_variable.cc (condition_variable_any): Adjust definitions. * config/abi/pre/gnu.ver: Adjust exports for condition_variable_any. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/1.cc: New. * testsuite/30_threads/condition_variable_any/members/2.cc: New. * testsuite/30_threads/condition_variable_any/requirements/ standard_layout.cc: Remove. * testsuite/30_threads/condition_variable_any/native_handle/ typesizes.cc: Remove. 2010-02-02 Paolo Carlini * include/ext/vstring.h (__versa_string::shrink_to_fit): Fix for -fno-exceptions. 2010-02-02 Benjamin Kosnik * include/bits/allocator.h: Fix for -fno-exceptions. * include/bits/basic_string.h (basic_string::shrink_to_fit): Same. 2010-02-02 Paolo Carlini * testsuite/30_threads/unique_future: Rename to /future. 2010-02-01 Paolo Carlini PR libstdc++/42408 * include/bits/random.h (linear_congruential_engine<>:: linear_congruential_engine(seed_seq&), linear_congruential_engine<>::seed(seed_seq&), mersenne_twister<>::mersenne_twister(seed_seq&), mersenne_twister<>::seed(seed_seq&), subtract_with_carry_engine<>::subtract_with_carry_engine(seed_seq&), subtract_with_carry_engine<>::seed(seed_seq&), discard_block_engine<>::discard_block_engine(seed_seq&), discard_block_engine<>::seed(seed_seq&), independent_bits_engine<>::independent_bits_engine(seed_seq&), independent_bits_engine<>::seed(seed_seq&), shuffle_order_engine<>::shuffle_order_engine(seed_seq&), shuffle_order_engine<>::seed(seed_seq&)): Templatize. * include/bits/random.tcc: Adjust. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed_seq.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ seed_seq.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/ cons/seed_seq.cc: Likewise. 2010-02-01 Paolo Carlini * include/bits/forward_list.h (forward_list<>::resize(size_type), forward_list(size_type)): Only declare. * include/bits/forward_list.tcc (forward_list<>::resize(size_type), forward_list(size_type)): Define, don't assume CopyConstructible. * testsuite/23_containers/forward_list/cons/10.cc: New. * testsuite/23_containers/forward_list/modifiers/6.cc: Likewis. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * include/bits/forward_list.h: Use _M_get_Node_allocator throughout. 2010-01-31 Paolo Carlini * testsuite/23_containers/array/requirements/exception/ generation_prohibited.c: Remove, swap can indeed throw (DR 774). * testsuite/util/exception/safety.h (insert_base<__versa_string>): Fix. * testsuite/util/testsuite_container_traits.h (traits<__versa_string>): Enable insert tests. 2010-01-31 Paolo Carlini * include/bits/forward_list.h (forward_list<>::insert_after (const_iterator, size_type, const _Tp&), insert_after(const_iterator, _InputIterator, _InputIterator), insert_after(const_iterator, std::initializer_list<>)): Fix return type per N3000. * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc: Adjust. * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. 2010-01-31 Paolo Carlini Revert last changes. Also revert, among the previous changes: * include/std/condition_variable (condition_variable_any:: wait<>(_Lock&)): Provide definition. 2010-01-29 Paolo Carlini * include/std/condition_variable (condition_variable_any:: __wait_until_impl): Add. (condition_variable_any::wait_until): Provide definitions. * testsuite/30_threads/condition_variable_any/members/2.cc: New. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Minor stylistic changes. * testsuite/30_threads/condition_variable/members/1.cc: Likewise. 2010-01-29 Paolo Carlini * include/std/condition_variable (enum class cv_status): Add and use it throughout, per N3000. (condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate), wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)): Provide definitions. * src/condition_variable.cc (condition_variable_any::notify_one, condition_variable_any::notify_all): Likewise. * config/abi/pre/gnu.ver: Export. * testsuite/30_threads/condition_variable_any/requirements/ typedefs.cc: New. * testsuite/30_threads/condition_variable_any/requirements/ standard_layout.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Adjust. * testsuite/30_threads/condition_variable/members/2.cc: Likewise. * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust dg-error line numbers. * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Likewise. 2010-01-28 François Dumont * include/bits/stl_algobase.h (struct __iter_base): Add. (__niter_base, __miter_base): Adjust, use the latter. 2010-01-28 Paolo Carlini * testsuite/21_strings/basic_string/element_access/char/21674.cc: Extend xfail to all systems. * testsuite/21_strings/basic_string/element_access/wchar_T/21674.cc: Likewise. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Extend xfail to darwin10 systems. 2010-01-27 Benjamin Kosnik PR c++/42346 * testsuite/23_containers/unordered_map/requirements/exception/: Remove -O1 workaround. * testsuite/23_containers/multimap/requirements/exception/: Same. * testsuite/23_containers/map/requirements/exception: Same. 2010-01-27 Richard Guenther PR libstdc++/42832 * include/std/functional (function<>::swap): Perform bytewise swap of _M_functor. * include/tr1/functional (function<>::swap): Likewise. 2010-01-27 Andreas Krebbel * config/abi/pre/gnu.ver: Avoid time_get pattern conflicts. 2010-01-26 François Dumont * doc/xml/manual/allocator.xml: Minor updates and fixes. * doc/xml/manual/containers.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/xml/manual/locale.xml: Likewise. * doc/xml/manual/appendix_contributing.xml: Likewise. 2010-01-26 Daniel Frey * include/std/functional: Use enable_if instead of __enable_if throughout, do not include ext/type_traits.h. (is_placeholder, is_bind_expression): Use integral_constant. 2010-01-25 Paolo Carlini * testsuite/util/testsuite_common_types.h (has_bitwise_operators): Avoid -Wall warnings. 2010-01-25 Paolo Carlini * testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int as loop variable, to avoid -Wall warnings. * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise. * testsuite/20_util/reference_wrapper/24803.cc: Remove unused vars. * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. 2010-01-22 Daniel Frey * include/std/functional (_Index_tuple, _Build_index_tuple): Simplify and speed-up. 2010-01-22 Joern Rennecke PR libstdc++/36101, PR libstdc++/42813 * acinclude.m4 (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of looking for omp.h. * configure: Regenerate. 2010-01-21 Jonathan Wakely PR libstdc++/42201 * include/std/future: Update to latest WP. * src/functexcept.cc (__throw_future_error): Use make_error_code. * testsuite/30_threads/async/any.cc: New. * testsuite/30_threads/async/async.cc: New. * testsuite/30_threads/async/sync.cc: New. * testsuite/30_threads/packaged_task/cons/alloc.cc: New. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust. * testsuite/30_threads/packaged_task/members/get_future.cc: Adjust. * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust. * testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust. * testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust. * testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust. * testsuite/30_threads/packaged_task/members/reset.cc: Adjust. * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust. * testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove. * testsuite/30_threads/shared_future/cons/default_neg.cc: Remove. * testsuite/30_threads/shared_future/cons/default.cc: New. * testsuite/30_threads/shared_future/cons/assign.cc: New. * testsuite/30_threads/shared_future/cons/copy.cc: Adjust. * testsuite/30_threads/shared_future/cons/move.cc: Adjust. * testsuite/30_threads/shared_future/cons/move_assign.cc: New. * testsuite/30_threads/shared_future/members/is_ready.cc: Remove. * testsuite/30_threads/shared_future/members/has_value.cc: Remove. * testsuite/30_threads/shared_future/members/has_exception.cc: Remove. * testsuite/30_threads/shared_future/members/valid.cc: New. * testsuite/30_threads/unique_future/cons/default_neg.cc: Remove. * testsuite/30_threads/unique_future/cons/default.cc: New. * testsuite/30_threads/unique_future/cons/move_assign.cc: New. * testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust. * testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust. * testsuite/30_threads/unique_future/cons/move.cc: Adjust. * testsuite/30_threads/unique_future/requirements/ explicit_instantiation.cc: Adjust. * testsuite/30_threads/unique_future/members/is_ready.cc: Remove. * testsuite/30_threads/unique_future/members/has_value.cc: Remove. * testsuite/30_threads/unique_future/members/has_exception.cc: Remove. * testsuite/30_threads/unique_future/members/valid.cc: New. * testsuite/30_threads/unique_future/members/get.cc: Adjust. * testsuite/30_threads/unique_future/members/get2.cc: Adjust. * testsuite/30_threads/unique_future/members/wait.cc: Adjust. * testsuite/30_threads/unique_future/members/wait_for.cc: Adjust. * testsuite/30_threads/unique_future/members/wait_until.cc: Adjust. * testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust. * testsuite/30_threads/promise/cons/alloc.cc: New. * testsuite/30_threads/promise/cons/assign_neg.cc: Adjust. * testsuite/30_threads/promise/cons/copy_neg.cc: Adjust. * testsuite/30_threads/promise/cons/move.cc: Adjust. * testsuite/30_threads/promise/cons/move_assign.cc: Adjust. * testsuite/30_threads/promise/members/get_future.cc: Adjust. * testsuite/30_threads/promise/members/set_value.cc: Adjust. * testsuite/30_threads/promise/members/set_exception.cc: Adjust. * testsuite/30_threads/promise/members/set_exception2.cc: Adjust. * testsuite/30_threads/promise/members/set_value2.cc: Adjust. * testsuite/30_threads/promise/members/set_value3.cc: Adjust. * testsuite/30_threads/promise/members/swap.cc: Adjust. 2010-01-20 Janis Johnson Paolo Carlini PR libstdc++/21769 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Use it. 2010-01-19 Johannes Singler PR libstdc++/42712 * include/parallel/settings.h (_Settings): Add search_minimal_n. * include/parallel/algo.h (__search_switch): Add serial fallback for too small inputs. (__search_n_switch): Likewise. Call serial fallback on higher level to gain special treatment for __count 0 or 1. * testsuite/25_algorithms/search_n/iterator.cc: Reenable full test depth for parallel mode. 2010-01-18 Daniel Frey * include/std/functional (_Bind<_Functor(_Bound_args...)>:: operator()): "Pass" _Result to __call*. (_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify. 2010-01-18 Johannes Singler * include/parallel/base.h (__unary_negate): Correct comment. 2010-01-16 Paolo Carlini * include/std/functional (_Bind<_Functor(_Bound_args...)>::__call): Rename const version to __call_c and remove _Sfinae template parameter. (_Bind<_Functor(_Bound_args...)>::operator()): Adjust. * include/std/functional: Pass everywhere temporary tuple<_Args...> arguments by rvalue reference. * testsuite/20_util/bind/cv_quals.cc: New. * testsuite/20_util/bind/ref2.cc: Add missing test variables. 2010-01-16 Ralf Wildenhues PR libstdc++/35942 * configure.ac: Remove -lstdc++ from libtool's postdeps_CXX. * configure: Regenerate. 2010-01-15 Phil Muldoon * python/libstdcxx/v6/printers.py (StdStringPrinter.__init__): Remove encoding argument. (StdStringPrinter.to_string): Do not compute or pass encoding. Use lazy_string over string function. 2010-01-14 Paolo Carlini * include/c_std/cstring (memchr): Forward to the builtin. * include/c_std/cstring: Remove redundant casts; use names consistent with the letter of the Standard. * include/c_global/cstring: Likewise. 2010-01-13 Benjamin Kosnik * include/profile/iterator_tracker.h: Add copyright. 2010-01-13 Paolo Carlini * testsuite/Makefile.am (check-debug): Add. * testsuite/Makefile.in: Regenerate. * config.h.in: Likewise. 2010-01-12 Paolo Carlini * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Do not run in parallel-mode. * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewiwse. * testsuite/25_algorithms/rotate/moveable.cc: Likewiwse. * testsuite/25_algorithms/stable_partition/moveable.cc: Likewiwse. * testsuite/25_algorithms/remove/moveable.c: Likewiwse. * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewiwse. * testsuite/25_algorithms/nth_element/moveable.cc: Likewiwse. * testsuite/25_algorithms/partial_sort/moveable.cc: Likewiwse. * testsuite/25_algorithms/next_permutation/moveable.cc: Likewiwse. * testsuite/25_algorithms/partition/moveable.cc: Likewiwse. * testsuite/25_algorithms/stable_sort/moveable.cc: Likewiwse. * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewiwse. * testsuite/25_algorithms/sort/moveable.cc: Likewiwse. * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewiwse. * testsuite/25_algorithms/unique/moveable.cc: Likewiwse. * testsuite/25_algorithms/remove_if/moveable.cc: Likewiwse. * testsuite/25_algorithms/heap/moveable.cc: Likewiwse. * testsuite/25_algorithms/search_n/iterator.cc: Reduce iteration # in parallel-mode. 2010-01-12 Hans-Peter Nilsson * testsuite/ext/profile/all.cc: Pass -D_GLIBCXX_PROFILE_NO_THREADS for non-tls_native targets. 2010-01-12 Benjamin Kosnik * scripts/run_doxygen: Correct nested scope on the man pages. * doc/xml/faq.xml: Edits, linkcheck, doxygen link reassociate. * doc/xml/manual/mt_allocator.xml: Same. * doc/xml/manual/allocator.xml: Same. * doc/xml/manual/codecvt.xml: Same. * doc/xml/manual/backwards_compatibility.xml: Same. * doc/xml/manual/concurrency.xml: Same. * doc/xml/manual/parallel_mode.xml: Same. * doc/xml/manual/io.xml: Same. * doc/xml/manual/support.xml: Same. * doc/xml/manual/evolution.xml: Same. * doc/xml/manual/using.xml: Same. * doc/xml/manual/extensions.xml: Same. * doc/xml/manual/appendix_contributing.xml: Same. * doc/xml/manual/prerequisites.xml: Same. * doc/xml/manual/diagnostics.xml: Same. * doc/xml/manual/spine.xml: Same. * doc/xml/manual/status_cxx200x.xml: Same. * doc/xml/manual/test.xml: Same. * doc/xml/spine.xml: Same. * doc/html/*: Regenerate. * include/profile/impl/profiler.h: Remove duplicate markup. 2010-01-12 Jonathan Wakely PR libstdc++/24803 PR libstdc++/35569 PR libstdc++/42593 * include/std/functional (bind): Forward rvalues and detect correct result type of bound function object. * include/std/mutex (call_once): Specify bind result type. * testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests. * testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests and enable FIXME tests. * testsuite/20_util/bind/35569.cc: New. * testsuite/20_util/bind/ref2.cc: New. * testsuite/20_util/bind/38889.cc: New. * testsuite/20_util/bind/ref_neg.cc: New. * testsuite/20_util/bind/42593.cc: New. 2010-01-11 Paolo Carlini * include/parallel/base.h (decode2): Rename to __decode2. (binder2nd): Likewise to __binder2nd. * include/parallel/quicksort.h: Adjust callers. * include/parallel/balanced_quicksort.h: Likewise. * include/parallel/partition.h: Likewise. * include/parallel/queue.h: Likewise. * include/parallel/algo.h: Qualify with std:: binder2nd use. 2010-01-10 Paolo Carlini * include/debug/string (basic_string<>::basic_string(basic_string&&), operator=(basic_string&&), assign(basic_string&&)): Add. * include/debug/string: Fully qualify initializer_list with std; fix _Allocator misspellings as _Alloc. 2010-01-10 Paolo Carlini * include/bits/basic_string.h (basic_string<>:: basic_string(basic_string&&), operator=(basic_string&&), assign(basic_string&&)): Add. * config/abi/pre/gnu.ver: Export new symbols. * include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)): Add. (operator=(__versa_string&&)): Don't call clear unnecessarily. * include/ext/rc_string_base.h (__rc_string_base<>:: __rc_string_base(__rc_string_base&&)): Simplify a tad. * testsuite/21_strings/basic_string/cons/char/moveable.cc: New. * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise. * testsuite/ext/vstring/assign/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/assign/char/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc: Likewise. * testsuite/ext/vstring/cons/moveable.cc: Fix comment nit. 2010-01-10 Silvius Rus * configure.ac: Add detection of execinfo.h. * configure: Regenerate. * config.h.in: Likewise. * doc/xml/manual/profile_mode.xml: Add list_to_slist manual. Also, correct user interface mistakes. * include/Makefile.am: Add references to new include files. * include/Makefile.in: Regenerate. * include/backward/hash_map: Remove profile include. * include/backward/hash_set: Likewise. * include/profile/hashtable.h: Delete file. * include/profile/iterator_tracker.h: New file. * include/profile/vector: Add instrumentation for tracked iterator. * include/profile/list: Same. * include/profile/impl/profiler_list_to_slist.h: New file. * include/profile/impl/profiler_list_to_vector.h: Same. * include/profile/impl/profiler.h: Add list_to_slist and list_to_vector instrumentation hook interfaces. Fixed broken diagnostic disabling mechanism. (_GLIBCXX_PROFILE_DEFINE_DATA,_GLIBCXX_PROFILE_DATA) New macros. (__reentrance_guard) Fix bug. * include/profile/impl/profiler_trace.h: Replace dummy templates with _GLIBCXX_PROFILE_DEFINE_DATA. * include/profile/impl/profiler_container_size.h: Same. * include/profile/impl/profiler_vector_size.h: Same. * include/profile/impl/profiler_hash_func.h: Same. * include/profile/impl/profiler_vector_to_list.h: Same. * include/profile/impl/profiler_map_to_unordered_map.h: Same. * include/profile/impl/profiler_hashtable_size.h: Same. * include/profile/impl/profiler_node.h: Same. * include/profile/impl/profiler_state.h: Same. Also, remove class __state. Also, use __sync_val_compare_and_swap to set state. 2010-01-09 H.J. Lu PR other/42230 * testsuite/abi/pr42230.cc: New. 2010-01-09 Paolo Carlini * include/debug/set.h: Revert last change, per DR 1204 [Ready]; mention the latter in comment. * 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/list: Likewise. * include/debug/multimap.h: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/profile/set.h: Likewise. * include/profile/unordered_map: Likewise. * include/profile/multiset.h: Likewise. * include/profile/unordered_set: Likewise. * include/profile/vector: Likewise. * include/profile/deque: Likewise. * include/profile/map.h: Likewise. * include/profile/list: Likewise. * include/profile/multimap.h: Likewise. * include/ext/vstring.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/forward_list.h: Remove pre-existing check. * include/ext/vstring.h: Likewise. * testsuite/ext/vstring/cons/self_move_assign.cc: Remove. * testsuite/23_containers/unordered_map/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/unordered_multimap/cons/ self_move_assign.cc: Likewise. * testsuite/23_containers/forward_list/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/unordered_set/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/ self_move_assign.cc: Likewise. * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise. * 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. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * 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. 2010-01-08 Paolo Carlini * include/debug/set.h: Protect move assignment operator vs self assignment. * 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/list: Likewise. * include/debug/multimap.h: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/profile/set.h: Likewise. * include/profile/unordered_map: Likewise. * include/profile/multiset.h: Likewise. * include/profile/unordered_set: Likewise. * include/profile/vector: Likewise. * include/profile/deque: Likewise. * include/profile/map.h: Likewise. * include/profile/list: Likewise. * include/profile/multimap.h: Likewise. * include/ext/vstring.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/ext/vstring.h: Use clear(). * testsuite/ext/vstring/cons/self_move_assign.cc: New. * testsuite/23_containers/unordered_map/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/unordered_multimap/cons/ self_move_assign.cc: Likewise. * testsuite/23_containers/forward_list/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/unordered_set/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/ self_move_assign.cc: Likewise. * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise. * 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. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * 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. * testsuite/ext/vstring/moveable.cc: Move to... * testsuite/ext/vstring/cons/moveable.cc: ... here. * testsuite/23_containers/unordered_map/moveable.cc: Move to... * testsuite/23_containers/unordered_map/cons/moveable.cc ... here. * testsuite/23_containers/multimap/moveable.cc: Move to... * testsuite/23_containers/multimap/cons/moveable.cc: ... here. * testsuite/23_containers/set/moveable.cc: Move to... * testsuite/23_containers/set/cons/moveable.cc: ... here. * testsuite/23_containers/unordered_multimap/moveable.cc: Move to... * testsuite/23_containers/unordered_multimap/cons/moveable.cc: ... here. * testsuite/23_containers/forward_list/moveable.cc: Move to... * testsuite/23_containers/forward_list/cons/moveable.cc: ... here. * testsuite/23_containers/unordered_set/moveable.cc Move to... * testsuite/23_containers/unordered_set/moveable.cc: ... here. * testsuite/23_containers/vector/cons/moveable.cc Move to... * testsuite/23_containers/vector/cons/moveable2.cc: ... this. * testsuite/23_containers/deque/cons/moveable.cc Move to... * testsuite/23_containers/deque/cons/moveable2.cc: ... this. * testsuite/23_containers/multiset/moveable.cc Move to... * testsuite/23_containers/multiset/cons/moveable.cc: ... here. * testsuite/23_containers/list/moveable.h Move to... * testsuite/23_containers/list/cons/moveable.h: ... here. * testsuite/23_containers/list/moveable.cc Move to... * testsuite/23_containers/list/cons/moveable.cc: ... here. * testsuite/23_containers/unordered_multiset/moveable.cc Move to... * testsuite/23_containers/unordered_multiset/cons/moveable.cc: ... here. * testsuite/23_containers/map/moveable.cc Move to... * testsuite/23_containers/map/cons/moveable.cc: ... here. * testsuite/23_containers/vector/moveable.cc: Move to... * testsuite/23_containers/vector/cons/moveable.cc: ... here. * testsuite/23_containers/deque/moveable.cc: Move to... * testsuite/23_containers/deque/cons/moveable.cc: ... here. 2010-01-08 Paolo Carlini PR libstdc++/42573 * include/bits/allocator.h (struct __shrink_to_fit): Add. * include/bits/stl_deque.h (deque<>::shrink_to_fit): Add. * include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise. * include/bits/stl_bvector.h (vector::shrink_to_fit): Likewise. * include/bits/basic_string.h (basic_string<>::shrink_to_fit): Likewise. * include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise. * include/debug/deque: Add corresponding using declaration. * include/debug/vector: Likewise. * include/debug/string: Likewise. * include/profile/deque: Likewise. * include/profile/vector: Likewise. * config/abi/pre/gnu.ver: Export new symbols. * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New. * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc: Likewise. * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * 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. 2010-01-07 Benjamin Kosnik * doc/xml/manual/evolution.xml: Fix typos, update. 2010-01-07 Paolo Carlini * include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid pointless __builtin_alloca use. 2010-01-06 Paolo Carlini PR libstdc++/26701 * include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num): Encode short two digits over four parsings to negative numbers. (time_get<>::_M_extract_via_format): Adjust, accept both two digits and four digits for both 'y' and 'Y'. (time_get<>::do_get_year): Call time_get<>::_M_extract_num. * doc/xml/manual/prerequisites.xml: Add en_GB. * testsuite/lib/libstdc++.exp: Adjust * testsuite/22_locale/time_get/get_date/char/26701.cc: New. * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise. 2010-01-06 Benjamin Kosnik PR libstdc++/42491 * scripts/check_performance (CXX): Add -std=gnu++0x. * testsuite/performance/30_threads/future/polling.cc: Mark up as using threads. 2010-01-06 Paolo Carlini * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Add dg-require-namedlocale. 2010-01-05 Benjamin Kosnik * doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases. * doc/html: Regenerate. 2010-01-05 Paolo Carlini PR libstdc++/38081 * include/bits/locale_facets_nonio.h (time_get<>:: _M_extract_wday_or_month): New, declare. * include/bits/locale_facets_nonio.tcc (time_get<>:: _M_extract_wday_or_month): Define. (time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it. * config/abi/pre/gnu.ver: Export new symbols. * doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and ru_RU.ISO-8859-5. * testsuite/lib/libstdc++.exp: Adjust. * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New. * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise. 2010-01-05 Rainer Orth * configure: Regenerate. 2010-01-05 Paolo Carlini * testsuite/22_locale/time_get/get_monthname/char/6.cc: New. * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise. 2010-01-03 Paolo Carlini * include/profile/list: Implement DR 1133 here too. * testsuite/25_algorithms/set_intersection/34730.cc: Do not force debug-mode, leads to spurious failures in profile-mode. * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. * testsuite/25_algorithms/set_difference/35541.cc: Likewise. * testsuite/21_strings/basic_string/40160.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/ cons/parms_neg.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/ cons/parms_neg.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/debug_mode.cc: Likewise. * testsuite/23_containers/multimap/14340.cc: Likewise. * testsuite/23_containers/bitset/18604.cc: Likewise. * testsuite/23_containers/set/14340.cc: Likewise. * testsuite/23_containers/set/18604.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ debug_mode.cc: Likewise. * testsuite/23_containers/vector/ debug_mode_requires_reallocation-1.cc: Likewise. * testsuite/23_containers/vector/ debug_mode_requires_reallocation-2.cc: Likewise. * testsuite/23_containers/vector/14340.cc: Likewise. * testsuite/23_containers/vector/15523.cc: Likewise. * testsuite/23_containers/vector/18604.cc: Likewise. * testsuite/23_containers/deque/14340.cc: Likewise. * testsuite/23_containers/deque/18604.cc: Likewise. * testsuite/23_containers/multiset/14340.cc: Likewise. * testsuite/23_containers/list/operations/35969.cc: Likewise. * testsuite/23_containers/list/14340.cc: Likewise. * testsuite/23_containers/list/18604.cc: Likewise. * testsuite/23_containers/map/14340.cc: Likewise. * testsuite/23_containers/map/18604.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/uniform_int/ cons/range_neg.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/2.cc: Do not instantiate for non-defaultconstructible mapped_type. 2010-01-03 Paolo Carlini * include/debug/set.h: Implement DR 130 here too. * include/debug/multiset.h: Likewise. * include/debug/map.h: Likewise. * include/debug/multimap.h: Likewise. * include/profile/set.h: Implement DR 130 fully. * include/profile/multiset.h: Likewise. * include/profile/map.h: Likewise. * include/profile/multimap.h: Likewise. * include/debug/list: Implement DR 1133 here too. * include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for now uses of __gnu_cxx::throw_allocator. * testsuite/21_strings/basic_string/40160.cc: Don't pass explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode testing. 2010-01-03 Paolo Carlini * include/profile/bitset (bitset<>::bitset(unsigned long long)): Add in C++0x mode. * include/debug/bitset (bitset<>::bitset(unsigned long long)): Likewise. 2010-01-03 Paolo Carlini * include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type typedef. * include/profile/unordered_map (unordered_map<>::insert(const value_type&), unordered_multimap<>::insert(const value_type&)): Adjust. * include/profile/unordered_set (unordered_set<>::insert(const value_type&), unordered_multimap<>::insert(const value_type&)): Likewise. 2010-01-03 Paolo Carlini * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&), pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)): Use std::is_constructible instead of std::is_convertible. 2010-01-01 Paolo Carlini Revert last change, reinstantiate basic_string and vstring tests. 2010-01-01 Paolo Carlini * testsuite/21_strings/basic_string/requirements/exception/ propagation_consistent.cc: Remove, cannot instantiate basic_string for non-PODs (21/1). * testsuite/21_strings/basic_string/requirements/exception/ basic.cc: Likewise. * testsuite/21_strings/basic_string/requirements/exception/ generation_prohibited.cc: Likewise. * testsuite/ext/vstring/requirements/exception/ propagation_consistent.cc: Likewise. * testsuite/ext/vstring/requirements/exception/basic.cc: Likewise. * testsuite/ext/vstring/requirements/exception/ generation_prohibited.cc: Likewise.