+2020-05-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/fs_path.h (__detail::_S_range_begin)
+ (__detail::_S_range_end, path::_S_string_from_iter): Replace with
+ overloaded function template __detail::__effective_range.
+ (__detail::__effective_range): New overloaded function template to
+ create a basic_string or basic_string_view for an effective range.
+ (__detail::__value_type_is_char): Use __detail::__effective_range.
+ Do not use remove_const on value type.
+ (__detail::__value_type_is_char_or_char8_t): Likewise.
+ (path::path(const Source&, format))
+ (path::path(const Source&, const locale&))
+ (path::operator/=(const Source&), path::append(const Source&))
+ (path::concat(const Source&)): Use __detail::__effective_range.
+ (path::_S_to_string(InputIterator, InputIterator)): New function
+ template to create a string view if possible, or string otherwise.
+ (path::_S_convert): Add overloads that convert a string returned
+ by __detail::__effective_range. Use if-constexpr to inline conversion
+ logic from all overloads of _Cvt::_S_convert.
+ (path::_S_convert_loc): Add overload that converts a string. Use
+ _S_to_string to avoid allocation when possible.
+ (path::_Cvt): Remove.
+ (path::operator+=(CharT)): Remove indirection through path::concat.
+ * include/experimental/bits/fs_path.h (path::_S_convert_loc): Add
+ overload for non-const pointers, to avoid constructing a std::string.
+ * src/c++17/fs_path.cc (path::_S_convert_loc): Replace conditional
+ compilation with call to _S_convert.
+
+ * include/bits/fs_path.h (__detail::_S_range_begin)
+ (__detail::_S_range_end): Remove unintentional static specifiers.
+ * include/experimental/bits/fs_path.h (__detail::_S_range_begin)
+ (__detail::_S_range_end): Likewise.
+
+ * include/bits/fs_path.h (filesystem::__detail::__is_encoded_char):
+ Replace alias template with variable template. Don't remove const.
+ (filesystem::__detail::__is_path_src): Replace overloaded function
+ template with variable template and specializations.
+ (filesystem::__detail::__is_path_iter_src): Replace alias template
+ with class template.
+ (filesystem::__detail::_Path): Use __is_path_src. Remove support for
+ iterator pairs.
+ (filesystem::__detail::_Path2): New alias template for checking
+ InputIterator requirements.
+ (filesystem::__detail::__constructible_from): Remove.
+ (filesystem::path): Replace _Path<Iter, Iter> with _Path2<Iter>.
+ * testsuite/27_io/filesystem/path/construct/80762.cc: Check with two
+ constructor arguments of void and void* types.
+
+2020-05-21 Matthias Kretz <kretz@kde.org>
+
+ * testsuite/Makefile.am: Remove dup target_triplet and set tool,
+ allowing runtest to work without arguments.
+ * testsuite/Makefile.in: Regenerate.
+
+2020-05-21 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/93983
+ * include/bits/iterator_concepts.h (__detail::__cpp17_iterator):
+ Reorder constraints to avoid recursion when constructors use
+ iterator_traits (LWG 3420).
+ * testsuite/24_iterators/customization_points/lwg3420.cc: New test.
+
+ * include/experimental/socket (basic_socket::is_open()
+ (basic_socket_acceptor::is_open()): Use _GLIBCXX_NODISCARD macro.
+
+ * include/experimental/bits/net.h (__endpoint, __protocol)
+ (__acceptable_protocol, __inet_protocol): New concepts.
+ (__detail::__is_endpoint): Move trait from <experimental/socket>.
+ (__is_protocol, __is_acceptable_protocol, __is_inet_protocol): New
+ traits.
+ (__endpoint, __protocol, __acceptable_protocol): New variable
+ templates.
+ * include/experimental/socket (__is_endpoint): Move to net.h header.
+ (basic_socket, basic_socket_acceptor): Check requirements.
+
+ * include/experimental/executor (use_future_t::use_future_t()): Fix
+ incorrect noexcept-specifier.
+ * include/experimental/internet (basic_resolver_results): Adjust
+ whitespace.
+ * include/experimental/socket (__basic_socket_impl::release): Add
+ member function.
+ (basic_socket(io_context&, const endpoint_type&)): Fix argument to
+ target constructor.
+ (basic_socket::release(), basic_socket::release(error_code&)): Add
+ missing member functions.
+ (basic_socket::is_open()): Add nodiscard attribute.
+ (basic_socket::close(error_code&)): Pass argument to base function.
+ (basic_socket_acceptor::release())
+ (basic_socket_acceptor::release(error_code&)): Add missing member
+ functions.
+ (basic_socket_acceptor::is_open()): Add nodiscard attribute.
+ (basic_socket_streambuf::error()): Add noexcept.
+ (basic_socket_iostream::error()): Likewise.
+ * testsuite/experimental/net/socket/basic_socket.cc: New test.
+
+ * include/experimental/buffer: Replace typedefs with
+ alias-declarations.
+ * include/experimental/executor: Likewise.
+ * include/experimental/internet: Likewise.
+ * include/experimental/socket: Likewise.
+ * include/experimental/timer: Likewise.
+
+2020-05-19 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/94087
+ * src/c++11/random.cc (__x86_rdseed): Allow fallback function to be
+ passed in.
+ (__x86_rdseed_rdrand): New function that uses rdseed with rdrand
+ fallback.
+ (random_device::_M_init): Use __x86_rdseed_rdrand when both
+ instructions are available.
+ * testsuite/26_numerics/random/random_device/94087.cc: New test.
+
+2020-05-19 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/66439
+ * testsuite/20_util/pair/astuple/get_neg.cc: Prune "type/value
+ mismatch" messages.
+ * testsuite/20_util/tuple/element_access/get_neg.cc: Likewise.
+
+2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/95147
+ * configure: Regenerated.
+
+2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2020-05-13 Alexandre Oliva <oliva@adacore.com>
+
+ PR libstdc++/77691
+ * include/experimental/memory_resource
+ (__resource_adaptor_imp::do_allocate): Handle max_align_t on
+ x86-vxworks as on x86-solaris.
+ (__resource_adaptor_imp::do_deallocate): Likewise.
+ * testsuite/experimental/memory_resource/new_delete_resource.cc:
+ Drop xfail.
+ (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris.
+ (test03): Drop max-align test for char-aligned alloc.
+
+2020-05-08 Ulrich Drepper <drepper@redhat.com>
+
+ * include/bits/atomic_base.h (atomic_flag): Implement test member
+ function.
+ * include/std/version: Define __cpp_lib_atomic_flag_test.
+ * testsuite/29_atomics/atomic_flag/test/explicit.cc: New file.
+ * testsuite/29_atomics/atomic_flag/test/implicit.cc: New file.
+
+2020-05-07 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/94971 (partial)
+ * include/bits/ranges_algo.h (ranges::__sample_fn): Qualify
+ std::sample using macro to work in parallel mode.
+ (__sort_fn): Likewise for std::sort.
+ (ranges::__nth_element_fn): Likewise for std::nth_element.
+ * include/bits/stl_algobase.h (lexicographical_compare_three_way):
+ Likewise for std::__min_cmp.
+ * include/parallel/algobase.h (lexicographical_compare_three_way):
+ Add to namespace std::__parallel.
+
+ PR c/92472
+ * include/parallel/multiway_merge.h (_GuardedIterator::operator*)
+ (_GuardedIterator::operator _RAIter, _UnguardedIterator::operator*)
+ (_UnguardedIterator::operator _RAIter): Add const qualifier.
+ (operator<(_GuardedIterator&, _GuardedIterator&)
+ (operator<=(_GuardedIterator&, _GuardedIterator&)
+ (operator<(_UnguardedIterator&, _UnguardedIterator&)
+ (operator<=(_UnguardedIterator&, _UnguardedIterator&): Change
+ parameters to const references.
+
+2020-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
+
+2020-05-06 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_algobase.h (struct _Bit_iterator): New declaration.
+ (std::__fill_a1(_Bit_iterator, _Bit_iterator, const bool&)): Likewise.
+ * include/bits/stl_bvector.h (__fill_bvector): Move outside
+ _GLIBCXX_STD_C namespace.
+ (fill(_Bit_iterator, _Bit_iterator, const bool&)): Likewise and rename
+ into...
+ (__fill_a1): ...this.
+ * testsuite/25_algorithms/fill/bvector/1.cc: New.
+
+2020-05-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
+
+2020-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
+ * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
+ Likewise.
+ * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
+ * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
+ Likewise.
+
+2020-05-06 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2020-05-05 Martin Liska <mliska@suse.cz>
+ PR c/92472
+ * include/parallel/multiway_merge.h:
+ Use const for _Compare template argument.
+
+2020-05-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/abi.xml (abi.versioning.history): Document library
+ versions for GCC 9.[123] and 10.1 releases.
+ * doc/html/*: Regenerate.
+
+2020-05-06 Jakub Jelinek <jakub@redhat.com>
+
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
+2020-05-05 Martin Liska <mliska@suse.cz>
+
+ PR c/92472
+ * include/parallel/multiway_merge.h:
+ Use const for _Compare template argument.
+
+2020-05-04 Fangrui Song <maskray@google.com>
+
+ * libsupc++/cxxabi.h (__cxa_finalize): Fix return type.
+
+2020-05-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/faq.xml: Use working link for SGI STL FAQ.
+ * doc/html/*: Regenerate.
+
+ PR libstdc++/94906
+ * src/c++17/memory_resource.cc
+ (monotonic_buffer_resource::_Chunk::release): Use size_t for shift
+ operands.
+
+2020-05-04 Nathan Sidwell <nathan@acm.org>
+
+ PR libstdc++/94747
+ * libsupc++/dyncast.cc (__dynamic_cast): Cast offsetof to
+ ptrdiff_t before negation, to show intent more clearly.
+
+2020-05-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/94936
+ * src/c++17/memory_resource.cc (synchronized_pool_resource::_TPools):
+ Add comment about single-threaded behaviour.
+ (synchronized_pool_resource::_TPools::move_nonempty_chunks()): Hoist
+ class member access out of loop.
+ (synchronized_pool_resource::synchronized_pool_resource())
+ (synchronized_pool_resource::~synchronized_pool_resource())
+ (synchronized_pool_resource::release()): Check __gthread_active_p
+ before creating and/or deleting the thread-specific data key.
+ (synchronized_pool_resource::_M_thread_specific_pools()): Adjust
+ assertions.
+ (synchronized_pool_resource::do_allocate(size_t, size_t)): Add fast
+ path for single-threaded case.
+ (synchronized_pool_resource::do_deallocate(void*, size_t, size_t)):
+ Likewise. Return if unable to find a pool that owns the allocation.
+ * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
+ New test.
+ * testsuite/20_util/synchronized_pool_resource/cons_single.cc: New
+ test.
+ * testsuite/20_util/synchronized_pool_resource/release_single.cc: New
+ test.
+
+2020-05-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/94933
+ * include/bits/stl_algobase.h (__fill_a1): Make overload for byte types
+ usable in constant expressions.
+ * testsuite/25_algorithms/fill_n/constexpr.cc: Test with bytes and
+ non-scalars.
+
+2020-05-01 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/94901
+ * testsuite/17_intro/badnames.cc: Test values between _E9 and _E24 too.
+
+2020-05-01 Jonathan Wakely <jwakely@redhat.com>
+ Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/92894
+ * include/bits/iterator_concepts.h (ranges::__cust_imove::_IMove):
+ Add trait to determine return type and an alias for it.
+ (ranges::__cust_imove::_IMove::operator()): Use __result instead of
+ deduced return type.
+ (iter_rvalue_reference_t): Use _IMove::__type instead of checking
+ the result of ranges::iter_move.
+ (__detail::__indirectly_readable_impl): Use iter_rvalue_reference_t
+ instead of checking the result of ranges::iter_move.
+ * testsuite/24_iterators/customization_points/92894.cc: New test.
+ * testsuite/24_iterators/indirect_callable/92894.cc: New test.
+
+2020-05-01 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/94901
+ * include/std/type_traits (__is_complete_or_unbounded): Replace
+ BADNAME _T with _Tp.
+ * testsuite/17_intro/badnames.cc: New test.
+
+2020-04-30 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/89510
+ * include/bits/alloc_traits.h (allocator_traits::_S_construct)
+ (allocator_traits::_S_destroy)
+ (allocator_traits<allocator<T>>::construct): Use traits in
+ noexcept-specifiers.
+ * include/bits/allocator.h (allocator<void>::construct)
+ (allocator<void>::destroy): Likewise.
+ * include/ext/malloc_allocator.h (malloc_allocator::construct)
+ (malloc_allocator::destroy): Likewise.
+ * include/ext/new_allocator.h (new_allocator::construct)
+ (new_allocator::destroy): Likewise.
+ * testsuite/20_util/allocator/89510.cc: New test.
+ * testsuite/ext/malloc_allocator/89510.cc: New test.
+ * testsuite/ext/new_allocator/89510.cc: New test.
+
2020-04-29 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/94854