2024-12-29  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/html/manual/profile_mode_diagnostics.html: Delete.

2024-12-29  Hans-Peter Nilsson  <hp@bitrange.com>

	* testsuite/std/time/year_month_day/3.cc (test01): Add ifdeffery to
	limit the tested dates.  For simulators, pass start and end dates
	limiting the tested range to 100000 days, centered on days (0).
	* testsuite/std/time/year_month_day/4.cc: Ditto.

2024-12-28  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/118196
	* testsuite/24_iterators/range_generators/pr118196.cc: Include
	<generator> rather than "<generator>".

2024-12-27  Arsen Arsenović  <arsen@aarsen.me>

	PR libstdc++/118196
	* include/std/generator (generator::operator=(generator)): Add
	missing 'return *this;'.
	* testsuite/24_iterators/range_generators/pr118196.cc: New test.

2024-12-27  Arsen Arsenović  <arsen@aarsen.me>

	PR libstdc++/118022
	* include/std/generator
	(_Promise_erased::yield_value(const _Yielded_deref&)): Don't
	implicit-constuct _Yielded_decvref.
	* testsuite/24_iterators/range_generators/pr118022.cc: New test.

2024-12-19  François Dumont  <frs.dumont@gmail.com>

	PR libstdc++/57272
	* include/bits/stl_tree.h
	[_GLIBCXX_USE_ALLOC_PTR_FOR_RB_TREE]: New macro to control usage of the
	code required to support fancy allocator pointer type.
	(_Rb_tree_node_base::_Const_Base_ptr): Remove.
	(_Rb_tree_node_base::_S_minimum, _Rb_tree_node_base::_S_maximum): Remove
	overloads for _Const_Base_ptr.
	(_Rb_tree_node_base::_M_base_ptr()): New.
	(_Rb_tree_node::_Link_type): Remove.
	(_Rb_tree_node::_M_node_ptr()): New.
	(__rb_tree::_Node_base<>): New.
	(__rb_tree::_Header<>): New.
	(__rb_tree::_Node<>): New.
	(_Rb_tree_increment(const _Rb_tree_node_base*)): Remove declaration.
	(_Rb_tree_decrement(const _Rb_tree_node_base*)): Remove declaration.
	(_Rb_tree_iterator<>::_Self): Remove.
	(_Rb_tree_iterator<>::_Link_type): Rename into...
	(_Rb_tree_iterator<>::_Node_ptr): ...this.
	(_Rb_tree_const_iterator<>::_Link_type): Rename into...
	(_Rb_tree_const_iterator<>::_Node_ptr): ...this.
	(_Rb_tree_const_iterator<>::_M_const_cast): Remove.
	(_Rb_tree_const_iterator<>::_M_node): Change type into _Base_ptr.
	(__rb_tree::_Iterator<>): New.
	(__rb_tree::_Node_traits<>): New.
	(_Rb_tree<>::_Node_base, _Rb_tree::_Node): New.
	(_Rb_tree<>::_Link_type): Rename into...
	(_Rb_tree<>::_Node_ptr): ...this.
	(_Rb_tree<>::_Const_Base_ptr, _Rb_tree<>::_Const_Node_ptr): Remove.
	(_Rb_tree<>::_M_mbegin): Remove.
	(_Rb_tree<>::_M_begin_node()): New.
	(_S_key(const _Node&)): New.
	(_S_key(_Base_ptr)): New, call latter.
	(_S_key(_Node_ptr)): Likewise.
	(_Rb_tree<>::_S_left(_Const_Base_ptr)): Remove.
	(_Rb_tree<>::_S_right(_Const_Base_ptr)): Remove.
	(_Rb_tree<>::_S_maximum(_Const_Base_ptr)): Remove.
	(_Rb_tree<>::_S_minimum(_Const_Base_ptr)): Remove.
	* testsuite/23_containers/map/allocator/ext_ptr.cc: New test case.
	* testsuite/23_containers/multimap/allocator/ext_ptr.cc: New test case.
	* testsuite/23_containers/multiset/allocator/ext_ptr.cc: New test case.
	* testsuite/23_containers/set/allocator/ext_ptr.cc: New test case.
	* testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr.cc:
	New test case.
	* testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
	New test case.

2024-12-19  Patrick Palka  <ppalka@redhat.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am: Add new header <flat_set>.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def (__cpp_flat_set): Define.
	* include/bits/version.h: Regenerate
	* include/precompiled/stdc++.h: Include <flat_set>.
	* include/std/flat_set: New file.
	* src/c++23/std.cc.in: Export <flat_set>.
	* testsuite/23_containers/flat_multiset/1.cc: New test.
	* testsuite/23_containers/flat_set/1.cc: New test.

2024-12-19  Patrick Palka  <ppalka@redhat.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am: Add new header <flat_map>.
	* include/Makefile.in: Regenerate.
	* include/bits/alloc_traits.h (__not_allocator_like): New concept.
	* include/bits/stl_function.h (__transparent_comparator): Likewise.
	* include/bits/stl_iterator_base_types.h (__has_input_iter_cat):
	Likewise.
	* include/bits/uses_allocator.h (__allocator_for): Likewise.
	* include/bits/utility.h (sorted_unique_t): Define for C++23.
	(sorted_unique): Likewise.
	(sorted_equivalent_t): Likewise.
	(sorted_equivalent): Likewise.
	* include/bits/version.def (flat_map): Define.
	* include/bits/version.h: Regenerate.
	* include/precompiled/stdc++.h: Include <flat_map>.
	* include/std/flat_map: New file.
	* src/c++23/std.cc.in: Export <flat_map>.
	* testsuite/23_containers/flat_map/1.cc: New test.
	* testsuite/23_containers/flat_multimap/1.cc: New test.

2024-12-19  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_base.h (__detail::__range_key_type):
	Define as per P1206R7.
	(__detail::__range_mapped_type): Likewise.

2024-12-18  François Dumont  <frs.dumont@gmail.com>

	* include/bits/move.h (std::addressof): Call __builtin_addressof.

2024-12-18  Tamar Christina  <tamar.christina@arm.com>

	* include/bits/hashtable.h
	(_M_find_before_node): Make it likely that the map has at least one
	entry and so we do at least one iteration.

2024-12-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/118088
	* include/bits/stl_queue.h (priority_queue(priority_queue&&)):
	Clear the source object after moving from it.
	(priority_queue(priority_queue&&, const Alloc&)): Likewise.
	(operator=(priority_queue&&)): Likewise.
	* testsuite/23_containers/priority_queue/118088.cc: New test.

2024-12-18  Tamar Christina  <tamar.christina@arm.com>

	* include/bits/hashtable.h: Inline _M_locate.

2024-12-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (__to_wstring_numeric): Add 'i'
	and 'I' to mapping.

2024-12-18  Luca Bacci  <luca.bacci982@gmail.com>

	PR libstdc++/98723
	* include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
	Only use transform_primary when an equivalence set is used.

2024-12-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
	Add parentheses to avoid -Wparentheses warning.

2024-12-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/118035
	* include/bits/deque.tcc (_M_range_insert_aux): Return
	immediately if inserting an empty range.
	* testsuite/23_containers/deque/modifiers/insert/118035.cc: New
	test.

2024-12-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_Local_iterator_base): Use
	default member-initializers.

2024-12-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h: Replace typedefs with
	alias-declarations. Remove redundant std:: qualification.
	(_Mod_range_hashing, _Mask_range_hashing): Remove adaptable
	function object typedefs.

2024-12-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_Hash_code_storage): Remove.
	(_Hash_obj_storage): New class template. Store the hash
	function as a union member instead of using a byte buffer.
	(_Local_iterator_base): Use _Hash_obj_storage instead of
	_Hash_code_storage, adjust members that construct and destroy
	the hash object.
	(_Local_iterator_base::_M_incr): Calculate bucket index.

2024-12-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable::swap): Swap hash
	function and equality predicate here. Inline allocator swap
	instead of using __alloc_on_swap.
	* include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
	Replace EBO with no_unique_address attribute. Remove NTTP.
	(_Hash_code_base): Replace base class with data member using
	no_unique_address attribute.
	(_Hash_code_base::_M_swap): Remove.
	(_Hash_code_base::_M_hash): Remove.
	(_Hashtable_base): Replace base class with data member using
	no_unique_address attribute.
	(_Hashtable_base::_M_swap): Remove.
	(_Hashtable_alloc): Replace base class with data member using
	no_unique_address attribute.

2024-12-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/57272
	* include/bits/forward_list.h (__fwd_list::_Node): Add
	user-provided special member functions to union.
	* include/bits/stl_list.h (__list::_Node): Likewise.
	(_Node_base::_M_hook, _Node_base::swap): Use _M_base() instead
	of std::pointer_traits::pointer_to.
	(_Node_base::_M_transfer): Likewise. Add noexcept.
	(_List_base::_M_put_node): Use 'if constexpr' to avoid using
	pointer_traits::pointer_to when not necessary.
	(_List_base::_M_destroy_node): Fix parameter to be the pointer
	type used internally, not the allocator's pointer.
	(list::_M_create_node): Likewise.
	* testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc:
	Check explicit instantiation of non-trivial value type.
	* testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc:
	Likewise.
	* testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
	Fix macro name.
	* testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
	Likewise.

2024-12-14  Abdo Eid  <abdoeid.eg@ieee.org>

	* include/c_compatibility/wchar.h (fgetwc): Remove duplicate
	using-declaration.

2024-12-13  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112349
	* include/bits/ranges_algo.h (__min_fn::operator()): Turn local
	object __tmp into a reference.
	* include/bits/ranges_util.h (__max_fn::operator()): Likewise.
	* testsuite/25_algorithms/max/constrained.cc (test04): New test.
	* testsuite/25_algorithms/min/constrained.cc (test04): New test.

2024-12-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/spanstream (basic_spanbuf::seekoff): Return an
	error for invalid seekdir values.

2024-12-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_cmp.h (not_equal_to): Make order of
	expressions in noexcept-specifier match the body.
	* testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
	Check noexcept.

2024-12-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/regex.tcc: Fix -Wsign-compare warning.

2024-12-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/pstl/parallel_backend_tbb.h (__merge_func): Fix order
	of mem-initializers.

2024-12-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/random/random_device/entropy.cc: Fix
	indentation to avoid -Wmisleading-indentation warning.

2024-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/unordered_map/modifiers/reserve.cc:
	Cast to size_t to fix -Wsign-compare warning.
	* testsuite/23_containers/unordered_set/hash_policy/71181.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/insert/move_range.cc:
	Likewise.

2024-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_Local_iterator_base): Fix
	-Wsign-compare warnings.

2024-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_dir.cc: Fix typo in comment.

2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109517
	PR libstdc++/109976
	* include/debug/helper_functions.h (__valid_range_aux): Treat
	all input iterator ranges as valid during constant evaluation.

2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/106212
	* include/std/array (operator==): Use std::__equal_aux1 instead
	of std::equal.
	* testsuite/23_containers/array/comparison_operators/106212.cc:
	New test.

2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117966
	* include/std/span (span(T (&)[N])): Do not delegate to
	constructor that performs redundant checks.
	(span(array<T, N>&), span(const array<T, N>&)): Likewise.
	(span(Range&&), span(const span<T, N>&)): Likewise.
	* testsuite/23_containers/span/117966.cc: New test.

2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/generator (_Promise_alloc): Rename template
	parameter. Use __alloc_rebind to rebind allocator.
	(_Promise_alloc::operator new): Replace constraints with a
	static_assert in the body. Rename allocator parameter.
	(_Promise_alloc<void>::_M_allocate): Rename allocator parameter.
	Use __alloc_rebind to rebind allocator.
	(_Promise_alloc<void>::operator new): Rename allocator
	parameter.
	* testsuite/24_iterators/range_generators/alloc.cc: New test.
	* testsuite/24_iterators/range_generators/lwg3900.cc: New test.

2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ostream (println): Pass stream's locale to
	std::format, as per LWG 4088.
	* testsuite/27_io/basic_ostream/print/1.cc: Check std::println
	with custom locale. Remove unused brit_punc class.

2024-12-10  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/memory_resource.h (polymoprhic_allocator): Use
	feature test macro for P0339R6 features.

2024-12-10  Marek Polacek  <polacek@redhat.com>

	PR c++/117788
	* testsuite/std/ranges/adaptors/conditionally_borrowed.cc: Add a
	FIXME, adjust.

2024-12-10  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_uninitialized.h (__is_bitwise_relocatable):
	Revert to depending on is_trivial.

2024-12-10  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/std/type_traits: Deprecate is_trivial and
	is_trivial_v.
	* include/experimental/type_traits: Suppress the deprecation
	warning.
	* testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc:
	Amend the test to suppress the deprecation warning.
	* testsuite/20_util/is_trivial/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_trivial/value.cc: Likewise.
	* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
	* testsuite/experimental/type_traits/value.cc: Likewise.
	* testsuite/18_support/max_align_t/requirements/2.cc: Update the
	test with P3247R2's new wording.

2024-12-10  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc:
	Port away from is_trivial.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
	Likewise.
	* testsuite/23_containers/vector/cons/94540.cc: Likewise.
	* testsuite/25_algorithms/copy/move_iterators/69478.cc:
	Likewise.
	* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
	Likewise.
	* testsuite/25_algorithms/move/69478.cc: Likewise.
	* testsuite/25_algorithms/move_backward/69478.cc: Likewise.
	* testsuite/25_algorithms/rotate/constrained.cc: Likewise.
	* testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.

2024-12-10  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/bits/ranges_uninitialized.h: port some if
	constexpr away from is_trivial, and towards more specific
	detections instead.

2024-12-10  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/bits/stl_uninitialized.h: Amended the
	__is_bitwise_relocatable type trait.

2024-12-10  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/pstl/algorithm_impl.h (__remove_elements): Port away
	from is_trivial.
	(__pattern_inplace_merge): Likewise.
	* include/pstl/glue_memory_impl.h (uninitialized_copy): Likewise.
	(uninitialized_copy_n): Likewise.
	(uninitialized_move): Likewise.
	(uninitialized_move_n): Likewise.
	(uninitialized_default_construct): Likewise.
	(uninitialized_default_construct_n): Likewise.
	(uninitialized_value_construct): Likewise.
	(uninitialized_value_construct_n): Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
	Likewise.

2024-12-10  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/bits/basic_string.h: Add a static_assert on the
	char-like type.
	* include/std/string_view: Port away from is_trivial.

2024-12-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/102259
	* config/io/basic_file_stdio.cc (basic_file::xsgetn): Limit n to
	_GLIBCXX_MAX_READ_SIZE if that macro is defined.
	* config/os/bsd/darwin/os_defines.h (_GLIBCXX_MAX_READ_SIZE):
	Define to INT_MAX-1.
	* config/os/bsd/freebsd/os_defines.h (_GLIBCXX_MAX_READ_SIZE):
	Likewise.

2024-12-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/allocator.h (allocator::is_always_equal): Do not
	define for C++26.
	(allocator<void>::is_always_equal): Likewise.
	* testsuite/20_util/allocator/requirements/typedefs.cc: Check
	that is_always_equal is not present in C++26.
	* testsuite/20_util/allocator/void.cc: Do not require
	is_always_equal for C++26.
	* testsuite/23_containers/vector/bool/cons/constexpr.cc: Add
	missing override of base's is_always_equal.
	* testsuite/23_containers/vector/cons/constexpr.cc: Likewise.

2024-12-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117962
	* include/debug/safe_container.h: Make allocator-extended move
	constructor a no-op during constant evaluation.

2024-12-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117921
	* testsuite/23_containers/set/modifiers/swap/adl.cc: Add
	equality comparison for Allocator.
	* testsuite/23_containers/unordered_set/modifiers/swap-2.cc:
	Likewise.

2024-12-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format: Fix typo in Doxygen comment.

2024-12-07  Matthew Malcomson  <mmalcomson@nvidia.com>

	* .editorconfig: Adjust globbing style to standard syntax.

2024-12-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117921
	* include/bits/hashtable_policy.h (_Hash_code_base::_M_swap):
	Use ADL swap for Hash members.
	(_Hashtable_base::_M_swap): Use ADL swap for _Equal members.
	* include/bits/stl_tree.h (_Rb_tree::swap): Use ADL swap for
	_Compare members.
	* testsuite/23_containers/set/modifiers/swap/adl.cc: New test.
	* testsuite/23_containers/unordered_set/modifiers/swap-2.cc: New
	test.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108236
	* include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init
	as rvalue.
	* include/pstl/numeric_impl.h (__brick_transform_scan): Do not
	write through __result until after reading through __first. Move
	__init into return value.
	(__pattern_transform_scan): Pass __init as rvalue.
	* include/std/numeric (exclusive_scan): Move construct instead
	of copy constructing.
	* testsuite/26_numerics/exclusive_scan/2.cc: New test.
	* testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/alloc_traits.h (__do_alloc_on_copy): Remove.
	(__do_alloc_on_move __do_alloc_on_swap): Remove.
	(__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if
	constexpr.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/57272
	* include/bits/forward_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST):
	Define.
	(_Fwd_list_node_base::_M_base_ptr): New member functions.
	(_Fwd_list_node::_M_node_ptr): New member function.
	(_Fwd_list_iterator, _Fwd_list_const_iterator): Make internal
	member functions and data member private. Declare forward_list
	and _Fwd_list_base as friends.
	(__fwdlist::_Node_base, __fwdlist::_Node, __fwdlist::_Iterator):
	New class templates.
	(__fwdlist::_Node_traits): New class template.
	(_Fwd_list_base): Use _Node_traits to get types. Use _Base_ptr
	instad of _Fwd_list_node_base*. Use _M_base_ptr() instead of
	taking address of head node.
	(forward_list): Likewise.
	(_Fwd_list_base::_M_get_node): Do not define for versioned
	namespace.
	(_Fwd_list_base::_M_put_node): Only convert pointer if needed.
	(_Fwd_list_base::_M_create_node): Use __allocate_guarded_obj.
	(_Fwd_list_base::_M_destroy_node): New member function.
	* include/bits/forward_list.tcc (_Fwd_list_base::_M_insert_after)
	(forward_list::_M_splice_after, forward_list::insert_after): Use
	const_iterator::_M_const_cast() instead of casting pointers.
	(_Fwd_list_base::_M_erase_after): Use _M_destroy_node.
	(forward_list::remove, forward_list::remove_if): Only do
	downcasts when accessing the value.
	(forward_list::sort): Likewise.
	* testsuite/23_containers/forward_list/capacity/1.cc: Check
	max_size for new node type.
	* testsuite/23_containers/forward_list/capacity/node_sizes.cc:
	New test.
	* testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc:
	New test.
	* testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
	New test.
	* testsuite/23_containers/forward_list/requirements/completeness.cc: New file.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/57272
	PR libstdc++/110952
	* include/bits/allocated_ptr.h (__allocated_ptr::get): Add
	const.
	(__allocated_ptr::operator bool, __allocated_ptr::release): New
	member functions.
	(__allocate_guarded): Add inline.
	(__allocated_obj): New class template.
	(__allocate_guarded_obj): New function template.
	* include/bits/list.tcc (_List_base::_M_clear()): Replace uses
	of raw pointers. Use _M_destroy_node.
	(list::emplace, list::insert): Likewise.
	(list::sort): Adjust check for 0 or 1 wsize. Use template
	argument list for _Scratch_list.
	* include/bits/stl_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST):
	Define.
	(_List_node_base::_Base_ptr): New typedef.
	(_List_node_base::_M_base): New member functions.
	(_List_node_header::_M_base): Make public and add
	using-declaration for base class overload.
	(__list::_Node_traits, __list::_Node_base)
	(__list::_Node_header, __list::_Node, __list::_Iterator): New
	class templates.
	(_Scratch_list): Turn class into class template. Use _Base_ptr
	typedef instead of _List_node_base*.
	(_List_node::_Node_ptr): New typedef.
	(_List_node::_M_node_ptr): New member function.
	(_List_base, _List_impl): Use _Node_traits to get node types.
	(_List_base::_M_put_node): Convert to fancy pointer if needed.
	(_List_base::_M_destroy_node): New member function.
	(_List_base(_List_base&&, _Node_alloc_type&&)): Use if constexpr
	to make function a no-op for fancy pointers.
	(_List_base::_S_distance, _List_base::_M_distance)
	(_List_base::_M_node_count): Likewise.
	(list): Use _Node_traits to get iterator, node and pointer
	types.
	(list::_M_create_node): Use _Node_ptr typedef instead of _Node*.
	Use __allocate_guarded_obj instead of _M_get_node.
	(list::end, list::cend, list::empty): Use node header's
	_M_base() function instead of taking its address.
	(list::swap): Use _Node_traits to get node base type.
	(list::_M_create_node, list::_M_insert): Use _Node_ptr instead
	of _Node*.
	(list::_M_erase): Likewise. Use _M_destroy_node.
	(__distance): Overload for __list::_Iterator.
	(_Node_base::swap, _Node_base::_M_transfer): Define non-inline
	member functions of class templates.
	(_Node_header::_M_reverse): Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Check max_size
	for allocator of new node type.
	* testsuite/23_containers/list/capacity/node_sizes.cc: New test.
	* testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc:
	New test.
	* testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
	New test.
	* testsuite/23_containers/list/requirements/completeness.cc: New file.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_list.h (_List_iterator): Remove _Self typedef
	and just use injected-class-name instead.
	(_List_const_iterator): Likewise.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_list.h (_List_size): New struct.
	(_List_node_header): Replace _M_size member with _List_size base
	class.
	(_List_node_header(_List_node_header&&)): Replace explicit uses
	of _M_size with initializing the base.
	(_List_node_header::_M_init): Likewise.
	(_List_base::_S_distance, _List_base::_M_distance)
	(_List_base::_M_node_count): Move to end of class body and add
	comment.
	(list::_S_distance, list::_M_node_count): Likewise.
	(list::size): Inline _M_node_count effects to here.
	(list::splice(iterator, list&, iterator, iterator)): Use #if and
	call std::distance instead of _S_distance.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_bvector.h (vector(const allocator_type&)):
	Add noexcept, as per LWG 3778.
	* testsuite/23_containers/vector/bool/cons/lwg3778.cc: New test.

2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117889
	PR libstdc++/117858
	* include/std/optional (optional(const optional<U>&)): Fix copy
	and paste error in constraints.
	(optional(optional<U>&&)): Likewise.
	* testsuite/20_util/optional/assignment/117858.cc: Move to ...
	* testsuite/20_util/optional/cons/117858.cc: New test.

2024-12-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use
	'if constexpr' instead of dispatching to a member function of a
	class template.
	(_Destroy_n(FwdIter, Size)): Likewise.
	(_Destroy_aux, _Destroy_n_aux): Only define for C++98.

2024-12-02  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++23/std.cc.in: Disable deprecated warnings when
	exporting std::rel_ops members.

2024-11-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117858
	* testsuite/20_util/optional/assignment/117858.cc: Also test
	assignment from rvalue optional.

2024-11-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117858
	* include/std/optional (operator=(const optional<U>&)): Fix copy
	and paste error in constraints.
	(operator=(optional<U>&&)): Likewise.
	* testsuite/20_util/optional/assignment/117858.cc: New test.

2024-11-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am: Add bits/monostate.h.
	* include/Makefile.in: Regenerate.
	* include/std/utility: Include <bits/monostate.h>.
	* include/std/variant (monostate, hash<monostate>): Move
	definitions to ...
	* include/bits/monostate.h: New file.
	* testsuite/20_util/headers/utility/synopsis.cc: Add monostate
	and hash<monostate> declarations.
	* testsuite/20_util/monostate/requirements.cc: New test.

2024-11-30  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/headers/utility/synopsis.cc: Add
	declarations from C++11 and later.

2024-11-30  Jakub Jelinek  <jakub@redhat.com>

	* include/std/functional (_Bind_check_arity): Add , before ... .
	* include/bits/refwrap.h (_Mem_fn_traits, _Weak_result_type_impl):
	Likewise.
	* include/tr1/type_traits (is_function): Likewise.

2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/stacktrace (basic_stacktrace::_M_impl::_M_resize):
	Use std::_Destroy to destroy removed elements.

2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py: Reorder registrations.

2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117822
	* include/std/stacktrace (stacktrace(stacktrace&&, const A&)):
	Fix typo in qualified-id for is_always_equal trait.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test
	allocator-extended constructors and allocator propagation.

2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_relops.h (rel_ops): Add deprecated attribute.
	* testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc:
	Add dg-warning for -Wdeprecated warnings.
	* testsuite/20_util/rel_ops.cc: Likewise.
	* testsuite/util/testsuite_containers.h: Disable -Wdeprecated
	warnings when using rel_ops.

2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_list.h: Reduce duplication in doxygen
	comments.

2024-11-28  Marek Polacek  <polacek@redhat.com>

	PR c++/113798
	* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
	dg-prune-output.

2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117210
	* config/os/bsd/dragonfly/os_defines.h: Include <sys/cdefs.h>.
	* config/os/bsd/freebsd/os_defines.h: Likewise.

2024-11-27  Jan Hubicka  <hubicka@ucw.cz>

	* include/bits/basic_string.h (basic_string::size(),
	basic_string::length(), basic_string::capacity()): Add
	__builtin_unreachable to declare value ranges.
	(basic_string::empty()): Implement directly
	(basic_string::max_size()): Account correctly the terminating 0
	and limits implied by ptrdiff_t.

2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/c++config (__glibcxx_assert): Remove useless
	__builtin_expect from constexpr-only assertion. Improve
	comments.

2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117650
	* include/bits/c++config (__glibcxx_assert_fail): Add cold
	attribute.
	* include/debug/formatter.h (_Error_formatter::_M_error):
	Likewise.

2024-11-27  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (views::__adaptor::_RangeAdaptorClosure):
	Befriend both operator| overloads.
	* src/c++23/std.cc.in: Don't export views::__adaptor::operator|.

2024-11-27  Jason Merrill  <jason@redhat.com>

	* src/c++23/std.cc.in: Fix iter_move/swap.  Add fold_left_first, to,
	concat, and some operators.

2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/forward_list.h (forward_list::front): Add
	non-empty assertions.
	* include/bits/stl_list.h (list::front, list::back): Add
	non-empty assertions.

2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/forward_list.h (operator=(forward_list&&)): Use
	if constexpr instead of dispatching to _M_move_assign.
	(assign(InputIterator, InputIterator)): Use if constexpr instead
	of dispatching to _M_assign.
	(assign(size_type, const T&)): Use if constexpr instead of
	dispatching to _M_assign_n.
	(_M_move_assign, _M_assign_n): Do not define for versioned
	namespace.
	(_M_assign): Remove.

2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_list.h (operator=(list&&)): Use if constexpr
	instead of dispatching to _M_move_assign.
	(_M_move_assign): Do not define for versioned namespace.

2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105857
	* config/locale/dragonfly/codecvt_members.cc (do_length): Limit
	size of alloca buffer to 4k.
	* config/locale/gnu/codecvt_members.cc (do_length): Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New
	test.

2024-11-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117751
	* testsuite/18_support/50594.cc: Edit dg-options to include the
	-fno-assume-sane-operators-new-delete option.

2024-11-26  Jan Hubicka  <hubicka@ucw.cz>

	* include/bits/deque.tcc (std::deque::_M_reallocate_map): Add
	__builtin_unreachable check to declare that maps are not very large.
	* include/bits/stl_deque.h (std::deque::size): Add __builtin_unreachable
	to check for maximal size of map.

2024-11-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/range_access.h (begin, end, ssize): Add
	conditional noexcept.
	* testsuite/18_support/initializer_list/range_access.cc: Check
	results and noexcept-specifier for std::begin and std::end.
	* testsuite/24_iterators/headers/iterator/range_access_c++11.cc:
	Check for conditional noexcept on std::begin and std::end.
	* testsuite/24_iterators/headers/iterator/range_access_c++14.cc:
	Likewise.
	* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
	Likewise.
	* testsuite/24_iterators/range_access/range_access.cc: Check
	conditional noexcept is correct.
	* testsuite/24_iterators/range_access/range_access_cpp17.cc:
	Check std::size, std::empty and std::data.
	* testsuite/24_iterators/range_access/range_access_cpp20.cc:
	Check conditional noexcept on std::ssize.

2024-11-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/forward_list.h: Use Markdown in Doxygen comments.

2024-11-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117630
	* src/c++11/Makefile.am: Add new file.
	* src/c++11/Makefile.in: Regnerate.
	* src/c++11/cow-stdexcept.cc (error_category::_M_message): Move
	member function definition to ...
	* src/c++11/cow-system_error.cc: New file.

2024-11-20  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_set.h (set::find): Use const_iterator in
	return type, not iterator.

2024-11-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117686
	* include/bits/hashtable.h (_Hashtable::_M_emplace_uniq):
	Adjust usage of __is_key_type to avoid false positive.
	* testsuite/23_containers/unordered_set/insert/117686.cc:
	New test.

2024-11-19  Jason Merrill  <jason@redhat.com>

	* src/c++23/libstdc++.modules.json.in: Remove C++ comment.

2024-11-18  David Malcolm  <dmalcolm@redhat.com>

	* testsuite/lib/libstdc++.exp: Add
	"load_gcc_lib dg-test-cleanup.exp".

2024-11-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable::_M_src_hash_code):
	Improve comments.
	(_Hashtable::_M_merge_unique(_Hashtable&)): Use pointer_traits
	to get before-begin pointer. Only use static_cast on valid
	nodes, not the before-begin pointer. Reuse a hash code cached in
	the node when possible.
	(_Hashtable::_M_merge_multi(_Hashtable&)): Likewise.

2024-11-18  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/allocator.xml: Update reference to Angelika
	Langer's article.
	* doc/html/manual/memory.html: Regenerate.

2024-11-17  Jason Merrill  <jason@redhat.com>

	PR libstdc++/106852
	* include/bits/version.def: Add __cpp_lib_modules.
	* include/bits/version.h: Regenerate.
	* src/c++23/Makefile.am: Add modules std and std.compat.
	* src/c++23/Makefile.in: Regenerate.
	* src/c++23/std-clib.cc.in: New file.
	* src/c++23/std.cc.in: New file.
	* src/c++23/std.compat.cc.in: New file.
	* src/c++23/libstdc++.modules.json.in: New file.

2024-11-17  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/intro.xml: Move a gcc.gnu.org link to https.
	* doc/html/manual/license.html: Regenerate.

2024-11-17  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/io.xml: Update link to Angelika Langer's book.
	* doc/html/manual/streambufs.html: Regenerate.

2024-11-17  Jan Hubicka  <hubicka@ucw.cz>

	PR tree-optimization/109442
	* include/bits/stl_vector.h: (vector::size(),
	vector::capacity()): Add __builtin_unreachable call to announce
	that size and capacity are non-negative.

2024-11-16  Jonathan Wakely  <jwakely@redhat.com>

	* Makefile.am: Use $(MAKE) -C dir instead of cd dir && $(MAKE).
	* Makefile.in: Regenerate.

2024-11-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_list.h (list::emplace_back): Fix indentation.

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_algo.h (__is_permutation_fn::operator()):
	Short-circuit for sized ranges with different sizes, as per LWG
	3560.
	* include/bits/ranges_algobase.h (__equal_fn::operator()):
	Likewise.
	* include/bits/stl_algo.h (__is_permutation): Use if-constexpr
	for random access iterator branches.
	* include/bits/stl_algobase.h (__equal4): Likewise.
	* testsuite/25_algorithms/equal/lwg3560.cc: New test.
	* testsuite/25_algorithms/is_permutation/lwg3560.cc: New test.

2024-11-14  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (keys_view): Adjust as per LWG 3563.
	(values_view): Likewise.
	* testsuite/std/ranges/adaptors/elements.cc (test08): New test.

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_util.h (subrange::begin): Fix constraint,
	as per LWG 3589.
	* testsuite/std/ranges/subrange/lwg3589.cc: New test.

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/c++config (_GLIBCXX_NODISCARD): Expand for C++11
	and C++14.
	* testsuite/22_locale/locale/cons/12438.cc: Adjust dg-warning to
	expect nodiscard warnings for C++11 and C++14 as well.
	* testsuite/22_locale/locale/operations/2.cc: Likewise.
	* testsuite/25_algorithms/equal/debug/1_neg.cc: Likewise.
	* testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise.
	* testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise.
	* testsuite/25_algorithms/find_first_of/concept_check_1.cc:
	Likewise.
	* testsuite/25_algorithms/is_permutation/2.cc: Likewise.
	* testsuite/25_algorithms/lexicographical_compare/71545.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: Likewise.
	* testsuite/25_algorithms/minmax/3.cc: Likewise.
	* testsuite/25_algorithms/search/78346.cc: Likewise.
	* testsuite/25_algorithms/search_n/58358.cc: Likewise.
	* testsuite/25_algorithms/unique/1.cc: Likewise.
	* testsuite/25_algorithms/unique/11480.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: Likewise.
	* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc:
	Likewise.
	* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc:
	Likewise.
	* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc:
	Likewise.
	* testsuite/ext/concept_checks.cc: Likewise.
	* testsuite/ext/is_heap/47709.cc: Likewise.
	* testsuite/ext/is_sorted/cxx0x.cc: Likewise.

2024-11-14  Jason Merrill  <jason@redhat.com>

	* include/precompiled/stdc++.h: <coroutine> is C++20.

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h (operator+): Add constraint to
	move_iterator operator.
	* testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h (__normal_iterator): Replace
	enable_if constraint with requires-clause.

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h: Make use of feature test macros
	more consistent. Improve doxygen comments.

2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117560
	* include/bits/fs_dir.h (enable_borrowed_range, enable_view):
	Define specializations for directory iterators, as per LWG 3480.
	* testsuite/27_io/filesystem/iterators/lwg3480.cc: New test.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Document removal of nested types
	from std::hash specializations.
	* doc/html/manual/api.html: Regenerate.
	* include/bits/functional_hash.h (__hash_base): Remove
	deprecated nested types for C++20.
	(__hash_empty_base): Define new class template.
	(__is_hash_enabled_for): Define new variable template.
	(__poison_hash): Remove.
	(__hash_not_enabled): Define new class template.
	(__hash_enum): Remove partial specialization for non-enums.
	(hash): Derive from __hash_not_enabled for non-enums, instead of
	__hash_enum.
	* include/bits/unique_ptr.h (__uniq_ptr_hash): Derive from
	__hash_base. Conditionally derive from __hash_empty_base.
	(__uniq_ptr_hash<>): Remove disabled specialization.
	(hash): Do not derive from __hash_base unconditionally.
	Conditionally derive from either __uniq_ptr_hash or
	__hash_not_enabled.
	* include/std/optional (__optional_hash_call_base): Remove.
	(__optional_hash): Define new class template.
	(hash): Derive from either
	(hash): Conditionally derive from either __optional_hash or
	__hash_not_enabled. Remove nested typedefs.
	* include/std/variant (_Base_dedup): Replace __poison_hash with
	__hash_empty_base.
	(__variant_hash_call_base_impl): Remove.
	(__variant_hash): Define new class template.
	(hash): Conditionally derive from either __variant_hash or
	__hash_not_enabled. Remove nested typedefs.
	* testsuite/20_util/optional/hash.cc: Check whether nested types
	are present.
	* testsuite/20_util/variant/hash.cc: Likewise.
	* testsuite/20_util/optional/hash_abi.cc: New test.
	* testsuite/20_util/unique_ptr/hash/abi.cc: New test.
	* testsuite/20_util/unique_ptr/hash/types.cc: New test.
	* testsuite/20_util/variant/hash_abi.cc: New test.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (__location_type): New struct.
	(_M_locate): New member function.
	(_M_find_before_node(const key_type&)): Remove.
	(_M_find_node): Move variable initialization into condition.
	(_M_find_node_tr): Likewise.
	(operator=(initializer_list<T>), try_emplace, _M_reinsert_node)
	(_M_merge_unique, find, erase(const key_type&)): Use _M_locate
	for lookup.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_M_merge_unique): Add overload for
	merging from same type.
	(_M_merge_unique<Compatible>): Simplify size tracking. Add
	comment.
	(_M_merge_multi): Add overload for merging from same type.
	(_M_merge_multi<Compatible>): Add comment.
	* include/bits/unordered_map.h (unordered_map::merge): Check for
	self-merge in the lvalue overload. Call _M_merge_unique directly
	for the rvalue overload.
	(unordered_multimap::merge): Likewise.
	* include/bits/unordered_set.h (unordered_set::merge): Likewise.
	(unordered_multiset::merge): Likewise.
	* testsuite/23_containers/unordered_map/modifiers/merge.cc:
	Add more tests.
	* testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/modifiers/merge.cc:
	Likewise.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_Hashtable_base::_S_equals):
	Remove.
	(_Hashtable_base::_S_node_equals): Remove.
	(_Hashtable_base::_M_key_equals_tr): Fix inaccurate
	static_assert string.
	(_Hashtable_base::_M_equals, _Hashtable_base::_M_equals_tr): Use
	'if constexpr' instead of _S_equals.
	(_Hashtable_base::_M_node_equals): Use 'if constexpr' instead of
	_S_node_equals.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable): Remove _Equality base
	class.
	(_Hashtable::_M_equal): Define equality comparison here instead
	of in _Equality::_M_equal.
	* include/bits/hashtable_policy.h (_Equality): Remove.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable): Remove inheritance from
	__detail::_Insert and move its members into _Hashtable.
	* include/bits/hashtable_policy.h (__detail::_Insert): Remove.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (operator=(const _Hashtable&)): Use
	RAII instead of try-catch.
	(_M_assign(_Ht&&, _NodeGenerator&)): Likewise.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable::__fwd_value_for):
	Remove.
	(_Hashtable::_M_assign): Use static_cast instead of
	__fwd_value_for.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable): Remove typedefs for
	node generators.
	(_Hashtable::_M_assign(_Ht&&)): Add new overload.
	(_Hashtable::operator=(initializer_list<value_type>)): Add local
	typedef for node generator.
	(_Hashtable::_M_assign_elements): Likewise.
	(_Hashtable::operator=(const _Hashtable&)): Use new _M_assign
	overload.
	(_Hashtable(const _Hashtable&)): Likewise.
	(_Hashtable(const _Hashtable&, const allocator_type&)):
	Likewise.
	(_Hashtable(_Hashtable&&, __node_alloc_type&&, false_type)):
	Likewise.
	* include/bits/hashtable_policy.h (_Insert): Remove typedef for
	node generator.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable::_M_erase): Remove
	overloads for erasing by key, moving logic to ...
	(_Hashtable::erase): ... here.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115285
	* include/bits/hashtable.h (_Hashtable::_M_emplace): Replace
	with _M_emplace_uniq and _M_emplace_multi.
	(_Hashtable::_S_forward_key, _Hashtable::_M_insert_unique)
	(_Hashtable::_M_insert_unique_aux, _Hashtable::_M_insert):
	Remove.
	* include/bits/hashtable_policy.h (_ConvertToValueType):
	Remove.
	(_Insert_base::_M_insert_range): Remove overload for unique keys
	and rename overload for non-unique keys to ...
	(_Insert_base::_M_insert_range_multi): ... this.
	(_Insert_base::insert): Call _M_emplace_uniq or _M_emplace_multi
	instead of _M_insert.  Add insert overloads from _Insert.
	(_Insert_base): Rename to _Insert.
	(_Insert): Remove
	* testsuite/23_containers/unordered_map/96088.cc: Adjust
	expected number of allocations.
	* testsuite/23_containers/unordered_set/96088.cc: Likewise.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_ReuseOrAllocNode::operator()):
	Replace parameter pack with a single parameter. Assign to
	existing value when possible.
	* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
	Adjust expected count of operations.
	* testsuite/23_containers/unordered_set/allocator/move_assign.cc:
	Likewise.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (operator=(initializer_list)):
	Refactor to not use _M_insert_range.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_performance.h (time_counter): Add
	comment about times.
	(time_counter::system_time): Use correct split value.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* scripts/check_performance: Add timestamp to output file at
	start of run.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_performance.h: Use
	__gnu_cxx::__is_single_threaded instead of __gthread_active_p().

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc: Replace
	std::unary_function with result_type and argument_type typedefs.
	* testsuite/util/performance/assoc/multimap_common_type.hpp:
	Likewise.

2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/performance/20_util/memory_resource/pools.cc: Fix
	-Wunused-value warnings about unnamed std::lock_guard objects.

2024-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_conv.h (wstring_convert, wbuffer_convert):
	Adjust strings passed to exception constructors.

2024-11-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117520
	* include/std/text_encoding (aliases_view:_Iterator::operator+=):
	Fix typos that caused == to be used instead of =.
	(aliases_view::_Iterator): Fix friend declaration.
	* testsuite/std/text_encoding/members.cc: Adjust expected
	behaviour of invalid subscript. Add tests for other erroneous
	operations on iterators.

2024-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode.h (_Utf_iterator::_M_read_utf16): Add
	parentheses.

2024-11-08  Jakub Jelinek  <jakub@redhat.com>

	* libsupc++/new (::operator new, ::operator new[]): Add malloc
	attribute where missing.  Add alloc_align attribute when
	std::align_val_t is present and where it was missing.  Formatting fix.

2024-11-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable): Add 'inline' to some
	one-line constructors.

2024-11-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_Insert_base::try_emplace):
	Do not define for C++11 and C++14.
	* include/debug/map.h (try_emplace): Use feature test macro.
	* include/debug/unordered_map (try_emplace): Likewise.
	* testsuite/17_intro/names.cc: Define try_emplace before C++17.

2024-11-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (__distance_fw): Replace tag
	dispatching with 'if constexpr'.

2024-11-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_M_insert_unique_node): Improve
	comment.

2024-11-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115285
	* include/bits/hashtable.h (_Hashtable::_S_forward_key): Remove.
	(_Hashtable::_M_insert_unique_aux): Replace _S_forward_key with
	a static_cast to a type defined using conditional_t.
	(_Hashtable::_M_insert): Replace _ConvertToValueType with a
	static_cast to a type defined using conditional_t.
	* include/bits/hashtable_policy.h (_ConvertToValueType): Remove.
	* testsuite/23_containers/unordered_map/insert/115285.cc: New test.
	* testsuite/23_containers/unordered_set/insert/115285.cc: New test.
	* testsuite/23_containers/unordered_set/96088.cc: Adjust
	expected number of allocations.

2024-11-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_pair.h (__is_pair): Define for C++11 and
	C++14 as well.

2024-11-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable): Fix comment grammar.

2024-11-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h: Add is_permutation to comment.
	* include/bits/hashtable_policy.h: Remove it from comment.

2024-11-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h: Fix spelling in comment.

2024-11-06  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Document deprecations.
	* doc/html/*: Regenerate.
	* include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move
	include guard to start of file. Include <complex> directly
	instead of <ccomplex>.
	* include/c_compatibility/tgmath.h: Include <cmath> and
	<complex> directly, instead of <ctgmath>.
	* include/c_global/ccomplex: Add deprecated #warning for C++17
	and #error for C++20 if _GLIBCXX_USE_DEPRECATED == 0.
	* include/c_global/ciso646: Likewise.
	* include/c_global/cstdalign: Likewise.
	* include/c_global/cstdbool: Likewise.
	* include/c_global/ctgmath: Likewise.
	* include/c_std/ciso646: Likewise.
	* include/precompiled/stdc++.h: Do not include ccomplex,
	ciso646, cstdalign, cstdbool, or ctgmath in C++17 and later.
	* testsuite/18_support/headers/cstdalign/macros.cc: Check for
	warnings and errors for unsupported dialects.
	* testsuite/18_support/headers/cstdbool/macros.cc: Likewise.
	* testsuite/26_numerics/headers/ctgmath/complex.cc: Likewise.
	* testsuite/27_io/objects/char/1.cc: Do not include <ciso646>.
	* testsuite/27_io/objects/wchar_t/1.cc: Likewise.
	* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Removed.
	* testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Removed.
	* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Removed.
	* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Removed.
	* testsuite/18_support/headers/ciso646/macros.cc: New test.
	* testsuite/18_support/headers/ciso646/macros.h.cc: New test.
	* testsuite/18_support/headers/cstdbool/macros.h.cc: New test.
	* testsuite/26_numerics/headers/ccomplex/complex.cc: New test.
	* testsuite/26_numerics/headers/ccomplex/complex.h.cc: New test.
	* testsuite/26_numerics/headers/ctgmath/complex.h.cc: New test.
	* testsuite/18_support/headers/cstdalign/macros.h.cc: New file.

2024-11-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move
	include guard to start of the header.
	* include/c_global/ctgmath (_GLIBCXX_CTGMATH): Likewise.

2024-11-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_base.h (__shared_ptr_deref): New
	function template.
	(__shared_ptr_access, __shared_ptr_access<>): Use it.

2024-11-06  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_dir.cc (fs::directory_iterator::operator*): Use
	shared_ptr::operator* instead of shared_ptr::operator->.
	(fs::recursive_directory_iterator::options): Likewise.
	(fs::recursive_directory_iterator::depth): Likewise.
	(fs::recursive_directory_iterator::recursion_pending): Likewise.
	(fs::recursive_directory_iterator::operator*): Likewise.
	(fs::recursive_directory_iterator::disable_recursion_pending):
	Likewise.

2024-11-04  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR testsuite/113710
	PR c++/113814
	* include/bits/stl_pair.h: Remove workaround.

2024-11-04  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/117406
	* testsuite/26_numerics/headers/cmath/117406.cc: Use
	std::numeric_limits<int>::max() instead of INT_MAX.

2024-11-02  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/117406
	* include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16),
	std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)):
	Don't cast __builtin_* return to _Float16.
	(std::ilogb(__gnu_cxx::__bfloat16_t),
	std::llrint(__gnu_cxx::__bfloat16_t),
	std::llround(__gnu_cxx::__bfloat16_t),
	std::lrint(__gnu_cxx::__bfloat16_t),
	std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to
	__gnu_cxx::__bfloat16_t.
	* testsuite/26_numerics/headers/cmath/117406.cc: New test.

2024-11-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unordered_map.h: Check __glibcxx_node_extract and
	__glibcxx_unordered_map_try_emplace instead of __cplusplus.
	* include/bits/unordered_set.h: Check __glibcxx_node_extract
	instead of __cplusplus.

2024-11-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h: Improve comments.

2024-11-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111055
	* include/bits/forward_list.h
	(forward_list(from_range, R&&, const Alloc&), assign_range)
	(prepend_range, insert_range_after): Define.
	* include/bits/stl_list.h (list(from_range, R&&, const Alloc&))
	(assign_range, prepend_range, append_range, insert_range):
	Define.
	* include/debug/forward_list
	(forward_list(from_range, R&&, const Alloc&), assign_range)
	(prepend_range, insert_range_after): Define.
	* include/debug/list (list(from_range, R&&, const Alloc&))
	(assign_range, prepend_range, append_range, insert_range):
	Define.
	* testsuite/23_containers/forward_list/cons/from_range.cc: New
	test.
	* testsuite/23_containers/forward_list/modifiers/assign_range.cc:
	New test.
	* testsuite/23_containers/forward_list/modifiers/insert_range_after.cc:
	New test.
	* testsuite/23_containers/forward_list/modifiers/prepend_range.cc:
	New test.
	* testsuite/23_containers/list/cons/from_range.cc: New test.
	* testsuite/23_containers/list/modifiers/append_range.cc: New
	test.
	* testsuite/23_containers/list/modifiers/assign/assign_range.cc:
	New test.
	* testsuite/23_containers/list/modifiers/insert/insert_range.cc:
	New test.
	* testsuite/23_containers/list/modifiers/prepend_range.cc: New
	test.

2024-11-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/unordered_set/pr115285.cc: Include
	missing header for std::vector.

2024-11-01  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/typeinfo: Remove whitespace in #endif

2024-10-31  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/new (operator new): Add attribute align_alloc(2) to
	overloads taking a std::align_val_t argument.
	* testsuite/18_support/new_aligned_warn.cc: New test.

2024-10-30  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/vector/cons/from_range.cc: Fix copy &
	paste error in comment.
	* testsuite/23_containers/vector/modifiers/append_range.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/assign/assign_range.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/insert/insert_range.cc:
	Likewise.

2024-10-30  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/using_exceptions.xml: Fix typos and grammatical
	errors.
	* doc/html/manual/using_exceptions.html: Regenerate.

2024-10-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/c++config (_GLIBCXX_DOUBLE_IS_IEEE_BINARY32):
	Define.
	(_GLIBCXX_LDOUBLE_IS_IEEE_BINARY64): Define.
	(_GLIBCXX_LDOUBLE_IS_IEEE_BINARY32): Define.
	* include/bits/cpp_type_traits.h (__memcpyable): Define
	specializations when double and long double are compatible.

2024-10-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cpp_type_traits.h (__memcpyable): Add
	specializations for compatible floating-point types.

2024-10-29  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112641
	* include/std/ranges (drop_view::begin): Reimplement const
	overload so that it's O(1) always.
	* testsuite/std/ranges/adaptors/drop.cc (test10): New test.

2024-10-29  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/117321
	* include/c_global/cmath (nextafter(_Float16, _Float16)): Use
	if consteval rather than if (std::__is_constant_evaluated()) around
	the __builtin_nextafterf16 call.
	(nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use
	if consteval rather than if (std::__is_constant_evaluated()) around
	the __builtin_nextafterf16b call.
	* testsuite/26_numerics/headers/cmath/117321.cc: New test.

2024-10-28  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/vector/bool/cons/from_range.cc: Use
	dg-do run instead of compile.
	(test_ranges): Use do_test instead of do_test_a for rvalue
	range.
	(test_constexpr): Call function template instead of just
	instantiating it.
	* testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc:
	Use dg-do run instead of compile.
	(do_test): Use same test logic for vector<bool> as for primary
	template.
	(test_constexpr): Call function template instead of just
	instantiating it.
	* testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc:
	Use dg-do run instead of compile.
	(test_ranges): Use do_test instead of do_test_a for rvalue
	range.
	(test_constexpr): Call function template instead of just
	instantiating it.
	* testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc:
	Use dg-do run instead of compile.
	(do_test): Fix incorrect function arguments to match intended
	results.
	(test_ranges): Use do_test instead of do_test_a for rvalue
	range.
	(test_constexpr): Call function template instead of just
	instantiating it.
	* testsuite/23_containers/vector/cons/from_range.cc: Use dg-do
	run instead of compile.
	(test_ranges): Fix ill-formed call to do_test.
	(test_constexpr): Call function template instead of just
	instantiating it.
	* testsuite/23_containers/vector/modifiers/append_range.cc:
	Use dg-do run instead of compile.
	(test_constexpr): Likewise.
	* testsuite/23_containers/vector/modifiers/assign/assign_range.cc:
	Use dg-do run instead of compile.
	(do_test): Do not reuse input ranges.
	(test_constexpr): Call function template instead of just
	instantiating it.
	* testsuite/23_containers/vector/modifiers/insert/insert_range.cc:
	Use dg-do run instead of compile.
	(do_test): Fix incorrect function arguments to match intended
	results.
	(test_constexpr): Call function template instead of just
	instantiating it.

2024-10-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111055
	* include/bits/ranges_base.h (__container_compatible_range): New
	concept.
	* include/bits/stl_bvector.h (vector(from_range, R&&, const Alloc&))
	(assign_range, insert_range, append_range): Define.
	* include/bits/stl_uninitialized.h (__do_uninit_copy): Support
	non-common ranges.
	(__uninitialized_copy_a): Likewise.
	* include/bits/stl_vector.h (_Vector_base::_M_append_range_to):
	New function.
	(_Vector_base::_M_append_range): Likewise.
	(vector(from_range, R&&, const Alloc&), assign_range): Define.
	(append_range): Define.
	(insert_range): Declare.
	* include/debug/vector (vector(from_range, R&&, const Alloc&))
	(assign_range, insert_range, append_range): Define.
	* include/bits/vector.tcc (insert_range): Define.
	* testsuite/util/testsuite_iterators.h (input_iterator_wrapper_rval):
	New class template.
	* testsuite/23_containers/vector/bool/cons/from_range.cc: New test.
	* testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc:
	New test.
	* testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc:
	New test.
	* testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc:
	New test.
	* testsuite/23_containers/vector/cons/from_range.cc: New test.
	* testsuite/23_containers/vector/modifiers/append_range.cc: New test.
	* testsuite/23_containers/vector/modifiers/assign/assign_range.cc:
	New test.
	* testsuite/23_containers/vector/modifiers/insert/insert_range.cc:
	New test.

2024-10-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_bvector.h (emplace_back, emplace): Forward
	parameter pack to preserve value category.
	* testsuite/23_containers/vector/bool/emplace_rvalue.cc: New
	test.

2024-10-25  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc:
	Check __cpp_lib_constexpr_string.

2024-10-25  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/bits/basic_string.h: Implement the four operator+
	overloads between basic_string and (types convertible to)
	basic_string_view.
	* include/bits/version.def: Bump the feature-testing macro.
	* include/bits/version.h: Regenerate.
	* testsuite/21_strings/basic_string/operators/char/op_plus_fspath_neg.cc: New test.
	* testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: New test.
	* testsuite/21_strings/basic_string/operators/char/op_plus_string_view_compat.cc:
	New test.

2024-10-25  Jakub Jelinek  <jakub@redhat.com>

	* include/debug/debug.h: Remove trailing whitespace.
	* include/parallel/base.h: Likewise.
	* include/parallel/types.h: Likewise.
	* include/parallel/settings.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/random_number.h: Likewise.
	* include/parallel/find_selectors.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/list_partition.h: Likewise.
	* include/parallel/search.h: Likewise.
	* include/parallel/algorithmfwd.h: Likewise.
	* include/parallel/random_shuffle.h: Likewise.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/sort.h: Likewise.
	* include/parallel/algobase.h: Likewise.
	* include/parallel/numericfwd.h: Likewise.
	* include/parallel/multiway_merge.h: Likewise.
	* include/parallel/losertree.h: Likewise.
	* include/bits/basic_ios.h: Likewise.
	* include/bits/stringfwd.h: Likewise.
	* include/bits/ostream_insert.h: Likewise.
	* include/bits/stl_heap.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/stl_iterator_base_funcs.h: Likewise.
	* include/bits/valarray_before.h: Likewise.
	* include/bits/regex.h: Likewise.
	* include/bits/postypes.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/localefwd.h: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/stl_function.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/hashtable.h: Likewise.
	* include/bits/valarray_after.h: Likewise.
	* include/bits/char_traits.h: Likewise.
	* include/bits/gslice.h: Likewise.
	* include/bits/locale_facets_nonio.h: Likewise.
	* include/bits/mask_array.h: Likewise.
	* include/bits/specfun.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/bits/slice_array.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/tr1/float.h: Likewise.
	* include/tr1/functional_hash.h: Likewise.
	* include/tr1/math.h: Likewise.
	* include/tr1/hashtable_policy.h: Likewise.
	* include/tr1/stdio.h: Likewise.
	* include/tr1/complex.h: Likewise.
	* include/tr1/stdbool.h: Likewise.
	* include/tr1/stdarg.h: Likewise.
	* include/tr1/inttypes.h: Likewise.
	* include/tr1/fenv.h: Likewise.
	* include/tr1/stdlib.h: Likewise.
	* include/tr1/wchar.h: Likewise.
	* include/tr1/tgmath.h: Likewise.
	* include/tr1/limits.h: Likewise.
	* include/tr1/wctype.h: Likewise.
	* include/tr1/stdint.h: Likewise.
	* include/tr1/ctype.h: Likewise.
	* include/tr1/random.h: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/ext/debug_allocator.h: Likewise.
	* include/ext/vstring_fwd.h: Likewise.
	* include/ext/pointer.h: Likewise.
	* include/ext/pod_char_traits.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/type_traits.h: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* include/ext/atomicity.h: Likewise.
	* include/ext/concurrence.h: Likewise.
	* include/c_compatibility/wchar.h: Likewise.
	* include/c_compatibility/stdint.h: Likewise.
	* include/backward/hash_fun.h: Likewise.
	* include/backward/binders.h: Likewise.
	* include/backward/hashtable.h: Likewise.
	* include/backward/auto_ptr.h: Likewise.
	* libsupc++/eh_arm.cc: Likewise.
	* libsupc++/unwind-cxx.h: Likewise.
	* libsupc++/si_class_type_info.cc: Likewise.
	* libsupc++/vec.cc: Likewise.
	* libsupc++/class_type_info.cc: Likewise.
	* libsupc++/vmi_class_type_info.cc: Likewise.
	* libsupc++/guard_error.cc: Likewise.
	* libsupc++/bad_typeid.cc: Likewise.
	* libsupc++/eh_personality.cc: Likewise.
	* libsupc++/atexit_arm.cc: Likewise.
	* libsupc++/pmem_type_info.cc: Likewise.
	* libsupc++/vterminate.cc: Likewise.
	* libsupc++/eh_terminate.cc: Likewise.
	* libsupc++/bad_cast.cc: Likewise.
	* libsupc++/exception_ptr.h: Likewise.
	* libsupc++/eh_throw.cc: Likewise.
	* libsupc++/bad_alloc.cc: Likewise.
	* libsupc++/nested_exception.cc: Likewise.
	* libsupc++/pointer_type_info.cc: Likewise.
	* libsupc++/pbase_type_info.cc: Likewise.
	* libsupc++/bad_array_new.cc: Likewise.
	* libsupc++/pure.cc: Likewise.
	* libsupc++/eh_exception.cc: Likewise.
	* libsupc++/bad_array_length.cc: Likewise.
	* libsupc++/cxxabi.h: Likewise.
	* libsupc++/guard.cc: Likewise.
	* libsupc++/eh_catch.cc: Likewise.
	* libsupc++/cxxabi_forced.h: Likewise.
	* libsupc++/tinfo.h: Likewise.

2024-10-24  François Dumont  <frs.dumont@gmail.com>

	* testsuite/23_containers/unordered_map/96088.cc (test03): Fix increments
	value when _GLIBCXX_USE_CXX11_ABI is equal to 0.

2024-10-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/complex/ext_c++23.cc: Fix typo in macro.
	* testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
	Likewise.

2024-10-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (__throw_bad_variant_access(unsigned)):
	Define new function as inline friend, with namespace-scope
	declaration using noreturn attribute.
	(__throw_bad_variant_access(const char*)): Remove.
	(__throw_bad_variant_access(bool)): Remove.
	(visit, visit<R>): Adjust calls to __throw_bad_variant_access.

2024-10-24  Ricardo Jesus  <rjj@nvidia.com>

	* config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Replace uses
	of __builtin_shuffle with __builtin_shufflevector.
	(__aarch64_lsl_128): Move shift amount to a template parameter.
	(__aarch64_lsr_128): Move shift amount to a template parameter.
	(__aarch64_recursion): Update call sites of __aarch64_lsl_128
	and __aarch64_lsr_128.

2024-10-23  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/headers/cstdalign/macros.cc: New test.

2024-10-23  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Document that assertions are
	enabled for unoptimized builds.
	* doc/html/*: Regenerate.

2024-10-23  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Add GLIBCXX_TESTSUITE_STDS example.
	* doc/html/manual/test.html: Regenerate.

2024-10-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (assign(Iter, Iter)): Call
	std::to_address instead of __to_address.

2024-10-23  François Dumont  <frs.dumont@gmail.com>

	PR libstdc++/115285
	* include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary
	key_type instance.
	* testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation.
	Also check that mapped_type is not instantiated when there is no insertion.
	* testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional
	instanciation.
	* testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
	* testsuite/23_containers/unordered_set/96088.cc: Likewise.
	* testsuite/23_containers/unordered_set/pr115285.cc: New test case.

2024-10-22  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (concat_view::begin): Add space after
	'requires' starting a requires-clause.
	(concat_view::end): Likewise.  Refine condition for returning an
	iterator rather than default_sentinel as per LWG 4166.
	* testsuite/std/ranges/concat/1.cc (test03): Verify LWG 4166
	example.

2024-10-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (basic_string::assign): Replace
	use of __to_address with __niter_base or std::to_address as
	appropriate.
	* include/bits/ptr_traits.h (__to_address): Add comment.
	* include/bits/shared_ptr_base.h (__shared_ptr): Qualify calls
	to __to_address.
	* include/bits/stl_algo.h (find): Replace use of __to_address
	with __niter_base or std::to_address as appropriate. Only use
	either of them when the range is not empty.
	* include/bits/stl_iterator.h (__to_address): Remove overload
	for __normal_iterator.
	* include/debug/safe_iterator.h (__to_address): Remove overload
	for _Safe_iterator.
	* include/std/ranges (views::counted): Replace use of
	__to_address with std::to_address.
	* testsuite/24_iterators/normal_iterator/to_address.cc: Removed.

2024-10-21  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
	Move to ...
	* testsuite/26_numerics/headers/cmath/specfun_c++17.cc: here and
	adjust test to be valid for all -std dialects.

2024-10-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_vector.h (vector::_M_data_ptr): Remove
	non-const overloads. Always return non-const pointer.

2024-10-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117220
	* include/bits/stl_iterator.h: Move _GLIBCXX_NODISCARD
	annotations after __attribute__((__always_inline__)).

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_algobase.h (ranges::__assign_one): Remove.
	(__copy_or_move, __copy_or_move_backward): Use std::__assign_one
	instead of ranges::__assign_one.

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_algobase.h (__copy_move_a1, __copy_move_a)
	(__copy_move_backward_a1, __copy_move_backward_a, move_backward)
	(__fill_a1, __fill_a, fill, __fill_n_a, fill_n, __equal_aux):
	Add always_inline attribute to one-line forwarding functions.

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_algo.h (find): Add nodiscard.

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115444
	PR libstdc++/114817
	* include/bits/stl_algo.h (__copy_n): Remove generic overload
	and overload for random access iterators.
	(copy_n): Inline generic version of __copy_n here. Do not defer
	to std::copy for random access iterators.
	* include/bits/stl_algobase.h (__copy_move): Remove.
	(__nothrow_contiguous_iterator, __memcpyable_iterators): New
	concepts.
	(__assign_one, _GLIBCXX_TO_ADDR, _GLIBCXX_ADVANCE): New helpers.
	(__copy_move_a2): Inline __copy_move logic and conditional
	memmove optimization into the most generic overload.
	(__copy_n_a): Likewise.
	(__copy_move_backward): Remove.
	(__copy_move_backward_a2): Inline __copy_move_backward logic and
	memmove optimization into the most generic overload.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/114817.cc:
	New test.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/114817.cc:
	New test.
	* testsuite/25_algorithms/copy/114817.cc: New test.
	* testsuite/25_algorithms/copy/115444.cc: New test.
	* testsuite/25_algorithms/copy_n/114817.cc: New test.

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h (__normal_iterator): Make all
	members and overloaded operators constexpr before C++20, and add
	always_inline attribute
	(__to_address): Add nodiscard and always_inline attributes.
	(__make_move_if_noexcept_iterator): Add nodiscard
	and make unconditionally constexpr.
	(__niter_base(__normal_iterator), __niter_base(Iter)):
	Add nodiscard and always_inline attributes.
	(__niter_base(reverse_iterator), __niter_base(move_iterator))
	(__miter_base): Add inline.
	(__niter_wrap(From, To)): Add nodiscard attribute.
	(__niter_wrap(const Iter&, Iter)): Add nodiscard and
	always_inline attributes.

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/68350
	PR libstdc++/93059
	* include/bits/stl_uninitialized.h (__check_constructible)
	(_GLIBCXX_USE_ASSIGN_FOR_INIT): Remove.
	[C++98] (__unwrappable_niter): New trait.
	(__uninitialized_copy<true>): Replace use of std::copy.
	(uninitialized_copy): Fix Doxygen comments. Open-code memcpy
	optimization for C++11 and later.
	(__uninitialized_fill<true>): Replace use of std::fill.
	(uninitialized_fill): Fix Doxygen comments. Open-code memset
	optimization for C++11 and later.
	(__uninitialized_fill_n<true>): Replace use of std::fill_n.
	(uninitialized_fill_n): Fix Doxygen comments. Open-code memset
	optimization for C++11 and later.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
	Adjust expected behaviour to match what the standard specifies.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
	Adjust dg-error directives.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/89164.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/89164.cc:
	Likewise.
	* testsuite/23_containers/vector/cons/89164.cc: Likewise.
	* testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise.

2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_algobase.h (__niter_base, __niter_wrap): Move
	to ...
	* include/bits/stl_iterator.h: ... here.
	(__niter_base, __miter_base): Move all overloads to the end of
	the header.
	* testsuite/24_iterators/normal_iterator/wrapping.cc: New test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (strip_fundts_namespace): New.
	(StdExpAnyPrinter, StdExpOptionalPrinter): Use it.

2024-10-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/106676
	* include/bits/iterator_concepts.h (__cpp17_fwd_iterator): Use
	is_reference instead of is_value_reference.
	rvalue references.
	* include/std/ranges (transform_view:__iter_cat::_S_iter_cat):
	Likewise.
	(zip_transform_view::__iter_cat::_S_iter_cat): Likewise.
	(adjacent_transform_view::__iter_cat::_S_iter_cat): Likewise.
	(join_with_view::__iter_cat::_S_iter_cat): Likewise.
	* testsuite/std/ranges/adaptors/transform.cc: Check
	iterator_category when the transformation function returns an
	rvalue reference type.

2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ranges (transform_view:_Iterator): Use const F&
	to determine value_type and iterator_category of
	_Iterator<true>, as per LWG 3564.
	* testsuite/std/ranges/adaptors/transform.cc: Check value_type
	and iterator_category.

2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117135
	* config/locale/generic/time_members.cc
	(__timepunct<wchar_t>::_M_initialize_timepunc): Set
	_M_date_time_format for C locale. Set %Ex formats to the same
	values as the %x formats.

2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (constrained_equality): Bump value.
	* include/bits/version.h: Regenerate.
	* include/std/expected (operator==): Add constraints and
	noexcept specifiers.
	* testsuite/20_util/optional/relops/constrained.cc: Adjust
	check for feature test macro.
	* testsuite/20_util/pair/comparison_operators/constrained.cc:
	Likewise.
	* testsuite/20_util/tuple/comparison_operators/constrained.cc:
	Likewise.
	* testsuite/20_util/variant/relops/constrained.cc: Likewise.
	* testsuite/20_util/expected/equality_constrained.cc: New test.

2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117094
	* include/bits/ranges_algobase.h (__fill_fn): Use std::move for
	iterator that might not be copyable.
	* testsuite/25_algorithms/fill/constrained.cc: Check
	non-copyable iterator with sized sentinel.

2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/93059
	* include/bits/stl_algobase.h (__fill_a1(T*, T*, const T&)):
	Change template parameters and enable_if condition to allow the
	fill value to be an integer.

2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/93059
	* include/bits/cpp_type_traits.h (__memcpyable): Add partial
	specialization for pointers to distinct types.
	(__memcpyable_integer): New trait to control which types can use
	cross-type memcpy optimizations.

2024-10-13  Sam James  <sam@gentoo.org>

	* testsuite/17_intro/names_fortify.cc: Undefine _FORTIFY_SOURCE.

2024-10-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117121
	* include/bits/ranges_algobase.h (copy_backward): Decrement
	output iterator before assigning one element through it.
	* testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's
	effects are correct for a single memcpyable element.
	* testsuite/25_algorithms/copy_backward/108846.cc: Likewise.
	* testsuite/25_algorithms/copy_n/108846.cc: Likewise.

2024-10-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h (__niter_base(move_iterator<I>))
	(__is_move_iterator, __miter_base, _GLIBCXX_MAKE_MOVE_ITERATOR)
	(_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Move earlier in the
	file.

2024-10-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cpp_type_traits.h (__is_byte<byte>): Guard with
	__glibcxx_byte macro instead of checking __cplusplus.

2024-10-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117085
	* include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L
	option to format string.
	* testsuite/std/time/format.cc: Move to...
	* testsuite/std/time/format/format.cc: ...here.
	* testsuite/std/time/format_localized.cc: Move to...
	* testsuite/std/time/format/localized.cc: ...here.
	* testsuite/std/time/format/pr117085.cc: New test.

2024-10-11  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/22_locale/time_get/get/char/5.cc: Fix dg-do
	directive.
	* testsuite/22_locale/time_get/get/wchar_t/5.cc: Likewise.

2024-10-11  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/duration/io.cc [!__cpp_lib_char8_t]: Define
	char8_t as a typedef for unsigned char.
	* testsuite/std/format/parse_ctx_neg.cc: Skip for -fno-char8_t.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116210
	* testsuite/17_intro/names.cc (sz): Undef for versions of Glibc
	that use it in the fortify wrappers.
	* testsuite/17_intro/names_fortify.cc: New test.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116969
	* include/bits/locale_facets_nonio.tcc (money_put::__do_put):
	Remove diagnostic pragmas.
	(__glibcxx_snprintfibm128): Declare type manually, instead of
	using __typeof__(__builtin_snprintf).

2024-10-09  Frank Scheiner  <frank.scheiner@web.de>

	* testsuite/17_intro/names.cc [__linux__ && __ia64__]: Undefine
	'u' as used in glibc headers.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116992
	* include/bits/semaphore_base.h (_GLIBCXX_USE_POSIX_SEMAPHORE):
	Undefine and issue a warning if POSIX sem_t is not supported.
	* testsuite/30_threads/semaphore/platform_try_acquire_for.cc:
	Prune new warning.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116991
	* include/std/complex (__complex_acos): Cast literal to
	destination type.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/latch (latch::count_down): Add assertions for
	preconditions. Cast parameter to avoid -Wsign-compare on some
	targets.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112808
	* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document
	implicit definition for -O0 compilation.
	(_GLIBCXX_NO_ASSERTIONS): Document.
	* doc/html/manual/using_macros.html: Regenerate.
	* include/bits/c++config [!__OPTIMIZE__] (_GLIBCXX_ASSERTIONS):
	Define for unoptimized builds.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/61458
	* doc/doxygen/user.cfg.in (GENERATE_BUGLIST): Set to NO.
	* include/std/type_traits (__aligned_storage_msa): Remove.
	(__aligned_storage_max_align_t): New struct.
	(__aligned_storage_default_alignment): New function.
	(aligned_storage): Use __aligned_storage_default_alignment for
	default alignment. Replace union with a struct containing an
	aligned buffer. Improve Doxygen comment.
	(aligned_storage_t): Use __aligned_storage_default_alignment for
	default alignment.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_base.h: Remove cv-qualifiers from
	type managed by _Sp_counted_ptr_inplace, as per LWG 3210.
	* include/bits/stl_construct.h: Do not cast away cv-qualifiers
	when passing pointer to placement new.
	* include/std/expected: Use remove_cv_t for union member, as per
	LWG 3891.
	* testsuite/20_util/allocator/void.cc: Do not test construction
	via const pointer.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_construct.h (construct_at): Support array
	types (LWG 3436).
	* testsuite/20_util/specialized_algorithms/construct_at/array.cc:
	New test.
	* testsuite/20_util/specialized_algorithms/construct_at/array_neg.cc:
	New test.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_c): Add
	[[unlikely]] attribute to condition for missing %c format in
	locale. Use %T instead of %H:%M:%S in fallback.

2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116755
	* include/bits/chrono_io.h (operator<<): Use +d.count() for
	duration inserter.
	(__formatter_chrono::_M_format): Likewise for %Q format.
	* testsuite/20_util/duration/io.cc: Test durations with
	character types as reps.

2024-10-08  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/unicode.h (std::__unicode::__v15_1_0): Rename inline
	namespace to ...
	(std::__unicode::__v16_0_0): ... this.
	(_GLIBCXX_GET_UNICODE_DATA): Change from 150100 to 160000.
	* include/bits/unicode-data.h: Regenerated.
	* testsuite/ext/unicode/properties.cc: Check for _Gcb_SpacingMark
	on U+11F03 rather than U+1D16D as the latter lost SpacingMark property
	in Unicode 16.0.

2024-10-05  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/bits/version.def: Added the feature-testing macro.
	* include/bits/version.h: Regenerated.
	* include/std/type_traits: Add support for
	std::is_virtual_base_of and std::is_virtual_base_of_v,
	implemented in terms of the compiler builtin.
	* testsuite/20_util/is_virtual_base_of/value.cc: New test.

2024-10-05  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_base.h (__distance_fn::operator()):
	Adjust iterator/sentinel overloads as per LWG 3664.
	* testsuite/24_iterators/range_operations/distance.cc:
	Test LWG 3664 example.

2024-10-04  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (single_view::empty): Define as per LWG 4035.
	(iota_view::empty): Define as per LWG 4001.
	(lazy_split_view::_OuterIter::value_type): Remove default
	constructor and make other constructor private as per LWG 4013.
	(common_view::begin): Disable non-const overload for simple
	views as per LWG 4012.
	(common_view::end): Likewise.
	(adjacent_view::base): Define as per LWG 3848.
	(adjacent_transform_view::base): Likewise.
	(chunk_view::_InnerIter::iter_move): Define as per LWG 3851.
	(chunk_view::_InnerIter::itep_swap): Likewise.
	(slide_view::base): Define as per LWG 3848.
	(repeat_view): Adjust deduction guide as per LWG 4053.
	(_Repeat::operator()): Adjust single-parameter overload as per
	LWG 4054.
	* testsuite/std/ranges/adaptors/adjacent/1.cc: Verify existence
	of base member function.
	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk/1.cc: Test LWG 3851 example.
	* testsuite/std/ranges/adaptors/slide/1.cc: Verify existence of
	base member function.
	* testsuite/std/ranges/iota/iota_view.cc: Test LWG 4001 example.
	* testsuite/std/ranges/repeat/1.cc: Test LWG 4053/4054 examples.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	* include/parallel/algobase.h (search): Use sequential algorithm
	for constant evaluation.
	* include/parallel/algorithmfwd.h (search): Add
	_GLIBCXX20_CONSTEXPR.
	* include/parallel/multiway_merge.h: Remove stray semi-colon.
	* include/parallel/multiseq_selection.h: Add diagnostic pragmas
	for -Wlong-long warning.
	* include/parallel/quicksort.h: Likewise.
	* include/parallel/random_number.h: Likewise.
	* include/parallel/settings.h: Likewise.
	* include/parallel/workstealing.h: Replace ++ and -- on volatile
	variables.
	* testsuite/17_intro/names.cc: Skip names defined by
	<tr1/random>.
	* testsuite/20_util/pair/dangling_ref.cc: Skip test if Parallel
	Mode is enabled.
	* testsuite/20_util/tuple/dangling_ref.cc: Likewise.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116964
	* include/std/shared_mutex (__shared_mutex_cv): Use [this] for
	lambda captures.
	(shared_timed_mutex) [!_GLIBCXX_USE_PTHREAD_RWLOCK_T]: Likewise.

2024-10-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode.h (__unicode::__is_incb_linker): Use
	_GLIBCXX_STD_A namespace for std::find.

2024-10-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116944
	* include/parallel/base.h: Move diagnostic pragmas earlier.

2024-10-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_facets_nonio.tcc (money_put::__do_get):
	Ignore -Wformat warning for __ibm128 arguments.
	* include/tr1/tuple (ignore): Ignore -Wunused warning.

2024-10-03  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_NodeBuilder<>::_S_build): Remove
	const qualification on _NodeGenerator instance.
	(_ReuseOrAllocNode<>::operator()(_Args&&...)): Remove const qualification.
	(_ReuseOrAllocNode<>::_M_nodes): Remove mutable.
	(_Insert_base<>::_M_insert_range): Remove _NodeGetter const qualification.
	(_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)):
	Simplify noexcept declaration, we already static_assert that _RangeHash functor
	is noexcept.
	* include/bits/hashtable.h: Rework comments. Remove const qualifier on
	_NodeGenerator& arguments.

2024-10-02  Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/dragonfly/time_members.cc
	(__timepunct<char>::_M_initialize_timepunc)
	(__timepunct<wchar_t>::_M_initialize_timepunc): Set
	_M_date_time_format for C locale. Set %Ex formats to the same
	values as the %x formats.
	* config/locale/generic/time_members.cc: Likewise.
	* config/locale/gnu/time_members.cc: Likewise.
	* testsuite/22_locale/time_get/get/char/5.cc: New test.
	* testsuite/22_locale/time_get/get/wchar_t/5.cc: New test.

2024-10-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__detail::__use_floor): New
	function.
	(__detail::__round): New function.
	(from_stream): Use __detail::__round.
	* testsuite/std/time/clock/file/io.cc: Check for expected
	rounding in parse.
	* testsuite/std/time/clock/gps/io.cc: Likewise.

2024-10-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/postypes.h: Fix -Wlong-long warning.

2024-10-01  Hans-Peter Nilsson  <hp@axis.com>

	PR libstdc++/116895
	* config/os/newlib/ctype_base.h: Avoid signed-overflow warnings by
	explicitly casting initializer expressions to mask.

2024-09-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/istream.tcc: Add diagnostic pragmas around uses
	of long long and extern template.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
	Likewise.
	* include/ext/pointer.h: Likewise.
	* include/ext/stdio_sync_filebuf.h: Likewise.
	* include/std/istream: Likewise.
	* include/std/ostream: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/functional_hash.h: Likewise. Remove semi-colons
	at namespace scope that aren't needed after macro expansion.
	* include/tr1/tuple: Remove semi-colon at namespace scope.
	* include/bits/vector.tcc: Change LL suffix to just L.

2024-09-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/bits/fs_path.h (path::_Cvt): Refactor to
	use if-constexpr.
	(path::string(const Allocator&)): Likewise.

2024-09-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.tcc (resize_for_overwrite): Fix
	-Wsign-compare warning.
	* include/bits/cow_string.h (resize_for_overwrite): Likewise.

2024-09-27  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/bind/dangling_ref.cc: Add an additional
	dg-warning for -Wreturn-local-addr warning.
	* testsuite/30_threads/packaged_task/cons/dangling_ref.cc:
	Likewise.

2024-09-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_base.h (__atomic_base<T*>::_M_type_size):
	Replace overloaded functions with static _S_type_size.
	* include/std/atomic (atomic<T*>): Use is_object_v instead of
	is_object.
	* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
	Add dg-warning for -Wpointer-arith warning.

2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cow_string.h (__resize_for_overwrite): Add
	inline keyword to function with always_inline attribute.

2024-09-26  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR libstdc++/115126
	* include/bits/shared_ptr.h (std::__is_shared_ptr): Remove
	unnecessary 'static'.
	* include/bits/unique_ptr.h (std::__is_unique_ptr): Likewise.
	* include/std/future (std::__create_task_state): Likewise.
	* include/std/shared_mutex (_GLIBCXX_GTRHW): Likewise.
	(__glibcxx_rwlock_init): Likewise.
	(__glibcxx_rwlock_timedrdlock): Likewise.
	(__glibcxx_rwlock_timedwrlock): Likewise.
	(__glibcxx_rwlock_rdlock): Likewise.
	(__glibcxx_rwlock_tryrdlock): Likewise.
	(__glibcxx_rwlock_wrlock): Likewise.
	(__glibcxx_rwlock_trywrlock): Likewise.
	(__glibcxx_rwlock_unlock): Likewise.
	(__glibcxx_rwlock_destroy): Likewise.
	(__glibcxx_rwlock_init): Likewise.
	* include/pstl/algorithm_impl.h
	(__pstl::__internal::__set_algo_cut_off): Mark inline.
	* include/pstl/unseq_backend_simd.h
	(__pstl::__unseq_backend::__lane_size): Mark inline.

2024-09-26  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/116859
	* config/os/bsd/freebsd/os_defines.h
	(_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC,
	_GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): Avoid
	-Wexpansion-to-defined warnings.
	* config/os/bsd/dragonfly/os_defines.h
	(_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Likewise.

2024-09-26  Jonathan Wakely  <jwakely@redhat.com>
	    Andrew Waterman  <andrew@sifive.com>

	PR libstdc++/113578
	* include/std/ostream (_S_cast_flt): New static member function
	to restore signbit after casting to double or long double.
	(operator<<(float), operator<<(_Float16), operator<<(_Float32))
	(operator<<(_Float64), operator(_Float128))
	(operator<<(__bfloat16_t)): Use _S_cast_flt.
	testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc:
	New test.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: New file.

2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_istringstream/cons/2020.cc: Fix comment
	referring to basic_filebuf.
	* testsuite/27_io/basic_istringstream/requirements/base_classes.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/requirements/base_classes.cc:
	Likewise.
	* testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc:
	Likewise.
	* testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc:
	Likewise.
	* testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_stringstream/requirements/base_classes.cc:
	Likewise.

2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_ios.h (basic_ios::operator bool()):
	Add [[nodiscard]] attribute.
	(basic_ios::operator!(), basic_ios::rdstate())
	(basic_ios::good(), basic_ios::eof(), basic_ios::fail())
	(basic_ios::bad(), basic_ios::exceptions(), basic_ios::tie())
	(basic_ios::rdbuf(), basic_ios::fill()): Likewise.
	* include/bits/ios_base.h (ios_base::flags()): Likewise.
	(ios_base::precision(), ios_base::width(), ios_base::getloc()):
	Likewise.
	* include/std/fstream (basic_filebuf::is_open)
	(basic_ifstream::rdbuf(), basic_ifstream::is_open)
	(basic_ofstream::rdbuf(), basic_ofstream::is_open)
	(basic_fstream::rdbuf(), basic_fstream::is_open): Likewise.
	* include/std/spanstream (basic_spanbuf::span())
	(basic_ispanstream::span(), basic_ispanstream::rdbuf())
	(basic_ospanstream::span(), basic_ospanstream::rdbuf())
	(basic_spanstream::span(), basic_spanstream::rdbuf()):
	Likewise.
	* include/std/sstream (basic_stringbuf::str())
	(basic_istringstream::rdbuf(), basic_istringstream::str())
	(basic_ostringstream::rdbuf(), basic_ostringstream::str())
	(basic_stringstream::rdbuf(), basic_stringstream::str()):
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
	Suppress -Wunused-result warnings.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
	Likewise.

2024-09-26  Iain Sandoe  <iain@sandoe.co.uk>

	PR libstdc++/116853
	* include/bits/basic_string.h: Ignore suggest-attribute=format
	warning when using posix vsnprintf in to_string() implementations.

2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
	Do not assume allocators only throw std::bad_alloc.

2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116857
	* libsupc++/guard.cc (__cxa_guard_acquire): Remove
	_GLIBCXX_NOTHROW to match declaration in <cxxabi.h>.

2024-09-25  Sam James  <sam@gentoo.org>

	PR libstdc++/101831
	* testsuite/23_containers/array/capacity/empty.cc: Add missing brace.
	* testsuite/23_containers/array/capacity/max_size.cc: Ditto.
	* testsuite/23_containers/array/capacity/size.cc: Ditto.

2024-09-25  Jason Merrill  <jason@redhat.com>

	* acinclude.m4 (WARN_FLAGS): Remove -Wsystem-headers.
	* configure: Regenerate.
	* include/bits/algorithmfwd.h: #ifdef out #pragma GCC system_header.
	* include/bits/atomic_base.h
	* include/bits/atomic_futex.h
	* include/bits/atomic_timed_wait.h
	* include/bits/atomic_wait.h
	* include/bits/basic_ios.h
	* include/bits/basic_string.h
	* include/bits/boost_concept_check.h
	* include/bits/char_traits.h
	* include/bits/charconv.h
	* include/bits/chrono.h
	* include/bits/chrono_io.h
	* include/bits/codecvt.h
	* include/bits/concept_check.h
	* include/bits/cpp_type_traits.h
	* include/bits/elements_of.h
	* include/bits/enable_special_members.h
	* include/bits/erase_if.h
	* include/bits/forward_list.h
	* include/bits/functional_hash.h
	* include/bits/gslice.h
	* include/bits/gslice_array.h
	* include/bits/hashtable.h
	* include/bits/indirect_array.h
	* include/bits/invoke.h
	* include/bits/ios_base.h
	* include/bits/iterator_concepts.h
	* include/bits/locale_classes.h
	* include/bits/locale_facets.h
	* include/bits/locale_facets_nonio.h
	* include/bits/localefwd.h
	* include/bits/mask_array.h
	* include/bits/max_size_type.h
	* include/bits/memory_resource.h
	* include/bits/memoryfwd.h
	* include/bits/move_only_function.h
	* include/bits/node_handle.h
	* include/bits/ostream_insert.h
	* include/bits/out_ptr.h
	* include/bits/parse_numbers.h
	* include/bits/postypes.h
	* include/bits/quoted_string.h
	* include/bits/range_access.h
	* include/bits/ranges_base.h
	* include/bits/refwrap.h
	* include/bits/sat_arith.h
	* include/bits/semaphore_base.h
	* include/bits/slice_array.h
	* include/bits/std_abs.h
	* include/bits/std_function.h
	* include/bits/std_mutex.h
	* include/bits/std_thread.h
	* include/bits/stl_iterator_base_funcs.h
	* include/bits/stl_iterator_base_types.h
	* include/bits/stl_tree.h
	* include/bits/stream_iterator.h
	* include/bits/streambuf_iterator.h
	* include/bits/stringfwd.h
	* include/bits/this_thread_sleep.h
	* include/bits/unique_lock.h
	* include/bits/uses_allocator_args.h
	* include/bits/utility.h
	* include/bits/valarray_after.h
	* include/bits/valarray_array.h
	* include/bits/valarray_before.h
	* include/bits/version.h
	* include/c_compatibility/fenv.h
	* include/c_compatibility/inttypes.h
	* include/c_compatibility/stdint.h
	* include/decimal/decimal.h
	* include/experimental/bits/net.h
	* include/experimental/bits/shared_ptr.h
	* include/ext/aligned_buffer.h
	* include/ext/alloc_traits.h
	* include/ext/atomicity.h
	* include/ext/concurrence.h
	* include/ext/numeric_traits.h
	* include/ext/pod_char_traits.h
	* include/ext/pointer.h
	* include/ext/stdio_filebuf.h
	* include/ext/stdio_sync_filebuf.h
	* include/ext/string_conversions.h
	* include/ext/type_traits.h
	* include/ext/vstring.h
	* include/ext/vstring_fwd.h
	* include/ext/vstring_util.h
	* include/parallel/algorithmfwd.h
	* include/parallel/numericfwd.h
	* include/tr1/functional_hash.h
	* include/tr1/hashtable.h
	* include/tr1/random.h
	* libsupc++/exception.h
	* libsupc++/hash_bytes.h
	* include/bits/basic_ios.tcc
	* include/bits/basic_string.tcc
	* include/bits/fstream.tcc
	* include/bits/istream.tcc
	* include/bits/locale_classes.tcc
	* include/bits/locale_facets.tcc
	* include/bits/locale_facets_nonio.tcc
	* include/bits/ostream.tcc
	* include/bits/sstream.tcc
	* include/bits/streambuf.tcc
	* include/bits/string_view.tcc
	* include/bits/version.tpl
	* include/experimental/bits/string_view.tcc
	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
	* include/ext/random.tcc
	* include/ext/vstring.tcc
	* include/tr2/bool_set.tcc
	* include/tr2/dynamic_bitset.tcc
	* include/bits/c++config
	* include/c/cassert
	* include/c/cctype
	* include/c/cerrno
	* include/c/cfloat
	* include/c/ciso646
	* include/c/climits
	* include/c/clocale
	* include/c/cmath
	* include/c/csetjmp
	* include/c/csignal
	* include/c/cstdarg
	* include/c/cstddef
	* include/c/cstdio
	* include/c/cstdlib
	* include/c/cstring
	* include/c/ctime
	* include/c/cuchar
	* include/c/cwchar
	* include/c/cwctype
	* include/c_global/cassert
	* include/c_global/ccomplex
	* include/c_global/cctype
	* include/c_global/cerrno
	* include/c_global/cfenv
	* include/c_global/cfloat
	* include/c_global/cinttypes
	* include/c_global/ciso646
	* include/c_global/climits
	* include/c_global/clocale
	* include/c_global/cmath
	* include/c_global/csetjmp
	* include/c_global/csignal
	* include/c_global/cstdalign
	* include/c_global/cstdarg
	* include/c_global/cstdbool
	* include/c_global/cstddef
	* include/c_global/cstdint
	* include/c_global/cstdio
	* include/c_global/cstdlib
	* include/c_global/cstring
	* include/c_global/ctgmath
	* include/c_global/ctime
	* include/c_global/cuchar
	* include/c_global/cwchar
	* include/c_global/cwctype
	* include/c_std/cassert
	* include/c_std/cctype
	* include/c_std/cerrno
	* include/c_std/cfloat
	* include/c_std/ciso646
	* include/c_std/climits
	* include/c_std/clocale
	* include/c_std/cmath
	* include/c_std/csetjmp
	* include/c_std/csignal
	* include/c_std/cstdarg
	* include/c_std/cstddef
	* include/c_std/cstdio
	* include/c_std/cstdlib
	* include/c_std/cstring
	* include/c_std/ctime
	* include/c_std/cuchar
	* include/c_std/cwchar
	* include/c_std/cwctype
	* include/debug/array
	* include/debug/bitset
	* include/debug/deque
	* include/debug/forward_list
	* include/debug/list
	* include/debug/map
	* include/debug/set
	* include/debug/string
	* include/debug/unordered_map
	* include/debug/unordered_set
	* include/debug/vector
	* include/decimal/decimal
	* include/experimental/algorithm
	* include/experimental/any
	* include/experimental/array
	* include/experimental/buffer
	* include/experimental/chrono
	* include/experimental/contract
	* include/experimental/deque
	* include/experimental/executor
	* include/experimental/filesystem
	* include/experimental/forward_list
	* include/experimental/functional
	* include/experimental/internet
	* include/experimental/io_context
	* include/experimental/iterator
	* include/experimental/list
	* include/experimental/map
	* include/experimental/memory
	* include/experimental/memory_resource
	* include/experimental/net
	* include/experimental/netfwd
	* include/experimental/numeric
	* include/experimental/propagate_const
	* include/experimental/ratio
	* include/experimental/regex
	* include/experimental/scope
	* include/experimental/set
	* include/experimental/socket
	* include/experimental/string
	* include/experimental/string_view
	* include/experimental/synchronized_value
	* include/experimental/system_error
	* include/experimental/timer
	* include/experimental/tuple
	* include/experimental/type_traits
	* include/experimental/unordered_map
	* include/experimental/unordered_set
	* include/experimental/vector
	* include/ext/algorithm
	* include/ext/cmath
	* include/ext/functional
	* include/ext/iterator
	* include/ext/memory
	* include/ext/numeric
	* include/ext/random
	* include/ext/rb_tree
	* include/ext/rope
	* include/parallel/algorithm
	* include/std/algorithm
	* include/std/any
	* include/std/array
	* include/std/atomic
	* include/std/barrier
	* include/std/bit
	* include/std/bitset
	* include/std/charconv
	* include/std/chrono
	* include/std/codecvt
	* include/std/complex
	* include/std/concepts
	* include/std/condition_variable
	* include/std/coroutine
	* include/std/deque
	* include/std/execution
	* include/std/expected
	* include/std/filesystem
	* include/std/format
	* include/std/forward_list
	* include/std/fstream
	* include/std/functional
	* include/std/future
	* include/std/generator
	* include/std/iomanip
	* include/std/ios
	* include/std/iosfwd
	* include/std/iostream
	* include/std/istream
	* include/std/iterator
	* include/std/latch
	* include/std/limits
	* include/std/list
	* include/std/locale
	* include/std/map
	* include/std/memory
	* include/std/memory_resource
	* include/std/mutex
	* include/std/numbers
	* include/std/numeric
	* include/std/optional
	* include/std/ostream
	* include/std/print
	* include/std/queue
	* include/std/random
	* include/std/ranges
	* include/std/ratio
	* include/std/regex
	* include/std/scoped_allocator
	* include/std/semaphore
	* include/std/set
	* include/std/shared_mutex
	* include/std/span
	* include/std/spanstream
	* include/std/sstream
	* include/std/stack
	* include/std/stacktrace
	* include/std/stdexcept
	* include/std/streambuf
	* include/std/string
	* include/std/string_view
	* include/std/syncstream
	* include/std/system_error
	* include/std/text_encoding
	* include/std/thread
	* include/std/tuple
	* include/std/type_traits
	* include/std/typeindex
	* include/std/unordered_map
	* include/std/unordered_set
	* include/std/utility
	* include/std/valarray
	* include/std/variant
	* include/std/vector
	* include/std/version
	* include/tr1/array
	* include/tr1/cfenv
	* include/tr1/cinttypes
	* include/tr1/cmath
	* include/tr1/complex
	* include/tr1/cstdbool
	* include/tr1/cstdint
	* include/tr1/cstdio
	* include/tr1/cstdlib
	* include/tr1/cwchar
	* include/tr1/cwctype
	* include/tr1/functional
	* include/tr1/memory
	* include/tr1/random
	* include/tr1/regex
	* include/tr1/tuple
	* include/tr1/type_traits
	* include/tr1/unordered_map
	* include/tr1/unordered_set
	* include/tr1/utility
	* include/tr2/bool_set
	* include/tr2/dynamic_bitset
	* include/tr2/type_traits
	* libsupc++/atomic_lockfree_defines.h
	* libsupc++/compare
	* libsupc++/cxxabi.h
	* libsupc++/cxxabi_forced.h
	* libsupc++/cxxabi_init_exception.h
	* libsupc++/exception
	* libsupc++/initializer_list
	* libsupc++/new
	* libsupc++/typeinfo: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc
	* testsuite/23_containers/array/tuple_interface/get_neg.cc
	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc
	* testsuite/24_iterators/operations/prev_neg.cc
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust
	line numbers.

2024-09-25  Jason Merrill  <jason@redhat.com>

	* include/parallel/base.h: Suppress -Wdeprecated-declarations.
	* include/parallel/multiseq_selection.h: Likewise.

2024-09-24  Nathaniel Shead  <nathanieloshead@gmail.com>

	* include/std/format: Remove unnecessary 'static'.

2024-09-23  Jason Merrill  <jason@redhat.com>

	* include/bits/c++config: Don't try to disable -Wc++??-extensions
	when compiling as C.

2024-09-23  Jason Merrill  <jason@redhat.com>

	* libsupc++/new: Add _GLIBCXX_TXN_SAFE.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::__is_formattable_integer): New
	variable template and specializations.
	(template<integral, __char> struct formatter): Replace
	constraints on first arg with __is_formattable_integer.
	* testsuite/std/format/formatter/requirements.cc: Check that
	std::formatter specializations for char8_t and const int are
	disabled.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116754
	* include/bits/ranges_algobase.h (__copy_or_move): Fix order of
	arguments to __memcpyable.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116755
	* include/bits/chrono_io.h (formatter<duration<R,P>>::format):
	Cast negative integral durations to unsigned rep.
	* testsuite/20_util/duration/io.cc: Test the most negative
	integer durations.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_vector.h (operator<=>): Use constexpr
	instead of _GLIBCXX20_CONSTEXPR macro.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/exception_ptr.h (__exception_ptr::_M_safe_bool_dummy):
	Remove __attribute__((const)) from function returning void.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/cxx11-ios_failure.cc (__iosfail_type_info): Unhide
	the three-arg overload of __do_upcast.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def: Sort C++26 entries alphabetically.
	* include/bits/version.h: Regenerate.

2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/iterator_concepts.h: Add projected_value_t.
	* include/bits/algorithmfwd.h: Add the default template
	parameter to the relevant forward declarations.
	* include/pstl/glue_algorithm_defs.h: Likewise.
	* include/bits/ranges_algo.h: Add the default template
	parameter to range-based algorithms.
	* include/bits/ranges_algobase.h: Likewise.
	* include/bits/ranges_util.h: Likewise.
	* include/bits/ranges_base.h: Add helper macros.
	* include/bits/stl_iterator_base_types.h: Add helper macro.
	* include/bits/version.def: Add the new feature-testing macro.
	* include/bits/version.h: Regenerate.
	* include/std/algorithm: Pull the feature-testing macro.
	* include/std/ranges: Likewise.
	* include/std/deque: Pull the feature-testing macro, add
	the default for std::erase.
	* include/std/forward_list: Likewise.
	* include/std/list: Likewise.
	* include/std/string: Likewise.
	* include/std/vector: Likewise.
	* testsuite/23_containers/default_template_value.cc: New test.
	* testsuite/25_algorithms/default_template_value.cc: New test.

2024-09-21  Jason Merrill  <jason@redhat.com>

	* include/c_compatibility/ctype.h
	* include/c_compatibility/errno.h
	* include/c_compatibility/float.h
	* include/c_compatibility/iso646.h
	* include/c_compatibility/limits.h
	* include/c_compatibility/locale.h
	* include/c_compatibility/setjmp.h
	* include/c_compatibility/signal.h
	* include/c_compatibility/stdarg.h
	* include/c_compatibility/stdbool.h
	* include/c_compatibility/stddef.h
	* include/c_compatibility/stdio.h
	* include/c_compatibility/string.h
	* include/c_compatibility/tgmath.h
	* include/c_compatibility/time.h
	* include/c_compatibility/uchar.h
	* include/c_compatibility/wchar.h
	* include/c_compatibility/wctype.h
	* include/c_global/ccomplex
	* include/c_global/cctype
	* include/c_global/cerrno
	* include/c_global/cfloat
	* include/c_global/climits
	* include/c_global/clocale
	* include/c_global/cmath
	* include/c_global/csetjmp
	* include/c_global/csignal
	* include/c_global/cstdalign
	* include/c_global/cstdarg
	* include/c_global/cstdbool
	* include/c_global/cstdio
	* include/c_global/cstdlib
	* include/c_global/cstring
	* include/c_global/ctgmath
	* include/c_global/ctime
	* include/c_global/cwchar
	* include/c_global/cwctype: Move header guard before #includes.

2024-09-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116529
	* include/bits/unique_ptr.h (unique_ptr(auto_ptr<U>&&)):
	Use pointer instead of T*.
	* testsuite/20_util/unique_ptr/creation/116529.cc: New test.

2024-09-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116777
	* doc/xml/manual/using.xml: Document features that are not
	supported for the gcc4-compatible ABI.
	* doc/html/manual/using_dual_abi.html: Regenerate.

2024-09-19  Jason Merrill  <jason@redhat.com>

	* include/bits/algorithmfwd.h:
	* include/bits/allocator.h:
	* include/bits/codecvt.h:
	* include/bits/concept_check.h:
	* include/bits/cpp_type_traits.h:
	* include/bits/hashtable.h:
	* include/bits/iterator_concepts.h:
	* include/bits/ostream_insert.h:
	* include/bits/ranges_base.h:
	* include/bits/regex_automaton.h:
	* include/bits/std_abs.h:
	* include/bits/stl_algo.h:
	* include/c_compatibility/fenv.h:
	* include/c_compatibility/inttypes.h:
	* include/c_compatibility/stdint.h:
	* include/ext/concurrence.h:
	* include/ext/type_traits.h:
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc:
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc:
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc:
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc:
	* include/bits/basic_ios.tcc:
	* include/bits/basic_string.tcc:
	* include/bits/fstream.tcc:
	* include/bits/istream.tcc:
	* include/bits/locale_classes.tcc:
	* include/bits/locale_facets.tcc:
	* include/bits/ostream.tcc:
	* include/bits/regex_compiler.tcc:
	* include/bits/sstream.tcc:
	* include/bits/streambuf.tcc:
	* configure: Regenerate.
	* include/bits/c++config:
	* include/c/cassert:
	* include/c/cctype:
	* include/c/cerrno:
	* include/c/cfloat:
	* include/c/climits:
	* include/c/clocale:
	* include/c/cmath:
	* include/c/csetjmp:
	* include/c/csignal:
	* include/c/cstdarg:
	* include/c/cstddef:
	* include/c/cstdio:
	* include/c/cstdlib:
	* include/c/cstring:
	* include/c/ctime:
	* include/c/cwchar:
	* include/c/cwctype:
	* include/c_global/climits:
	* include/c_global/cmath:
	* include/c_global/cstddef:
	* include/c_global/cstdlib:
	* include/decimal/decimal:
	* include/ext/rope:
	* include/std/any:
	* include/std/charconv:
	* include/std/complex:
	* include/std/coroutine:
	* include/std/format:
	* include/std/iomanip:
	* include/std/limits:
	* include/std/numbers:
	* include/tr1/functional:
	* include/tr1/tuple:
	* include/tr1/type_traits:
	* libsupc++/compare:
	* libsupc++/new: Add #pragma GCC diagnostic to suppress
	undesired warnings.
	* acinclude.m4: Change -Wabi version from 2 to 19.

2024-09-18  Jason Merrill  <jason@redhat.com>

	* include/bits/basic_ios.h: Add braces.

2024-09-16  Jonathan Wakely  <jwakely@redhat.com>

	* .editorconfig: New file.
	* include/std/.editorconfig: New file.

2024-09-16  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/intro.xml: Update link to installation docs.
	* doc/html/manual/make.html: Regenerate.

2024-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/span (span::__iter_tag): Declare nested type.
	(span::iterator): Use __iter_tag as second template argument.
	* include/std/stacktrace (basic_stacktrace::iterator): Use _Impl
	as second template argument.

2024-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/using.xml (_GLIBCXX_NO_FREESTANDING_CHRONO):
	Document macro.
	* doc/html/*: Regenerate.
	* include/bits/chrono.h [_GLIBCXX_NO_FREESTANDING_CHRONO]:
	Only include <bits/require_hosted.h> when this macro is defined.
	[_GLIBCXX_HOSTED]: Only define clocks for hosted.
	* include/bits/version.def (chrono_udls): Remove hosted=yes.
	* include/bits/version.h: Regenerate.
	* include/std/chrono [_GLIBCXX_HOSTED]: Only define clocks and
	time zone utilities for hosted.
	* testsuite/std/time/freestanding.cc: New test.

2024-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_classes.h (__is_facet): New helper.
	* include/bits/locale_classes.tcc (locale::combine): Check that
	_Facet type is valid.

2024-09-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110512
	* include/pstl/execution_impl.h (__are_random_access_iterators):
	Recognize C++20 random access iterators, and use more efficient
	implementations.
	* testsuite/25_algorithms/pstl/110512.cc: New test.

2024-09-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__formatter_fp::_M_localize): Add comments
	and micro-optimize string copy.

2024-09-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/semaphore_base.h (__platform_semaphore): Refactor
	loops to all use similar forms.
	(__platform_semaphore::_M_try_acquire_until): Use chrono::ceil
	to explicitly convert to __clock_t::time_point.
	* testsuite/30_threads/semaphore/try_acquire_for.cc: Check that
	using a very high resolution timeout compiles.
	* testsuite/30_threads/semaphore/platform_try_acquire_for.cc:
	New test.

2024-09-13  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	PR libstdc++/108846
	PR libstdc++/116471
	* include/bits/ranges_algobase.h (__assign_one): New helper
	function.
	(__copy_or_move): Remove a spurious static_assert; use
	__assign_one for memcpyable ranges of length 1.
	(__copy_or_move_backward): Likewise.
	* testsuite/25_algorithms/copy/108846.cc: Extend to range-based
	algorithms, and cover both memcpyable and non-memcpyable
	cases.
	* testsuite/25_algorithms/copy_backward/108846.cc: Likewise.
	* testsuite/25_algorithms/copy_n/108846.cc: Likewise.
	* testsuite/25_algorithms/move/108846.cc: Likewise.
	* testsuite/25_algorithms/move_backward/108846.cc: Likewise.

2024-09-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (__is_bool): Remove.

2024-09-12  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/new (launder): Add static_assert and remove deleted
	overloads.
	* testsuite/18_support/launder/requirements_neg.cc: Adjust
	expected diagnostics.

2024-09-11  Alex Coplan  <alex.coplan@arm.com>

	PR libstdc++/116140
	* include/bits/stl_algobase.h (std::__find_if): Add #pragma to
	request GCC to unroll the loop.

2024-09-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116159
	* include/std/iostream (ios_base_library_init): Only define for
	ELF targets.
	* src/c++98/ios_init.cc (ios_base_library_init): Likewise.

2024-09-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116641
	* include/bits/basic_string.h (operator=(basic_string&&)): Call
	_M_assign instead of assign.
	* testsuite/21_strings/basic_string/allocator/116641.cc: New
	test.

2024-09-10  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/new_nothrow.cc (THROW_BAD_ALLOC): Define
	macro to add exception specifications for C++98 mode.
	(NOEXCEPT): Expand to throw() for C++98 mode.
	* testsuite/26_numerics/headers/numeric/synopsis.cc (gcd, lcm):
	Add noexcept.

2024-09-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (from_stream): Fix conversions in
	overloads for gps_time and tai_time.
	* testsuite/std/time/clock/file/io.cc: Test round tripping using
	chrono::parse. Add additional std::format tests.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/local/io.cc: Likewise.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.

2024-09-06  Jason Merrill  <jason@redhat.com>

	* include/bits/regex_constants.h: Add __ to attribute.

2024-09-06  Jason Merrill  <jason@redhat.com>

	* include/bits/c++config: Avoid redefining __GLIBCXX__.

2024-09-06  Jason Merrill  <jason@redhat.com>

	PR c++/46457
	PR c++/81665
	* include/bits/regex_constants.h: Use flag_enum.

2024-09-06  Jason Merrill  <jason@redhat.com>

	* include/bits/ios_base.h (_GLIBCXX_NOREPLACE_UNUSED): New.
	(_Ios_Openmode): Add unused attributes.
	* testsuite/27_io/ios_base/types/openmode/case_label.cc: Handle
	noreplace.

2024-09-03  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code&
	member and set it if CreateFileW or GetFileInformationByHandle
	fails.
	(fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify
	control flow.
	(fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec
	on success.
	* testsuite/27_io/filesystem/operations/hard_link_count.cc:
	Check error handling.

2024-09-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116549
	* include/bits/stl_iterator.h (disable_sized_sentinel_for):
	Define specialization for two move_iterator types, as per LWG
	3736.
	* testsuite/24_iterators/move_iterator/lwg3736.cc: New test.

2024-09-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/any (experimental::any::_Storage): Use
	array of unsigned char instead of deprecated
	std::aligned_storage.
	* include/std/any (any::_Storage): Likewise.
	* testsuite/20_util/any/layout.cc: New test.

2024-09-03  Dhruv Chawla  <dhruvc@nvidia.com>

	* include/std/deque: Define macro
	__glibcxx_want_allocator_traits_is_always_equal.
	* include/std/forward_list: Likewise.
	* include/std/list: Likewise.
	* include/std/map: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/set: Likewise.
	* include/std/string: Likewise.
	* include/std/unordered_map: Likewise.
	* include/std/unordered_set: Likewise.
	* include/std/vector: Likewise.
	* testsuite/20_util/headers/memory/version.cc: New test.
	* testsuite/20_util/scoped_allocator/version.cc: Likewise.
	* testsuite/21_strings/headers/string/version.cc: Likewise.
	* testsuite/23_containers/deque/version.cc: Likewise.
	* testsuite/23_containers/forward_list/version.cc: Likewise.
	* testsuite/23_containers/list/version.cc: Likewise.
	* testsuite/23_containers/map/version.cc: Likewise.
	* testsuite/23_containers/set/version.cc: Likewise.
	* testsuite/23_containers/unordered_map/version.cc: Likewise.
	* testsuite/23_containers/unordered_set/version.cc: Likewise.
	* testsuite/23_containers/vector/version.cc: Likewise.

2024-09-02  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/30_threads/future/members/poll.cc: Factor out
	calibration, and run it unconditionally.  Lower its
	strictness.  Bump wait_until_*'s slowness factor.

2024-09-02  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/91486
	* testsuite/30_threads/async/async.cc
	(test_pr91486_wait_for): Mark status as unused.
	(test_pr91486_wait_until): Likewise.  Initialize epoch later.

2024-09-02  Andreas Schwab  <schwab@suse.de>

	PR libstdc++/116513
	* libsupc++/compare (_S_fp_bits) [__fmt == _M68k_80bit]: Shift
	padding out of exponent word.

2024-08-28  Jonathan Wakely  <jwakely@redhat.com>

	* configure.ac: Fix check for O_NONBLOCK.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2024-08-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/io_context: Remove name of unused
	parameter.
	* include/experimental/socket: Add [[maybe_unused]] attribute.

2024-08-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (format_parse_context::check_dynamic_spec):
	Add [[maybe_unused]] attribute and comment.

2024-08-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ranges (to): Remove unused typedef.

2024-08-28  Kim Gräsman  <kim.grasman@gmail.com>

	* config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file
	docs.
	* config/cpu/i486/opt/ext/opt_random.h: Likewise.

2024-08-28  Kim Gräsman  <kim.grasman@gmail.com>

	* include/bits/cpp_type_traits.h: Improve doxygen file docs.

2024-08-28  Jason Merrill  <jason@redhat.com>

	* include/std/istream: Add cast to avoid -Wsign-compare.
	* include/std/stacktrace: Likewise.

2024-08-28  Jason Merrill  <jason@redhat.com>

	* testsuite/20_util/default_delete/void_neg.cc: Fix regexp quoting.

2024-08-28  Jason Merrill  <jason@redhat.com>

	* include/std/coroutine (coroutine_handle): Use nullptr instead of
	0 as initializer for _M_fr_ptr.

2024-08-28  Jason Merrill  <jason@redhat.com>

	* include/bits/stl_uninitialized.h (__uninitialized_move_copy): Add
	missing return.

2024-08-28  Jason Merrill  <jason@redhat.com>

	* include/decimal/decimal.h (_DEFINE_DECIMAL_BINARY_OP_WITH_INT):
	Remove redundant semicolons.

2024-08-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115098
	* python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Add
	comment.
	* testsuite/libstdc++-prettyprinters/simple.cc: Do not default
	construct std::vector<bool>::reference.
	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/documentation_hacking.xml: Update minimum
	Doxygen version.
	* doc/html/*: Regenerate.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/tuple: Do not include implementation details in
	Doxygen documentation.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/alloc_traits.h: Improve doxygen docs for
	allocator_traits specializations.
	* include/bits/memory_resource.h: Likewise.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (__is_derived_from_optional): New
	concept.
	(operator<=>): Use __is_derived_from_optional.
	* testsuite/20_util/optional/relops/lwg3746.cc: New test.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_classes.tcc (__try_use_facet): Also avoid
	dynamic_cast for const-qualified facet types.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108619
	* include/bits/alloc_traits.h (__allocator_traits_base): Add
	variable templates for detecting which allocator operations are
	supported.
	(allocator_traits): Use 'if constexpr' instead of dispatching to
	overloads constrained with enable_if.
	(allocator_traits<allocator<T>>::construct): Use Construct if
	construct_at is not supported. Use
	__is_nothrow_new_constructible for noexcept-specifier.
	(allocator_traits<allocator<void>>::construct): Use
	__is_nothrow_new_constructible for noexcept-specifier.
	* include/bits/new_allocator.h (construct): Likewise.
	* include/ext/malloc_allocator.h (construct): Likewise.
	* include/std/type_traits (__is_nothrow_new_constructible): New
	variable template.
	* testsuite/20_util/allocator/89510.cc: Adjust expected results.
	* testsuite/ext/malloc_allocator/89510.cc: Likewise.
	* testsuite/ext/new_allocator/89510.cc: Likewise.
	* testsuite/20_util/allocator_traits/members/108619.cc: New test.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y):
	Ignore modifiers unless the formatting locale is not the C
	locale.
	(__formatter_chrono::_M_d_e): Likewise.
	(__formatter_chrono::_M_H_I): Likewise.
	(__formatter_chrono::_M_m): Likewise.
	(__formatter_chrono::_M_M): Likewise.
	(__formatter_chrono::_M_S): Likewise.
	(__formatter_chrono::_M_u_w): Likewise.
	(__formatter_chrono::_M_U_V_W): Likewise.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115939
	* include/bits/hashtable_policy.h (_Node_iterator): Add
	operator== and operator!=.
	(_Node_const_iterator): Likewise.
	* testsuite/23_containers/unordered_map/115939.cc: New test.

2024-08-23  Giovanni Bajo  <rasky@develer.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/88935
	* include/bits/stl_algo.h (random_shuffle) [RAND_MAX < INT_MAX]:
	Use xorshift instead of rand().
	* testsuite/25_algorithms/random_shuffle/88935.cc: New test.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	PR c++/116369
	* include/debug/safe_base.h (_Safe_sequence_base::_M_iterators):
	Add mutable specifier.
	(_Safe_sequence_base::_M_const_iterators): Likewise.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/debug.cc: Replace throw() with noexcept.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant [C++20] (_Uninitialized): Always use the
	primary template.
	[C++20] (__get_n): Access the _M_storage member directly.

2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115098
	* include/bits/stl_bvector.h (_Bit_reference): Make default
	constructor private. Declare vector and bit iterators as
	friends.
	* include/std/bitset (bitset::reference): Make constructor and
	data members private.
	* testsuite/20_util/bitset/115098.cc: New test.
	* testsuite/23_containers/vector/bool/115098.cc: New test.

2024-08-22  Patrick Palka  <ppalka@redhat.com>

	* testsuite/25_algorithms/contains/1.cc: Verify value of
	__cpp_lib_ranges_contains.
	* testsuite/25_algorithms/find_last/1.cc: Verify value of
	__cpp_lib_ranges_find_last.
	* testsuite/26_numerics/iota/2.cc: Verify value of
	__cpp_lib_ranges_iota.

2024-08-22  Patrick Palka  <ppalka@redhat.com>

	* include/bits/iterator_concepts.h (__detail::__projected): Define
	an optimized partial specialization for when the projection is
	std::identity.
	* testsuite/24_iterators/indirect_callable/projected.cc: Verify the
	optimization.

2024-08-22  Patrick Palka  <ppalka@redhat.com>

	* include/bits/iterator_concepts.h (indirectly_unary_invocable):
	Relax as per P2997R1.
	(indirectly_regular_unary_invocable): Likewise.
	(indirect_unary_predicate): Likewise.
	(indirect_binary_predicate): Likewise.
	(indirect_equivalence_relation): Likewise.
	(indirect_strict_weak_order): Likewise.
	* include/bits/version.def (ranges): Update value for C++26.
	* include/bits/version.h: Regenerate.
	* testsuite/24_iterators/indirect_callable/p2997r1.cc: New test.
	* testsuite/std/ranges/version_c++23.cc: Remove.
	* testsuite/std/ranges/headers/ranges/synopsis.cc: Refine the
	__cpp_lib_ranges checks.

2024-08-22  Patrick Palka  <ppalka@redhat.com>

	* include/bits/iterator_concepts.h (__detail::__indirect_value):
	Define.
	(__indirect_value_t): Define as per P2609R3.
	(iter_common_reference_t): Adjust as per P2609R3.
	(indirectly_unary_invocable): Likewise.
	(indirectly_regular_unary_invocable): Likewise.
	(indirect_unary_predicate): Likewise.
	(indirect_binary_predicate): Likewise.
	(indirect_equivalence_relation): Likewise.
	(indirect_strict_weak_order): Likewise.
	(__detail::__projected::__type): Define member aliases
	__projected_Iter and __projected_Proj providing the
	template arguments of the current specialization.
	* include/bits/version.def (ranges): Update value.
	* include/bits/version.h: Regenerate.
	* testsuite/24_iterators/indirect_callable/p2609r3.cc: New test.
	* testsuite/std/ranges/version_c++23.cc: Update expected value
	of __cpp_lib_ranges macro.

2024-08-21  Jonathan Wakely  <jwakely@redhat.com>

	PR tree-optimization/102958
	* include/bits/char_traits.h (char_traits<char8_t>::length): Use
	strlen.

2024-08-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114862
	* src/c++98/locale_facets.cc (__num_base::_S_format_float):
	Check uppercase flag for fixed format.
	* testsuite/22_locale/num_put/put/char/lwg4084.cc: New test.

2024-08-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116381
	* include/std/variant (variant): Fix conditions for
	static_assert to match the spec.
	* testsuite/20_util/variant/types_neg.cc: New test.

2024-08-20  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional: Remove redundant redeclaration.

2024-08-20  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/text_encoding: Fix indentation.

2024-08-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115744
	* testsuite/18_support/headers/new/synopsis.cc [C++26]: Add
	constexpr to placement operator new and operator new[].

2024-08-18  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/prerequisites.xml: Remove note from the
	GCC 4.0.1 days.
	* doc/html/manual/setup.html: Regenerate.

2024-08-17  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/abi.xml: Update reference to
	gcc.gnu.org/onlinedocs.
	* doc/xml/manual/concurrency_extensions.xml (interface): Ditto.
	* doc/xml/manual/extensions.xml: Ditto.
	* doc/xml/manual/parallel_mode.xml: Ditto.
	* doc/xml/manual/shared_ptr.xml: Ditto.
	* doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC
	to GCC.
	* doc/html/manual/abi.html: Regenerate.
	* doc/html/manual/ext_concurrency_impl.html: Ditto.
	* doc/html/manual/ext_demangling.html: Ditto.
	* doc/html/manual/memory.html: Ditto.
	* doc/html/manual/parallel_mode_design.html: Ditto.
	* doc/html/manual/parallel_mode_using.html: Ditto.
	* doc/html/manual/using_exceptions.html: Ditto.

2024-08-17  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/prerequisites.xml: Tweak two links to
	installation docs. Fix grammar.
	* doc/html/manual/setup.html: Regenerate.

2024-08-16  Hans-Peter Nilsson  <hp@axis.com>

	PR libstdc++/116362
	* configure.ac: Check newlib configuration whether iconv is enabled.
	* configure: Regenerate.

2024-08-16  Hans-Peter Nilsson  <hp@axis.com>

	* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune
	uncapitalized "in function" warning from linker.

2024-08-08  Jakub Jelinek  <jakub@redhat.com>

	PR c++/115744
	* libsupc++/new (__glibcxx_want_constexpr_new): Define before
	including bits/version.h.
	(_GLIBCXX_PLACEMENT_CONSTEXPR): Define.
	(operator new, operator new[]): Use it for placement new instead
	of inline.
	* include/bits/version.def (constexpr_new): New FTM.
	* include/bits/version.h: Regenerate.

2024-08-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116247
	* include/bits/fs_path.h: Use __UINTPTR_TYPE__ instead of
	uintptr_t.
	* include/bits/shared_ptr_atomic.h: Likewise.
	* include/ext/pointer.h: Include <stdint.h>.

2024-08-03  Patrick Palka  <ppalka@redhat.com>

	* include/bits/move.h (__like_impl): New metafunction.
	(__like_t): Redefine in terms of __like_impl.
	(forward_like): Redefine in terms of __like_t.
	* testsuite/20_util/forward_like/2_neg.cc: Don't expect
	error outside the immediate context anymore.

2024-08-02  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Include
	<cstdint>.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/utility.h (__is_in_place_type): Remove.
	* include/std/variant (__is_in_place_tag): Remove.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/align.h (align, assume_aligned): Use
	__UINTPTR_TYPE__ instead of uintptr_t. Do not include
	<stdint.h>.
	* include/bits/atomic_base.h (__atomic_ref): Likewise.
	* include/bits/atomic_wait.h (__waiter_pool_base::_S_for):
	Likewise.
	* include/std/atomic: Include <cstdint>.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_base.h (__atomic_impl::compare_exchange_weak):
	Remove unused parameter.
	(__atomic_impl::compare_exchange_strong): Likewise.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113807
	* include/std/bitset (bitset::_M_is_equal()): Use memcmp to
	optimize operator==.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
	Use ARGS to limit number of iterations for simulators.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113841
	* include/bits/basic_string.h (basic_string::basic_string()):
	Constrain so that it's only present if the allocator is default
	constructible.
	* include/bits/cow_string.h (basic_string::basic_string()):
	Likewise.
	* testsuite/21_strings/basic_string/cons/113841.cc: New test.

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/99942
	* include/bits/cow_string.h (data()): Change to noexcept(false).

2024-08-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/map/operators/1_neg.cc (test01): Remove test variable
	and use 'no match' dg-error patter.
	* testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise.

2024-07-31  François Dumont  <frs.dumont@gmail.com>

	* testsuite/23_containers/map/operators/1_neg.cc (test01): Add test variable
	declaration.
	* testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/format.cc [!_GLIBCXX_HAS_GTHREADS] (mutex): Define
	dummy mutex type.
	* testsuite/std/time/format_localized.cc: Use loop variable
	instead of creating the same locale on every iteration.

2024-07-31  Sam James  <sam@gentoo.org>

	* testsuite/28_regex/traits/char/translate.cc: Drop bogus 'dg_do run'.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/system_error.cc (strerror_string): Handle
	non-conforming NULL return from strerror.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
	Only append "@euro" to ".ISO8859-15" locales for Glibc.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (format): Update value for C++26.
	* include/bits/version.h: Regenerate.
	* include/std/format (runtime_format, wruntime_format): Check
	__cpp_lib_format instead of __cplusplus.
	* testsuite/std/format/functions/format.cc: Update expected
	value of macro for C++26 mode.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110356
	* include/bits/c++config (_GLIBCXX26_DEPRECATED): Define.
	(_GLIBCXX26_DEPRECATED_SUGGEST): Define.
	* include/bits/version.def (format): Update for C++26.
	* include/bits/version.h: Regenerate.
	* include/std/format (basic_format_arg::visit): New member
	functions.
	(visit_format_arg): Add deprecated attribute.
	* testsuite/std/format/arguments/args.cc: Expect deprecated
	warnings. Check member visit.
	* testsuite/std/format/functions/format.cc: Update expected
	value for __cpp_lib_format macro.
	* testsuite/std/format/parse_ctx.cc: Add dg-warning for
	deprecation.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110356
	* include/bits/version.def (variant): Update for C++26.
	* include/bits/version.h: Regenerate.
	* include/std/variant (variant::visit): New member functions.
	* testsuite/20_util/variant/visit.cc: Check second alternative.
	* testsuite/20_util/variant/visit_member.cc: New test.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115776
	* include/bits/version.def (format): Update for C++26.
	* include/bits/version.h: Regenerate.
	* include/std/format (basic_format_parse_context): Remove
	default argument from constructor and split into two
	constructors. Make the constructor taking size_t private for
	C++26 and later.
	(basic_format_parse_context::check_dynamic_spec): New member
	function template.
	(basic_format_parse_context::check_dynamic_spec_integral): New
	member function.
	(basic_format_parse_context::check_dynamic_spec_string):
	Likewise.
	(__format::_Spec::_S_parse_width_or_precision): Use
	check_dynamic_spec_integral.
	(__format::__to_arg_t_enum): New helper function.
	(basic_format_arg):  Declare __to_arg_t_enum as friend.
	(__format::_Scanner): Define and use a derived parse context
	type.
	(__format::_Checking_scanner): Make arg types available to parse
	context.
	* testsuite/std/format/functions/format.cc: Check for new values
	of __cpp_lib_format macro.
	* testsuite/std/format/parse_ctx.cc: Check all members of
	basic_format_parse_context.
	* testsuite/std/format/parse_ctx_neg.cc: New test.
	* testsuite/std/format/string.cc: Add more checks for dynamic
	width and precision args.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (format): Update value for P2510R3.
	* include/bits/version.h: Regenerate.
	* include/std/format (_GLIBCXX_P2518R3): Remove misspelled macro
	and check __glibcxx_format instead.
	* testsuite/std/format/functions/format.cc: Check value of the
	__cpp_lib_format macro for formatting pointers support.
	* testsuite/std/format/parse_ctx.cc: Likewise.

2024-07-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109162
	* acinclude.m4 (libtool_VERSION): Update to 6:34:0.
	* config/abi/pre/gnu.ver: Disambiguate old patters. Add new
	GLIBCXX_3.4.34 symbol version and new exports.
	* configure: Regenerate.
	* include/bits/chrono_io.h (_ChronoSpec::_M_locale_specific):
	Add new accessor functions to use a reserved bit in _Spec.
	(__formatter_chrono::_M_parse): Use _M_locale_specific(true)
	when chrono-specs contains locale-dependent conversion
	specifiers.
	(__formatter_chrono::_M_format): Open iconv descriptor if
	conversion to UTF-8 will be needed.
	(__formatter_chrono::_M_write): New function to write a
	localized string with possible character conversion.
	(__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B)
	(__formatter_chrono::_M_p, __formatter_chrono::_M_r)
	(__formatter_chrono::_M_x, __formatter_chrono::_M_X)
	(__formatter_chrono::_M_locale_fmt): Use _M_write.
	* include/bits/version.def (format): Update value.
	* include/bits/version.h: Regenerate.
	* include/std/format (_GLIBCXX_P2518R3): Check feature test
	macro instead of __cplusplus.
	(basic_format_context): Declare __formatter_chrono as friend.
	* src/c++20/Makefile.am: Add new file.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++20/format.cc: New file.
	* testsuite/std/time/format_localized.cc: New test.
	* testsuite/util/testsuite_abi.cc: Add new symbol version.

2024-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__local_time_fmt_for): New alias
	template.
	(formatter<zoned_time<D, P>>): Use __local_time_fmt_for.
	* testsuite/std/time/zoned_time/io.cc: Check zoned_time<minutes>
	can be formatted.

2024-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__local_fmt_t): Remove unused
	declaration.
	(__formatter_chrono::_M_format_to_ostream): Add explicit
	handling for specializations of __local_time_fmt, including the
	time zone abbreviation in the output if __is_neg is true.
	(formatter<chrono::tai_time<D>>::format): Add comment.
	(formatter<chrono::gps_time<D>>::format): Likewise.
	(formatter<chrono::__detail::__local_time_fmt::format): Call
	_M_format with true for the __is_neg flag.
	* testsuite/std/time/clock/gps/io.cc: Remove unused variable.
	* testsuite/std/time/clock/local/io.cc: Fix test error that
	checked tai_time instead of local_time. Add tests for
	local-time-format-t formatting.
	* testsuite/std/time/clock/system/io.cc: Check empty
	chrono-specs.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/zoned_time/io.cc: Likewise.

2024-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected(U&&), operator=(U&&))
	(value_or): Use remove_cv_t on default template argument, as per
	LWG 3886.
	* include/std/optional (optional(U&&), operator=(U&&))
	(value_or): Likewise.
	* testsuite/20_util/expected/lwg3886.cc: New test.
	* testsuite/20_util/optional/cons/lwg3886.cc: New test.

2024-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc: Fix file name in comment.

2024-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor
	parameter from const path& to const wchar_t*.
	(fs::equiv_files): New function.
	(fs::equivalent): Use equiv_files.
	* src/filesystem/ops-common.h (fs::equiv_files): Declare.
	(do_copy_file): Use equiv_files.
	* src/filesystem/ops.cc (fs::equiv_files): Define.
	(fs::copy, fs::equivalent): Use equiv_files.
	* testsuite/27_io/filesystem/operations/copy.cc: Test
	overwriting directory contents recursively.
	* testsuite/27_io/filesystem/operations/copy_file.cc: Test
	overwriting existing files.

2024-07-30  Lennox Shou Hao Ho  <lennoxhoe@gmail.com>

	PR libstdc++/113663
	* src/c++17/fs_ops.cc (fs::equivalent): Moved helper class
	auto_handle to anonymous namespace as auto_win_file_handle.
	(fs::hard_link_count): Changed Windows implementation to use
	information provided by GetFileInformationByHandle which is more
	reliable.
	* testsuite/27_io/filesystem/operations/hard_link_count.cc: New
	test.

2024-07-29  Thomas Schwinge  <tschwinge@baylibre.com>

	* testsuite/lib/libstdc++.exp (file-io-diff): Polish.

2024-07-28  Sam James  <sam@gentoo.org>

	PR libstdc++/110572
	* testsuite/18_support/type_info/110572.cc: Fix dg-do directive order.

2024-07-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/charconv (__to_chars_16, __to_chars_10)
	(__to_chars_8, __to_chars_2, __to_chars): Cast ptrdiff_t to
	size_t for comparison.
	(__to_chars_i): Check for first >= last instead of first == last
	for initial sanity check.

2024-07-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/std_function.h: Add comment about LWG 3617 being
	supported.

2024-07-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_algobase.h (__find_if): Remove overloads for
	dispatching on iterator_category. Do not unroll loop manually.
	* include/bits/stl_algo.h (__find_if_not): Remove
	iterator_category argument from __find_if call.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected::value): Add assertions for LWG
	3843 requirements.
	(expected<cv void, E>::value): Add assertions for LWG 3940
	requirements.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (basic_format_args): Remove default
	constructor, as per LWG 4106.
	* testsuite/std/format/arguments/args.cc: Check it isn't default
	constructible.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/utility.h (_Swallow_assign): Make assignment
	constexpr for C++11 as well, and add noexcept.
	* include/std/tuple (_Swallow_assign, ignore): Move to
	bits/utility.h.
	* testsuite/20_util/headers/utility/ignore.cc: New test.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional: Reorder parameters in comparison
	operators as per LWG 2945.

2024-07-25  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/116038
	* include/std/functional (_Bind_front::operator()): Use __like_t
	instead of std::forward when forwarding __self.
	(_Bind_back::operator()): Likewise.
	* include/std/ranges (_Partial::operator()): Likewise.
	(_Pipe::operator()): Likewise.
	* testsuite/20_util/function_objects/bind_back/116038.cc: New test.
	* testsuite/20_util/function_objects/bind_front/116038.cc: New test.
	* testsuite/std/ranges/adaptors/116038.cc: New test.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (bad_expected_access<void>): Add noexcept
	to special member functions, as per LWG 4031.
	* testsuite/20_util/expected/bad.cc: Check for nothrow copy and
	move members.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (optional): Use C++20 features to
	simplify overload sets for constructors and assignment
	operators.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (optional): Constrain constructors to
	prevent problematic bool conversions, as per LWG 3836.
	* testsuite/20_util/optional/cons/lwg3836.cc: New test.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected): Constrain constructors to
	prevent problematic bool conversions, as per LWG 3836.
	* testsuite/20_util/expected/lwg3836.cc: New test.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (_Optional_payload_base::_Storage)
	[C++20]: Define constrained non-trivial destructor.
	(_Optional_payload_base::_Storage<U, false>) [C++20]: Do not
	define partial specialization when primary template has
	constrained destructor.
	(_Optional_base) [C++20]: Define constrained trivial copy and
	move cons and move constructors. Define payload accessors here
	instead of inheriting them from _Optional_base_impl.
	(_Optional_base_impl, _Optional_base<T, false, true>)
	(_Optional_base<T, true, false>, _Optional_base<T, true, true>)
	[C++20]: Do not define.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (optional): Add using-declaraction for
	_Base::_M_get and declare optional<U> as friend.
	(optional(const optional<U>&)): Use
	_M_get instead of operator*.
	(optional(optional<U>&&)): Likewise.
	(operator=(const optional<U>&)): Likewise.
	(operator=(optional<U>&&)): Likewise.
	(and_then, tansform): Likewise.

2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (_Optional_base_impl::_M_get()): Move
	assertions to ...
	(optional::operator->, optional::operator*): ... here.

2024-07-25  Andrew Pinski  <quic_apinski@quicinc.com>

	* testsuite/lib/libstdc++.exp (v3_target_compile): Call
	string trim on v3_target_compile before calling split.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116070
	* include/std/istream: Check feature test macro before using
	is_class_v and is_same_v.
	* include/std/ostream: Likewise.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116070
	* include/bits/stl_bvector.h: Check feature test macro before
	using is_default_constructible_v.

2024-07-24  Michael Levine  <mlevine55@bloomberg.net>

	* include/bits/ranges_algobase.h: Remove duplicate include of
	<bits/stl_algobase.h>.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/12048
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Move to...
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12048-1.cc: ...here.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Move to...
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12048-2.cc: ...here.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Move to...
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12048-3.cc: ...here.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Move to...
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12048-4.cc: ...here.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/lib/libstdc++.exp (libstdc++_init): Do not copy all
	data files into test directory.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/hash/chi2_q_document_words.cc: Use
	dg-additional-files for input text.
	* testsuite/performance/ext/pb_ds/all_text_find.cc: Likewise.
	* testsuite/performance/ext/pb_ds/multimap_text_find.hpp:
	Likewise.
	* testsuite/performance/ext/pb_ds/multimap_text_insert.hpp:
	Likewise.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp:
	Likewise.
	* testsuite/performance/ext/pb_ds/priority_queue_text_join.cc:
	Likewise.
	* testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp: Likewise.
	* testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc: Likewise.
	* testsuite/performance/ext/pb_ds/priority_queue_text_push.cc:
	Likewise.
	* testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc: Likewise.
	* testsuite/performance/ext/pb_ds/tree_text_insert.cc: Likewise.
	* testsuite/performance/ext/pb_ds/tree_text_lor_find.cc:
	Likewise.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc:
	Use dg-additional-files.
	* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc:
	Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc:
	Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
	Likewise.
	* testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc:
	Likewise.
	* testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc:
	Likewise.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
	Likewise.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
	Likewise.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_filebuf/close/char/1.cc: Remove
	@require@ and @diff@. Use dg-final file-io-diff action.
	* testsuite/27_io/basic_istream/extractors_other/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/2.cc:
	Likewise. Check file positions.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc:
	Likewise.
	* testsuite/lib/libstdc++.exp (file-io-diff): New proc.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Use
	dg-additional-files.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/path.cc: Likewise.
	* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
	* testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
	* testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
	* testsuite/27_io/basic_ifstream/assign/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/cons/move.cc: Likewise.
	* testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
	* testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
	* testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: Likewise.
	* testsuite/27_io/objects/char/10.cc: Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-2.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/char/12048-4.cc: Likewise.
	* testsuite/27_io/objects/char/12048-5.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_filebuf/close/char/2.cc: Remove
	@require@ and @diff@ markup. Use dg-additional-files. Remove
	unused variable.
	* testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
	@require@ and @diff@ markup. Use dg-additional-files.
	* testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
	Remove unused variable.
	* testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Remove
	@require@ and @diff@ markup. Use dg-additional-files.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
	* testsuite/lib/dg-options.exp (dg-additional-files): Append to
	v3_additional_files instead of replacing.
	* testsuite/lib/libstdc++.exp (v3_target_compile): Reset
	v3_additional_files after copying files.

2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Remove
	@require@ and @diff@ comments.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
	Remove unused variable.
	* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_ofstream/cons/char/1.cc: Remove
	@require@ and @diff@ comments. Remove unused variables.
	* testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Remove
	* testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.

2024-07-23  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++23/print.cc (__open_terminal): Use [[maybe_unused]] on
	parameter.

2024-07-23  Detlef Vollmann  <dv@vollmann.ch>

	PR libstdc++/115482
	* src/c++23/print.cc (__open_terminal) [__AVR__]: Do not use
	isatty.

2024-07-18  Patrick Palka  <ppalka@redhat.com>

	* include/experimental/socket
	(basic_socket_iostream::basic_socket_iostream): Fix typo.
	* include/tr2/dynamic_bitset
	(__dynamic_bitset_base::_M_is_proper_subset_of): Likewise.

2024-07-12  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/decimal/binary-arith.cc: Require dfprt.
	* testsuite/decimal/comparison.cc: Likewise.
	* testsuite/decimal/compound-assignment.cc: Likewise.
	* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
	* testsuite/decimal/make-decimal.cc: Likewise.
	* testsuite/decimal/pr54036-1.cc: Likewise.
	* testsuite/decimal/pr54036-2.cc: Likewise.
	* testsuite/decimal/pr54036-3.cc: Likewise.
	* testsuite/decimal/unary-arith.cc: Likewise.

2024-07-11  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/29_atomics/atomic_ref/bool.cc: New test.

2024-07-11  Damien Lebrun-Grandie  <dalg24@gmail.com>

	* include/bits/atomic_base.h (__atomic_ref): Do not use integral
	specialization for bool.

2024-07-11  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/using.xml: Switch gcc.gnu.org links to https.
	* doc/html/manual/using_concurrency.html: Regenerate.
	* doc/html/manual/using_dynamic_or_shared.html: Ditto.
	* doc/html/manual/using_headers.html: Ditto.
	* doc/html/manual/using_namespaces.html: Ditto.

2024-07-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108636
	* testsuite/27_io/filesystem/path/108636.cc: Require normal
	mode.

2024-07-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114387
	* include/std/format (basic_format_context): Define copy
	operations as deleted, as per LWG 4061.
	* testsuite/std/format/context.cc: New test.

2024-07-10  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++26/text_encoding.cc (__locale_encoding): Add to unnamed
	namespace.
	(std::locale::encoding): Optimize for "C" and "*" names.

2024-07-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115854
	* include/bits/stl_bvector.h (_Bvector_base): Convert allocator
	to rebound type explicitly.
	* testsuite/23_containers/vector/allocator/115854.cc: New test.
	* testsuite/23_containers/vector/bool/allocator/115854.cc: New test.

2024-07-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115799
	* include/bits/ranges_util.h (__find_fn): Make conversion
	from difference type ti size_t explicit.
	* testsuite/25_algorithms/find/bytes.cc: Check ranges::find with
	__gnu_test::test_contiguous_range.
	* testsuite/std/ranges/range.cc: Adjust expected difference_type
	for __gnu_test::test_contiguous_range.
	* testsuite/util/testsuite_iterators.h (contiguous_iterator_wrapper):
	Use __max_diff_type as difference type.
	(test_range::sentinel, test_sized_range_sized_sent::sentinel):
	Ensure that operator- returns difference_type.

2024-07-10  Marek Polacek  <polacek@redhat.com>

	* testsuite/std/ranges/access/101782.cc: Don't compile with
	-fconcepts-ts.

2024-07-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115807
	* include/c_compatibility/stdatomic.h (_Atomic): Ensure it
	refers to std::atomic in the global namespace.
	* testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test.

2024-07-07  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/configure.xml: Update Autobook 14 link.
	Update GCC installation instructions link.
	* doc/html/manual/configure.html: Regenerate.

2024-07-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115799
	* include/bits/stl_algo.h (find): Use 'if constexpr' so that
	memchr optimization is a discarded statement for non-contiguous
	iterators.
	* testsuite/25_algorithms/find/bytes.cc: Check with input
	iterators.

2024-07-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115799
	* include/bits/ranges_util.h (__find_fn): Return iterator
	instead of sentinel.
	* testsuite/25_algorithms/find/constrained.cc: Check non-common
	contiguous sized range of char.

2024-07-06  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Add
	attribute names from later standards and remove dg-options.
	* testsuite/17_intro/headers/c++1998/stdc++.cc: Add c++98_only
	target selector.
	* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc:
	Remove content and include stdc++.cc twice instead.
	* testsuite/17_intro/headers/c++2011/stdc++.cc: Replace
	dg-options with c++11 target selector.
	* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
	Remove content and include stdc++.cc twice instead.
	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Removed.
	* testsuite/17_intro/headers/c++2011/all_no_exceptions.cc: Removed.
	* testsuite/17_intro/headers/c++2011/all_no_rtti.cc: Removed.
	* testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc: Removed.
	* testsuite/17_intro/headers/c++2011/charset.cc: Removed.
	* testsuite/17_intro/headers/c++2011/operator_names.cc: Removed.
	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Removed.
	* testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: Removed.
	* testsuite/17_intro/headers/c++2014/all_no_rtti.cc: Removed.
	* testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: Removed.
	* testsuite/17_intro/headers/c++2014/charset.cc: Removed.
	* testsuite/17_intro/headers/c++2014/operator_names.cc: Removed.
	* testsuite/17_intro/headers/c++2014/stdc++.cc: Removed.
	* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: Removed.
	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Removed.
	* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: Removed.
	* testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Removed.
	* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: Removed.
	* testsuite/17_intro/headers/c++2017/charset.cc: Removed.
	* testsuite/17_intro/headers/c++2017/operator_names.cc: Removed.
	* testsuite/17_intro/headers/c++2017/stdc++.cc: Removed.
	* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: Removed.
	* testsuite/17_intro/headers/c++2020/all_attributes.cc: Removed.
	* testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: Removed.
	* testsuite/17_intro/headers/c++2020/all_no_rtti.cc: Removed.
	* testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: Removed.
	* testsuite/17_intro/headers/c++2020/charset.cc: Removed.
	* testsuite/17_intro/headers/c++2020/operator_names.cc: Removed.
	* testsuite/17_intro/headers/c++2020/stdc++.cc: Removed.
	* testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: Removed.

2024-07-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (_Variant_storage::_M_reset): Use
	__unlikely__ form of attribute instead of unlikely.

2024-07-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115797
	* include/std/type_traits: Ensure "C++" language linkage.
	* testsuite/17_intro/headers/c++2011/linkage.cc: Replace
	dg-options with c++11 target selector.

2024-07-05  Jonathan Wakely  <jwakely@redhat.com>

	PR c++/115747
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
	Add dg-error for new C++26 diagnostics.

2024-07-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_uninitialized.h (_UninitDestroyGuard): New
	class template and partial specialization.
	(__do_uninit_copy, __do_uninit_fill, __do_uninit_fill_n)
	(__uninitialized_copy_a, __uninitialized_fill_a)
	(__uninitialized_fill_n_a, __uninitialized_copy_move)
	(__uninitialized_move_copy, __uninitialized_fill_move)
	(__uninitialized_move_fill, __uninitialized_default_1)
	(__uninitialized_default_n_a, __uninitialized_default_novalue_1)
	(__uninitialized_default_novalue_n_1, __uninitialized_copy_n)
	(__uninitialized_copy_n_pair): Use it.

2024-07-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/88545
	PR libstdc++/115040
	* include/bits/cpp_type_traits.h (__can_use_memchr_for_find):
	New variable template.
	* include/bits/ranges_util.h (__find_fn): Use memchr when
	possible.
	* include/bits/stl_algo.h (find): Likewise.
	* testsuite/25_algorithms/find/bytes.cc: New test.

2024-07-04  John David Anglin  <danglin@gcc.gnu.org>

	PR libstdc++/98678
	* testsuite/30_threads/future/members/poll.cc: Skip on hppa*-*-linux*.

2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115585
	* src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add
	definition for non-verbose builds.

2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/101485
	* include/bits/stl_algobase.h (__equal_aux1): Check for
	std::byte as well.
	* testsuite/25_algorithms/equal/101485.cc: New test.

2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/104395
	* include/bits/new_allocator.h: Disable extended alignment
	support in C++98 mode.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* testsuite/ext/104395.cc: New test.

2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/ext/aligned_buffer.h (__aligned_membuf): Use
	alignas(T) directly instead of defining a struct and using 9its
	alignment.
	(__aligned_buffer): Remove use of std::aligned_storage.
	* testsuite/abi/aligned_buffers.cc: New test.

2024-06-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/37475
	* config/locale/gnu/codecvt_members.cc (Guard): New RAII type.
	(do_out, do_in): Return partial if the destination is empty but
	the source is not. Use Guard to restore locale on scope exit.
	Return immediately on any conversion error.
	(do_encoding, do_max_length, do_length): Use Guard.
	* testsuite/22_locale/codecvt/in/char/37475.cc: New test.
	* testsuite/22_locale/codecvt/in/wchar_t/37475.cc: New test.
	* testsuite/22_locale/codecvt/out/char/37475.cc: New test.
	* testsuite/22_locale/codecvt/out/wchar_t/37475.cc: New test.

2024-06-27  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/115454
	* testsuite/experimental/simd/pr115454_find_last_set.cc: Defer
	to check_vect_support_and_set_flags's default dg-do action.

2024-06-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115668
	* include/bits/chrono_io.h (formatter<duration<R,P, C>::format):
	Do not use chrono::abs.
	* testsuite/20_util/duration/io.cc: Check formatting a duration
	with unsigned rep.

2024-06-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/103191
	* include/bits/stl_bvector.h (vector<bool>::operator[])
	(vector<bool>::front, vector<bool>::back): Add debug assertions.
	* testsuite/23_containers/vector/bool/element_access/constexpr.cc:
	Remove dg-error that no longer triggers.

2024-06-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111250
	* include/debug/assertions.h (__glibcxx_requires_non_empty_range)
	(__glibcxx_requires_nonempty, __glibcxx_requires_subscript):
	Define to __glibcxx_assert expressions or to debug mode
	__glibcxx_check_xxx expressions.
	* testsuite/23_containers/array/element_access/constexpr_c++17.cc:
	Add checks for out-of-bounds accesses in constant expressions.
	* testsuite/23_containers/vector/element_access/constexpr.cc:
	Likewise.

2024-06-26  Jonathan Wakely  <jwakely@redhat.com>

	* scripts/update_release_branch.sh: New file.

2024-06-26  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
	Copy defaulted assignment operator from 808590-cxx11.cc to
	suppress a warning.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc:
	Removed.

2024-06-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/90276
	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
	Increase timeout for debug mode.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
	Likewise.

2024-06-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/90276
	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc
	[_GLIBCXX_DEBUG]: Add xfail-run-if for debug mode.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc
	[_GLIBCXX_DEBUG]: Reduce size of test data.
	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
	Likewise.

2024-06-26  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove.
	(years_from_to): New class replacing minmax_year and
	minmax_year2.
	(format_abbrev_str, select_std_or_dst_abbrev): Move earlier in
	the file. Handle "-" for letters.
	(ZoneInfo::to): Use format_abbrev_str to expand %z.
	(ZoneInfo::set_abbrev): Remove exception. Change parameter from
	reference to value.
	(operator>>(istream&, Rule&)): Do not clear letters when it
	contains "-".
	(time_zone::_M_get_sys_info): Add missing logic to find the Rule
	in effect before the time point.
	* testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using
	"GMT" as the Zone name, not as a Link to "Etc/GMT".
	* testsuite/std/time/time_zone/sys_info_abbrev.cc: New test.

2024-06-26  Alexandre Oliva  <oliva@adacore.com>
	    Marc Poulhiès  <poulhies@adacore.com>

	* testsuite/lib/dg-options.exp (add_options_for_libatomic):
	None for *-*-vxworks*.

2024-06-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/valarray_array.h (_Array_default_ctor): Remove.
	(__valarray_default_construct): Inline it into here.
	(_Array_init_ctor): Remove.
	(__valarray_fill_construct): Inline it into here.
	(_Array_copy_ctor): Remove.
	(__valarray_copy_construct(const T*, const T*, T*)): Inline it
	into here.
	(__valarray_copy_construct(const T*, size_t, size_t, T*)):
	Use _GLIBCXX17_CONSTEXPR for constant condition.

2024-06-25  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/faq.xml: Replace viewcvs links with cgit links.
	* doc/xml/manual/allocator.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/html/*: Regenerate.

2024-06-22  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/debug.xml: Move gcc.gnu.org link to https.
	Ditto for sourceware.org links.
	* doc/html/manual/debug.html: Regenerate.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115497
	* include/bits/cpp_type_traits.h (__is_pointer, __is_scalar):
	Remove.
	(__is_arithmetic): Do not use __is_pointer in the primary
	template. Add partial specialization for pointers.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115497
	* include/bits/cpp_type_traits.h (__is_void): Remove.
	* include/debug/helper_functions.h (_Distance_traits):
	Adjust partial specialization to match void directly, instead of
	using __is_void<T>::__type and matching __true_type.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115497
	* include/bits/deque.tcc (__lex_cmp_dit): Replace __is_pointer
	class template with __is_pointer(T) built-in.
	(__lexicographical_compare_aux1): Likewise.
	* include/bits/stl_algobase.h (__equal_aux1): Likewise.
	(__lexicographical_compare_aux1): Likewise.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115497
	* include/bits/valarray_array.h (__valarray_default_construct):
	Use __is_trivial(_Tp). instead of __is_scalar<_Tp>.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109150
	* include/bits/stl_algobase.h (__fill_a1): Combine the
	!__is_scalar and __is_scalar overloads into one and rewrite the
	condition used to decide whether to perform the load outside the
	loop.
	* testsuite/25_algorithms/fill/109150.cc: New test.
	* testsuite/25_algorithms/fill_n/109150.cc: New test.

2024-06-21  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115575
	* testsuite/experimental/simd/pr115454_find_last_set.cc: Require
	avx512f_runtime. Don't memcpy fixed_size masks.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_uninitialized.h (uninitialized_default_construct)
	(uninitialized_default_construct_n, uninitialized_value_construct)
	(uninitialized_value_construct_n): Qualify calls to prevent ADL.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/any (any_cast(any*), any_cast(const any*)): Add
	static assertion to reject void types, as per LWG 3305.
	* testsuite/20_util/any/misc/lwg3305.cc: New test.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/memory_resource.h (polymorphic_allocator::destroy):
	Remove deprecated attribute.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/backward/backward_warning.h: Adjust comments to
	suggest <spanstream> as another alternative to <strstream>.
	* include/backward/strstream (strstreambuf, istrstream)
	(ostrstream, strstream): Add deprecated attribute.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_conv.h (wstring_convert): Add deprecated
	attribute for C++17 and later.
	(wbuffer_convert): Likewise.
	* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: Disable
	deprecated warnings.
	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Likewise.
	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc:
	Likewise.
	* testsuite/22_locale/conversions/buffer/1.cc: Add dg-warning.
	* testsuite/22_locale/conversions/buffer/2.cc: Likewise.
	* testsuite/22_locale/conversions/buffer/3.cc: Likewise.
	* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
	Likewise.
	* testsuite/22_locale/conversions/string/1.cc: Likewise.
	* testsuite/22_locale/conversions/string/2.cc: Likewise.
	* testsuite/22_locale/conversions/string/3.cc: Likewise.
	* testsuite/22_locale/conversions/string/66441.cc: Likewise.
	* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/22_locale/conversions/string/requirements/typedefs.cc:
	Likewise.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (chrono): Add cxx11abi = yes.
	* include/bits/version.h: Regenerate.
	* testsuite/std/time/syn_c++20.cc: Adjust expected value for
	the feature test macro.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115522
	* include/std/array (to_array): Workaround the fact that
	std::is_trivial is not sufficient to check that a type is
	trivially default constructible and assignable.
	* testsuite/23_containers/array/creation/115522.cc: New test.

2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_allocator.h (tracker_allocator):
	Initialize base class in copy constructor.

2024-06-20  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115454
	* include/experimental/bits/simd_x86.h (_S_not_equal_to): Use
	neq comparison instead of bitwise negation after eq.
	(_S_find_last_set): Clear unused high bits before computing
	bit_width.
	* testsuite/experimental/simd/pr115454_find_last_set.cc: New
	test.

2024-06-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/future: Adjust whitespace to use tabs for
	indentation.

2024-06-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/future (_State_baseV2::_Setter<R, void>): Add
	noexcept to call operator.
	(_State_baseV2::_Setter<R, __exception_ptr_tag>): Likewise.

2024-06-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_pair.h [__cpp_lib_concepts] (pair()): Add
	conditional noexcept.

2024-06-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_tempbuf.h (__get_temporary_buffer): Cast
	argument to size_t to handle negative values and suppress
	-Wsign-compare warning.
	(_Temporary_buffer): Move diagnostic pragmas to new location of
	call to std::get_temporary_buffer.

2024-06-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cpp_type_traits.h: Fix outdated comment about the
	number of standard integer types.

2024-06-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110572
	* libsupc++/typeinfo (type_info::operator==): Add always_inline
	attribute for targets where the ABI requries equality to be
	non-inline.
	* testsuite/18_support/type_info/110572.cc: New test.

2024-06-14  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of
	posix_memalign.

2024-06-13  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/114359
	* testsuite/26_numerics/random/binomial_distribution/114359.cc:
	Require cmath.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (__add_rval_ref_t): Use
	__add_rvalue_reference built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (__add_lval_ref_t): Use
	__add_lvalue_reference built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cpp_type_traits.h (__is_pointer): Use
	__is_pointer built-in trait.
	* include/std/type_traits (is_pointer): Likewise.  Optimize its
	implementation.
	(is_pointer_v): Likewise.

2024-06-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_base.h (range_common_reference_t): New
	alias template, as per LWG 3860.
	* testsuite/std/ranges/range.cc: Check it.

2024-06-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_base.h (const_iterator_t): Change
	preprocessor condition to use __glibcxx_ranges_as_const.
	(const_sentinel_t, range_const_reference_t): Likewise.
	(__access::__possibly_const_range, cbegin, cend, crbegin)
	(crend, cdata): Likewise.
	* include/bits/stl_iterator.h (iter_const_reference_t)
	(basic_const_iterator, const_iterator, const_sentinel)
	(make_const_iterator): Likewise.

2024-06-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115420
	* include/bits/hashtable.h (_Hashtable): Add static_assert to
	check that hash function is copy constructible.
	* testsuite/23_containers/unordered_map/115420.cc: New test.

2024-06-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113376
	* include/pstl/pstl_config.h: Use #if instead of #ifdef to test
	the _PSTL_USAGE_WARNINGS macro.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_nothrow_invocable): Use
	__is_nothrow_invocable built-in trait.
	* testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc:
	Handle the new error from __is_nothrow_invocable.
	* testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc:
	Likewise.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_invocable): Use __is_invocable
	built-in trait.
	* testsuite/20_util/is_invocable/incomplete_args_neg.cc: Handle
	the new error from __is_invocable.
	* testsuite/20_util/is_invocable/incomplete_neg.cc: Likewise.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (rank): Use __array_rank built-in
	trait.
	(rank_v): Likewise.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (decay): Use __decay built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (remove_all_extents): Use
	__remove_all_extents built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (remove_extent): Use __remove_extent
	built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (add_pointer): Use __add_pointer
	built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_unbounded_array_v): Use
	__is_unbounded_array built-in trait.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_volatile): Use __is_volatile
	built-in trait.
	(is_volatile_v): Likewise.

2024-06-13  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_const): Use __is_const built-in
	trait.
	(is_const_v): Likewise.

2024-06-12  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
	Require cmath.
	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
	Likewise.

2024-06-12  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/from_chars/8.cc: Skip float128_t testing
	on aarch64-rtems*.
	* testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on
	aarch64-rtems*.

2024-06-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115399
	* include/tr2/dynamic_bitset (operator>>=): Remove redundant
	call to _M_do_sanitize.
	* include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out
	low bits in words that should no longer be populated.
	(_M_do_right_shift): Likewise for high bits.
	* testsuite/tr2/dynamic_bitset/pr115399.cc: New test.

2024-06-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable.h (_Hashtable::clear): Do not use
	memset to zero out bucket pointers.
	(_Hashtable::_M_assign_elements): Likewise.

2024-06-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (leap_seconds): Add comment.
	* testsuite/std/time/leap_seconds/io.cc: New test.

2024-06-10  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (~_Hashtable()): Replace clear call with
	a _M_deallocate_nodes call.

2024-06-08  Deev Patel  <dkp10000@gmail.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_base.h (__atomic_impl::__clear_padding):
	Add missing constexpr specifier.
	* testsuite/29_atomics/atomic_float/constinit.cc: New test.

2024-06-08  Michael Levine  <mlevine55@bloomberg.net>

	PR libstdc++/108760
	* include/bits/ranges_algo.h (ranges::out_value_result):
	Move to <bits/ranges_algobase.h>.
	(ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to
	<numeric>.
	* include/bits/ranges_algobase.h (ranges::out_value_result):
	Move to here.
	* include/std/numeric (ranges::iota_result, ranges::__iota_fn)
	(ranges::iota): Move to here.
	* testsuite/25_algorithms/iota/1.cc: Renamed to ...
	* testsuite/26_numerics/iota/2.cc: ... here.

2024-06-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/algorithm: Define __glibcxx_want_ranges.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Check
	feature test macro in C++20 mode.

2024-06-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>.

2024-06-07  Alexandre Oliva  <oliva@adacore.com>

	* include/std/variant: Drop obsolete workaround.

2024-06-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ptr_traits.h (to_address): Optimize.
	* testsuite/20_util/to_address/1_neg.cc: Adjust dg-error text.

2024-06-06  Alexandre Oliva  <oliva@adacore.com>

	* include/bits/c++config (_GLIBCXX_CLANG): Define or undefine.
	* include/bits/locale_facets_nonio.tcc: Test for it.
	* include/bits/stl_bvector.h: Likewise.
	* include/c_compatibility/stdatomic.h: Likewise.
	* include/experimental/bits/simd.h: Likewise.
	* include/experimental/bits/simd_builtin.h: Likewise.
	* include/experimental/bits/simd_detail.h: Likewise.
	* include/experimental/bits/simd_x86.h: Likewise.
	* include/experimental/simd: Likewise.
	* include/std/complex: Likewise.
	* include/std/ranges: Likewise.
	* include/std/variant: Likewise.
	* include/pstl/pstl_config.h: Likewise.

2024-06-05  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/faq.xml: Move gcc.gnu.org to https.
	* doc/html/faq.html: Regenerate.

2024-06-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115335
	* include/std/span (span::at): Guard with feature test macro.

2024-06-04  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115308
	* include/experimental/bits/simd.h (__int_for_sizeof): Remove
	special cases for __clang__.
	(_SimdWrapper): Change constructor overload set to allow
	conversion from vector types with integral conversions via bit
	reinterpretation.

2024-06-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
	Use __detail::__get_temporary_buffer.
	(basic_stacktrace::_Impl::_M_deallocate): Use
	__detail::__return_temporary_buffer.

2024-06-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105258
	* include/bits/stl_tempbuf.h (__detail::__get_temporary_buffer):
	New function to do allocation for get_temporary_buffer, with
	extended alignment support.
	(__detail::__return_temporary_buffer): Support extended
	alignment.
	(get_temporary_buffer): Use __get_temporary_buffer.
	(return_temporary_buffer): Support extended alignment. Add
	deprecated attribute.
	(_Temporary_buffer): Move allocation and deallocation into a
	subobject and remove try-catch block in constructor.
	(__uninitialized_construct_buf): Use argument deduction for
	value type.
	* testsuite/20_util/temporary_buffer.cc: Add dg-warning for new
	deprecated warning.
	* testsuite/25_algorithms/stable_sort/overaligned.cc: New test.

2024-06-03  François Dumont  <frs.dumont@gmail.com>

	PR libstdc++/109849
	* include/bits/vector.tcc
	(std::vector<>::_M_range_insert(iterator, _FwdIt, _FwdIt,
	forward_iterator_tag))[__cplusplus < 201103L]: Add __builtin_unreachable
	expression to tell the compiler that the allocated buffer is large enough to
	receive current elements plus the elements of the range to insert.

2024-06-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/string_view (starts_with(basic_string_view)):
	Compare lengths first and then call traits_type::compare
	directly.

2024-06-02  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/api.xml: Move gcc.gnu.org links to https.
	* doc/html/api.html: Regenerate.

2024-06-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115269
	* doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs.
	Replace list of -std=... options with a single entry for -std.
	* doc/html/manual/using.html: Regenerate.

2024-05-30  Alexandre Oliva  <oliva@adacore.com>

	* configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as
	available.
	* configure: Rebuilt.

2024-05-29  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/vector.tcc (_Guard): Move all the nested duplicated class...
	* include/bits/stl_vector.h (_Guard_alloc): ...here and rename.
	(_M_allocate_and_copy): Use latter.
	(_M_initialize_dispatch): Small code simplification.
	(_M_range_initialize): Likewise and set _M_finish first from the result
	of __uninitialize_fill_n_a that can throw.

2024-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/111641
	* src/libbacktrace/Makefile.am (AM_CFLAGS): Add -funwind-tables.
	* src/libbacktrace/Makefile.in: Regenerate.
	* testsuite/19_diagnostics/stacktrace/current.cc (dg-options): Add
	-funwind-tables.
	* testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/hash.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.

2024-05-29  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115247
	* include/experimental/bits/simd.h (__as_vector): Don't use
	vector_size(8) on __i386__.
	(__vec_shuffle): Never return MMX vectors, widen to 16 bytes
	instead.
	(concat): Fix padding calculation to pick up widening logic from
	__as_vector.

2024-05-23  Patrick Palka  <ppalka@redhat.com>

	* include/bits/version.def (ranges_concat): Define.
	* include/bits/version.h: Regenerate.
	* include/std/ranges (__detail::__concat_reference_t): Define
	for C++26.
	(__detail::__concat_value_t): Likewise.
	(__detail::__concat_rvalue_reference_t): Likewise.
	(__detail::__concat_indirectly_readable_impl): Likewise.
	(__detail::__concat_indirectly_readable): Likewise.
	(__detail::__concatable): Likewise.
	(__detail::__all_but_last_common): Likewise.
	(__detail::__concat_is_random_access): Likewise.
	(__detail::__concat_is_bidirectional): Likewise.
	(__detail::__last_is_common): Likewise.
	(concat_view): Likewise.
	(__detail::__concat_view_iter_cat): Likewise.
	(concat_view::iterator): Likewise.
	(views::__detail::__can_concat_view): Likewise.
	(views::_Concat, views::concat): Likewise.
	* testsuite/std/ranges/concat/1.cc: New test.

2024-05-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_classes.h (locale::combine)
	(locale::name, locale::operator==, locale::operator!=)
	(locale::operator(), locale::classic): Add nodiscard
	attribute.
	* include/bits/locale_classes.tcc (has_facet, use_facet):
	Likewise.
	* testsuite/22_locale/locale/cons/12438.cc: Add dg-warning for
	nodiscard diagnostic.
	* testsuite/22_locale/locale/cons/2.cc: Cast use_facet
	expression to void, to suppress diagnostic.
	* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
	* testsuite/22_locale/locale/operations/2.cc: Add dg-warning.

2024-05-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108323
	* include/bits/locale_classes.tcc (locale(const locale&, Facet*)):
	Return a copy of the first argument when the facet pointer is
	null, as per LWG 2295.
	(locale::combine): Ensure the result is unnamed.
	* src/c++11/localename.cc (_M_replace_categories): Ignore
	whether the second locale has a name when cat == none, as per
	LWG 3676.
	* src/c++98/locale.cc (_M_install_facet): Use __builtin_expect
	to predict that the facet pointer is non-null.
	* testsuite/22_locale/locale/cons/names.cc: New test.

2024-05-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114940
	* include/bits/version.def (generator): Depend on
	__cpp_sized_deallocation.
	* include/bits/version.h: Regenerate.
	* include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro.
	(basic_stacktrace::_Impl::_M_deallocate): Use it.

2024-05-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115099
	* include/bits/std_thread.h: Declare formatter as friend of
	thread::id.
	* include/std/thread (operator<<): Convert non-void pointers to
	void pointers for output.
	(formatter): Add constraint that thread::native_handle_type is a
	pointer or integer.
	(formatter::format): Reimplement without basic_ostringstream.
	* testsuite/30_threads/thread/id/output.cc: Check output
	compiles before <sstream> has been included.

2024-05-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115145
	* include/std/variant (operator==, operator!=, operator<)
	(operator<=, operator>, operator>=): Add trailing-return-type to
	lambda expressions to trigger conversion to bool.
	* testsuite/20_util/variant/relops/115145.cc: New test.

2024-05-17  Björn Schäpers  <bjoern@hazardy.de>

	* acinclude.m4 (GLIBCXX_ENABLE_BACKTACE): Add check for
	tlhelp32.h, matching libbacktrace.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2024-05-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115119
	* include/bits/unicode.h (_Iterator::operator++(int)): Fix typo
	in increment expression.
	* testsuite/ext/unicode/grapheme_view.cc: Check post-increment
	on view's iterator.

2024-05-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/77704
	* include/bits/basic_ios.h (basic_ios::fill()): Do not modify
	_M_fill and _M_fill_init in a const member function.
	(basic_ios::fill(char_type)): Use _M_fill directly instead of
	calling fill(). Set _M_fill_init to true.
	* include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill and
	_M_fill_init here instead.
	* testsuite/27_io/basic_ios/fill/char/1.cc: New test.
	* testsuite/27_io/basic_ios/fill/wchar_t/1.cc: New test.

2024-05-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (__detail::__variant::__compare): New
	function template.
	(operator==, operator!=, operator<, operator>, operator<=)
	(operator>=): Replace macro definition with handwritten function
	calling __detail::__variant::__compare.
	(operator<=>): Call __detail::__variant::__compare.

2024-05-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/89624
	* include/bits/atomic_base.h (memory_order): Use int as
	underlying type.
	* testsuite/29_atomics/atomic/89624.cc: New test.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115015
	* src/c++23/print.cc (__open_terminal(streambuf*)) [!__cpp_rtti]:
	Do not use dynamic_cast.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/strings.xml: Clarify that GCC 4.5 added
	std::string::shrink_to_fit.
	* doc/html/manual/strings.html: Regenerate.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115063
	* include/std/stacktrace (basic_stacktrace::max_size): Fix typo
	in reference to _M_alloc member.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check
	max_size() compiles.

2024-05-13  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/114958
	* include/experimental/bits/simd.h (__as_vector): Return scalar
	simd as one-element vector. Return vector from single-vector
	fixed_size simd.
	(__vec_shuffle): New.
	(__extract_part): Adjust return type signature.
	(split): Use __extract_part for any split into non-fixed_size
	simds.
	(concat): If the return type stores a single vector, use
	__vec_shuffle (which calls __builtin_shufflevector) to produce
	the return value.
	* include/experimental/bits/simd_builtin.h
	(__shift_elements_right): Removed.
	(__extract_part): Return single elements directly. Use
	__vec_shuffle (which calls __builtin_shufflevector) to for all
	non-trivial cases.
	* include/experimental/bits/simd_fixed_size.h (__extract_part):
	Return single elements directly.
	* testsuite/experimental/simd/pr114958.cc: New test.

2024-05-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode.h (_Unicode_view::_M_read_utf8): Ensure
	count of characters consumed is correct when the end of the
	input is reached unexpectedly.
	* testsuite/ext/unicode/view.cc: Test incomplete UTF-8
	sequences.

2024-05-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114866
	* include/bits/out_ptr.h [!_GLIBCXX_HOSTED]: Don't refer to
	shared_ptr, __shared_ptr or __is_shred_ptr.
	* testsuite/20_util/headers/memory/114866.cc: New test.

2024-05-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE):
	Simplify.

2024-05-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_pair.h (operator==): Add constraint.
	* include/bits/version.def (constrained_equality): Define.
	* include/bits/version.h: Regenerate.
	* include/std/optional: Define feature test macro.
	(__optional_rep_op_t): Use is_convertible_v instead of
	is_convertible.
	* include/std/tuple: Define feature test macro.
	(operator==, __tuple_cmp, operator<=>): Reimplement C++20
	comparisons using lambdas. Add constraints.
	* include/std/utility: Define feature test macro.
	* include/std/variant: Define feature test macro.
	(_VARIANT_RELATION_FUNCTION_TEMPLATE): Add constraints.
	(variant): Remove unnecessary friend declarations for comparison
	operators.
	* testsuite/20_util/optional/relops/constrained.cc: New test.
	* testsuite/20_util/pair/comparison_operators/constrained.cc:
	New test.
	* testsuite/20_util/tuple/comparison_operators/constrained.cc:
	New test.
	* testsuite/20_util/variant/relops/constrained.cc: New test.
	* testsuite/20_util/tuple/comparison_operators/overloaded.cc:
	Disable for C++20 and later.
	* testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
	Remove dg-error line for target c++20.

2024-05-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/backward/auto_ptr.h: Use https for URL in comment.
	* include/bits/basic_ios.h: Likewise.
	* include/std/iostream: Likewise.

2024-05-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_abi.cc: Update latest versions to
	new versions that should be used in future.

2024-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* src/Makefile.am [ENABLE_SYMVERS_SUN]
	(libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS),
	$(libstdc___la_LIBADD) to make_sunver.pl unmodified.
	* src/Makefile.in: Regenerate.

2024-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/lib/dg-options.exp (add_options_for_net_ts)
	<*-*-solaris2*>: Don't link with -lsocket -lnsl.

2024-05-03  Andreas Schwab  <schwab@linux-m68k.org>

	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.

2024-05-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114891
	* include/std/generator: Check feature test macro before using
	is_pointer_interconvertible_v.

2024-04-30  Christophe Lyon  <christophe.lyon@linaro.org>

	* testsuite/lib/gdb-test.exp (gdb-test): Fix regexp.  Quote
	newlines in logs.

2024-04-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Backported from master:
	2024-04-29  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.

2024-04-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Backported from master:
	2024-04-29  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.

2024-04-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114863
	* include/std/format (__formatter_fp::format): Only use
	_M_localized for finite values.
	* testsuite/std/format/functions/format.cc: Check localized
	formatting of NaN and initiny.

2024-04-26  Jonathan Wakely  <jwakely@redhat.com>

	* doc/html/manual/status.html: Regenerate.
	* doc/xml/manual/status_cxx1998.xml: Adjust whitespace.
	* doc/xml/manual/status_cxx2011.xml: Likewise.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/xml/manual/status_cxx2020.xml: Likewise.
	* doc/xml/manual/status_cxx2023.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* scripts/run_doxygen: Rename man pages for nested types.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (tzdb_list): Fix typo in Doxygen comment.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* scripts/run_doxygen: Adjust sed pattern to match '\fR' for
	new man output that Doxygen 1.10 generates.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* doc/doxygen/stdheader.cc (init_map): Add missing headers.
	* doc/doxygen/user.cfg.in (EXCLUDE): Exclude generated files for
	std::format and std::text_encoding.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant: Add comment to #include.

2024-04-22  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/114803
	* include/experimental/bits/simd_builtin.h
	(_SimdBase2::operator __vector_type_t): There is no __builtin()
	function in _SimdWrapper, instead use its conversion operator.
	* testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New
	test.

2024-04-22  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h: Ignore -Wnarrowing for
	arm_neon.h.
	(__int_for_sizeof): Replace tautological compare with checking
	for invalid template parameter value.
	* include/experimental/bits/simd_builtin.h (__extract_part):
	Remove tautological compare by combining two static_assert.

2024-04-22  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*.
	* testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't
	define on s390.
	* testsuite/17_intro/headers/c++2011/all_attributes.cc (packed):
	Likewise.
	* testsuite/17_intro/headers/c++2014/all_attributes.cc (packed):
	Likewise.
	* testsuite/17_intro/headers/c++2017/all_attributes.cc (packed):
	Likewise.
	* testsuite/17_intro/headers/c++2020/all_attributes.cc (packed):
	Likewise.

2024-04-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/refwrap.h (operator<=>): Simplify constraints.

2024-04-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114770
	* src/c++20/tzdb.cc (do_locate_zone): Support links that have
	another link as their target.
	* testsuite/std/time/tzdb/1.cc: Check that all zones and links
	can be found by locate_zone.
	* testsuite/std/time/tzdb/links.cc: New test.

2024-04-18  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
	Disable SRA.

2024-04-18  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/from_chars/8.cc: Skip float128_t testing
	on aarch64-vxworks.
	* testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on
	aarch64-vxworks.

2024-04-18  Alexandre Oliva  <oliva@adacore.com>

	* src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define
	on VxWorks non-RTP.

2024-04-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ostream (println(ostream&)): Define new overload.
	* include/std/print (println(FILE*), println()): Likewise.
	* testsuite/27_io/basic_ostream/print/2.cc: New test.
	* testsuite/27_io/print/1.cc: Remove unused header.
	* testsuite/27_io/print/3.cc: New test.

2024-04-17  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/numeric_traits.h: Add include guard.

2024-04-17  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/114750
	* include/experimental/bits/simd_builtin.h
	(_SimdImplBuiltin::_S_load, _S_store): Fall back to copying
	scalars if the memory type cannot be vectorized for the target.

2024-04-16  Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/dragonfly/numeric_members.cc: Fix typos in
	comments.
	* config/locale/gnu/numeric_members.cc: Likewise.

2024-04-15  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/abi.xml: Replace "<next>" with "14.1.0".
	* doc/html/manual/abi.html: Regenerate.

2024-04-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/refwrap.h (reference_wrapper): Add comparison
	operators as proposed by P2944R3.
	* include/bits/version.def (reference_wrapper): Define.
	* include/bits/version.h: Regenerate.
	* include/std/functional: Enable feature test macro.
	* testsuite/20_util/reference_wrapper/compare.cc: New test.

2024-04-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113386
	* include/bits/stl_pair.h (operator==, operator<=>): Support
	heterogeneous comparisons, as per LWG 3865.
	* testsuite/20_util/pair/comparison_operators/lwg3865.cc: New
	test.

2024-04-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/93672
	* src/c++98/istream.cc (istream::ignore(streamsize, int_type)):
	Treat all negative delimiter values as eof().
	* testsuite/27_io/basic_istream/ignore/char/93672.cc: New test.
	* testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New
	test.

2024-04-15  Andreas Schwab  <schwab@suse.de>

	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.

2024-04-13  H.J. Lu  <hjl.tools@gmail.com>

	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
	Updated.

2024-04-11  Jakub Jelinek  <jakub@redhat.com>

	* doc/xml/manual/abi.xml: Add latest library versions.
	* doc/html/manual/abi.html: Regenerate.

2024-04-11  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/i486-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/m68k-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/riscv64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.

2024-04-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114692
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Move new exports for
	__basic_file::native_handle to ...
	(GLIBCXX_3.4.33): ... here. Adjust to not match wchar_t
	specialization, which isn't used.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.33 and update
	latest version check.

2024-04-11  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/i486-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/m68k-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/riscv64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.

2024-04-10  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/manipulators/extended/get_time/char/2.cc:
	Adjust input string so that it matches %a with or without a
	trailing period.
	* testsuite/std/time/year_month_day/io.cc: Adjust expected
	format for %x in the fr_FR locale.

2024-04-10  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]:
	Check for EMLINK as well as ELOOP.
	[__NetBSD__]: Check for EFTYPE as well as ELOOP.

2024-04-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114633
	* include/bits/chrono_io.h (_Parser::operator()) <'S'>: Use
	stream extraction if std::from_chars is not available.

2024-04-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114519
	* include/bits/unicode.h (_Utf8_view) [!__cpp_char8_t]: Define
	using char instead of char8_t.
	* testsuite/ext/unicode/view.cc: Use u8""sv literals to create
	string views, instead of std::u8string_view.

2024-04-08  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/integer_comparisons/equal_neg.cc: Use
	no-opts selector for errors that depend on -fchar8_t.
	* testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/greater_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/in_range_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/less_equal_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
	* testsuite/20_util/integer_comparisons/not_equal_neg.cc:
	Likewise.
	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc: Skip
	if -fno-char8_t is used.
	* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/factory/u8path-depr.cc: Use
	char for u8 literal if char8_t is not available.
	* testsuite/27_io/headers/iosfwd/synopsis.cc: Check
	__cpp_char8_t.
	* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
	* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
	Remove check for _GLIBCXX_USE_CHAR8_T.

2024-04-08  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/from_chars/1_neg.cc: Add char8_t cases,
	using a struct of that name if -fno-char8_t is active.
	* testsuite/20_util/from_chars/1_c++20_neg.cc: Removed.

2024-04-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/104606
	* include/std/optional (operator<=>(const optional<T>&, const U&)):
	Reverse order of three_way_comparable_with template arguments.
	* testsuite/20_util/optional/relops/104606.cc: New test.

2024-04-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114519
	* include/bits/unicode.h (_Utf8_view): Guard with check for
	char8_t being enabled.
	(__literal_encoding_is_unicode): Guard use of char8_t with check
	for it being enabled.
	* testsuite/std/format/functions/114519.cc: New test.

2024-04-02  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (ranges::__detail::_Empty): Rename to ...
	(ranges::__detail::_Absent): ... this.  Turn into a template
	parameterized by the absent type _Tp and discriminator _Disc.
	(ranges::__detail::__maybe_present_t): Add an optional
	discriminator parameter.
	(slide_view::_M_cached_begin): Pass a discriminator argument to
	__maybe_present_t.
	(slide_view::_M_cached_end): Likewise.
	* testsuite/std/ranges/adaptors/sizeof.cc: Verify the size of
	slide_view<V> is 3 instead 4 pointers.

2024-04-02  Jakub Jelinek  <jakub@redhat.com>

	* acinclude.m4: Fix duplicated words; file file -> file can.
	* configure.host: Fix duplicated words; the the -> the.

2024-03-29  Arsen Arsenović  <arsen@aarsen.me>

	* testsuite/24_iterators/range_generators/01.cc: Drop GCC
	Runtime Library Exception.
	* testsuite/24_iterators/range_generators/02.cc: Drop GCC
	Runtime Library Exception.
	* testsuite/24_iterators/range_generators/copy.cc: Drop GCC
	Runtime Library Exception.
	* testsuite/24_iterators/range_generators/except.cc: Drop GCC
	Runtime Library Exception.
	* testsuite/24_iterators/range_generators/subrange.cc: Drop GCC
	Runtime Library Exception.
	* testsuite/24_iterators/range_generators/synopsis.cc: Drop GCC
	Runtime Library Exception.
	* testsuite/24_iterators/range_generators/iter_deref_return.cc:
	Drop GCC Runtime Library Exception from the "You should have
	received a copy" paragraph.

2024-03-27  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h (_S_masked_unary):
	Cast inputs < 16 bytes to 16 byte vectors before calling the
	right subtraction builtin. Before returning, truncate to the
	return vector type.

2024-03-27  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h (_S_masked_unary): Call
	the 4- and 8-byte variants of __builtin_ia32_subp[ds] without
	rounding direction argument.

2024-03-27  Srinivas Yadav Singanaboina  <vasu.srinivasvasu.14@gmail.com>

	* include/Makefile.am: Add simd_sve.h.
	* include/Makefile.in: Add simd_sve.h.
	* include/experimental/bits/simd.h: Add new SveAbi.
	* include/experimental/bits/simd_builtin.h: Use
	__no_sve_deduce_t to support existing Neon Abi.
	* include/experimental/bits/simd_converter.h: Convert
	sequentially when sve is available.
	* include/experimental/bits/simd_detail.h: Define sve
	specific macro.
	* include/experimental/bits/simd_math.h: Fallback frexp
	to execute sequntially when sve is available, to handle
	fixed_size_simd return type that always uses sve.
	* include/experimental/simd: Include bits/simd_sve.h.
	* testsuite/experimental/simd/tests/bits/main.h: Enable
	testing for sve128, sve256, sve512.
	* include/experimental/bits/simd_sve.h: New file.

2024-03-26  Arsen Arsenović  <arsen@aarsen.me>

	* include/std/generator (generator::_Iterator::operator*): Fix
	return type.
	* testsuite/24_iterators/range_generators/iter_deref_return.cc:
	New test.

2024-03-26  Arsen Arsenović  <arsen@aarsen.me>

	* include/std/generator: Fix _V badname.

2024-03-26  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/19_diagnostics/stacktrace/current.cc: Check for
	__cpp_lib_stacktrace instead of check for stacktrace ET.
	* testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/hash.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
	Likewise.
	* testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
	Remove.

2024-03-26  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/lib/dg-options.exp (dg-require-cpp-feature-test):
	New proc.
	* testsuite/lib/libstdc++.exp (check_v3_target_cpp_feature_test):
	New proc.
	* testsuite/std/text_encoding/cons.cc: Use new directive to skip
	the test if the __cpp_lib_text_encoding feature test macro is
	not defined.
	* testsuite/std/text_encoding/requirements.cc: Likewise.

2024-03-25  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/text_encoding/requirements.cc: #undef the
	correct macro.

2024-03-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (formatter): Disable specializations that
	would allow sequences of narrow characters to be formatted as
	wchar_t without conversion, as per LWG 3944.
	* testsuite/std/format/formatter/lwg3944.cc: New test.

2024-03-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/utility.h (__is_in_place_index_v): New variable
	template.
	* include/std/variant (__not_in_place_tag): Define in terms of
	variable templates not a class template.

2024-03-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114400
	* include/std/string_view (operator==): Use std::type_identity_t
	in C++20 instead of our own __type_identity_t.

2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114401
	* include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call
	release() on node handle instead of just zeroing its pointer.
	(_Hashtable::_M_reinsert_node_multi): Likewise.
	(_Hashtable::_M_merge_unique): Likewise.
	(_Hashtable::_M_merge_multi): Likewise.
	* include/bits/node_handle.h (_Node_handle_common::release()):
	New member function.
	(_Node_handle_common::_Optional_alloc::_M_empty): Remove
	unnecessary union member.
	(_Node_handle_common): Declare _Hashtable as a friend.
	* include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique):
	Call release() on node handle instead of just zeroing its
	pointer.
	(_Rb_tree::_M_reinsert_node_equal): Likewise.
	(_Rb_tree::_M_reinsert_node_hint_unique): Likewise.
	(_Rb_tree::_M_reinsert_node_hint_equal): Likewise.
	* testsuite/23_containers/multiset/modifiers/114401.cc: New test.
	* testsuite/23_containers/set/modifiers/114401.cc: New test.
	* testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test.
	* testsuite/23_containers/unordered_set/modifiers/114401.cc: New test.

2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113841
	* include/bits/allocator.h (allocator<cv T>): Add default
	constructor to partial specializations for cv-qualified types.
	* include/bits/stl_vector.h (_Vector_impl::_Vector_impl()):
	Constrain so that it's only present if the allocator is default
	constructible.
	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
	Likewise.
	* testsuite/23_containers/vector/cons/113841.cc: New test.

2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_construct.h (destroy_at, construct_at): Guard
	with feature test macros instead of just __cplusplus.

2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (generator, tuple_like): Move earlier
	in the file.
	* include/bits/version.h: Regenerate.

2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114394
	* include/std/functional (bind): Use __invoke_result_t instead
	of result_of::type.
	* include/std/type_traits (__invoke_result_t): New alias
	template.
	* testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern.

2024-03-20  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/version.def (null_iterators): Remove extra_cond.
	* include/bits/version.h: Regenerate.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114359
	* include/bits/random.tcc (binomial_distribution::param_type):
	Ensure arithmetic is done as type double.
	* testsuite/26_numerics/random/binomial_distribution/114359.cc: New test.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/101228
	* include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES):
	Define before including <tbb/task.h> then undef afterwards.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am [MAINTAINER_MODE]: Add target to
	automatically update <bits/version.h>.
	* include/Makefile.in: Regenerate.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/build_hacking.xml: Document generated files.
	Update list of convenience libraries and sub-directories under
	the src directory.
	* doc/html/*: Regenerate.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/text_encoding-data.h: Regenerate.
	* include/bits/unicode-data.h: Regenerate.
	* scripts/gen_text_encoding_data.py: Fix header of generated
	file to name the correct script.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/pstl/test_utils.h: Fix typos in comments.

2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114367
	* include/bits/stl_bvector.h (_M_allocate): Use allocator's
	construct function to begin lifetime of words.

2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>

	* testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B
	option for the path to the uninstalled libatomic.

2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>

	* testsuite/lib/libstdc++.exp (v3_target_compile): Instead of
	/dev/null, use a temporary file for test executables on Darwin.

2024-03-18  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance):
	Accept 0 offset advance on value-initialized iterator.
	* testsuite/23_containers/vector/debug/n3644.cc: New test case.

2024-03-18  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_local_iterator.tcc
	(_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and
	_M_singular checks.
	* testsuite/23_containers/unordered_set/debug/114316.cc: New test case.

2024-03-17  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/114316
	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
	First check if both iterators are value-initialized before checking if
	singular.
	* testsuite/23_containers/set/debug/114316.cc: New test case.
	* testsuite/23_containers/vector/debug/114316.cc: New test case.

2024-03-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114325
	* include/std/format (_Scanner::_M_scan): Pass correct length to
	__to_chars_10_impl.
	* testsuite/std/format/functions/format.cc: Check negative
	integers with empty format-spec.

2024-03-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_algo.h (find_end, all_of, none_of, any_of)
	(find_if_not, is_partitioned, partition_point, remove)
	(remove_if, unique, lower_bound, upper_bound, equal_range)
	(binary_search, includes, is_sorted, is_sorted_until, minmax)
	(minmax_element, is_permutation, clamp, find_if, find_first_of)
	(adjacent_find, count, count_if, search, search_n, min_element)
	(max_element): Add nodiscard attribute.
	* include/bits/stl_algobase.h (min, max, lower_bound, equal)
	(lexicographical_compare, lexicographical_compare_three_way)
	(mismatch): Likewise.
	* include/bits/stl_heap.h (is_heap, is_heap_until): Likewise.
	* testsuite/25_algorithms/equal/debug/1_neg.cc: Add dg-warning.
	* testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise.
	* testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise.
	* testsuite/25_algorithms/find_first_of/concept_check_1.cc:
	Likewise.
	* testsuite/25_algorithms/is_permutation/2.cc: Likewise.
	* testsuite/25_algorithms/lexicographical_compare/71545.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc:
	Likewise.
	* testsuite/25_algorithms/minmax/3.cc: Likewise.
	* testsuite/25_algorithms/search/78346.cc: Likewise.
	* testsuite/25_algorithms/search_n/58358.cc: Likewise.
	* testsuite/25_algorithms/unique/1.cc: Likewise.
	* testsuite/25_algorithms/unique/11480.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc:
	Likewise.
	* testsuite/ext/concept_checks.cc: Likewise.
	* testsuite/ext/is_heap/47709.cc: Likewise.
	* testsuite/ext/is_sorted/cxx0x.cc: Likewise.

2024-03-14  xndcn  <xndchn@gmail.com>

	* include/bits/atomic_base.h (__atomic_float::__atomic_float(Fp)):
	Clear padding.
	* testsuite/29_atomics/atomic_float/compare_exchange_padding.cc:
	New test.

2024-03-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/66146
	* doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in
	note about std::call_once.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/html/manual/status.html: Regenerate.

2024-03-14  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/status_cxx2023.xml: Update C++23 status table.
	* doc/html/manual/status.html: Regenerate.
	* include/bits/version.def: Fix typo in comment.

2024-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat
	to namespace scope.

2024-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/debug.xml: Improve docs on debug builds and
	using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put
	the most relevant ones first.
	* doc/xml/manual/using.xml: Add comma.
	* doc/html/*: Regenerate.

2024-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/debug.xml: Document that concept checking might
	be removed in future.
	* doc/xml/manual/extensions.xml: Likewise.

2024-03-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114240
	* include/bits/chrono_io.h (_Parser::operator()): Assume
	hours(0) for a time_point, so that a time is not required
	to be present.
	* testsuite/std/time/parse/114240.cc: New test.

2024-03-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114279
	* include/bits/chrono_io.h (_Parser::_M_is_leap_second): New
	data member.
	(_Parser::_M_reserved): Reserve padding bits for future use.
	(_Parser::operator()): Set _M_is_leap_second if %S reads 60s.
	(from_stream): Only allow _M_is_leap_second for utc_time and
	local_time. Adjust arithmetic for utc_time so that leap seconds
	are preserved. Use time_point_cast to convert to a possibly
	lower-precision result type.
	* testsuite/std/time/parse.cc: Move to ...
	* testsuite/std/time/parse/parse.cc: ... here.
	* testsuite/std/time/parse/114279.cc: New test.

2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (_Parser::operator()): Use
	std::from_chars to parse fractional seconds.

2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114244
	* include/bits/chrono_io.h (_Parser::operator()): Remove
	redundant uses of duration_cast. Use chrono::round to convert
	long double value to durations with integer representations.
	Check represenation type when deciding whether to skip parsing
	fractional seconds.
	* testsuite/20_util/duration/114244.cc: New test.
	* testsuite/20_util/duration/io.cc: Check that a floating-point
	duration with ratio<1> precision can be parsed.

2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114103
	* include/bits/version.def (atomic_lock_free_type_aliases): Add
	extra_cond to check for at least one always-lock-free type.
	* include/bits/version.h: Regenerate.
	* include/std/atomic (atomic_signed_lock_free)
	(atomic_unsigned_lock_free): Only use always-lock-free types.
	* src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use
	atomic counter if lock-free aliases aren't available.
	* testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for
	targets without lock-free word-size compare_exchange.

2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (__get_leap_second_info): Update expiry
	time for hardcoded list of leap seconds.
	* testsuite/std/time/tzdb/leap_seconds.cc: Update comment.

2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/deque/allocator/default_init.cc: Use
	std::memset instead of __builtin_memset.
	* testsuite/23_containers/forward_list/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/list/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/map/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/set/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/vector/allocator/default_init.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/allocator/default_init.cc:
	Likewise.
	* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
	Likewise.
	* testsuite/util/atomic/wait_notify_util.h: Likewise.

2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (_Arg_store::_S_make_elt): Add two
	static_assert checks to give more user-friendly error messages.
	* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune another
	form of "in requirements with" note.
	* testsuite/std/format/arguments/args_neg.cc: Check for
	user-friendly diagnostics for non-formattable types.
	* testsuite/std/format/string_neg.cc: Likewise.

2024-03-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114147
	* include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)):
	Add missing overload of allocator-extended default constructor.
	(tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise.
	* testsuite/20_util/tuple/cons/114147.cc: New test.

2024-02-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (basic_format_arg::handle::__maybe_const_t):
	Fix condition to check if const type is formattable.
	(basic_format_arg::handle::handle(T&)): Remove redundant
	static_assert.
	* testsuite/std/format/formatter/basic.cc: New test.

2024-02-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113960
	* include/bits/stl_algobase.h (__is_byte_iter): Replace with ...
	(__memcmp_ordered_with): New concept.
	(lexicographical_compare_three_way): Use __memcmp_ordered_with
	instead of __is_byte_iter. Use correct length for memcmp.
	* testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
	New test.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114152
	* include/experimental/scope (scope_exit scope_fail): Make
	destructor unconditionally noexcept.
	(scope_sucess): Fix noexcept-specifier.
	* testsuite/experimental/scopeguard/114152.cc: New test.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Change URLs to use
	https.
	* doc/html/manual/*: Regenerate.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Replace outdated
	info on ChangeLog entries.
	* doc/html/manual/appendix_contributing.html: Regenerate.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_bvector.h (vector<bool, A>::at): Add
	nodiscard.
	* include/bits/stl_vector.h (vector<T, A>::at): Likewise.
	(operator==, operator<=>, operator<, operator!=, operator>)
	(operator<=, operator>=): Likewise.
	* include/debug/vector (operator==, operator<=>, operator<)
	(operator!=, operator>, operator<=, operator>=): Likewise.
	* testsuite/23_containers/vector/nodiscard.cc: New test.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_base.h (operator|, operator&): Add
	noexcept.
	* include/bits/fs_fwd.h (operator&, operator|, operator^)
	(operator~): Add nodiscard to overloads for copy_options, perms,
	perm_options, and directory_options.
	* include/bits/ios_base.h (operator&, operator|, operator^)
	(operator~): Add nodiscard and noexcept to overloads for
	_Ios_Fmtflags, _Ios_Openmode, and _Ios_Iostate.
	(operator|=, operator&=, operator^=): Add constexpr for C++14.
	* include/bits/regex_constants.h (operator&, operator|, operator^)
	(operator~): Add nodiscard and noexcept to overloads for
	syntax_option_type and match_flag_type.
	(operator|=, operator&=, operator^=): Add noexcept.
	* include/std/charconv (operator&, operator|, operator^)
	(operator~): Add nodiscard to overloads for chars_format.
	* include/std/future (operator&, operator|, operator^)
	(operator~): Add nodiscard for overloads for launch.
	(operator&=, operator|=, operator^=): Add constexpr for C++14.
	* include/experimental/bits/fs_fwd.h  (operator&, operator|)
	(operator^, operator~): Add nodiscard to overloads for
	copy_options, perms, and directory_options.
	* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc:
	Add dg-warning for nodiscard warnings.
	* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc:
	Likewise.
	* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc:
	Likewise.
	* testsuite/27_io/filesystem/operations/bitmask_types.cc:
	New test.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_ostream/print/1.cc: Check error
	handling.
	* testsuite/27_io/print/1.cc: Likewise.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX
	code path for Cygwin instead of Windows.
	* include/std/print (vprint_unicode) [__CYGWIN__]: Likewise.
	* testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp
	for *-*-mingw* targets.
	* testsuite/27_io/print/1.cc: Likewise.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/alloc_traits.h: Include <bits/stl_iterator.h> for
	__make_move_if_noexcept_iterator.

2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/stacktrace: Add nodiscard attribute to all
	functions without side effects.

2024-02-20  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_algobase.h (std::__niter_wrap): Add a call to
	std::__niter_base on res iterator.

2024-02-19  Iain Sandoe  <iain@sandoe.co.uk>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR target/112397
	* configure: Regenerate.
	* configure.ac: Detect if we are building for Darwin.
	* libsupc++/Makefile.am: If we are building for Darwin, then
	suppress hot/cold partitioning for the array allocators.
	* libsupc++/Makefile.in: Regenerated.

2024-02-17  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_algobase.h (std::__niter_base): Redefine the overload
	definitions for __gnu_debug::_Safe_iterator.
	* include/debug/safe_iterator.tcc (std::__niter_base): Adapt declarations.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87744
	PR libstdc++/113961
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	line number.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87744
	PR libstdc++/113931
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	line number.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/debug_mode.xml: Update docs for backtraces.
	* doc/html/manual/debug_mode_using.html: Regenerate.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Fix spelling of <envar> elements.
	* doc/html/manual/test.html: Regenerate.

2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113806
	* include/std/bitset (bitset::operator>>=): Remove redundant
	call to _M_do_sanitize.

2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113807
	* include/std/bitset (bitset::set()): Use memset instead of a
	loop over the individual words.

2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113811
	* include/bits/stl_algo.h (__rotate): Use unsigned values for
	division.

2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/99117
	* include/std/valarray (valarray::operator=(const _Expr&)):
	Use loop to copy instead of __valarray_copy with _Array.
	* testsuite/26_numerics/valarray/99117.cc: New test.

2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdata.zi: Import new file from 2024a release.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
	Update expiry date for leap seconds list.

2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/87744
	* include/bits/random.h [!__SIZEOF_INT128__] (_Select_uint_least_t):
	Define specialization for 64-bit generators with
	non-power-of-two modulus and large constants.
	(__mod): Use if constexpr unconditionally.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	line number.
	* testsuite/26_numerics/random/linear_congruential_engine/87744.cc:
	New test.

2024-02-14  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/status_cxx2023.xml: Fix C++ item p2442 to be
	version 1.
	* doc/html/manual/status.html: Regenerate.

2024-02-12  Paul Keir  <paul.keir@uws.ac.uk>

	PR libstdc++/113294
	* include/bits/basic_string.h (basic_string::operator=): Use
	_M_use_local_data() instead of _M_local_buf on the moved-from
	string.
	* testsuite/21_strings/basic_string/modifiers/constexpr.cc
	(test_move): New test.

2024-02-09  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME):
	Removed.
	* include/std/type_traits (is_same): Use
	_GLIBCXX_USE_BUILTIN_TRAIT instead of
	_GLIBCXX_HAVE_BUILTIN_IS_SAME.
	(is_same_v): Likewise.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_atomic.h: Fix typo in comment.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/100147
	* include/bits/gslice.h (operator=): Add comment about lack of
	self-assignment check.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/tr2/type_traits (bases, direct_bases): Use
	__has_builtin to check if required built-ins are supported.

2024-02-07  Patrick Palka  <ppalka@redhat.com>

	PR testsuite/113710
	PR c++/113814
	* include/bits/stl_pair.h (tuple_element): Add forward
	declaration of the partial specialization for tuple.

2024-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null"
	for other environments.

2024-02-04  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Spec::_M_reserved): Define new
	bit-field members to reserve padding bits for future extensions.

2024-02-04  Jonathan Wakely  <jwakely@redhat.com>

	* src/experimental/Makefile.am: Use libstdc++fsconvenience.a
	instead of libstdc++fs.a.
	* src/experimental/Makefile.in: Regenerate.
	* src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
	well.
	* src/filesystem/Makefile.in: Regenerate.

2024-02-04  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/text_encoding-data.h: Regenerate.
	* include/bits/unicode-data.h: Regenerate.
	* scripts/gen_text_encoding_data.py: Add copyright and license
	text to the output.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113335
	* include/bits/std_function.h (__function_guide_helper): Add
	partial specialization for explicit object member functions, as
	per LWG 3617.
	* testsuite/20_util/function/cons/deduction_c++23.cc: Check
	explicit object member functions.
	* testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
	Likewise.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/names.cc [_AIX]: Undefine "u".

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (network_v6::network): Define.
	(network_v6::hosts): Finish implementing.
	(network_v6::to_string): Do not concatenate std::string to
	arbitrary std::basic_string specialization.
	* testsuite/experimental/net/internet/network/v6/cons.cc: New
	test.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/90276
	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix
	comparison function to use less-than instead of equality.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/90276
	* testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
	perfect forwarding for iterator arguments.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/string_view (basic_string_view(R&&)): Remove
	constraint that traits_type must be the same, as per LWG 3857.
	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
	Explicit conversion between different specializations should be
	allowed.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
	Likewise.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/syncstream (basic_osyncstream::operator=): Remove
	noexcept, as per LWG 3867.

2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/generator (promise_type::yield_value): Remove
	noexcept from fourth overload, as per LWG 3894.

2024-02-01  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/113309
	PR libstdc++/109203
	* include/bits/ranges_util.h (__detail::__pair_like): Don't
	define in C++23 mode.
	(__detail::__pair_like_convertible_from): Adjust as per P2165R4.
	(__detail::__is_subrange<subrange>): Moved from <ranges>.
	(__detail::__is_tuple_like_v<subrange>): Likewise.
	* include/bits/stl_iterator.h: Include <bits/utility.h> for
	C++23.
	(__different_from): Move to <concepts>.
	(__iter_key_t): Adjust for C++23 as per P2165R4.
	(__iter_val_t): Likewise.
	* include/bits/stl_pair.h (pair, array): Forward declare.
	(get): Forward declare all overloads relevant to P2165R4
	tuple-like constructors.
	(__is_tuple_v): Define for C++23.
	(__is_tuple_like_v): Define for C++23.
	(__tuple_like): Define for C++23 as per P2165R4.
	(__pair_like): Define for C++23 as per P2165R4.
	(__eligibile_tuple_like): Define for C++23.
	(__eligibile_pair_like): Define for C++23.
	(pair::_S_constructible_from_pair_like): Define for C++23.
	(pair::_S_convertible_from_pair_like): Define for C++23.
	(pair::_S_dangles_from_pair_like): Define for C++23.
	(pair::pair): Define overloads taking a tuple-like type for
	C++23 as per P2165R4.
	(pair::_S_assignable_from_tuple_like): Define for C++23.
	(pair::_S_const_assignable_from_tuple_like): Define for C++23.
	(pair::operator=): Define overloads taking a tuple-like type for
	C++23 as per P2165R4.
	* include/bits/utility.h (ranges::__detail::__is_subrange):
	Moved from <ranges>.
	* include/bits/version.def (tuple_like): Define for C++23.
	* include/bits/version.h: Regenerate.
	* include/std/concepts (__different_from): Moved from
	<bits/stl_iterator.h>.
	(ranges::__swap::__adl_swap): Clarify which __detail namespace.
	* include/std/map (__cpp_lib_tuple_like): Define C++23.
	* include/std/ranges (__detail::__is_subrange): Moved to
	<bits/utility.h>.
	(__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h>
	(__detail::__has_tuple_element): Adjust for C++23 as per P2165R4.
	(__detail::__tuple_or_pair): Remove as per P2165R4.  Replace all
	uses with plain tuple as per P2165R4.
	* include/std/tuple (__cpp_lib_tuple_like): Define for C++23.
	(__tuple_like_tag_t): Define for C++23.
	(__tuple_cmp): Forward declare for C++23.
	(_Tuple_impl::_Tuple_impl): Define overloads taking
	__tuple_like_tag_t and a tuple-like type for C++23.
	(_Tuple_impl::_M_assign): Likewise.
	(tuple::__constructible_from_tuple_like): Define for C++23.
	(tuple::__convertible_from_tuple_like): Define for C++23.
	(tuple::__dangles_from_tuple_like): Define for C++23.
	(tuple::tuple): Define overloads taking a tuple-like type for
	C++23 as per P2165R4.
	(tuple::__assignable_from_tuple_like): Define for C++23.
	(tuple::__const_assignable_from_tuple_like): Define for C++23.
	(tuple::operator=): Define overloads taking a tuple-like type
	for C++23 as per P2165R4.
	(tuple::__tuple_like_common_comparison_category): Define for C++23.
	(tuple::operator<=>): Define overload taking a tuple-like type
	for C++23 as per P2165R4.
	(array, get): Forward declarations moved to <bits/stl_pair.h>.
	(tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4.
	(apply): Likewise.
	(make_from_tuple): Likewise.
	(__tuple_like_common_reference): Define for C++23.
	(basic_common_reference): Adjust as per P2165R4.
	(__tuple_like_common_type): Define for C++23.
	(common_type): Adjust as per P2165R4.
	* include/std/unordered_map (__cpp_lib_tuple_like): Define for
	C++23.
	* include/std/utility (__cpp_lib_tuple_like): Define for C++23.
	* testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair
	and 2-tuple interchangeably.
	(test05): New test.
	* testsuite/20_util/pair/p2165r4.cc: New test.
	* testsuite/20_util/tuple/p2165r4.cc: New test.

2024-02-01  Patrick Palka  <ppalka@redhat.com>

	* include/bits/stl_pair.h (pair::_S_const_assignable): Define,
	factored out from ...
	(pair::operator=): ... the constraints of the const overloads.

2024-02-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.tpl: Do not use def-file-line for each
	macro being defined.
	* include/bits/version.h: Regenerate.

2024-02-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
	dg-error pattern.
	* testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
	Likewise.
	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
	Likewise.

2024-02-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (network_v4::to_string()):
	Remove lambda and use of resize_and_overwrite.

2024-01-31  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if
	needed for newlocale.
	* configure: Regenerate.
	* src/c++26/text_encoding.cc: Use <xlocale.h>.

2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
	    Ewan Higgs  <ewan.higgs@gmail.com>

	* include/bits/text_encoding-data.h: Regenerate.
	* scripts/gen_text_encoding_data.py: Add extra_aliases dict
	containing "ASCII".
	* testsuite/std/text_encoding/cons.cc: Check "ascii" is known.

2024-01-31  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/using.xml: Update tables of supported headers.
	* doc/html/*: Regenerate.

2024-01-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid
	-Wshift-count-overflow warning.

2024-01-30  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/time/clock/gps/io.cc: Fix expected result in
	assertion and call test_format() from main.

2024-01-29  François Dumont  <fdumont@gcc.gnu.org>

	* doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use
	_GLIBCXX_DEBUG_BACKTRACE macro.

2024-01-24  Huanghui Nie  <nnnjkk@gmail.com>
	    Théo Papadopoulo   <papadopoulo@gmail.com>

	* include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove
	_M_before_begin check and cleanup implementation.

2024-01-22  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/time/clock/file/io.cc: Fix expected result in
	assertion and call test_format() from main.

2024-01-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113500
	* include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
	printing of subseconds with floating-point rep.
	(__formatter_chrono::_M_format_to_ostream): Do not write
	time_point specializations directly to the ostream.
	(formatter<chrono::sys_time<D>, C>::parse): Do not allow an
	empty chrono-spec if the type fails to meet the constraints for
	writing to an ostream with operator<<.
	* testsuite/std/time/clock/file/io.cc: Check formatting
	non-integral times with empty chrono-specs.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.
	* testsuite/std/time/hh_mm_ss/io.cc: Likewise.

2024-01-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono.h (__file_clock::from_sys)
	(__file_clock::to_sys, __file_clock::_S_from_sys)
	(__file_clock::_S_to_sys): Use common_type for return type.
	* testsuite/std/time/clock/file/members.cc: Check round trip
	conversion for time with lower precision that seconds.

2024-01-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113512
	* include/std/format (__formatter_fp::format): Fix logic for
	alternate forms.
	* testsuite/std/format/functions/format.cc: Check buggy cases of
	alternate forms with g presentation type.

2024-01-20  Marek Polacek  <polacek@redhat.com>

	PR c++/111410
	* include/std/ranges: Add #pragma to disable -Wdangling-reference with
	std::ranges::views::__adaptor::operator|.

2024-01-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (_Spec::_M_parse_fill_and_align): Do not
	use CTAD for _Utf32_view.

2024-01-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108822
	* include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix
	wrong fold-operator.
	* testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one
	element and three elements. Check allocator-extended
	constructors.

2024-01-19  Patrick Palka  <ppalka@redhat.com>

	* include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include
	<print> and <text_encoding> for C++23 and C++26 respectively.

2024-01-18  Patrick Palka  <ppalka@redhat.com>

	* include/bits/stl_pair.h [__cplusplus > 202002L]:
	Guard P2321R2 changes with __glibcxx_ranges_zip instead.

2024-01-18  Patrick Palka  <ppalka@redhat.com>

	* include/std/tuple [__cplusplus > 202002L]: Guard P2321R2
	changes with __cpp_lib_ranges_zip instead.

2024-01-18  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/109536
	* include/debug/safe_base.h (_Safe_sequence_base::_M_swap):
	Remove _GLIBCXX20_CONSTEXPR from non-inline member function.
	* include/debug/safe_iterator.h
	(_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define.
	(_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define.
	(_Safe_iterator::operator=): Use them around the code path that
	defines a variable of type __gnu_cxx::__scoped_lock.
	(_Safe_iterator::operator++): Likewise.
	(_Safe_iterator::operator--): Likewise.
	(_Safe_iterator::operator+=): Likewise.
	(_Safe_iterator::operator-=): Likewise.
	* testsuite/23_containers/vector/element_access/constexpr.cc
	(test_iterators): Test more iterator operations.
	* testsuite/23_containers/vector/bool/element_access/constexpr.cc
	(test_iterators): Likewise.
	* testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]:
	Remove.

2024-01-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode.h (__charset_alias_match): Initialize
	__var_a and __var_b.

2024-01-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113450
	* testsuite/std/format/functions/format.cc: Use signed char
	instead of int8_t.

2024-01-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113318
	* acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory.
	(GLIBCXX_CHECK_TEXT_ENCODING): Define.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING.
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* include/bits/locale_classes.h (locale::encoding): Declare new
	member function.
	* include/bits/unicode.h (__charset_alias_match): New function.
	* include/bits/text_encoding-data.h: New file.
	* include/bits/version.def (text_encoding): Define.
	* include/bits/version.h: Regenerate.
	* include/std/text_encoding: New file.
	* src/Makefile.am: Add new subdirectory.
	* src/Makefile.in: Regenerate.
	* src/c++26/Makefile.am: New file.
	* src/c++26/Makefile.in: New file.
	* src/c++26/text_encoding.cc: New file.
	* src/experimental/Makefile.am: Include c++26 convenience
	library.
	* src/experimental/Makefile.in: Regenerate.
	* python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New
	printer.
	* scripts/gen_text_encoding_data.py: New file.
	* testsuite/22_locale/locale/encoding.cc: New test.
	* testsuite/ext/unicode/charset_alias_match.cc: New test.
	* testsuite/std/text_encoding/cons.cc: New test.
	* testsuite/std/text_encoding/members.cc: New test.
	* testsuite/std/text_encoding/requirements.cc: New test.

2024-01-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode.h (_Grapheme_cluster_view): Require view.
	Do not use CTAD for _Utf32_view.
	(__format_width, __truncate): Do not use CTAD.
	(enable_borrowed_range<_Utf_view<T, R>>): Define specialization.
	(enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise.

2024-01-17  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (views::_CartesianProduct::operator()):
	Adjust identity case as per P2540R1.
	* testsuite/std/ranges/cartesian_product/1.cc (test01):
	Adjust expected result of the identity case.

2024-01-15  Patrick Palka  <ppalka@redhat.com>

	* include/std/variant (__detail::__variant::_Variadic_union):
	Add bool __trivially_destructible template parameter.
	(__detail::__variant::_Variadic_union::~_Variadic_union):
	Use __trivially_destructible in constraints instead.
	(__detail::__variant::_Variant_storage): Pass
	__trivially_destructible value to _Variadic_union.

2024-01-15  Patrick Palka  <ppalka@redhat.com>

	* include/bits/stl_iterator.h (const_iterator): Define conversion
	operators as per P2836R1.
	* include/bits/version.def (ranges_as_const): Update value.
	* include/bits/version.h: Regenerate.
	* testsuite/24_iterators/const_iterator/1.cc (test04): New test.
	* testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
	value of __cpp_lib_ranges_as_const.
	* testsuite/std/ranges/version_c++23.cc: Likewise.

2024-01-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108822
	* include/std/tuple (__assignable, __is_nothrow_assignable):
	Move pre-C++20 definitions adjacent to their use.

2024-01-15  Jonathan Wakely  <jwakely@redhat.com>

	PR testsuite/113366
	* include/std/format (basic_format_arg): Use __formattable
	variable template instead of __format::__formattable_with
	concept.

2024-01-15  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdata.zi: Import new file from 2023d release.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
	Update expiry date for leap seconds list.

2024-01-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108822
	* include/std/tuple (tuple): Add checks for dangling references.
	Reimplement constraints and constant expressions using C++20
	features.
	* include/std/type_traits [C++20]
	(__is_implicitly_default_constructible_v): Define.
	(__is_implicitly_default_constructible): Use variable template.
	* testsuite/20_util/tuple/dangling_ref.cc: New test.

2024-01-13  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/108827
	PR libstdc++/111327
	* include/bits/version.def (bind_back): Define.
	* include/bits/version.h: Regenerate.
	* include/std/functional (_Bind_back): Define for C++23.
	(bind_back): Likewise.
	* testsuite/20_util/function_objects/bind_back/1.cc: New test
	(adapted from corresponding bind_front test).
	* testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.

2024-01-13  Patrick Palka  <ppalka@redhat.com>

	* include/std/functional (_Bind_front): Remove =default special
	member function declarations.
	(_Bind_front::operator()): Implement using C++23 deducing this
	when available.
	* testsuite/20_util/function_objects/bind_front/111327.cc:
	Adjust testcase to expect better errors in C++23 mode.

2024-01-13  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (views::__adaptor::operator|): Perform
	perfect forwarding of arguments.
	(views::__adaptor::_RangeAdaptor::operator()): Pass dummy
	first argument to _Partial.
	(views::__adaptor::_Partial::_Partial): Likewise.  Add dummy
	first parameter.
	(views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding
	of arguments.
	(to): Pass dummy first argument to _Partial.

2024-01-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/107466
	* include/bits/random.tcc (subtract_with_carry_engine::seed):
	Implement proposed resolution of LWG 4014.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	line number.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
	Check for expected result of 64-bit engine with seed that
	doesn't fit in 32-bits.

2024-01-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113320
	* include/std/format (__format::_Runtime_format_string): Add
	constructor and disable copy operations.
	(basic_format_string(_Runtime_format_string)): Add noexcept and
	take parameter by value not rvalue reference.
	(runtime_format): Add noexcept.
	* testsuite/std/format/runtime_format.cc: Check noexcept. Check
	that construction is only possible from prvalues, not xvalues.

2024-01-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105505
	* include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
	default template arguments, as per P1951R1.
	* testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.

2024-01-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Arg_store): Fix PR number in
	comment. Simplify preprocessor code.

2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Fix spelling.
	* doc/html/manual/api.html: Regenerate.

2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Document addition of
	libstdc++exp.a.
	* doc/html/*: Regenerate.

2024-01-11  Marcus Haehnel  <marcus.haehnel@kernkonzept.com>

	* libsupc++/eh_unex_handler.cc: Adjust definition type to
	declaration.

2024-01-11  Michael Levine  <mlevine55@bloomberg.net>

	* include/std/ranges (__glibcxx_want_ranges_iota): Remove
	duplicate definition.

2024-01-11  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/112477
	* src/c++11/debug.cc
	(_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
	sequence.
	(_Safe_iterator_base::_M_attach_single): Likewise.
	(_Safe_local_iterator_base::_M_attach): Likewise.
	(_Safe_local_iterator_base::_M_attach_single): Likewise.
	* testsuite/23_containers/map/debug/112477.cc: New test case.

2024-01-11  Patrick Palka  <ppalka@redhat.com>

	* include/bits/move.h (__like_t): Define in C++23 mode.
	* include/std/ranges (views::__adaptor::Partial::operator()):
	Implement using C++23 deducing this when available.
	(views::__adaptor::_Pipe::operator()): Likewise.
	* testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
	accept new "no match for call" errors issued in C++23 mode.
	* testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.

2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
	Add printer for std::integral_constant.
	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.

2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113258
	* libsupc++/new_opa.cc: Prefer to use posix_memalign if
	available.

2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>

	* src/filesystem/ops-common.h (stat_type): Use using.

2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>

	PR libstdc++/113250
	* src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
	* src/filesystem/ops.cc (fs::equivalent): Likewise.
	* testsuite/27_io/filesystem/operations/equivalent.cc: Handle
	error codes.
	* testsuite/experimental/filesystem/operations/equivalent.cc:
	Likewise.

2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_compound): Do not use __not_.
	(is_compound_v): Use is_fundamental_v instead.

2024-01-11  Patrick Palka  <ppalka@redhat.com>

	* include/bits/utility.h (_Nth_type): Use
	_GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.

2024-01-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode-data.h: Regenerate.
	* include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
	by one error.
	(__incb_property): Add missing check for values before the
	first edge.
	(__is_extended_pictographic): Invert return values to fix
	copy&pasted logic.
	(_Grapheme_cluster_view::_Iterator): Remove second iterator
	member and find end of cluster lazily.
	* testsuite/ext/unicode/grapheme_view.cc: New test.
	* testsuite/ext/unicode/properties.cc: New test.
	* testsuite/ext/unicode/view.cc: New test.

2024-01-09  Andreas Schwab  <schwab@linux-m68k.org>

	* scripts/extract_symvers.in: Require final colon to only match
	.dsynsym in the header of the dynamic symtab.

2024-01-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
	handling of string returned from std::format.
	(__formatter_chrono::_M_R_T): Likewise.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unicode.h (__null_sentinel): Remove.
	* testsuite/17_intro/names.cc: Add __null_sentinel.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Runtime_format_string): Define
	new class template.
	(basic_format_string): Add non-consteval constructor for runtime
	format strings.
	(runtime_format): Define new function for C++26.
	* testsuite/std/format/runtime_format.cc: New test.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono): Always use
	lvalue arguments to make_format_args.
	* include/std/format (make_format_args): Change parameter pack
	from forwarding references to lvalue references. Remove use of
	remove_reference_t which is now unnecessary.
	(format_to, formatted_size): Remove incorrect forwarding of
	arguments.
	* include/std/ostream (print): Remove forwarding of arguments.
	* include/std/print (print): Likewise.
	* testsuite/20_util/duration/io.cc: Use lvalues as arguments to
	make_format_args.
	* testsuite/std/format/arguments/args.cc: Likewise.
	* testsuite/std/format/arguments/lwg3810.cc: Likewise.
	* testsuite/std/format/functions/format.cc: Likewise.
	* testsuite/std/format/functions/vformat_to.cc: Likewise.
	* testsuite/std/format/string.cc: Likewise.
	* testsuite/std/time/day/io.cc: Likewise.
	* testsuite/std/time/month/io.cc: Likewise.
	* testsuite/std/time/weekday/io.cc: Likewise.
	* testsuite/std/time/year/io.cc: Likewise.
	* testsuite/std/time/year_month_day/io.cc: Likewise.
	* testsuite/std/format/arguments/args_neg.cc: New test.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* include/bits/unicode.h: New file.
	* include/bits/unicode-data.h: New file.
	* include/std/format: Include <bits/unicode.h>.
	(__literal_encoding_is_utf8): Move to <bits/unicode.h>.
	(_Spec::_M_fill): Change type to char32_t.
	(_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
	instead of a single character.
	(__write_padded): Change __fill_char parameter to char32_t and
	encode it into the output.
	(__formatter_str::format): Use new __unicode::__field_width and
	__unicode::__truncate functions.
	* include/std/ostream: Adjust namespace qualification for
	__literal_encoding_is_utf8.
	* include/std/print: Likewise.
	* src/c++23/print.cc: Add [[unlikely]] attribute to error path.
	* testsuite/ext/unicode/view.cc: New test.
	* testsuite/std/format/functions/format.cc: Add missing examples
	from the standard demonstrating alignment with non-ASCII
	characters. Add examples checking correct handling of extended
	grapheme clusters.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (format_uchar): Define.
	* include/bits/version.h: Regenerate.
	* include/std/format (formatter<C, C>::format): Check for
	_Pres_c and call _M_format_character directly. Cast C to its
	unsigned equivalent for formatting as an integer.
	(formatter<char, wchar_t>::format): Likewise.
	(basic_format_arg(T&)): Store char arguments as unsigned char
	for formatting to a wide string.
	* testsuite/std/format/functions/format.cc: Adjust test. Check
	formatting of

2024-01-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112997
	* libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
	parameter to void*.

2024-01-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.

2024-01-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/type_traits (is_trivially_destructible_v): Use
	built-in directly when concepts are supported.
	* testsuite/20_util/is_trivially_destructible/value_v.cc: New
	test.

2024-01-06  Gwenole Beauchesne  <gb.devel@gmail.com>

	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
	nonnull arguments to strtoimax() and wcstoimax() functions.

2024-01-05  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
	size and check for overflows in arithmetic.
	(path::operator/=(const path&)): Remove redundant exponential
	growth calculation.

2024-01-05  Martin Küttler  <martin.kuettler@kernkonzept.com>

	* src/c++17/fs_path.cc (path::_List::reserve): Avoid
	floating-point arithmetic.

2024-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113241
	* include/std/type_traits (is_convertible_v): Guard use of
	built-in with preprocessor check.

2024-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113200
	* include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
	__builtin_constant_p to check for unrelated pointers that cannot
	be compared during constant evaluation.
	* testsuite/21_strings/char_traits/requirements/113200.cc: New
	test.

2024-01-05  Cassio Neri  <cassio.neri@gmail.com>

	* include/std/chrono: Fix + and - for months and weekdays.
	* testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
	* testsuite/std/time/month/2.cc: New test for extreme values.
	* testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
	* testsuite/std/time/weekday/2.cc: New test for extreme values.

2024-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113099
	* include/bits/locale_classes.tcc (__try_use_facet): Use
	if-constexpr for C++11 and up.

2024-01-05  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.

2024-01-04  Arsen Arsenović  <arsen@aarsen.me>

	* include/std/generator (_Subyield_state::_M_jump_in): Fix typo
	reported by Will Hawkins <hawkinsw@obs.cr>.

2024-01-04  Arsen Arsenović  <arsen@aarsen.me>

	* include/std/generator (_Stateless_alloc): Rename typename _A
	to _All.

2024-01-03  Patrick Palka  <ppalka@redhat.com>

	PR testsuite/113175
	* testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
	'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
	(test03): Likewise.

Copyright (C) 2024 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
