aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/ChangeLog
diff options
context:
space:
mode:
authorEdward Smith-Rowland <3dw4rd@verizon.net>2016-10-12 03:48:23 +0000
committerEdward Smith-Rowland <3dw4rd@verizon.net>2016-10-12 03:48:23 +0000
commit9b4b395f705789cd2f50466b13f5c37dec612c15 (patch)
treeba129f3879207fc23fd58f7ae42125951e52e657 /libstdc++-v3/ChangeLog
parentc3350ab1bfc223a4f4ac08e24aae253961e06365 (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/ChangeLog1294
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.