diff options
author | Edward Smith-Rowland <3dw4rd@verizon.net> | 2016-10-12 03:48:23 +0000 |
---|---|---|
committer | Edward Smith-Rowland <3dw4rd@verizon.net> | 2016-10-12 03:48:23 +0000 |
commit | 9b4b395f705789cd2f50466b13f5c37dec612c15 (patch) | |
tree | ba129f3879207fc23fd58f7ae42125951e52e657 /libstdc++-v3/ChangeLog | |
parent | c3350ab1bfc223a4f4ac08e24aae253961e06365 (diff) |
Merged from trunk to the branch.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tr29124@241018 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r-- | libstdc++-v3/ChangeLog | 1294 |
1 files changed, 1294 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0d7e8bf7f59..cf51dd7dd3b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,1297 @@ +2016-10-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call + _M_assign_dispatch directly with correct tag. + + * doc/xml/manual/intro.xml: Document LWG 2484 status. + * libsupc++/nested_exception.h (_Throw_with_nested_impl) + (_Throw_with_nested_helper): Remove. + (__throw_with_nested_impl): New overloaded functions to implement + throw_with_nested logic. + (throw_with_nested): Call __throw_with_nested_impl. + (_Rethrow_if_nested_impl): Remove + (__rethrow_if_nested_impl): New overloaded functions to implement + rethrow_if_nested logic. + (rethrow_if_nested): Call __rethrow_if_nested_impl. + * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test + problem cases from LWG 2484. + + * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): + Register printer for std::__cxx11::list. + * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match + std::__cxx11::list as well as std::list. + + * include/experimental/string_view (basic_string_view::_S_compare): + Remove redundant const from return type. + * include/std/string_view (basic_string_view:_S_compare): Likewise. + + * include/bits/std_mutex.h (mutex::native_handle) + (lock_guard(mutex_type&, adopt_lock_t) + (unique_lock(mutex_type&, adopt_lock_t): Add noexcept. + * include/std/mutex (recursive_mutex, timed_mutex) + (recursive_timed_mutex): Likewise. + +2016-10-10 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/appendix_contributing.xml (contrib.organization): + Replace <literallayout> with nested <variablelist> elements. Update + some more outdated text. + * doc/html/*: Regenerate. + +2016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com> + + Make any's copy assignment operator exception-safe, + don't copy the underlying value when any is moved, + make in_place constructors explicit. + * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)): + Make explicit. + (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): + Likewise. + (operator=(const any&)): Make strongly exception-safe. + (operator=(any&&)): reset() unconditionally in the case where + rhs has a value. + (operator=(_ValueType&&)): Indent the return type. + (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy. + * testsuite/20_util/any/assign/2.cc: Adjust. + * testsuite/20_util/any/assign/exception.cc: New. + * testsuite/20_util/any/cons/2.cc: Adjust. + * testsuite/20_util/any/cons/explicit.cc: New. + * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust. + +2016-10-10 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/appendix_contributing.xml (contrib.organization): + Describe other subdirectories and add markup. Remove outdated + reference to check-script target. + * doc/html/*: Regenerate. + + * doc/xml/manual/status_cxx2011.xml: Correct C++11 status. + + * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT + with noexcept. + + * include/std/functional (_Bind_result::__enable_if_void): Use alias + template instead of class template. + (_Bind_result::__disable_if_void): Likewise. + (_Bind_result::__call): Adjust uses of __enable_if_void and + __disable_if_void. + + * doc/xml/manual/intro.xml: Document DR 2296 status. + * doc/xml/manual/status_cxx2017.xml: Update status. + * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and + call __builtin_addressof. + (addressof): Add _GLIBCXX17_CONSTEXPR. + * testsuite/20_util/addressof/requirements/constexpr.cc: New test. + * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno. + * testsuite/20_util/forward/f_neg.cc: Likewise. + + * include/bits/allocator.h (allocator<T>::is_always_equal): Define. + * testsuite/20_util/allocator/requirements/typedefs.cc: Test for + is_always_equal. + * testsuite/util/testsuite_allocator.h + (uneq_allocator::is_always_equal): Define as false_type. + + * include/experimental/numeric (gcd, lcm): Make bool arguments + ill-formed. + * include/std/numeric (gcd, lcm): Likewise. + * testsuite/26_numerics/gcd/gcd_neg.cc: New test. + * testsuite/26_numerics/lcm/lcm_neg.cc: New test. + + * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this): + Add noexcept. + * include/bits/shared_ptr_base.h + (__enable_shared_from_this::weak_from_this): Likewise. + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + Test exception-specification of weak_from_this. + +2016-10-07 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx1998.xml: Improve documentation of + implementation-defined properties. + * doc/xml/manual/status_cxx2011.xml: Likewise. + * doc/xml/manual/status_cxx2017.xml: Likewise. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * include/std/type_traits (has_unique_object_representations): Define. + * testsuite/20_util/has_unique_object_representations/value.cc: New. + * testsuite/20_util/has_unique_object_representations/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/has_unique_object_representations/requirements/ + typedefs.cc: New. + +2016-10-06 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2011.xml: Update status. + * include/std/scoped_allocator (__outer_allocator_t, __outermost_type): + New helpers for recursive OUTERMOST. + (__outermost): Use __outermost_type::_S_outermost. + (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove. + (scoped_allocator_adaptor::__outermost_alloc_traits): Use new + __outermost_type helper. + (scoped_allocator_adaptor::_Constructible): New alias template. + (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>): + Constrain template constructors. + * testsuite/20_util/scoped_allocator/3.cc: New test. + * testsuite/20_util/scoped_allocator/outermost.cc: New test. + +2016-10-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/70564 + * testsuite/20_util/not_fn/1.cc: Fix test. + * testsuite/experimental/functional/not_fn.cc: Likewise. + + PR libstdc++/70101 + * include/bits/stl_queue.h (priority_queue): Fix allocator-extended + constructors. + * testsuite/23_containers/priority_queue/allocator.cc: New test. + + PR libstdc++/77864 + * include/bits/stl_map.h (map::map()): Use nothrow constructibility + of comparison function in conditional noexcept. + * include/bits/stl_multimap.h (multimap::multimap()): Likewise. + * include/bits/stl_multiset.h (multiset::multiset()): Likewise. + * include/bits/stl_set.h (set::set()): Likewise. + * testsuite/23_containers/map/cons/noexcept_default_construct.cc: + New test. + * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc: + Likewise. + * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc: + Likewise. + * testsuite/23_containers/set/cons/noexcept_default_construct.cc: + Likewise. + + * include/bits/node_handle.h (_Node_handle): Remove invalid and unused + alias declaration. + + PR libstdc++/70564 + * include/experimental/functional (_Not_fn): Remove. + (not_fn): Use std::_Not_fn. + * include/std/functional (_Not_fn): Add second parameter to + disambiguate copying from initialization by not_fn. Define for C++14. + (not_fn): Add second argument to initialization. + * testsuite/20_util/not_fn/1.cc: Copy call wrapper using + direct-initialization. + +2016-10-03 François Dumont <fdumont@gcc.gnu.org> + + * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move + declaration... + * src/c++11/mutex_pool.h: ... here. New. + * src/c++11/debug.cc: Use latter. + +2016-10-03 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status. + * doc/html/*: Regenerate. + * include/experimental/numeric (__abs): Move to <numeric>. + (gcd, lcm): Use __detail::gcd and __detail::lcm. + * include/std/numeric (__detail::__abs_integral) + (__detail::__gcd, __detail::__lcm): Define. + (gcd, lcm): Define for C++17. + * testsuite/26_numerics/gcd/1.cc: New test. + * testsuite/26_numerics/lcm/1.cc: New test. + * testsuite/experimental/numeric/gcd.cc: Swap contents with ... + * testsuite/experimental/numeric/lcd.cc: ... this. + + PR libstdc++/68323 + PR libstdc++/77794 + * config/abi/pre/gnu-versioned-namespace.ver: Add exports for + __cxa_thread_atexit and __gnu_cxx::__freeres. + * include/Makefile.am: Add <experimental/bits/lfts_config.h> + * include/Makefile.in: Regenerate. + * include.bits/basic_string.h: Fix nesting of versioned namespaces. + * include/bits/c++config: Declare versioned namespaces for literals. + * include/bits/regex.h (basic_regex, match_results): Add workarounds + for PR c++/59256. + * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace. + * include/std/chrono: Likewise. + * include/std/complex: Likewise. + * include/std/string_view: Likewise. + * include/std/variant: Likewise. Add workaround for PR c++/59256. + * include/experimental/bits/fs_fwd.h: Declare versioned namespace. + * include/experimental/bits/lfts_config.h: Declare versioned + namespaces. + * include/experimental/algorithm: Include + <experimental/bits/lfts_config.h>. + * include/experimental/any: Likewise. + * include/experimental/bits/erase_if.h: Likewise. + * include/experimental/chrono: Likewise. + * include/experimental/functional: Likewise. + * include/experimental/memory_resource: Likewise. + * include/experimental/optional: Likewise. + * include/experimental/propagate_const: Likewise. + * include/experimental/random: Likewise. + * include/experimental/ratio: Likewise. + * include/experimental/system_error: Likewise. + * include/experimental/tuple: Likewise. + * include/experimental/type_traits: Likewise. + * include/experimental/utility: Likewise. + * include/experimental/string_view: Likewise. Fix nesting of + versioned namespaces. + * include/experimental/bits/string_view.tcc: Reopen inline namespace + for non-inline function definitions. + * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test. + * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line. + * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise. + * testsuite/experimental/propagate_const/assignment/move_neg.cc: + Likewise. + * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. + * testsuite/experimental/propagate_const/requirements2.cc: Likewise. + * testsuite/experimental/propagate_const/requirements3.cc: Likewise. + * testsuite/experimental/propagate_const/requirements4.cc: Likewise. + * testsuite/experimental/propagate_const/requirements5.cc: Likewise. + * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. + + PR libstdc++/77814 + * include/bits/std_abs.h: Use "C++" language linkage. + * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to + the end. Add <stdalign.h>. + +2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77802 + * testsuite/20_util/tuple/77802.cc: New. + + Revert: + 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> + Implement LWG 2729 for tuple. + * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): + Suppress conditionally. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise. + (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New. + (_Tuple_impl(const _Head&)): Constrain. + (_Tuple_impl(_UHead&&)): Likewise. + (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. + (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally. + (operator=(tuple&&)): Suppress conditionally. + (operator=(const tuple<_UElements...>&)): Constrain. + (operator=(tuple<_UElements...>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally (2-param tuple). + (operator=(tuple&&)): Suppress conditionally (2-param tuple). + (operator=(const tuple<_U1, _U2>&)): Constrain. + (operator=(tuple<_U1, _U2>&&)): Likewise. + (operator=(const pair<_U1, _U2>&)): Likewise. + (operator=(pair<_U1, _U2>&&)): Likewise. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. + * testsuite/20_util/tuple/tuple_traits.cc: New. + +2016-09-30 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/77795 + * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check + for gets. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare + for C++98 and C++11. + * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise. + * testsuite/27_io/headers/cstdio/functions_neg.cc: New test. + + * doc/xml/manual/intro.xml: Document LWG 2192 changes. + * doc/html/*: Regenerate. + * include/Makefile.am: Add bits/std_abs.h. + * include/Makefile.in: Regenerate. + * include/bits/std_abs.h: New header defining all required overloads + of std::abs in one place (LWG 2294). + * include/c_global/cmath (abs(double), abs(float), abs(long double)): + Move to bits/std_abs.h. + (abs<_Tp>(_Tp)): Remove. + * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)): + Move to bits/std_abs.h. + * testsuite/26_numerics/headers/cmath/dr2192.cc: New test. + * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test. + * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test. + * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test. + + PR libstdc++/77801 + * include/experimental/numeric: Include <numeric>. + (__abs): Define. + (gcd, lcm): Use __abs instead of std::abs. + * testsuite/experimental/numeric/77801.cc: New test. + * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs. + * testsuite/experimental/numeric/lcm.cc: Likewise. + +2016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com> + + Make optional::reset noexcept, make optional::value + work in constant expressions. + * include/std/optional (_M_get): Make constexpr. + (reset): Make noexcept. + * testsuite/20_util/optional/assignment/7.cc: New. + * testsuite/20_util/optional/observers/6.cc: New. + +2016-09-29 Jonathan Wakely <jwakely@redhat.com> + + * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads + outside _GLIBCXX_USE_C99_MATH_TR1 condition. + +2016-09-29 Alan Modra <amodra@gmail.com> + + * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST. + * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo): + Use LONG_DOUBLE_COMPAT_FLAGS. + * Makefile.in: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * po/Makefile.in: Regenerate. + * python/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2016-09-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (system_clock): Fix typo in comment. + + * include/experimental/bits/fs_fwd.h (file_time_type): Simplify + definition. + * src/filesystem/ops.cc (file_time): Take error_code parameter and + check for overflow. + (do_copy_file, last_write_time): Pass error_code in file_time calls. + * testsuite/experimental/filesystem/operations/last_write_time.cc: + New. + * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. + + PR libstdc++/77686 + * include/std/functional (_Any_data): Add may_alias attribute. + +2016-09-27 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/*: Regenerate. + * include/std/functional (__cpp_lib_boyer_moore_searcher): Define. + * testsuite/20_util/function_objects/searchers.cc: Test feature macro. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * include/c_global/cmath (hypot): Add three-dimensional overloads. + * testsuite/26_numerics/headers/cmath/hypot.cc: New. + +2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77727 + * include/std/optional (optional(const optional<_Up>&)): + Default-initialize the base and use emplace. + (optional(optional<_Up>&&)): Likewise. + * testsuite/20_util/optional/cons/77727.cc: New. + +2016-09-26 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_base.h + (_Safe_iterator_base::_M_detach_single): Make public. + +2016-09-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not + redefine macro defined in <bits/stl_iterator.h>. + + * include/bits/stl_map.h (map::extract(const_iterator)): Assert that + iterator is not past-the-end. + * include/bits/stl_multimap.h (multimap::extract(const_iterator)): + Likewise. + * include/bits/stl_multiset.h (multiset::extract(const_iterator)): + Likewise. + * include/bits/stl_set.h (set::extract(const_iterator)): Likewise. + * include/bits/unordered_map.h (unordered_map::extract(const_iterator)) + (unordered_multimap::extract(const_iterator)): Likewise. + * include/bits/unordered_set.h (unordered_set::extract(const_iterator)) + (unordered_multiset::extract(const_iterator)): Likewise. + +2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77717 + * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: + Fix an out-of-bounds access. + +2016-09-26 Marek Polacek <polacek@redhat.com> + + PR c/7652 + * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]]. + +2016-09-25 François Dumont <fdumont@gcc.gnu.org> + + * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove + functional. + (get_safe_base_mutex): Get mutex based on address lowest non nil bits. + * testsuite/23_containers/vector/debug/mutex_association.cc: New. + + * include/debug/bitset (bitset::reference::reference(const _Base_ref&, + bitset*)): Remove __unused__ attribute. + * include/debug/safe_base.h (_Safe_iterator_base): Make + _Safe_sequence_base a friend. + (_Safe_iterator_base::_M_attach): Make protected. + (_Safe_iterator_base::_M_attach_single): Likewise. + (_Safe_iterator_base::_M_detach): Likewise. + (_Safe_iterator_base::_M_detach_single): Likewise. + (_Safe_sequence_base): Make _Safe_iterator_base a friend. + (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New. + (_Safe_sequence_base::_M_swap): Make protected. + (_Safe_sequence_base::_M_attach): Make private. + (_Safe_sequence_base::_M_attach_single): Likewise. + (_Safe_sequence_base::_M_detach): Likewise. + (_Safe_sequence_base::_M_detach_single): Likewise. + * include/debug/safe_container.h + (_Safe_container::_Safe_container(_Safe_container&&)): Make default. + * include/debug/safe_iterator.h + (_Safe_iterator::operator++()): Name __scoped_lock instance. + * include/debug/safe_iterator.tcc: Remove trailing line. + * include/debug/safe_unordered_base.h + (_Safe_local_iterator_base::_M_attach): Make protected. + (_Safe_local_iterator_base::_M_attach_single): Likewise. + (_Safe_local_iterator_base::_M_detach): Likewise. + (_Safe_local_iterator_base::_M_detach_single): Likewise. + (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend. + (_Safe_unordered_container_base::_M_attach_local): Make private. + (_Safe_unordered_container_base::_M_attach_local_single): Likewise. + (_Safe_unordered_container_base::_M_detach_local): Likewise. + (_Safe_unordered_container_base::_M_detach_local_single): Likewise. + + * include/parallel/algo.h: Generalize usage of std::__iterator_category. + Adjust whitespaces. + +2016-09-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/56166 + PR libstdc++/77582 + * include/bits/basic_string.h (basic_string::clear()): Drop reference + and use empty rep. + * include/ext/rc_string_base.h (__rc_string_base::_M_clear()): + Likewise. + * testsuite/21_strings/basic_string/56166.cc: New. + * testsuite/ext/vstring/modifiers/clear/56166.cc: New. + + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] + (basic_string::erase(size_type, size_type)): Add fast path for + truncating the string, by calling _M_set_length directly. + (basic_string::erase(__const_iterator, __const_iterator)): Likewise. + * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] + (basic_string::resize(size_type, _CharT)): Likewise. + +2016-09-22 Jason Merrill <jason@redhat.com> + + * configure.ac: Define HAVE_MEMALIGN for newlib. + +2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/cpu/m68k/atomicity.h: Adjust comment. + * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor + explicit atomicity_dir setup via configure.host. + * configure.host (rtems-*): Set atomicity_dir. + * configure: Regenerate. + +2016-09-22 Jonathan Wakely <jwakely@redhat.com> + + Implement C++17 node extraction and insertion (P0083R5) + * doc/xml/manual/status_cxx2017.xml: Document status. + * doc/html/*: Regenerate. + * include/Makefile.am: Add bits/node_handle.h and reorder. + * include/Makefile.in: Regenerate. + * include/bits/hashtable.h (_Hashtable::node_type) + (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node) + (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract) + (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define. + (_Hash_merge_helper): Define primary template. + * include/bits/node_handle.h: New header. + * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as + friend. + (map::node_type, map::insert_return_type, map::extract, map::merge) + (map::insert(node_type&&), map::insert(const_iterator, node_type&&)): + Define new members. + (_Rb_tree_merge_helper): Specialize for map. + * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper + as friend. + (multimap::node_type, multimap::extract, multimap::merge) + (multimap::insert(node_type&&)) + (multimap::insert(const_iterator, node_type&&)): Define. + (_Rb_tree_merge_helper): Specialize for multimap. + * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper + as friend. + (multiset::node_type, multiset::extract, multiset::merge) + (multiset::insert(node_type&&)) + (multiset::insert(const_iterator, node_type&&)): Define. + * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as + friend. + (set::node_type, set::insert_return_type, set::extract, set::merge) + (set::insert(node_type&&), set::insert(const_iterator, node_type&&)): + Define. + (_Rb_tree_merge_helper): Specialize for set. + * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend. + (_Rb_tree::node_type, _Rb_tree::insert_return_type) + (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal) + (_Rb_tree::_M_reinsert_node_hint_unique) + (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract) + (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define. + (_Rb_tree_merge_helper): Specialize for multiset. + * include/bits/unordered_map.h (unordered_map): Declare + unordered_map<> and unordered_multimap<> as friends. + (unordered_map::node_type, unordered_map::insert_return_type) + (unordered_map::extract, unordered_map::merge) + (unordered_map::insert(node_type&&)) + (unordered_map::insert(const_iterator, node_type&&)) + (unordered_multimap): Declare _Hash_merge_helper as friend. + (unordered_multimap::node_type, unordered_multimap::extract) + (unordered_multimap::merge, unordered_multimap::insert(node_type&&)) + (unordered_multimap::insert(const_iterator, node_type&&)): Define. + (_Hash_merge_helper): Specialize for unordered maps and multimaps. + * include/bits/unordered_set.h (unordered_set, unordered_multiset): + Declare _Hash_merge_helper as friend. + (unordered_set::node_type, unordered_set::insert_return_type) + (unordered_set::extract, unordered_set::merge) + (unordered_set::insert(node_type&&)) + (unordered_set::insert(const_iterator, node_type&&)): Define. + (unordered_multiset::node_type, unordered_multiset::extract) + (unordered_multiset::merge, unordered_multiset::insert(node_type&&)) + (unordered_multiset::insert(const_iterator, node_type&&)): Define. + (_Hash_merge_helper): Specialize for unordered sets and multisets. + * include/debug/map.h (map): Add using declarations or forwarding + functions for new members. + * include/debug/map.h (multimap): Likewise. + * include/debug/map.h (multiset): Likewise. + * include/debug/map.h (set): Likewise. + * include/debug/unordered_map (unordered_map, unordered_multimap): + Likewise. + * include/debug/unordered_set( unordered_set, unordered_multiset): + Likewise. + * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New + helper function. + (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper. + (StdNodeHandlePrinter): Define printer for node handles. + (build_libstdcxx_dictionary): Register StdNodeHandlePrinter. + * testsuite/23_containers/map/modifiers/extract.cc: New. + * testsuite/23_containers/map/modifiers/merge.cc: New. + * testsuite/23_containers/multimap/modifiers/extract.cc: New. + * testsuite/23_containers/multimap/modifiers/merge.cc: New. + * testsuite/23_containers/multiset/modifiers/extract.cc: New. + * testsuite/23_containers/multiset/modifiers/merge.cc: New. + * testsuite/23_containers/set/modifiers/extract.cc: New. + * testsuite/23_containers/set/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. + * testsuite/23_containers/unordered_map/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: + New. + * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: + New. + * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. + * testsuite/23_containers/unordered_set/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust + dg-error lineno. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles. + +2016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com> + + Fix tests on old arm platforms for optional. + * testsuite/20_util/optional/77288.cc: Don't use exception_ptr. + +2016-09-22 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for + recent change to _Variant_storage. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with + reference type. + + * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify + std::forward and ::new. Cast pointer to void*. + * include/std/variant (_Variant_storage, _Union, _Variant_base) + (__access, __visit_invoke, variant, visit): Qualify std::forward. + * testsuite/20_util/variant/compile.cc: Test for ADL problems. + +2016-09-22 Tim Shen <timshen@google.com> + + * include/std/variant (variant::operator=): Fix assignment + on references. + * testsuite/20_util/variant/compile.cc: Add test. + +2016-09-22 Tim Shen <timshen@google.com> + + PR libstdc++/77641 + * include/std/variant (_Variant_storage::_Variant_storage): + Change _Variant_storage's union to be default constructible. + * testsuite/20_util/variant/compile.cc: New test. + +2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77288 + * include/std/optional (__is_optional_impl, __is_optional): Remove. + (__converts_from_optional, __assigns_from_optional): New. + (optional(_Up&&)): Use is_same instead of __is_optional. + (optional(const optional<_Up>&)): Constrain with + __converts_from_optional. + (optional(optional<_Up>&&)): Likewise. + (operator=(_Up&&)): Use is_same instead of __is_optional, check + is_same and is_scalar. + (operator=(const optional<_Up>&)): Constrain with + __converts_from_optional and __assigns_from_optional. + (operator=(optional<_Up>&&)): Likewise. + * testsuite/20_util/optional/77288.cc: New. + * testsuite/20_util/optional/cons/value.cc: Adjust. + +2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> + + Implement LWG 2729 for tuple. + * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): + Suppress conditionally. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise. + (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New. + (_Tuple_impl(const _Head&)): Constrain. + (_Tuple_impl(_UHead&&)): Likewise. + (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. + (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally. + (operator=(tuple&&)): Suppress conditionally. + (operator=(const tuple<_UElements...>&)): Constrain. + (operator=(tuple<_UElements...>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally (2-param tuple). + (operator=(tuple&&)): Suppress conditionally (2-param tuple). + (operator=(const tuple<_U1, _U2>&)): Constrain. + (operator=(tuple<_U1, _U2>&&)): Likewise. + (operator=(const pair<_U1, _U2>&)): Likewise. + (operator=(pair<_U1, _U2>&&)): Likewise. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. + * testsuite/20_util/tuple/tuple_traits.cc: New. + +2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77537 + Implement LWG 2729 for pair. + * include/bits/stl_pair.h (_PCC): New. + (_ConstructiblePair, _ImplicitlyConvertiblePair): + Turn into static member functions of _PCC. + (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise. + (_PCCP): New. + (pair(const _T1&, const _T2&)): Adjust. + (_PCCFP): New. + (pair(const pair<_U1, _U2>&)): Adjust. + (pair(_U1&&, const _T2&)): Likewise. + (pair(const _T1&, _U2&&)): Likewise. + (pair(_U1&&, _U2&&)): Likewise. + (pair(pair<_U1, _U2>&&)): Likewise. + (operator=(const pair&)): Make conditionally deleted. + (operator=(pair&&)): Make conditionally suppressed. + (operator=(const pair<_U1, _U2>&)): Constrain. + (operator=(pair<_U1, _U2>&&): Likewise. + * include/std/type_traits (__nonesuch): New. + * testsuite/20_util/pair/traits.cc: New. + +2016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77619 + * include/bits/stl_construct.h: (_Construct_novalue): New. + (_Destroy_n_aux, _Destroy_n): New. + * include/bits/stl_uninitialized.h: (type_traits): + New include in C++11 mode. + (__uninitialized_default_novalue_1): New. + (__uninitialized_default_novalue_n_1): Likewise. + (__uninitialized_default_novalue): Likewise. + (__uninitialized_default_novalue_n): Likewise. + (__uninitialized_copy_n_pair): Likewise. + (uninitialized_default_construct): + Use __uninitialized_default_novalue. + (uninitialized_default_construct_n): + Use __uninitialized_default_novalue_n. + (uninitialized_value_construct): Use __uninitialized_default. + (uninitialized_value_construct_n): Use __uninitialized_default_n. + (uninitialized_move): Use uninitialized_copy. + (uninitialized_move_n): Use __uninitialized_copy_n_pair. + (destroy_at): Use _Destroy. + (destroy): Likewise. + (destroy_n): Likewise. + * testsuite/20_util/specialized_algorithms/ + memory_management_tools/1.cc: Add tests for exceptions, + add tests for trivial cases for construct and move. + +2016-09-20 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) + (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division. + +2016-09-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/77645 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) + (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of + division to int to work with Python 3. + + * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs. + + * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow + display_hint to be set by subclasses. + (StdVariantPrinter): Use array for display_hint. Adjust output to be + more similar to std::any and std::optional output. + (register_type_printers): Add type printers for basic_string_view + typedefs and experimental::any. Adjust type printers for + fundamentals_v1 templates to match fundamentals_v2 and later. + * testsuite/libstdc++-prettyprinters/cxx17.cc: New. + + PR libstdc++/77645 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename + argument. + (ListWorkerBase.get_value_from_node): Define new method. + (ListFrontWorker.__call__, ListBackWorker.__call__): Use it. + +2016-09-17 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define. + (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter): + Register for C++17 components in namespace std. Strip inline namespace + from typename. + +2016-09-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/profile_mode.xml: Fix typo. + * doc/html/manual/profile_mode_devel.html: Regenerate. + +2016-09-16 Jonathan Wakely <jwakely@redhat.com> + Marc Glisse <marc.glisse@inria.fr> + + * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC] + (operator new(size_t, align_val_t)): Replace modulus operator with + mask. + +2016-09-16 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc): + Increase alignment if less than sizeof(void*). + [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)): + Increase size if not a multiple of alignment. + +2016-09-15 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/debug_mode.xml: Minor editorial fixes. + * doc/html/*: Regenerate. + + * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove + -Wno-deprecated. + * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize. + +2016-09-14 Marek Polacek <polacek@redhat.com> + + * testsuite/23_containers/vector/debug/insert6_neg.cc: Use + -Wno-deprecated. + +2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> + + * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: + Move dg-do directive before dg-skip. + * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: + Move dg-do directive before dg-require. + * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. + * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: + Likewise. + * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise. + * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise. + * testsuite/27_io/objects/char/12048-5.cc: Likewise. + * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. + * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. + +2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com> + + Implement P0040R3, Extending memory management tools. + * include/bits/stl_uninitialized.h (utility): New include + in C++17 mode. + (uninitialized_default_construct): New. + (uninitialized_default_construct_n): Likewise. + (uninitialized_value_construct): Likewise. + (uninitialized_value_construct_n): Likewise. + (uninitialized_move): Likewise. + (uninitialized_move_n): Likewise. + (destroy_at, destroy, destroy_n): Likewise. + * testsuite/20_util/specialized_algorithms/memory_management_tools/ + 1.cc: New. + +2016-09-12 Jason Merrill <jason@redhat.com> + + * config/abi/pre/gnu.ver: Use [jmy] for size_t. + +2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com> + + Implement P0253R1, Fixing a design mistake in the searchers + interface in Library Fundamentals. + * include/std/functional: (utility): New include in C++17 mode. + (default_searcher): Use a pair as return type, adjust the definition. + (boyer_moore_searcher): Likewise. + (boyer_moore_horspool_searcher): Likewise. + * testsuite/20_util/function_objects/searchers.cc: Adjust. + +2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com> + + Implement C++17 string searchers. + * include/std/functional: (unordered_map, vector): New includes + in C++17 mode. + (array, bits/stl_algo.h): Likewise. + (default_searcher, __boyer_moore_map_base): New. + (__boyer_moore_array_base, __is_std_equal_to): Likewise. + (__boyer_moore_base_t, boyer_moore_searcher): Likewise. + (boyer_moore_horspool_searcher, make_default_searcher): Likewise. + (make_boyer_moore_searcher): Likewise. + (make_boyer_moore_horspool_searcher): Likewise. + * testsuite/20_util/function_objects/searchers.cc: New. + +2016-09-12 Matthew Wahab <matthew.wahab@arm.com> + + * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: + Move dg-do directive before dg-require. + * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise. + * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: + Likewise. + * testsuite/22_locale/codecvt/utf8.cc: Likewise. + * testsuite/22_locale/locale/cons/unicode.cc: Likewise. + * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. + * testsuite/23_containers/forward_list/debug/60499.cc: Likewise. + * testsuite/23_containers/forward_list/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: + Likewise. + * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise. + * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise. + * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise. + * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. + * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/map/debug/60499.cc: Likewise. + * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/60499.cc: Likewise. + * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/multiset/debug/60499.cc: Likewise. + * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/set/debug/60499.cc: Likewise. + * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + max_load_factor_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/60499.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + max_load_factor_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + max_load_factor_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/52433.cc: Likewise. + * testsuite/23_containers/vector/debug/60499.cc: Likewise. + * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise. + * testsuite/23_containers/vector/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise. + * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. + * testsuite/29_atomics/atomic/60658.cc: Likewise. + * testsuite/29_atomics/atomic/60695.cc: Likewise. + * testsuite/29_atomics/atomic/62259.cc: Likewise. + * testsuite/29_atomics/atomic/64658.cc: Likewise. + * testsuite/29_atomics/atomic/cons/49445.cc: Likewise. + * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. + * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: + Likewise. + +2016-09-11 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/new_opant.cc: Include exception_defines.h. + * libsupc++/new_opvant.cc: Likewise. + +2016-09-09 Jason Merrill <jason@redhat.com> + + Implement P0035R4, C++17 new of over-aligned types. + * libsupc++/new: Declare aligned new/delete operators. + * config/abi/pre/gnu.ver: Export them. + * configure.ac: Check for aligned_alloc, posix_memalign, memalign, + _aligned_malloc. + * libsupc++/new_opa.cc: New. + * libsupc++/new_opant.cc: New. + * libsupc++/new_opva.cc: New. + * libsupc++/new_opva.cc: New. + * libsupc++/del_opa.cc: New. + * libsupc++/del_opant.cc: New. + * libsupc++/del_opsa.cc: New. + * libsupc++/del_opva.cc: New. + * libsupc++/del_opvant.cc: New. + * libsupc++/del_opvsa.cc: New. + * libsupc++/Makefile.am: Build them. + +2016-09-05 Tim Shen <timshen@google.com> + + * include/std/variant: include bits/move.h for std::addressof. + +2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com> + + * include/std/variant (_Variant_storage::_M_storage()): Use + std::addressof instead of operator& to take address. + +2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> + + * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of + setrlimit on both native and cross targets. + * configure: Regenerate. + +2016-08-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr.h (_Assignable): New alias template. + (shared_ptr::operator=(const shared_ptr<_Tp1>&)) + (shared_ptr::operator=(shared_ptr<_Tp1>&&)) + (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with + _Assignable. + * include/bits/shared_ptr_base.h (_Assignable): New alias template. + (__shared_ptr::operator=(const __shared_ptr<_Tp1>&)) + (__shared_ptr::operator=(__shared_ptr<_Tp1>&&)) + (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with + _Assignable. + (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter)) + (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with + _Convertible. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to + match on any line. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test. + * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update + expected errors. Remove unnecessary code. + * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test. + + * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move + comparison object. + * testsuite/23_containers/set/move_comparison.cc: New test. + + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + New test. + +2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com> + + PR libstdc++/77395 + * include/std/type_traits (is_constructible): Forward-declare... + (__is_base_to_derived_ref): ...and use here. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. + * testsuite/20_util/is_constructible/77395.cc: New. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/tuple/77395.cc: New. + +2016-08-30 Uros Bizjak <ubizjak@gmail.com> + + * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run + directive above dg-require-namedlocale directive. + * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto. + +2016-08-27 Tim Shen <timshen@google.com> + + PR libstdc++/77356 + * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher, + _M_expression_term): Modify to support dash literal. + * include/bits/regex_scanner.h: Add dash as a token type to make + a different from the mandated dash literal by escaping. + * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash + token in bracket expression parsing. + * testsuite/28_regex/regression.cc: Add new testcases. + +2016-08-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/51960 + * doc/xml/manual/intro.xml: Document DR 2127 change. + * doc/html/*: Regenerate. + * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add. + (operator++(), operator++(int)): Use injected class name. + * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test. + + * testsuite/*: Use { target c++11 } or { target c++14 } instead of + using -std in dg-options. + +2016-08-26 Jonathan Wakely <jwakely@redhat.com> + Pedro Alves <palves@redhat.com> + + * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save + and restore dg-interpreter-batch-mode. + * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use + gdb-dg-runtest instead of dg-runtest. + * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. + +2016-08-26 Jonathan Wakely <jwakely@redhat.com> + + * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more + precise patterns for basic_string constructors. + (GLIBCXX_3.4.23): Export new constructors. + * doc/xml/manual/intro.xml: Document LWG 2583 status. + * doc/html/*: Regenerate. + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] + (basic_string(const basic_string&, size_type, const Alloc&)): Add + new constructor for LWG 2583. + (basic_string(const basic_string&, size_type, size_type)): Remove + default argument. + [!_GLIBCXX_USE_CXX11_ABI]: Likewise. + * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. + * testsuite/21_strings/basic_string/cons/char/8.cc: New test. + * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. + 2016-08-24 Aditya Kumar <hiraditya@msn.com> * include/bits/algorithmfwd.h: Remove trailing whitespace. |