2013-05-07 François Dumont * include/profile/unordered_base.h: New. * include/Makefile.am: Add new profile header. * include/Makefile.in: Regenerate. * include/profile/impl/profiler.h (__profcxx_inefficient_hash_is_on): New macro. * include/profile/unordered_map (std::profile::unordered_map<>): Use new _Unordered_profile base class. Use default implementations for special functions. (std::profile::unordered_multimap<>): Likewise. * include/profile/unordered_set (std::profile::unordered_set<>): Likewise. (std::profile::unordered_multiset<>): Likewise. * testsuite/23_containers/unordered_multiset/55043.cc: Fix MoveOnly equality operator signature. 2013-05-02 Paolo Carlini * testsuite/tr1/4_metaprogramming/integral_constant/requirements/ constexpr_data.cc: Move... * testsuite/20_util/integral_constant/requirements/constexpr_data.cc: ... here. * testsuite/20_util/integral_constant/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/integral_constant/requirements/typedefs.cc: Likewise. * testsuite/20_util/integral_constant/static_definition.cc: Likewise. * testsuite/20_util/integral_constant/true_false_type_typedefs.cc: Likewise. * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise. 2013-05-02 Paolo Carlini * include/std/type_traits (is_null_pointer): Add. (__is_nullptr_t): Implement in terms of the latter. (is_fundamental, is_scalar): Adjust. * testsuite/20_util/is_null_pointer/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_null_pointer/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_null_pointer/value.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. 2013-05-02 Paolo Carlini * include/c_global/cstdio: Add comment about LWG 2249. * include/c_std/cstdio: Likewise. 2013-04-28 Jonathan Wakely * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix comment. * include/std/mutex (__recursive_mutex_base): Likewise. 2013-04-28 Jonathan Wakely PR libstdc++/51365 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to implement EBO safely. (_Sp_counted_base::_M_get_deleter): Add noexcept. (_Sp_counter_ptr): Use noexcept instead of comments. (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper. (_Sp_counted_ptr_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/51365.cc: New. * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to custom allocator and test construction with custom allocator. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line number. 2013-04-26 Paolo Carlini * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust dialect to -std=gnu++11. 2013-04-26 François Dumont * include/bits/hashtable_policy.h (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics. * testsuite/23_containers/unordered_set/insert/move_range.cc: New. 2013-04-26 Paolo Carlini * include/c_global/cstdio (gets): Provide only in C++98 and C++11. * include/c_std/cstdio (gets): Likewise. * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust. 2013-04-25 Paolo Carlini PR libstdc++/57065 * include/debug/unordered_map (unordered_map, unordered_multimap): Fix default allocator type. * include/profile/unordered_map (unordered_map, unordered_multimap): Likewise. * include/bits/unordered_map.h: Fix comments. 2013-04-24 Jonathan Wakely PR libstdc++/56905 * libsupc++/exception_ptr.h (copy_exception): Deprecate and move implementation to make_exception_ptr. * include/std/future (_State_base::_M_break_promise): Replace copy_exception with make_exception_ptr. * testsuite/18_support/exception_ptr/move.cc: Likewise. * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. * testsuite/30_threads/future/members/get2.cc: Likewise. * testsuite/30_threads/promise/members/set_exception.cc: Likewise. * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. * testsuite/30_threads/promise/members/set_value2.cc: Likewise. * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 2013-04-22 Jason Merrill * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h. * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In substitution" lines. * testsuite/20_util/is_assignable/value.cc: Comment out tests involving function-cv-quals. * testsuite/20_util/is_constructible/value-2.cc: Likewise. * testsuite/20_util/reference_wrapper/result_type.cc: Likewise. * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise. 2013-04-22 François Dumont * include/bits/hashtable_policy.h: Add C++11 allocator support. * include/bits/hashtable.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/debug/unordered_set: Likewise. * include/debug/unordered_map: Likewise. * include/std/unordered_set: Remove bits/algobase.h include. Replace bits/alloc_traits.h by ext/alloc_traits.h. * include/std/unordered_map: Likewise. * include/ext/throw_allocator.h: Add checks on calls to allocator construct/destroy. (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw. (std::hash<__gnu_cxx::throw_value_random>): Likewise. * testsuite/util/regression/rand/priority_queue /container_rand_regression_test.tcc: Adapt. * testsuite/util/regression/rand/assoc /container_rand_regression_test.tcc: Likewise. * testsuite/util/testsuite_counter_type.h: Add count of destructors. * testsuite/23_containers/unordered_set /not_default_constructible_hash_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. * testsuite/23_containers/unordered_set/allocator/copy.cc: New. * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_set/allocator/minimal.cc: New. * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_set/allocator/swap.cc: New. * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New. * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New. * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New. * testsuite/23_containers/unordered_map/allocator/copy.cc: New. * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_map/allocator/minimal.cc: New. * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_map/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_map/allocator/swap.cc: New. * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New. * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New. * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New. 2013-04-22 Paolo Carlini * include/std/type_traits (is_signed): Simplify. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. 2013-04-22 Paolo Carlini N3669 * include/std/complex (complex::real, complex::imag, complex::real, complex::imag, complex::real, complex::imag): Declare as const member functions. * include/std/type_traits (integral_constant<>::operator value_type): Likewise. 2013-04-22 Paolo Carlini PR libstdc++/57010 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment. * testsuite/25_algorithms/pop_heap/57010.cc: New. 2013-04-21 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-20 Jonathan Wakely * doc/xml/manual/extensions.xml: Fix anachronism. 2013-04-09 Tom Tromey * configure, config.h.in: Rebuild. * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for sys/sdt.h. * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun. 2013-04-09 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2013-04-08 Paolo Carlini * testsuite/libstdc++-prettyprinters/cxx11.cc: Include . 2013-04-07 Jonathan Wakely * include/Makefile.am: Add ext/aligned_buffer.h * include/Makefile.in: Regenerate. * include/ext/aligned_buffer.h: New. * include/std/future (_Result): Use __aligned_buffer. * include/bits/forward_list.h (_Fwd_list_node): Likewise. * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line number. 2013-04-07 Jonathan Wakely * include/bits/forward_list.h: Only include required headers. (forward_list::reference): Define directly, not using __alloc_traits. (forward_list::const_reference): Likewise. 2013-04-07 François Dumont * include/std/functional (_Derives_from_unary_function): Remove. (_Derives_from_binary_function): Remove. * include/std/type_traits (__sfinae_types): Remove. (__is_assignable_helper): Adapt. (__is_convertible_helper): Adapt. (_GLIBCXX_HAS_NESTED_TYPE): Adapt. Remove several explicit instantiations of integral_constant. * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adapt dg-error line number. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. * testsuite/20_util/bind/ref_neg.cc: Likewise. 2013-04-05 Jonathan Wakely PR libstdc++/56841 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and get_terminate() accessors. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not available. * libsupc++/new_handler.cc: Likewise. 2013-04-04 Jonathan Wakely * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version. 2013-04-03 Paolo Carlini PR libstdc++/56834 * include/debug/array (tuple_size, tuple_element): Do not declare. * include/profile/array: Likewise. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Adjust dg-error line number. 2013-04-03 Jonathan Wakely * libsupc++/exception (get_terminate(), get_unexpected()): Declare. * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()): Define. (set_terminate(terminate_handler)): Set atomically. (set_unexpected(terminate_handler)): Likewise. * libsupc++/new (get_new_handler()): Declare. * libsupc++/new_handler.cc (get_new_handler()): Define. (set_new_handler(new_handler)): Set atomically. (__new_handler): Use internal linkage. * libsupc++/new_op.cc (operator new): Use get_new_handler(). * libsupc++/new_opnt.cc (operator new): Likewise. * acinclude.m4: Bump libtool_VERSION to 6:19:0. * configure: Regenerate. * libsupc++/Makefile.am: Compile above files with -std=gnu++11. * libsupc++/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Add new exports. * doc/xml/manual/status_cxx2011.xml: Update. * testsuite/18_support/headers/exception/synopsis.cc: Check accessors for handlers. * testsuite/18_support/headers/new/synopsis.cc: Likewise. * testsuite/18_support/new_handler.cc: New. * testsuite/18_support/terminate_handler.cc: New. * testsuite/18_support/unexpected_handler.cc: New. 2013-04-02 Jonathan Wakely * doc/xml/manual/appendix_contributing.xml: Remove broken link and defer to general documentation on contributing to GCC. * doc/html/*: Regenerate. 2013-03-30 Gerald Pfeifer * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article. * 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. Remove direct link to IBM Haifa Research Labs. * 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-27 Kai Tietz * crossconfig.m4: Add support for cygwin x64 target. * configure: Regenerated. 2013-03-25 Kai Tietz * testsuite/18_support/50594.cc: For mingw-targets use only static libstdc++-version. * testsuite/19_diagnostics/error_category/operators/equal.cc * testsuite/19_diagnostics/error_code/cons/1.cc * testsuite/19_diagnostics/error_code/operators/bool.cc * testsuite/19_diagnostics/error_code/operators/equal.cc * testsuite/19_diagnostics/error_code/operators/not_equal.cc * testsuite/19_diagnostics/error_condition/cons/1.cc * testsuite/19_diagnostics/error_condition/operators/bool.cc * testsuite/19_diagnostics/error_condition/operators/equal.cc * testsuite/19_diagnostics/error_condition/operators/not_equal.cc * testsuite/23_containers/set/requirements/exception/basic.cc * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc * testsuite/lib/dg-options.exp (dg-additional-options): New option. 2013-03-24 Jonathan Wakely PR libstdc++/56170 * include/ext/debug_allocator.h (debug_allocator): Add missing members to meet allocator requirements. * testsuite/ext/debug_allocator/56170.cc: New. 2013-03-22 Paolo Carlini PR libstdc++/56678 * include/std/chrono (__is_ratio): Uglify T. 2013-03-18 Paolo Carlini PR libstdc++/55977 (partial, std::vector and std::deque bits) * include/bits/stl_vector.h (_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag)): Use emplace_back. * include/bits/deque.tcc (_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag)): Likewise. * testsuite/23_containers/vector/cons/55977.cc: New. * testsuite/23_containers/deque/cons/55977.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. 2013-03-17 Paolo Carlini PR libstdc++/55979 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)): Use emplace_back. * testsuite/23_containers/list/cons/55979.cc: New. * testsuite/23_containers/list/modifiers/1.h: Adjust. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. 2013-03-16 Jason Merrill PR c++/55017 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move. 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-16 Jonathan Wakely PR libstdc++/56492 * include/std/future (__future_base::_Result): Add result_type typedef. (__future_base::_S_allocate_result): Overload for std::allocator. (__future_base::_Task_setter): Use _Result::result_type instead of deducing the type from the task. (__future_base::_Task_state): Store allocator to allow shared state to be reset. Replace std::function with member of target object type accessed via ... (__future_base::_Task_state_base): New abstract base class. (__future_base::_Task_state_base::_M_run): New virtual function to invoke type-erased target object. (__future_base::_Task_state_base::_M_reset): New virtual function to create new shared_state using same target object and allocator. (__future_base::__create_task_state): Allocate a new _Task_state. (packaged_task::packaged_task): Use __create_task_state. (packaged_task::reset): Use _Task_state_base::_M_reset. * testsuite/30_threads/packaged_task/cons/56492.cc: New. 2013-03-15 Tom Tromey * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected. (PROBE2): New macro. * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe. * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe. * configure.ac: Check for sys/sdt.h. * configure, config.h.in: Rebuild. 2013-03-14 Jonathan Wakely PR libstdc++/56613 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use allocator_traits instead of calling construct directly. * testsuite/23_containers/map/56613.cc: New. 2013-03-13 Benjamin Kosnik * doc/html/*: Regenerate. 2013-03-13 Paolo Carlini PR libstdc++/56609 * include/std/type_traits (is_fundamental): Add std::nullptr_t. * testsuite/20_util/is_fundamental/value.cc: Extend. * testsuite/20_util/is_compound/value.cc: Likewise. 2013-03-09 Paolo Carlini * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid -Wunused warnings. 2013-03-08 Benjamin Kosnik * include/bits/memoryfwd.h: New. Centralize forward declarations. * include/bits/algorithmfwd.h: Consistent comments. * include/bits/localefwd.h: Same. * include/ext/vstring_fwd.h: Same. * include/parallel/algorithmfwd.h: Same. * include/parallel/numericfwd.h: Same. * include/std/iosfwd: Same. * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator forward decl. * include/ext/alloc_traits.h: Remove allocator forward decl. * include/bits/stl_construct.h: Same. * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator forward decl. Consistent comments. * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO. * include/Makefile.am (bits_headers): Add memoryfwd.h. * include/Makefile.in: Regenerate. * configure: Same. 2013-03-08 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. * testsuite/23_containers/forward_list/allocator/minimal.cc: Insert element to really challenge C++11 allocator integration. * testsuite/23_containers/forward_list/allocator/copy.cc: Likewise. * testsuite/23_containers/forward_list/allocator/copy_assign.cc: Likewise. * testsuite/23_containers/forward_list/allocator/move_assign.cc: Likewise. * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise and swap forward_list back before checks on memory/personality mapping are performed. 2013-03-07 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. 2013-03-06 Rainer Orth * scripts/extract_symvers.pl: Omit symbols bound to base versions. * scripts/extract_symvers.in: Likewise. * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.9/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. 2013-03-04 Ulrich Drepper * include/ext/random (__gnu_cxx::von_mises_distribution<>): Optimize generation function by pulling computation of __r into the constructor for param_type. Also compare _M_mu in operator==. Fix comment. 2013-03-02 Ulrich Drepper Add triangular and von Mises distributions. * include/ext/random: Include . Add __gnu_cxx::triangular_distribution<> and __gnu_cxx::von_mises_distribution<> classes. * include/ext/random.tcc: Add out-of-line functions for __gnu_cxx::triangular_distribution<> and __gnu_cxx::von_mises_distribution<>. * testsuite/ext/triangular_distribution/cons/default.cc: New file. * testsuite/ext/triangular_distribution/cons/parms.cc: New file. * testsuite/ext/triangular_distribution/operators/serialize.cc: New file. * testsuite/ext/triangular_distribution/operators/equal.cc: New file. * testsuite/ext/triangular_distribution/operators/inequal.cc: New file. * testsuite/ext/triangular_distribution/requirements/typedefs.cc: New file. * testsuite/ext/triangular_distribution/requirements/ explicit_instantiation/1.cc: New file. * testsuite/ext/von_mises_distribution/cons/default.cc: New file. * testsuite/ext/von_mises_distribution/cons/parms.cc: New file. * testsuite/ext/von_mises_distribution/operators/serialize.cc: New file. * testsuite/ext/von_mises_distribution/operators/equal.cc: New file. * testsuite/ext/von_mises_distribution/operators/inequal.cc: New file. * testsuite/ext/von_mises_distribution/requirements/typedefs.cc: New file. * testsuite/ext/von_mises_distribution/requirements/ explicit_instantiation/1.cc: New file. Add math constants. * include/Makefile.am (ext_headers): Add cmath. * include/Makefile.in: Regenerated. * include/ext/cmath: New file. 2013-03-01 Rainer Orth * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.9/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. 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-25 Jason Merrill * configure.ac: Check for __cxa_thread_atexit_impl. * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward to it if available. * config.h.in, configure: Regenerate. 2013-02-20 Jonathan Wakely * include/std/streambuf (basic_streambuf): Use injected class name instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen group. 2013-02-20 Jonathan Wakely * doc/html/faq.html: Fix spelling. * doc/xml/faq.xml: Likewise. * include/bits/basic_ios.h: Likewise. * include/bits/regex.h: Likewise. * include/std/istream: Likewise. * include/std/streambuf: Likewise. 2013-02-20 Jonathan Wakely * testsuite/23_containers/unordered_set/55043.cc: Add missing namespace qualification. * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. 2013-02-19 Benjamin Kosnik * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT, AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1. * include/bits/stl_pair.h: Add to utilities group. * include/std/tuple: Same. * include/std/typeindex: Same. * include/bits/stringfwd.h: Fix markup. * include/std/limits: Same. * include/std/type_traits: Same. * include/tr1/memory: Same. * include/tr1/regex: Same. * scripts/run_doxygen: Comment. * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers. 2013-02-14 Jason Merrill * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole test if unsupported. 2013-02-13 Marc Glisse PR libstdc++/56111 * include/std/complex (complex): Undefine. * include/c_compatibility/complex.h (complex): Only undefine if has been included. * testsuite/26_numerics/complex/56111.cc: New testcase. 2013-02-13 François Dumont * include/bits/hashtable_policy.h (_Hash_code_base): Restore default constructor protected. * include/bits/hashtable.h: static assert that _Hash_code_base has a default constructor available through inheritance. 2013-02-12 Paolo Carlini * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in C++11 mode. 2013-02-12 Julian Brown * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU for glibc versions >= 2.17. * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01): Likewise. 2013-02-12 Paolo Carlini * include/bits/random.tcc (__transform): Remove. (__normalize): Add. (discrete_distribution<>::param_type::_M_initialize): Adjust. (piecewise_constant_distribution<>::param_type::_M_initialize): Likewise. (piecewise_linear_distribution<>::param_type::_M_initialize): Likewise. 2013-02-11 Benjamin Kosnik * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o): Use -fimplicit-templates. * src/c++11/Makefile.in: Regenerate. * src/c++11/hashtable_c++0x.cc: Remove instantiation for std::lower_bound template. 2013-02-11 Paolo Carlini * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare. * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only in C++11 mode and if available in the underlying C library. * testsuite/18_support/quick_exit/quick_exit.cc: Compile with -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and _GLIBCXX_HAVE_QUICK_EXIT. 2013-02-11 Benjamin Kosnik * doc/html/*: Regenerate. 2013-02-11 Jason Merrill * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New. (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit. * config.h.in, configure: Regenerate. * include/c_std/cstdlib: Add atexit and at_quick_exit. * include/c_global/cstdlib: Add atexit and at_quick_exit. * testsuite/18_support/quick_exit/quick_exit.cc: New. 2013-02-11 Paolo Carlini PR libstdc++/56282 Revert: 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56193 * include/bits/basic_ios.h: Replace operator void*() const with explicit operator bool() const in C++11 and greater. * testsuite/27_io/basic_ios/pr56193.cc: New file. 2013-02-10 François Dumont Jonathan Wakely * doc/xml/manual/containers.xml: Add section on unordered containers. * doc/xml/manual/using.xml: Fix incomplete sentence. 2013-02-10 Jonathan Wakely PR libstdc++/56267 * include/bits/hashtable.h (__cache_default): Check if hash function is copy assignable. * testsuite/23_containers/unordered_set/56267.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. PR libstdc++/56278 * include/bits/hashtable_policy.h (_Hash_code_base): Make default constructor public. * testsuite/23_containers/unordered_set/56278.cc: New. 2013-02-09 François Dumont * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code simplification. 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56216 * include/tr1/special_function_util.h: Remove spurious const from numeric arguments. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/poly_laguerre.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): If argument is zero return function value. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/pr56216.cc: New. 2013-02-07 Paolo Carlini * testsuite/27_io/basic_ios/pr56193.cc: Tweak. 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56193 * include/bits/basic_ios.h: Replace operator void*() const with explicit operator bool() const in C++11 and greater. * testsuite/27_io/basic_ios/pr56193.cc: New file. 2013-02-04 Dodji Seketeli Add missing explicit instantiation for std::lower_bound template * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add missing instantiation for std::lower_bound template. 2013-02-04 François Dumont * include/bits/functional_hash.h (std::__is_fast_hash<>): New. * include/bits/basic_string.h: Specialize previous to mark std::hash for string types as slow. * include/bits/hashtable.h (__cache_default): Replace is_integral with __is_fast_hash. * src/c++11/hash_c++0x.cc: Add type_traits include. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. 2013-02-04 Manuel López-Ibáñez Paolo Carlini PR libstdc++/56202 (again) * include/bits/random.tcc (binomial_distribution<>:: _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko in previous commit. * include/bits/random.h: Fix comment typo. 2013-02-04 Manuel López-Ibáñez Paolo Carlini PR libstdc++/56202 * include/bits/random.tcc (binomial_distribution<>:: _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid division by zero. 2013-02-03 Richard Sandiford Update copyright years. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc, testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc, testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc, testsuite/23_containers/deque/requirements/dr438/insert_neg.cc, testsuite/23_containers/list/requirements/dr438/assign_neg.cc, testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc, testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc, testsuite/23_containers/list/requirements/dr438/insert_neg.cc, testsuite/23_containers/vector/requirements/dr438/assign_neg.cc, testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc, testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc, testsuite/23_containers/vector/requirements/dr438/insert_neg.cc, testsuite/29_atomics/atomic/cons/assign_neg.cc, testsuite/29_atomics/atomic/cons/copy_neg.cc, testsuite/29_atomics/atomic_integral/cons/assign_neg.cc, testsuite/29_atomics/atomic_integral/cons/copy_neg.cc, testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc, testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc, testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Update lines in dg error matches. 2013-02-03 Richard Sandiford * config/os/mingw32/ctype_inline.h: Fix copyright typo. 2013-02-01 François Dumont * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt) (_Prime_rehash_policy::_M_need_rehash): Move definition... * src/c++11/hashtable_c++0x.cc: ... here. * src/shared/hashtable-aux.cc: Remove c++config.h include. * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy symbols. 2013-01-29 Jason Merrill PR libstdc++/54314 * config/abi/pre/gnu.ver: Don't export construction vtables. * config/abi/pre/gnu-versioned-namespace.ver: Likewise. 2013-01-28 Jonathan Wakely PR libstdc++/56112 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace to construct value_type explicitly before trying to extract the key. * testsuite/23_containers/unordered_map/cons/56112.cc: New. 2013-01-28 François Dumont * include/bits/hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary. Pass information about functors involved in hash code by copy. * include/bits/hashtable.h (__cache_default): Do not cache for builtin integral types unless the hash functor is not noexcept qualified or is not default constructible. Adapt static assertions and local iterator instantiations. * include/debug/unordered_set (std::__debug::unordered_set<>::erase): Detect local iterators to invalidate using contained node rather than generating a dummy local_iterator instance. (std::__debug::unordered_multiset<>::erase): Likewise. * include/debug/unordered_map (std::__debug::unordered_map<>::erase): Likewise. (std::__debug::unordered_multimap<>::erase): Likewise. * testsuite/performance/23_containers/insert_erase/41975.cc: Test std::tr1 and std versions of unordered_set regardless of any macro. Add test on default cache behavior. * testsuite/performance/23_containers/insert/54075.cc: Likewise. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adapt line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: New. * testsuite/23_containers/unordered_set/buckets/swap.cc: New. 2013-01-24 Paolo Carlini PR libstdc++/56085 * include/std/complex (pow(const complex<>&, int)): Avoid __n signed overflow. 2013-01-22 Jakub Jelinek * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Tightten scan-assembler-times regexps, add dg-additional-options for ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to dg-options. 2013-01-12 Andi Kleen Jonathan Wakely PR libstdc++/55233 * include/bits/atomic_base.h (__memory_order_modifier): Add __memory_order_mask, __memory_order_modifier_mask, __memory_order_hle_acquire, __memory_order_hle_release. (operator|,operator&): Add. (__cmpexch_failure_order): Rename to __cmpexch_failure_order2. (__cmpexch_failure_order): Add. (clear, store, load, compare_exchange_weak, compare_exchange_strong): Handle flags. * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Add. 2013-01-19 Jonathan Wakely PR libstdc++/55861 * include/std/future (_State_base::_S_check(const shared_ptr&)): Fix return type. (__basic_future::_M_get_result()): Const qualify. (shared_future::get()): Likewise. * testsuite/30_threads/shared_future/members/get.cc: Use const objects. 2013-01-16 Jonathan Wakely PR libstdc++/55043 (again) * 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. (is_copy_constructible): Remove specialization. * include/bits/unordered_set.h: Likewise. * include/debug/unordered_map.h: Undo previous commit. Default copy and move constructors. * include/debug/unordered_set.h: Likewise. * include/profile/unordered_map.h: Undo previous commit. * include/profile/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. 2013-01-16 Jonathan Wakely PR libstdc++/55043 * include/std/unordered_map: Include alloc_traits.h * include/std/unordered_set: Likewise. * include/bits/alloc_traits.h: Define __is_copy_insertable. * include/bits/unordered_map.h: Use it. * include/bits/unordered_set.h: Likewise. * include/debug/unordered_map.h: Likewise. * include/debug/unordered_set.h: Likewise. * include/profile/unordered_map.h: Likewise. * include/profile/unordered_set.h: Likewise. * include/bits/hashtable.h: Fix comment typos. * testsuite/23_containers/unordered_map/55043.cc: New. * testsuite/23_containers/unordered_multimap/55043.cc: New. * testsuite/23_containers/unordered_multiset/55043.cc: New. * testsuite/23_containers/unordered_set/55043.cc: New. 2013-01-03 Janis Johnson * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running gdb command. 2013-01-08 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing. 2013-01-08 Jonathan Wakely PR libstdc++/55908 * include/std/functional (_Mem_fn::operator()): Fix constraints to avoid ambiguity. * testsuite/20_util/function_objects/mem_fn/55908.cc: New. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers. 2013-01-08 Rainer Orth PR libstdc++/55594 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to Solaris targets. * configure: Regenerate. 2013-01-07 Jonathan Wakely PR libstdc++/55847 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string. * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify string. PR libstdc++/55728 * include/std/functional (bad_function_call::what()): Declare. * src/c++11/functional.cc (bad_function_call::what()): Define. * config/abi/pre/gnu.ver (bad_function_call::what()): Export. * testsuite/20_util/bad_function_call/what.cc: New. 2013-01-06 Jonathan Wakely * include/bits/unordered_map.h: Fix typo in comments. * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket counts for unordered associative containers. 2013-01-06 Jonathan Wakely * doc/xml/manual/abi.xml: Update library and symbol versions. 2013-01-06 Richard Sandiford * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo in copyright years. * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. Copyright (C) 2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.