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.
