+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-31 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
+ Try other service if "http" fails.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/100285
+ * configure.ac: Check for O_NONBLOCK.
+ * configure: Regenerate.
+ * include/experimental/internet: Include <ws2tcpip.h> for
+ Windows. Use preprocessor conditions around more constants.
+ * include/experimental/socket: Use preprocessor conditions
+ around more constants.
+ * testsuite/experimental/net/internet/resolver/base.cc: Only use
+ constants when the corresponding C macro is defined.
+ * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
+ * testsuite/experimental/net/socket/socket_base.cc: Likewise.
+ Make preprocessor checks more fine-grained.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-07-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/100863
+ * include/bits/hashtable.h (_Hashtable): Conditionally delete
+ default constructor by deriving from _Enable_special_members.
+ * testsuite/23_containers/unordered_map/cons/default.cc: New test.
+ * testsuite/23_containers/unordered_set/cons/default.cc: New test.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-06-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/100863
+ PR libstdc++/65816
+ * include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
+ Value-initialize subobject.
+ * testsuite/23_containers/unordered_map/allocator/default_init.cc:
+ Remove XFAIL.
+ * testsuite/23_containers/unordered_set/allocator/default_init.cc:
+ Remove XFAIL.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-05-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd.
+ * doc/Makefile.in: Regenerate.
+ * doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder
+ value.
+ * scripts/run_doxygen (print_usage): Always print to stdout and
+ do not exit.
+ (fail): New function for exiting on error.
+ (parse_options): Handle --latex_cmd. Do not treat --help the
+ same as errors. Simplify handling of required arguments.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-04-28 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/Makefile.am (stamp-pdf-doxygen): Improve comment about
+ dealing with errors. Use '@' to prevent shell command being
+ echoed.
+ * doc/Makefile.in: Regenerate.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-06-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/allocator.h (allocator::is_always_equal): Deprecate.
+ * include/bits/iterator_concepts.h (indirectly_readable_traits):
+ Add LWG issue number to comment.
+ * include/std/memory_resource (polymorphic_allocator::release):
+ Deprecate.
+ * testsuite/20_util/allocator/requirements/typedefs.cc: Add
+ dg-warning for deprecation. Also check std::allocator<void>.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-31 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/17_intro/names.cc: Undefine some more names used
+ by Solaris system headers.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-25 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102048
+ * include/ext/rope (rope::erase(size_type)): Remove broken
+ function.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/90787
+ * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
+ Use new __gnu_test::permissions_are_testable() function.
+ * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
+ Likewise.
+ * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
+ * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
+ * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
+ * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
+ * testsuite/27_io/filesystem/operations/status.cc: Likewise.
+ * testsuite/27_io/filesystem/operations/symlink_status.cc:
+ Likewise.
+ * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/operations/exists.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/operations/is_empty.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/operations/remove.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/operations/remove_all.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+ Likewise.
+ * testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable):
+ New function to guess whether testing permissions will work.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-08-02 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/101599
+ * include/bits/ranges_algo.h (__reverse_copy_fn::operator()):
+ Add missing std::move in return statement.
+ (__partition_copy_fn::operator()): Rename templtae parameter
+ _O2 to _Out2. Uglify function parameters out_true and out_false.
+ * include/bits/ranges_algobase.h (__copy_or_move): Add missing
+ std::move to recursive call that unwraps a __normal_iterator
+ output iterator.
+ * testsuite/25_algorithms/copy/constrained.cc (test06): New test.
+ * testsuite/25_algorithms/move/constrained.cc (test05): New test.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-08-02 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/101589
+ * include/std/ranges (lazy_split_view::_InnerIter::base): Make
+ the const& overload unconstrained and return a const reference
+ as per LWG 3533. Make unconditionally noexcept.
+ (elements_view::base): Revert accidental r12-569 change.
+ (elements_view::_Iterator::base): Make the const& overload
+ unconstrained and return a const reference as per LWG 3533.
+ Make unconditionally noexcept.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-08-02 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/101483
+ * include/std/ranges (join_view::_Iterator::_Iterator): Add
+ missing std::move.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-06-20 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges (split_view::_InnerIter::base): Define as
+ per P2210.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-06-19 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges (transform_view::_Iterator::_S_iter_concept):
+ Consider _Base instead of _Vp as per LWG 3555.
+ (elements_view::_Iterator::_S_iter_concept): Likewise.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-06-19 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges (split_view::_OuterIter::value_type::begin):
+ Remove the non-const overload, and remove the copyable constraint
+ on the const overload as per LWG 3553.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-06-19 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/stl_iterator.h
+ (__detail::__common_iter_use_postfix_proxy): Add
+ move_constructible constraint as per LWG 3546.
+ (common_iterator::__postfix_proxy): Adjust initializer of
+ _M_keep as per LWG 3546.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-06-18 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/concepts (convertible_to): Just use declval as per
+ LWG 3557.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-06-18 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn)
+ (find_if, __find_if_not_fn, find_if_not, _in_in_result)
+ (__mismatch_fn, mismatch, __search_fn, search): Move to ...
+ * include/bits/ranges_util.h: ... here.
+ * include/std/ranges (__detail::find, __detail::find_if)
+ (__detail::find_if_not, __detail::mismatch): Remove.
+ (filter_view): Use ranges::find_if instead.
+ (drop_while_view): Use ranges::find_if_not instead.
+ (split_view): Use ranges::find and ranges::mismatch instead.
+
+2021-10-12 Patrick Palka <ppalka@redhat.com>
+
+ Backported from master:
+ 2021-05-21 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100606
+ * include/std/ranges (drop_while_view::begin): Assert the
+ precondition added by LWG 3490.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/20_util/tuple/comparison_operators/overloaded.cc:
+ Restore test for operator<.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/101960
+ * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Define as
+ defauled.
+ * testsuite/20_util/tuple/cons/101960.cc: Check tuples with
+ array elements before the last element.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-05 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/102535
+ * testsuite/20_util/is_trivially_constructible/value.cc: Adjust
+ expected value for C++20.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/27_io/basic_filebuf/close/81256.cc: Moved to...
+ * testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc:
+ New test.
+ * testsuite/23_containers/span/trivially_copyable.cc: New test.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/18_support/numeric_limits/lowest.cc: Use
+ numeric_limits<T>::is_integer instead of is_integral<T>::value.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-19 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/101960
+ * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Use base
+ class' move constructor. Define as defaulted for versioned
+ namespace.
+ * testsuite/20_util/tuple/cons/101960.cc: New test.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/debug/deque (deque(size_type, const T&, const A&)):
+ Prevent class template argument deduction and replace with a
+ deduction guide.
+ * include/debug/forward_list (forward_list(size_type, const T&, const A&)):
+ Likewise.
+ * include/debug/list (list(size_type, const T&, const A&)):
+ Likewise.
+ * include/debug/vector (vector(size_type, const T&, const A&)):
+ Likewise.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
+ Install another copy of the GDB hook.
+ * python/Makefile.in: Regenerate.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/101870
+ * include/c_global/cmath (hypot): Use __promoted_t.
+ (lerp): Add new overload accepting any arithmetic types.
+ * include/ext/type_traits.h (__promoted_t): New alias template.
+ * testsuite/26_numerics/lerp.cc: Moved to...
+ * testsuite/26_numerics/lerp/1.cc: ...here.
+ * testsuite/26_numerics/lerp/constexpr.cc: New test.
+ * testsuite/26_numerics/lerp/version.cc: New test.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define.
+ (build_libstdcxx_dictionary): Register printer for
+ std::error_code and std::error_condition.
+ * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/101923
+ * include/bits/std_function.h (function(function&&)): Check for
+ non-empty parameter before doing any work.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102425
+ * src/c++11/system_error.cc
+ (system_error_category::default_error_condition): Add 0 to
+ switch.
+ * testsuite/19_diagnostics/error_category/102425.cc: New test.
+
+2021-10-12 Thomas Rodgers <rodgert@twrodgers.com>
+
+ Backported from master:
+ 2021-09-16 Thomas Rodgers <rodgert@twrodgers.com>
+
+ PR libstdc++/101761
+ * testsuite/29_atomics/atomic_ref/wait_notify.cc (test): Use
+ va and vb as arguments to wait/notify, remove unused bb local.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-09-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/fs_path.h (advance): Remove non-deducible
+ template parameter.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-28 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/99876
+ * src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form,
+ to avoid unnecessary current_path() call.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-08-31 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102074
+ * include/bits/atomic_timed_wait.h (__timed_waiter_pool)
+ [!_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT]: Add missing return.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-09-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102270
+ * include/std/tuple (_Tuple_impl): Add constexpr to constructor
+ missed in previous patch.
+ * testsuite/20_util/tuple/cons/102270.C: Moved to...
+ * testsuite/20_util/tuple/cons/102270.cc: ...here.
+ * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add
+ constexpr to constructor so it can be used for C++20 tests.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-09-16 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102270
+ * include/std/tuple (_Head_base, _Tuple_impl): Add
+ _GLIBCXX20_CONSTEXPR to allocator-extended constructors.
+ (tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR.
+ * testsuite/20_util/tuple/cons/102270.C: New test.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-09-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/valarray/dr630-3.C: Moved to...
+ * testsuite/26_numerics/valarray/dr630-3.cc: ...here.
+ * testsuite/27_io/basic_iostream/cons/16251.C: Moved to...
+ * testsuite/27_io/basic_iostream/cons/16251.cc: ...here.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-09-16 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102280
+ * include/std/span (span(Range&&)): Add constraint to deduction
+ guide.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/20_util/integer_comparisons/greater.cc: New test.
+
+2021-10-12 Jonathan Wakely <jwakely@redhat.com>
+
+ Backported from master:
+ 2021-10-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102667
+ * include/bits/regex.h (match_result::empty()): Optimize by
+ calling the base function directly.
+ (match_results::end()): Check _Base_type::empty() not empty().
+ * testsuite/28_regex/match_results/102667.C: New test.
+
2021-08-24 Jonathan Wakely <jwakely@redhat.com>
Backported from master: