2012-04-05 Dominique d'Humieres Jack Howarth PR target/54407 * 30_threads/condition_variable/54185.cc: Skip for darwin < 11. 2014-04-01 Jason Merrill Core DR 475 PR c++/41174 PR c++/59224 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions. * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception) (__cxa_allocate_exception): Don't set it here. 2014-03-25 Jonathan Wakely PR libstdc++/60658 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()): Use sizeof pointer type not the element type. * testsuite/29_atomics/atomic/60658.cc: New. 2013-11-05 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Document aligned_union as missing. * doc/xml/manual/spine.xml: Update copyright years. * doc/html/*: Regenerate. 2013-10-30 Chris Studholme PR libstdc++/58912 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Remove unnecessary initialization of storage buffer. 2013-10-20 Chris Jefferson Paolo Carlini PR libstdc++/58800 * include/bits/stl_algo.h (__unguarded_partition_pivot): Change __last - 2 to __last - 1. * testsuite/25_algorithms/nth_element/58800.cc: New 2013-09-30 Chris Jefferson PR libstdc++/58437 * include/bits/stl_algo.h (__move_median_first): Rename to __move_median_to_first, change to take an addition argument. (__unguarded_partition_pivot): Adjust. * testsuite/performance/25_algorithms/sort.cc: New. * testsuite/performance/25_algorithms/sort_heap.cc: Likewise. * testsuite/performance/25_algorithms/stable_sort.cc: Likewise. 2013-09-26 Jonathan Wakely Backport from mainline 2013-01-19 Jonathan Wakely PR libstdc++/55861 * include/std/future (_State_base::_S_check(const shared_ptr&)): Fix return type. 2013-09-03 Paolo Carlini PR libstdc++/58302 * include/bits/random.tcc (negative_binomial_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&): Fix typo in template argument. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/58302.cc: New. 2013-08-17 Uros Bizjak * src/c++98/compatibility.cc (_ZTIe): Use reinterpret_cast to avoid -Wcast-qual warnings. (_ZTIPe): Ditto. (ZTIPKe): Ditto. 2013-05-15 Jonathan Wakely * include/bits/basic_string.h (getline): Fix doxygen comments. 2013-05-14 Evgeniy Stepanov * src/c++11/system_error.cc (generic_category_instance): Add initializer. (system_category_instance): Likewise. * src/c++11/future.cc (__fec): Likewise. 2013-04-15 Jack Howarth Backport from mainline 2012-10-10 Jack Howarth Jonathan Wakely PR libstdc++/54847 * config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP and _GLIBCXX_USE_SCHED_YIELD. * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment. 2013-04-15 Rainer Orth * testsuite/30_threads/condition_variable/members/53841.cc: Add -std=gnu++0x -pthread on alpha*-*-osf*, mips-sgi-irix6*. 2013-04-11 Release Manager * GCC 4.7.3 released. 2013-03-30 Gerald Pfeifer * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.q * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU Coding Standards. * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer. * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL. * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link. * doc/xml/manual/messages.xml: Adjust link to Java API specs. * doc/xml/manual/policy_data_structures: Remove direct link to IBM Haifa Research Labs. * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links for biblio.maverik_lowerbounds and biblio.nelson96stlpq. * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org papers. * doc/xml/manual/shared_ptr.xml: Use canonical address for www.boost.org. 2013-03-16 Jonathan Wakely PR libstdc++/56468 * libsupc++/exception_ptr.h (type_info): Declare. 2013-03-16 Jonathan Wakely PR libstdc++/56002 * include/std/mutex (lock_guard, unique_lock, lock): Define without depending on _GLIBCXX_HAS_GTHREADS. * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets. 2013-03-09 François Dumont * include/bits/vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused. * testsuite/23_containers/vector/allocator/minimal.cc: Insert elements to really challenge C++11 allocator integration. * testsuite/23_containers/vector/allocator/copy.cc: Likewise. * testsuite/23_containers/vector/allocator/copy_assign.cc: Likewise. * testsuite/23_containers/vector/allocator/move_assign.cc: Likewise. * testsuite/23_containers/vector/allocator/swap.cc: Likewise and swap vector back before checks on memory/personality mapping are performed. 2013-02-26 Jonathan Wakely PR libstdc++/56012 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion. * testsuite/29_atomics/atomic/operators/56012.cc: New. PR libstdc++/56011 * include/std/atomic (atomic::operator=(bool) volatile): Add missing overload. * testsuite/29_atomics/atomic/operators/56011.cc: New. 2013-02-20 Jonathan Wakely * include/std/streambuf (basic_streambuf): Fix unclosed Doxygen group. 2013-02-20 Jonathan Wakely PR libstdc++/55043 * include/bits/alloc_traits.h (allocator_traits::construct): Disable unless construction would be well-formed. (__allow_copy_cons, __check_copy_constructible): Define. * include/bits/unordered_map.h (__check_copy_constructible): Use as base class so copy constructor will be deleted if appropriate. * include/bits/unordered_set.h: Likewise. * include/std/unordered_set: Include alloc_traits.h. * include/std/unordered_set: Likewise. * include/debug/unordered_map.h: Default copy and move constructors. * include/debug/unordered_set.h: Likewise. * testsuite/23_containers/unordered_map/55043.cc: Fix test. * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. * testsuite/23_containers/unordered_set/55043.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL, cannot support incomplete types. * testsuite/23_containers/unordered_multimap/requirements/53339.cc: Likewise. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. 2013-02-18 Jonathan Wakely * include/std/functional (mem_fn): Qualify to prevent ADL. * testsuite/20_util/function_objects/mem_fn/adl.cc: New. 2013-02-18 Jonathan Wakely * include/bits/hashtable.h: Improve comments. * include/bits/hashtable_policy.h: Likewise. 2013-01-24 Paolo Carlini PR libstdc++/56085 * include/std/complex (pow(const complex<>&, int)): Avoid __n signed overflow. 2013-01-17 Jonathan Wakely PR libstdc++/52887 * src/c++11/regex.cc: Add instantiations for AIX. 2013-01-08 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing. 2013-01-06 Jonathan Wakely * doc/xml/manual/abi.xml: Update library and symbol versions. 2012-12-18 Matthew Gretton-Dann Backport from mainline 2012-10-15 Matthias Klose * configure.host: Match arm*-*-linux-* for ARM Linux/GNU. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. 2012-12-18 Jonathan Wakely * doc/xml/manual/abi.xml: Update URLs for C++ ABI. * doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns * doc/xml/manual/policy_data_structures.xml: Set filename for chunk. * doc/xml/manual/spine.xml: Update copyright years. * doc/html/*: Regenerate. 2012-12-17 Jonathan Wakely * src/c++11/thread.cc: Update copyright years. 2012-12-16 Jonathan Wakely * src/c++11/thread.cc (execute_native_thread_routine): Do not swallow __forced_unwind exceptions. * testsuite/30_threads/thread/native_handle/cancel.cc: New. 2012-12-12 Jonathan Wakely PR libstdc++/55631 * include/ext/alloc_traits.h: Include missing header. * include/ext/pointer.h: Likewise. * include/ext/string_conversions.h: Require C++11. * libsupc++/initializer_list: Reindent. 2012-12-12 Benjamin Kosnik * doc/xml/manual/documentation_hacking.xml: Fix validation issue. 2012-12-10 Benjamin Kosnik * doc/Makefile.am (xml_sources_manual): Add policy_data_structures_biblio.xml. (${docbook_outdir}/latex): Add. (doc-xml-validate-docbook): Split into.. (doc-xml-validate-dtd-db):... this for DTD. (doc-xml-validate-rng-db):... this for Relax NG. (doc-pdf-docbook-dirs): Add. (doc-pdf-docbook-pre): Add. * doc/xml/manual/build_hacking.xml: Add literal markup. * doc/xml/manual/documentation_hacking.xml: Clean whitespace in markup. Add notes about debugging the generation process. * doc/xml/manual/policy_data_structures.xml: Split biblio into... * doc/xml/manual/policy_data_structures_biblio.xml: ... this. New. * doc/xml/manual/test_policy_data_structures.xml: Fixup markup. 2012-12-10 Matthias Klose * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER. * src/Makefile.in: Regenerate. 2012-12-01 John David Anglin PR libstdc++/55503 * testsuite/30_threads/condition_variable/members/53841.cc: Add hppa*-hp-hpux11* to -pthread dg-options. 2012-11-20 Paolo Carlini PR libstdc++/55413 * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize __bbegin_bkt and __prev_bkt to avoid uninitialized warnings. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. 2012-11-15 Jonathan Wakely PR libstdc++/53841 * include/std/condition_variable (condition_variable::wait_until): Handle clocks with higher resolution than __clock_t. * testsuite/30_threads/condition_variable/members/53841.cc: New. 2012-11-14 Jonathan Wakely PR libstdc++/55320 * include/std/functional (function::function(F)): Set _M_manager after operations that could throw. (_Function_base::_Ref_manager::_M_init_functor): Use addressof. * include/tr1/functional (_Function_base::_Ref_manager::_M_init_functor): Use addressof. (_Function_base::_Base_manager::_M_get_pointer): Likewise. * testsuite/20_util/function/cons/55320.cc: New. * testsuite/20_util/function/cons/addressof.cc: New. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers. * testsuite/tr1/3_function_objects/function/10.cc: New. 2012-11-12 Jonathan Wakely * include/std/future (atomic_future): Remove declaration of non-standard name. 2012-11-08 François Dumont PR libstdc++/54075 * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash policy state if no rehash. * testsuite/23_containers/unordered_set/modifiers/reserve.cc (test02): New. 2012-11-08 Jonathan Wakely * include/profile/iterator_tracker.h (operator++): Fix returning dangling reference. (operator--): Likewise. 2012-11-06 Jonathan Wakely * testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate include. 2012-11-06 Jonathan Wakely * testsuite/*: Fix copying permission statements. 2012-11-05 Benjamin Kosnik PR libstdc++/28811 PR libstdc++/54482 * configure.ac (glibcxx_lt_pic_flag, glibcxx_compiler_pic_flag, glibcxx_compiler_shared_flag): New. Use them. (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above. (pic_mode): Set to default. (PIC_CXXFLAGS): Remove. * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment. * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and glibcxx_compiler_shared_flag. Comment. * src/c++11/Makefile.am: Same. * src/c++98/Makefile.am: Same. * src/Makefile.am: Use glibcxx_compiler_pic_flag. * Makefile.in: Regenerated. * aclocal.m4: Same. * configure: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * libsupc++/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * testsuite/Makefile.in: Same. * src/c++11/compatibility-atomic-c++0x.cc: Use _GLIBCXX_SHARED instead of PIC to designate shared-only code blocks. * src/c++11/compatibility-c++0x.cc: Same. * src/c++11/compatibility-thread-c++0x.cc: Same. * src/c++98/compatibility-list-2.cc: Same. * src/c++98/compatibility.cc: : Same. * testsuite/17_intro/shared_with_static_deps.cc: New. * doc/xml/manual/build_hacking.xml: Separate configure from make/build issues, add build details. 2012-11-05 Benjamin Kosnik Oleg Smolsky PR libstdc++/55028 * config/abi/pre/gnu-versioned-namespace.ver: Add symbols. * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New. 2012-11-05 Paolo Carlini PR libstdc++/55215 * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)): Assign state_size to _M_p. * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ 55215.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ 55215.cc: Likewise. 2012-11-02 Paolo Carlini PR libstdc++/55169 * include/bits/random.h: Remove all uses of param(). 2012-11-01 Haakan Younes Paolo Carlini PR libstdc++/55047 * include/bits/random.h (exponential_distribution<>::operator): Fix formula to std::log(result_type(1) - __aurng()). * include/bits/random.tcc: Likewise, everywhere. 2012-10-29 Jonathan Wakely PR libstdc++/55123 * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up): Do not instantiate allocator with element_type. * testsuite/20_util/shared_ptr/cons/55123.cc: New. 2012-10-10 Andrew MacLeod PR libstdc++/54861 * include/bits/atomic_base.h (atomic_signal_fence): Call __atomic_signal_fence instead of __atomic_thread_fence. 2012-09-20 Benjamin Kosnik PR libstdc++/54102, part 2 * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html. * doc/Makefile.in: Regenerate. * doc/html/*: Same. 2012-09-20 Benjamin Kosnik * doc/html/*: Regenerate. 2012-09-20 Benjamin Kosnik PR libstdc++/54102 * doc/xsl/customization.xsl.in: New. * configure.ac: Output local copy of customization xsl. * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE. (stamp-html-docbook): Set stringparam to UTF-8. * Makefile.in: Regenerated. * configure: Same. * doc/Makefile.in: Same. 2012-09-20 Release Manager * GCC 4.7.2 released. 2012-09-11 Jakub Jelinek PR libstdc++/54172 * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last argument of the first __atomic_compare_exchange_n. 2012-09-09 Thiago Macieira PR libstdc++/54172 * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if we detect that another thread has had success. Don't compare_exchange from a finished state back to a waiting state. Comment. 2012-09-09 Jonathan Wakely PR libstdc++/54388 * include/std/array (array::at() const): Ensure lvalue result. * testsuite/23_containers/array/element_access/54388.cc: New. 2012-09-06 Marc Glisse Paolo Carlini PR libstdc++/54376 * include/bits/random.h (lognormal_distribution<>::operator==, gamma_distribution<>::operator==, chi_squared_distribution<>::operator==, fisher_f_distribution<>::operator==, student_t_distribution<>::operator==, binomial_distribution<>::operator==, negative_binomial_distribution<>::operator==, poisson_distribution<>::operator==): Change inline friend definition to non-template. * testsuite/26_numerics/random/binomial_distribution/requirements/ explicit_instantiation/1.cc: New. * testsuite/26_numerics/random/cauchy_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/requirements/ explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/ requirements/explicit_instantiation/1.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/requirements/ explicit_instantiation/1.cc: Likewise. 2012-08-26 Jonathan Wakely * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep. 2012-08-26 Jonathan Wakely PR libstdc++/54297 * src/c++11/future.cc (~_Async_state_common): Move to... * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common): Here. (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT. * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise. 2012-08-26 Jonathan Wakely Geoff Romer PR libstdc++/54351 * include/bits/unique_ptr.h (unique_ptr::~unique_ptr): Do not use reset(). (unique_ptr::~unique_ptr()): Likewise. * testsuite/20_util/unique_ptr/54351.cc: New. * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error line numbers. 2012-08-25 Jonathan Wakely PR libstdc++/54297 * include/std/future (~_Async_state_impl): Join thread before derived class members are destroyed. (~_Async_state_common): Only define non-trivial destructor when included from future.cc for ABI compatibility reasons. * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define. * testsuite/30_threads/async/54297.cc: New. 2012-08-13 David Adler PR libstdc++/54185 * src/c++11/condition_variable.cc (condition_variable): Always destroy native type in destructor. * testsuite/30_threads/condition_variable/54185.cc: New. 2012-08-06 Peter Bergner PR libstdc++/54036 * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as a unary operator. * testsuite/decimal/pr54036-1.cc: New test. * testsuite/decimal/pr54036-2.cc: Likewise. * testsuite/decimal/pr54036-3.cc: Likewise. 2012-08-02 Michael Hope Backport from mainline r186389: 2012-04-12 Andreas Schwab * testsuite/Makefile.am (check_DEJAGNUnormal0): Run prettyprinters.exp. * testsuite/Makefile.in: Regenerated. 2012-07-29 François Dumont PR libstdc++/54075 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2 to boost growth in the number of buckets. * testsuite/performance/23_containers/insert/unordered_set.cc: New. 2012-07-26 François Dumont PR libstdc++/54075 * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator, size_type, ...): Remove std::max usage to guarantee that hashtable state is consistent with hash policy state. (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid the hashtable shrinking on next insertion. * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New. * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New. * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New. * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New. 2012-07-20 Paolo Carlini * testsuite/30_threads/thread/adl.cc: Add missing dg-requires. 2012-07-16 Jonathan Wakely PR libstdc++/53270 * include/ext/concurrence.h: Use NSDMI for gthreads types. * include/ext/rope: Likewise. Destroy mutexes in destructors. Add system_header pragma. Revert: 2012-06-19 Jonathan Wakely PR libstdc++/53270 * config/os/gnu-linux/os_defines.h: Disable static initializer macros for gthreads types in C++11 mode. 2012-07-16 Jonathan Wakely PR libstdc++/53978 * include/bits/alloc_traits.h (allocator_traits): Define static constants. * include/bits/ptr_traits.h (pointer_traits): Likewise. * include/ext/alloc_traits.h (__allocator_always_compares_equal): Likewise. 2012-07-13 Paolo Carlini PR libstdc++/53657 * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted, per C++11. * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert (const_iterator, _Pair&&)): Constrain with std::is_constructible, per LWG2005. * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&), multimap<>::insert(const_iterator, _Pair&&)): Likewise. * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&), _Insert<>::insert(const_iterator, _Pair&&)): Likewise. * include/debug/unordered_map: Adjust. * include/debug/map.h: Likewise. * include/debug/multimap.h: Likewise. * include/profile/unordered_map: Likewise. * include/profile/map.h: Likewise. * include/profile/multimap.h: Likewise. 2012-07-07 Jonathan Wakely PR libstdc++/53578 * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix narrowing conversion. * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise. 2012-07-06 Paolo Carlini PR libstdc++/53872 * include/std/thread (thread::_M_make_routine): Qualify make_shared to prevent ADL. * testsuite/30_threads/thread/adl.cc: New. 2012-07-05 Jonathan Wakely * include/std/condition_variable: Update copyright years. 2012-07-05 Jonathan Wakely PR libstdc++/53830 * include/std/condition_variable (condition_variable_any::wait): Move _Unlock type to class scope. (condition_variable_any::wait_until): Reuse it. * testsuite/30_threads/condition_variable_any/53830.cc: New. 2012-07-02 Paolo Carlini Revert: 2011-10-04 Paolo Carlini PR libstdc++/49561 * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size): Add in C++0x mode. (_List_base<>::_List_impl, _List_base<>::_M_get_node, _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&), list<>::size, list<>::swap, list<>::splice): Use it. (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode. * include/bits/list.tcc (list<>::erase): Likewise. (list<>::merge): Adjust in C++0x mode. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. 2012-06-19 Jonathan Wakely PR libstdc++/53270 * config/os/gnu-linux/os_defines.h: Disable static initializer macros for gthreads types in C++11 mode. 2012-06-19 Jörg Sonnenberger Jonathan Wakely PR libstdc++/53678 * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U. * testsuite/22_locale/ctype_base/53678.cc: New. 2012-06-14 Release Manager * GCC 4.7.1 released. 2012-05-28 Paolo Carlini PR c++/53503 * testsuite/26_numerics/headers/cmath/53503.cc: New. 2012-05-10 DJ Delorie * include/bits/random.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template match. * include/std/bitset (_M_copy_from_ptr): Cast min() operands to size_t to ensure a template match. 2012-05-02 Paolo Carlini PR libstdc++/53193 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. 2012-05-01 François Dumont PR libstdc++/53115 * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets after insertion of several equivalent elements. * testsuite/23_containers/unordered_multiset/insert/53115.cc: New. * testsuite/23_containers/unordered_multimap/insert/53115.cc: New. 2012-04-30 Andreas Tobler Backport from mainline 2012-03-21 Andreas Tobler * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Skip this test on powerpc64-*-freebsd*. 2012-04-25 Jonathan Wakely * include/std/scoped_allocator (scoped_allocator::__outermost): Do not pass non-POD to varargs function. * testsuite/20_util/scoped_allocator/1.cc: Fix test. 2012-04-23 Chris Jefferson PR testsuite/53046 * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size of array A. * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise. 2012-04-22 Paolo Carlini PR libstdc++/53067 * include/bits/hashtable_policy.h: Change inheritances to public. * testsuite/23_containers/unordered_map/requirements/53067.cc: New. * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise. 2012-04-22 Jonathan Wakely PR libstdc++/53027 * include/bits/ptr_traits.h (pointer_traits::rebind): Make public. * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check rebind works. 2012-04-21 Alan Modra PR libstdc++/52839 * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on glibcxx_cv_atomic_long_long. * configure: Regenerate. 2012-04-16 Bernhard Reutner-Fischer PR bootstrap/52840 * src/Makefile.am (build-debug): Do not adjust vpath dir, remove Makefile.tmp * src/Makefile.in: Adjust as per above. 2012-04-16 Benjamin Kosnik PR libstdc++/52689 * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak. * libsupc++/Makefile.in: Regenerated. * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak. (libstdc___la_SOURCES): Add in compatiblity files, with content that varies with -DPIC. * src/Makefile.in: Regenerated. * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak. * src/c++11/Makefile.in: Regenerated. * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC. * src/c++11/compatibility-c++0x.cc: Same. * src/c++11/future.cc: Consolidate compatibility bits into.. * src/c++11/mutex.cc: Consolidate compatibility bits into.. * src/c++11/compatibility-thread-cxx0x.cc: ...here. New. * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak. * src/c++98/Makefile.in: Regenerated. * src/c++98/compatibility-list-2.cc: Guard with PIC. * src/c++98/compatibility.cc: Tweak comments. 2012-04-16 Benjamin Kosnik * include/ext/pb_ds/detail/pat_trie_/ constructors_destructor_fn_imps.hpp: Increment after recursion. * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert node_type markup from brief. 2012-04-14 Paolo Carlini PR libstdc++/52699 * include/bits/random.tcc (independent_bits_engine<>::operator()()) Avoid various overflows; use common_type on result_type and _RandomNumberEngine::result_type; avoid floating point computations; other smaller tweaks. * include/bits/random.tcc (uniform_int_distribution<>::operator()) Use common_type; assume _UniformRandomNumberGenerator::result_type unsigned; tidy. * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long), __lg(unsigned long long)): Add. 2012-04-13 Paolo Carlini * include/debug/safe_iterator.h (_BeforeBeginHelper<>:: _S_Is_Beginnest): Add. * include/debug/forward_list (_BeforeBeginHelper<>:: _S_Is_Beginnest): Likewise. (_Safe_iterator<>::_M_is_beginnest): Add. * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Use the latter. * testsuite/23_containers/forward_list/debug/splice_after.cc: Add test. 2012-04-12 Paolo Carlini * include/bits/forward_list.h (splice_after(const_iterator, forward_list&), splice_after(const_iterator, forward_list&, consst_iterator), splice_after(const_iterator, forward_list&, const_iterator, const_iterator), merge(forward_list&), merge(forward_list&, _Comp)): Add per C++11 as published (and LWG 1310). * include/debug/forward_list: Adjust. * include/bits/forward_list.h (splice_after(const_iterator, forward_list&&, const_iterator)): Only declare. (_M_transfer_after): Remove. (_M_splice_after(const_iterator, forward_list&&)): Change signature. (splice_after(const_iterator, forward_list&&, const_iterator, const_iterator)): Use the latter. * include/bits/forward_list.tcc (splice_after(const_iterator, forward_list&&, const_iterator)): Define here. (_M_splice_after): Define, use throughout. * include/bits/forward_list.h (insert_after(const_iterator, std::initializer_list<_Tp>)): Forward to insert_after(const_iterator, _InputIterator, _InputIterator). * include/bits/forward_list.tcc: Remove definition. * testsuite/23_containers/forward_list/modifiers/6.cc: New. * testsuite/23_containers/forward_list/operations/1.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. 2012-04-12 Jeffrey Yasskin PR libstdc++/52822 * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode. (__find_if_not_n): Like __find_if_not, but works on and updates a counted range instead of a bounded range. (stable_partition): Guarantee !__pred(*__first) in call to __stable_partition_adaptive() or __inplace_stable_partition(). (__stable_partition_adaptive): Use new precondition to avoid moving/copying objects onto themselves. Guarantee new precondition to recursive calls. (__inplace_stable_partition): Use new precondition to simplify base case, remove __last parameter. Guarantee new precondition to recursive calls. * testsuite/25_algorithms/stable_partition/moveable.cc (test02): Test a sequence that starts with a value matching the predicate. * testsuite/25_algorithms/stable_partition/pr52822.cc: Test vectors, which have a destructive self-move-assignment. 2012-04-12 Paolo Carlini PR libstdc++/52942 * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd): In C++11 mode do not derive from std::unary_function. * include/ext/functional (identity, select1st, select2nd): Adjust. * testsuite/23_containers/unordered_map/requirements/52942.cc: New. * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise. 2012-04-11 Jonathan Wakely PR libstdc++/52924 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add user-defined destructor. (_Sp_counted_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/52924.cc: New. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers. 2012-04-11 Jonathan Wakely * testsuite/performance/30_threads/future/polling.cc: Adjust. 2012-04-11 Jonathan Wakely PR libstdc++/52591 * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch to _M_move_assign depending on whether allocator is moved. (vector::_M_move_assign): Add overloaded functions. * testsuite/23_containers/vector/52591.cc: New. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * 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/vector/requirements/dr438/insert_neg.cc: Likewise. 2012-04-09 François Dumont PR libstdc++/52476 * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add. (_Hashtable<>::_M_rehash): Use the latter. * testsuite/23_containers/unordered_multimap/insert/52476.cc: New. * testsuite/23_containers/unordered_multiset/insert/52476.cc: New. 2012-04-09 Terry Guo Backport from mainline 2012-03-28 Terry Guo * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New. * testsuite/Makefile.in: Regenerated. 2012-03-30 Jeffrey Yasskin Paolo Carlini PR libstdc++/52799 * include/bits/deque.tcc (emplace): Fix thinko, replace push_front -> emplace_front, and likewise for *_back. * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New. * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise. * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise. 2012-03-23 David S. Miller * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update. 2012-03-23 Paolo Carlini * include/bits/forward_list.h: Fix comments. 2012-03-23 Paweł Sikora PR libstdc++/52540 * include/Makefile.am (c++config.h): Fix sed rule to not break the _GLIBCXX_EXTERN_TEMPLATE redefinition. * include/Makefile.in: Regenerate. 2012-03-22 Jonathan Wakely PR libstdc++/52433 * include/debug/safe_iterator.h (_Safe_iterator): Add move constructor and move assignment operator. * testsuite/23_containers/vector/debug/52433.cc: New. 2012-03-22 Paolo Carlini * include/std/array (array<>::at(size_type) const): Fix version for undefined __EXCEPTIONS. 2012-03-22 Release Manager * GCC 4.7.0 released. 2012-03-10 John David Anglin PR libstdc++/52456 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 2012-03-09 Andreas Schwab * config/locale/gnu/monetary_members.cc (moneypunct::_M_initialize_moneypunct): Throw caught exception again. (moneypunct::_M_initialize_moneypunct): Likewise. * testsuite/22_locale/locale/cons/12352.cc: Also test en_US locale. 2012-03-02 Benjamin Kosnik * include/c_global/cstdio: Remove extraneous extern. * include/c_std/cstdio: Same. 2012-03-02 Rainer Orth * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 2012-03-01 Benjamin Kosnik Ramana Radhakrishnan PR libstdc++/51785 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New. * configure.ac: Call it. * configure: Regenerate. * config.h.in: Same. * config/os/gnu-linux/os_defines.h: Conditionally undefine _GLIBCXX_HAVE_GETS. * include/c_global/cstdio: Conditionally declare deprecated gets. * include/c_std/cstdio: Same. 2012-03-01 Michael Spertus * include/tr2/type_traits (typelist): To __reflection_typelist. (first, rest, empty): Remove. 2012-03-01 Benjamin Kosnik * testsuite/Makefile.am (CLEANFILES): Add *.gdb. * testsuite/Makefile.in: Regenerate. 2012-02-29 H.J. Lu * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 2012-02-28 Benjamin Kosnik PR libstdc++/52191 * testsuite/util/testsuite_abi.cc (compare_symbols): Check new symbols added into the latest version. Mark tls entities as undesignated. 2012-02-28 Jakub Jelinek PR bootstrap/52414 * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines if they are at the beginning of lines (with optional whitespace before #). * src/Makefile.in: Regenerated. 2012-02-27 Jakub Jelinek * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 2012-02-27 Rainer Orth PR libstdc++/52188 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming. Remove ENABLE_SYMVERS_SOL2. * configure: Regenerate. * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver): Postprocess mapfile. [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling. * src/Makefile.in: Regenerate. * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]: Don't export _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv. 2012-02-25 John David Anglin PR testsuite/52201 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Require atomic builtins. * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. 2012-02-23 Jason Merrill * include/bits/locale_facets.h (class num_get): Undo reordering of do_get virtual functions. 2012-02-14 Edward Smith-Rowland <3dw4rd@verizon.net> * testsuite/26_numerics/random/ uniform_real_distribution/requirements/typedefs.cc: Check param_type. * testsuite/26_numerics/random/ piecewise_constant_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ chi_squared_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ normal_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ uniform_int_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ poisson_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ bernoulli_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ discrete_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ weibull_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ cauchy_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ negative_binomial_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ gamma_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ fisher_f_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ exponential_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ binomial_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ lognormal_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ extreme_value_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ piecewise_linear_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ student_t_distribution/requirements/typedefs.cc: Ditto. * testsuite/26_numerics/random/ geometric_distribution/requirements/typedefs.cc: Ditto. 2012-02-21 Benjamin Kosnik PR libstdc++/50349 * config/abi/pre/gnu.ver: Only one local. * config/abi/pre/gnu-versioned-namespace.ver: Same. 2012-02-21 Paolo Carlini PR libstdc++/52317 (cont) * include/profile/unordered_map: Ad Library Exception comment. * include/profile/set: Likewise. * include/profile/base.h: Likewise. * include/profile/impl/profiler_list_to_slist.h: Likewise. * include/profile/impl/profiler_container_size.h: Likewise. * include/profile/impl/profiler_vector_size.h: Likewise. * include/profile/impl/profiler_hash_func.h: Likewise. * include/profile/impl/profiler_trace.h: Likewise. * include/profile/impl/profiler_list_to_vector.h: Likewise. * include/profile/impl/profiler_vector_to_list.h: Likewise. * include/profile/impl/profiler.h: Likewise. * include/profile/impl/profiler_state.h: Likewise. * include/profile/impl/profiler_map_to_unordered_map.h: Likewise. * include/profile/impl/profiler_algos.h: Likewise. * include/profile/impl/profiler_hashtable_size.h: Likewise. * include/profile/impl/profiler_node.h: Likewise. * include/profile/vector: Likewise. * include/profile/unordered_set: Likewise. * include/profile/map.h: Likewise. * include/profile/map: Likewise. 2012-02-21 Paolo Carlini PR libstdc++/52317 * python/Makefile.am: Update boilerplate license text to GPLv3. * include/profile/unordered_map: Likewise. * include/profile/set: Likewise. * include/profile/base.h: Likewise. * include/profile/impl/profiler_list_to_slist.h: Likewise. * include/profile/impl/profiler_container_size.h: Likewise. * include/profile/impl/profiler_vector_size.h: Likewise. * include/profile/impl/profiler_hash_func.h: Likewise. * include/profile/impl/profiler_trace.h: Likewise. * include/profile/impl/profiler_list_to_vector.h: Likewise. * include/profile/impl/profiler_vector_to_list.h: Likewise. * include/profile/impl/profiler.h: Likewise. * include/profile/impl/profiler_state.h: Likewise. * include/profile/impl/profiler_map_to_unordered_map.h: Likewise. * include/profile/impl/profiler_algos.h: Likewise. * include/profile/impl/profiler_hashtable_size.h: Likewise. * include/profile/impl/profiler_node.h: Likewise. * include/profile/vector: Likewise. * include/profile/unordered_set: Likewise. * include/profile/map.h: Likewise. * include/profile/map: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/ wchar_t/dr1261.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/ char/dr1261.cc: Likewise. * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise. 2012-02-20 Paolo Carlini PR libstdc++/52241 * src/c++98/tree.cc (local_Rb_tree_increment, local_Rb_tree_decrement): Add. (_Rb_tree_increment(const _Rb_tree_node_base*), _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter. (_Rb_tree_increment(_Rb_tree_node_base*), _Rb_tree_decrement(_Rb_tree_node_base*)): New. 2012-02-20 Paolo Carlini PR libstdc++/52309 * include/bits/hashtable_policy.h (_Equality_base<, true,>:: _M_equal(const _Hashtable&)): Compare values with operator==. * testsuite/23_containers/unordered_set/operators/52309.cc: New. 2012-02-17 Benjamin Kosnik PR libstdc++/51798 continued. * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for __atomic_, not __sync. * configure: Regenerated. 2012-02-17 Benjamin Kosnik PR libstdc++/47058 * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New. (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS * configure.ac: Use it. * fragment.am: Set WERROR_FLAG conditionally on --disable-werror. * configure: Regenerate. * python/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * testsuite/Makefile.in: Same. 2012-02-17 Rainer Orth PR libstdc++/52189 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle --enable-libstdcxx-threads. Disable on Solaris 8/9 with symbol versioning. * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after GLIBCXX_ENABLE_SYMVERS. * configure: Regenerate. * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain. 2012-02-15 DJ Delorie * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo. 2012-02-15 Benjamin Kosnik PR libstdc++/51368 * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New. * configure.ac: Use it. * python/Makefile.am: Same. * configure: Regenerate. * python/Makefile.in: Regenerate. * Makefile.in: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * po/Makefile.in: Same. * src/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * testsuite/Makefile.in: Same. 2012-02-14 Jonathan Wakely * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin. 2012-02-14 Tom Tromey * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new tests. * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__): Rewrite. (Tr1HashtableIterator.update): Remove. (Tr1HashtableIterator.next): Rewrite. 2012-02-13 Benjamin Kosnik * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. 2012-02-13 Richard Henderson PR libstdc++/51798 continued. * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load outside compare_exchange loop. * include/tr1/shared_ptr.h: Same. * include/parallel/compatibility.h (__compare_and_swap_32): Use strong version of compare_exchange. (__compare_and_swap_64): Same. * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same. * libsupc++/guard.cc (__cxa_guard_acquire): Same. 2012-02-10 Benjamin Kosnik Jonathan Wakely PR libstdc++/51798 continued. * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_* builtins instead of __sync_* builtins for atomic functionality. * include/bits/shared_ptr_base.h: Same. * include/parallel/compatibility.h: Same. * include/profile/impl/profiler_state.h: Same. * include/tr1/shared_ptr.h: Same. * libsupc++/eh_ptr.cc: Same. * libsupc++/eh_throw.cc: Same. * libsupc++/eh_tm.cc: Same. * libsupc++/guard.cc: Same. * configure: Regenerated. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. 2012-02-10 Rainer Orth PR libstdc++/51296 * config/os/osf/ctype_base.h, config/os/osf/ctype_configure_char.cc, config/os/osf/ctype_inline.h, config/os/osf/error_constants.h: Copy from config/os/generic. * config/os/osf/os_defines.h: Likewise. (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC): Define. * configure.host : Use os/osf for os_include_dir. 2012-02-10 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated. 2012-02-09 Jonathan Wakely * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute. 2012-02-08 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Update C++11 status table. 2012-02-07 Benjamin Kosnik * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1. * doc/xml/manual/documentation_hacking.xml: Update. 2012-02-07 Jonathan Wakely * testsuite/30_threads/call_once/39909.cc: Remove duplicate target selector. * testsuite/30_threads/call_once/49668.cc: Likewise. * testsuite/30_threads/call_once/call_once1.cc: Likewise. * testsuite/30_threads/lock_guard/cons/1.cc: Likewise. * testsuite/30_threads/mutex/cons/1.cc: Likewise. * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/mutex/lock/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/mutex/unlock/1.cc: Likewise. * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. 2012-02-07 Jonathan Wakely PR libstdc++/51296 * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept. * src/c++11/condition_variable.cc (condition_variable): Use macro for initializer function. PR libstdc++/51906 * config/os/bsd/darwin/os_defines.h: Disable static initializer for recursive mutexes. 2012-02-06 Jonathan Wakely PR libstdc++/52128 * src/c++11/future.cc: Add explicit instantiation. 2012-02-06 François Dumont * include/debug/safe_iterator.h (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive creation of a _Safe_iterator instance to do the check. 2012-02-05 Jonathan Wakely PR libstdc++/52104 * include/std/future (__future_base::_Async_state_common): Define destructor inline for targets without TLS. * src/c++11/future.cc (__future_base::_Async_state_common): Only define destructor for TLS targets. 2012-02-05 Jonathan Wakely PR libstdc++/51956 * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to... (SharedPointerPrinter): This. Also show weak count. * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New. 2012-02-05 Jonathan Wakely * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to PASS instead of XFAIL. 2012-02-05 Jeffrey Yasskin Paolo Carlini PR libstdc++/52119 * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior. 2012-02-03 Benjamin Kosnik PR libstdc++/49445 * testsuite/29_atomics/atomic/cons/49445.cc: Add. 2012-02-03 Benjamin Kosnik PR libstdc++/51811 * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets. * testsuite/29_atomics/atomic/operators/51811.cc: New. * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New. 2012-02-03 Jakub Jelinek * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 2012-02-02 Benjamin Kosnik PR libstdc++/52068 * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES, libc__11_la_SOURCES): Remove. * src/c++11/Makefile.in: Regenerate. * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES, libc__98_la_SOURCES): Remove. * src/c++98/Makefile.in: Regenerate. 2012-02-01 Jonathan Wakely PR libstdc++/49204 * include/std/future (__future_base::_State_base::wait()): Use lambda expression for predicate and remove redundant test. (__future_base::_State_base::wait_for()): Return future_status and use lambda expression for predicate. (__future_base::_State_base::wait_until()): Likewise. (__basic_future::wait_for(), __basic_future::wait_until()): Likewise. (__future_base::_Async_state): Replace with _Async_state_common class for non-dependent functionality and _Async_state_impl class template for dependent functionality. (__future_base::_Async_state_common::_M_join): Serialize attempts to join thread. (__future_base::_Async_state_common::_M_run_deferred): Join. (__future_base::_Async_state::_M_do_run): Replace with lambda. * src/c++11/future.cc (__future_base::_Async_state_common): Define destructor, so key function is in the library. * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common. * testsuite/30_threads/packaged_task/members/get_future.cc: Expect future_status return instead of bool. * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. * testsuite/30_threads/future/members/wait_until.cc: Likewise. * testsuite/30_threads/future/members/wait_for.cc: Likewise. * testsuite/30_threads/promise/members/set_value2.cc: Likewise. * testsuite/30_threads/promise/members/set_value3.cc: Likewise. * testsuite/30_threads/promise/members/swap.cc: Likewise. 2012-01-30 Tom Tromey PR libstdc++/51649: * testsuite/libstdc++-prettyprinters/debug.cc: New file. * testsuite/lib/gdb-test.exp (regexp-test): New proc. (note-test): Update. (gdb-test): Handle regexp tests. Add some logging. * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0. (placeholder, use): Remove. (main): Add tests for deque, list, map, and set iterators. Add tests for slist and slist iterator. * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7 namespace. * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use the type's _Node typedef. (StdListIteratorPrinter.to_string): Change how node type is computed. (StdSlistPrinter.children): Use the type's _Node typedef. (StdSlistIteratorPrinter.to_string): Likewise. (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type typedef. (StdMapPrinter.children): Change how the node's type is computed. (StdSetPrinter.children): Likewise. (StdForwardListPrinter.children): Use the type's _Node typedef. (Printer.add_version): New method. (Printer.add_container): New method. (build_libstdcxx_dictionary): Handle __7 and __cxx1998 namespaces. (find_type): New function. 2012-01-27 Paolo Carlini PR libstdc++/51795 * include/bits/random.h (linear_congruential_generator): Add static_assert preventing instantiation for values of 'a' and 'm' currently handled incorrectly by _Mod::__calc. * include/bits/random.tcc (seed_seq::generate): Avoid unsafe uses of _Mod::__calc. 2012-01-27 Jakub Jelinek PR libstdc++/51798 * config/cpu/generic/atomicity_builtins/atomicity.h (__exchange_and_add, __atomic_add): Use __atomic_fetch_add with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add. * include/ext/atomicity.h (__exchange_and_add, __atomic_add): Likewise. 2011-01-27 Rafael Avila de Espindola * libsupc++/typeinfo: Correctly match #pragma GCC visibility pop with #pragma GCC visibility push. 2012-01-27 Benjamin Kosnik Matthias Klose * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0. * configure.in: Regenerated. * src/Makefile.am (all-once, install-data-once): New rules. (all-local, install-data-local): Use them. (build-debug, install-debug): Tweak. * src/Makefile.in: Regenerate. 2012-01-27 Richard Henderson * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL. (ATOMIC_FLAG_INIT): Initialize with 0, not false. (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL. 2012-01-26 Jakub Jelinek PR bootstrap/51985 * src/c++98/Makefile.am (libc__98_la_SOURCES, libc__98convenience_la_SOURCES): Remove $(inst_sources). * src/c++98/Makefile.in: Regenerated. 2012-01-25 Richard Sandiford * testsuite/20_util/system_clock/1.cc: Add dg-require-time. * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise. * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add dg-require-fileio. * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise. 2012-01-25 Matthias Klose * testsuite/30_threads/condition_variable_any/requirements: Remove empty directory. 2012-01-23 Benjamin Kosnik * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy. * src/Makefile.in: Regenerate. 2012-01-23 Benjamin Kosnik PR libstdc++/49829 Add libc++98convenience.la, libc++11convenience.la. * src/c++98: New directory. * src/c++11: New directory. * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11. * configure: Regenerated. * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS. * Makefile.in: Regenerate. * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for -fno-implicit-templates. * libsupc++/Makefile.in: Regenerate. * src/Makefile.am (inst_sources): Move... C++11 files into separate directory for libstdc++11convenience.la. Files are: fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc). (sources): Move C++11 files. Files are: compatibility-c++0x.cc, compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc, functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc, system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc, mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc. (libstdc++convenience.la): Add new target. (SUBDIRS): Add c++11, c++98. * src/Makefile.in: Regenerate. * src/c++11/Makefile.am: New. * src/c++11/Makefile.in: Generate. * src/c++98/Makefile.am: New, C++98 files. * src/c++98/Makefile.in: Generate. 2012-01-23 Rainer Orth libstdc++-v3: * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on 32-bit Solaris 10/x86. * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise. 2012-01-21 Jonathan Wakely PR libstdc++/50982 * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors. 2012-01-19 Jakub Jelinek PR libstdc++/51845 * include/bits/hashtable.h (_Hashtable<>::erase(const_iterator, const_iterator)): Also update _M_buckets[__n_bkt] if __is_bucket_begin. * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc: New test. 2012-01-18 Benjamin Kosnik * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting. 2012-01-18 Benjamin Kosnik * configure.ac: Move epub checks... * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use test -f instead of AC_CHECK_FILES. 2012-01-18 François Dumont Roman Kononov PR libstdc++/51866 * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)): Do not keep a reference to a potentially moved instance. * testsuite/23_containers/unordered_multiset/insert/51866.cc: New. * testsuite/23_containers/unordered_multimap/insert/51866.cc: New. 2012-01-17 Benjamin Kosnik * doc/html/*: Regenerate. 2012-01-17 Benjamin Kosnik * configure.ac (BUILD_EPUB): Adjust for epub3. * configure: Regenerate. * Makefile.in: Same. * doc/Makefile.am (stamp-epub-docbook): Update for epub3. * doc/Makefile.in: Regenerate. * include/Makefile.in: Same. * libsupc++/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * testsuite/Makefile.in: Same. * doc/xml/manual/documentation_hacking.xml: Update. 2012-01-17 Rainer Orth PR target/47852 * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS. 2012-01-14 Jonathan Wakely * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments. 2012-01-13 François Dumont * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as base class of ... (_Hash_node, _Hash_node): ... those. * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index by _M_before_begin. Review implementation so that we do not need to look for previous non-empty bucket when inserting nodes. 2012-01-09 Kai Tietz PR libstc++/51673 part 2 * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete operators signature for LLP64 size_t, and adjusted signatures for mt-allocator using size_t. 2012-01-09 Benjamin Kosnik PR libstc++/51673 part 1 * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols with gnu.ver. 2012-01-09 Benjamin Kosnik * fragment.am (WARN_CXXFLAGS): Add -Wabi. * Makefile.in: Regenerate. * doc/Makefile.in: Same. * include/Makefile.in: Same. * libsupc++/Makefile.in: Same. * src/Makefile.in: Same. * testsuite/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. 2012-01-08 Jonathan Wakely * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add. * testsuite/libstdc++-prettyprinters/cxx11.cc: New. 2012-01-06 Jason Merrill * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust expected demangling. 2012-01-06 Jonathan Wakely PR libstdc++/51504 * doc/xml/manual/debug.xml: Suggest using symbol interposition to override symbols using annotation macros. 2012-01-05 François Dumont * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()): protected rather than private, use it... * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here. * testsuite/23_containers/unordered_set/observers.cc: New. * testsuite/23_containers/unordered_multiset/observers.cc: New. * testsuite/23_containers/unordered_map/observers.cc: New. * testsuite/23_containers/unordered_multimap/observers.cc: New. 2012-01-03 François Dumont * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more specific _Hashtable_ebo_helper. Hide this implementation detail thanks to private inheritance. 2012-01-03 Paolo Carlini PR c++/51738 * testsuite/23_containers/map/element_access/39901.cc: New.