aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r--libstdc++-v3/ChangeLog3507
1 files changed, 3507 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 4615d0f..72a8610 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,3510 @@
+2025-08-07 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/xml/manual/build_hacking.xml: Switch gcc.gnu.org installation
+ docs to https.
+ * doc/html/manual/appendix_porting.html: Regenerate.
+
+2025-08-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/121373
+ * src/c++23/std.cc.in (std::ranges::iter_move, std::ranges::iter_swap):
+ Remove exports.
+
+2025-08-04 Jakub Jelinek <jakub@redhat.com>
+ hexne <printfne@gmail.com>
+
+ PR libstdc++/121373
+ * src/c++23/std.cc.in (std::ranges::shift_left,
+ std::ranges::shift_right): Only export for C++23 and later.
+ (std::ranges::fold_left_first_with_iter_result,
+ std::ranges::fold_left_with_iter_result): Export.
+ (std::byteswap): Export for C++23 and later.
+ (std::ranges::iter_move, std::ranges::iter_swap): Export.
+ (std::projected_value_t): Export for C++26 and later.
+ (std::out_ptr_t, std::inout_ptr_t): Export.
+ (std::ranges::iota_result): Export.
+ (std::regex_constants): Export a lot of constants.
+ (std::is_scoped_enum, std::is_scoped_enum_v): Export.
+
+2025-08-04 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/121128
+ * include/bits/indirect.h (indirect::operator*):
+ Cast __self to approparietly qualified indirect.
+ * testsuite/std/memory/indirect/access.cc: New test.
+ * testsuite/std/memory/polymorphic/access.cc: New test.
+
+2025-08-03 Jakub Jelinek <jakub@redhat.com>
+
+ * src/c++23/std.cc.in (std::owner_equal, std::owner_hash): Export.
+
+2025-07-30 François Dumont <frs.dumont@gmail.com>
+
+ * testsuite/std/time/format/data_not_present_neg.cc: Remove _GLIBCXX_USE_DUAL_ABI
+ check.
+
+2025-07-29 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/format/ranges/format_kind.cc: New test.
+
+2025-07-28 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102181
+ * include/bits/stl_iterator_base_funcs.h (distance, advance):
+ Check C++20 iterator concepts and handle appropriately.
+ (__detail::__iter_category_converts_to_concept): New concept.
+ (__detail::__promotable_iterator): New concept.
+ * testsuite/24_iterators/operations/cxx20_iterators.cc: New
+ test.
+
+2025-07-28 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119742
+ * include/debug/bitset: Add new ctor.
+
+2025-07-28 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan: Small stylistic adjustments.
+
+2025-07-28 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/accessors/generic.cc: Refactor
+ test_ctor.
+
+2025-07-28 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/121196
+ * include/std/inplace_vector (std::erase): Provide default argument
+ for _Up parameter.
+ * testsuite/23_containers/inplace_vector/erasure.cc: Add test for
+ using braces-init-list as arguments to erase_if and use function
+ to verify content of inplace_vector
+
+2025-07-25 Tuur Martens <tuurmartens4@gmail.com>
+
+ * include/bits/unordered_map.h: Rectify referencing of
+ non-existent type.
+
+2025-07-24 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/117294
+ PR c++/113854
+ * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust
+ diagnostics.
+ * testsuite/20_util/expected/illformed_neg.cc: Likewise.
+ * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
+ * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
+ * testsuite/24_iterators/range_generators/lwg3900.cc: Likewise.
+ * testsuite/29_atomics/atomic/requirements/types_neg.cc:
+ Likewise.
+ * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
+ Likewise.
+ * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
+ Likewise.
+ * testsuite/std/format/arguments/args_neg.cc: Likewise.
+ * testsuite/std/format/string_neg.cc: Likewise.
+
+2025-07-24 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/104874
+ * testsuite/24_iterators/random_access/string_vector_iterators.cc:
+ Reworked.
+
+2025-07-24 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/21_strings/basic_string/cons/from_range.cc: Replace
+ test_constexpr with test_ranges inside static_assert.
+ * testsuite/21_strings/basic_string/modifiers/append/append_range.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/modifiers/assign/assign_range.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/modifiers/insert/insert_range.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/modifiers/replace/replace_with_range.cc:
+ Likewise.
+ * testsuite/23_containers/vector/bool/cons/from_range.cc: Likewise.
+ * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc:
+ Likewise.
+ * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc:
+ Likewise.
+ * testsuite/23_containers/vector/cons/from_range.cc: Likewise.
+ * testsuite/23_containers/vector/modifiers/assign/assign_range.cc:
+ Likewise.
+ * testsuite/23_containers/vector/modifiers/insert/insert_range.cc:
+ Likewise.
+ * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc:
+ Run full test_ranges instead of span-only in test_constexpr.
+ * testsuite/23_containers/vector/modifiers/append_range.cc:
+ Replace test_constexpr with calls to test_ranges and test_overlapping.
+ * testsuite/util/testsuite_allocator.h (__gnu_test::SimpleAllocator):
+ Declared member functions as constexpr.
+
+2025-07-23 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/accessors/default.cc: Delete.
+ * testsuite/23_containers/mdspan/accessors/generic.cc: Slightly
+ generalize the test code previously in default.cc.
+
+2025-07-23 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/extents/ctor_ints.cc: Remove
+ superfluous parens.
+ * testsuite/23_containers/mdspan/extents/ctor_shape.cc: Ditto.
+ * testsuite/23_containers/mdspan/mdspan.cc: Ditto.
+
+2025-07-23 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119137
+ * testsuite/23_containers/inplace_vector/access/elem.cc: Cover
+ front and back methods and const calls.
+ * testsuite/23_containers/inplace_vector/access/elem_neg.cc:
+ Likewise.
+ * testsuite/23_containers/inplace_vector/modifiers/erase_neg.cc:
+ New test.
+ * testsuite/23_containers/inplace_vector/modifiers/single_insert_neg.cc:
+ New test.
+
+2025-07-22 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119137
+ * testsuite/23_containers/inplace_vector/cons/from_range.cc: Run
+ iterators and range test at compile-time.
+ * testsuite/23_containers/inplace_vector/modifiers/assign.cc:
+ Likewise.
+ * testsuite/23_containers/inplace_vector/modifiers/multi_insert.cc:
+ Likewise.
+ * testsuite/util/testsuite_iterators.h (__gnu_test::BoundsContainer)
+ (__gnu_test::OutputContainer, __gnu_test::WritableObject)
+ (__gnu_test::output_iterator_wrapper, __gnu_test::input_iterator_wrapper)
+ (__gnu_test::forward_iterator_wrapper)
+ (__gnu_test::bidirectional_iterator_wrapper)
+ (__gnu_test::random_access_iterator_wrapper)
+ (__gnu_test::test_container): Add appropriate _GLIBCXXNN_CONSTEXPR
+ macros to member functions.
+ (__gnu_test::contiguous_iterator_wrapper)
+ (__gnu_test::input_iterator_wrapper_rval)
+ (__gnu_test::test_range, __gnu_test::test_range_nocopy)
+ (__gnu_test::test_sized_range_sized_sent)
+ (__gnu_test::test_sized_range): Add constexpr specifier to member
+ functions.
+
+2025-07-22 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119137
+ * include/std/inplace_vector (inplace_vector::assign_range):
+ Replace _Nm with _M_size in the assigment loop.
+
+2025-07-21 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (mdspan::mdspan): Make default ctor
+ conditionally noexcept.
+ * testsuite/23_containers/mdspan/mdspan.cc: Add tests.
+
+2025-07-21 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (mdspan::is_always_unique): Make
+ conditionally noexcept.
+ (mdspan::is_always_exhaustive): Ditto.
+ (mdspan::is_always_strided): Ditto.
+ (mdspan::is_unique): Ditto.
+ (mdspan::is_exhaustive): Ditto.
+ (mdspan::is_strided): Ditto.
+ * testsuite/23_containers/mdspan/layout_like.h: Make noexcept
+ configurable. Add ThrowingLayout.
+ * testsuite/23_containers/mdspan/mdspan.cc: Add tests for
+ noexcept.
+
+2025-07-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/121174
+ * src/c++23/std.cc.in (std::dextents): Export. Add to FIXME comments
+ other not yet implemented nor exported <mdspan> entities.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_iterator_base_types.h (__any_input_iterator):
+ Only define when __cpp_lib_concepts is defined.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/appendix_contributing.xml: Remove Paolo from
+ list of maintainers to contact about contributing.
+ * doc/html/manual/appendix_contributing.html: Regenerate.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/build_hacking.xml: Document that
+ windows_zones-map.h is a generated file.
+ * doc/html/manual/appendix_porting.html: Regenerate.
+
+2025-07-18 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119137
+ * include/std/inplace_vector (inplace_vector::operator=):
+ Qualify call to std::addressof.
+
+2025-07-18 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/121154
+ * include/bits/chrono_io.h (_ChronoSpec::_M_time_point): Remove.
+ (_ChronoSpec::_M_needs_ok_check): Define
+ (__formatter_chrono::_M_parse): Set _M_needs_ok_check.
+ (__formatter_chrono::_M_check_ok): Check values also for debug mode,
+ and return __string_view.
+ (__formatter_chrono::_M_format_to): Handle results of _M_check_ok.
+ (__formatter_chrono::_M_wi, __formatter_chrono::_M_a_A)
+ (__formatter_chrono::_M_b_B, __formatter_chrono::_M_C_y_Y)
+ (__formatter_chrono::_M_d_e, __formatter_chrono::_M_F):
+ Removed handling of _M_debug.
+ (__formatter_chrono::__M_m): Print zero unpadded in _M_debug mode.
+ (__formatter_duration::_S_spec_for): Remove _M_time_point refernce.
+ (__formatter_duration::_M_parse): Override _M_needs_ok_check.
+ * testsuite/std/time/month/io.cc: Test for localized !ok() values.
+ * testsuite/std/time/weekday/io.cc: Test for localized !ok() values.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/121150
+ * testsuite/20_util/hash/int128.cc: Cast expected values to
+ size_t.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/unicode.h (_Utf_iterator::operator--): Reorder
+ conditions and update position after reading a code unit.
+ (_Utf_iterator::_M_read_reverse): Define.
+ (_Utf_iterator::_M_read_utf8): Return extracted code point.
+ (_Utf_iterator::_M_read_reverse_utf8): Define.
+ (_Utf_iterator::_M_read_reverse_utf16): Define.
+ (_Utf_iterator::_M_read_reverse_utf32): Define.
+ * testsuite/ext/unicode/view.cc: Add checks for reversed views
+ and reverse iteration.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/unicode.h (_Utf_iterator): Reorder data members
+ to be more compact.
+
+2025-07-18 Jonathan Wakely <jwakely@redhat.com>
+ Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119137
+ * doc/doxygen/user.cfg.in (INPUT): Add new header.
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/bits/stl_iterator_base_types.h (__any_input_iterator):
+ Define.
+ * include/bits/version.def (inplace_vector): Define.
+ * include/bits/version.h: Regenerate.
+ * include/precompiled/stdc++.h: Include new header.
+ * src/c++23/std.cc.in: Export contents if new header.
+ * include/std/inplace_vector: New file.
+ * testsuite/23_containers/inplace_vector/access/capacity.cc: New file.
+ * testsuite/23_containers/inplace_vector/access/elem.cc: New file.
+ * testsuite/23_containers/inplace_vector/access/elem_neg.cc: New file.
+ * testsuite/23_containers/inplace_vector/cons/1.cc: New file.
+ * testsuite/23_containers/inplace_vector/cons/from_range.cc: New file.
+ * testsuite/23_containers/inplace_vector/cons/throws.cc: New file.
+ * testsuite/23_containers/inplace_vector/copy.cc: New file.
+ * testsuite/23_containers/inplace_vector/erasure.cc: New file.
+ * testsuite/23_containers/inplace_vector/modifiers/assign.cc: New file.
+ * testsuite/23_containers/inplace_vector/modifiers/erase.cc: New file.
+ * testsuite/23_containers/inplace_vector/modifiers/multi_insert.cc:
+ New file.
+ * testsuite/23_containers/inplace_vector/modifiers/single_insert.cc:
+ New file.
+ * testsuite/23_containers/inplace_vector/move.cc: New file.
+ * testsuite/23_containers/inplace_vector/relops.cc: New file.
+ * testsuite/23_containers/inplace_vector/version.cc: New file.
+ * testsuite/util/testsuite_iterators.h (input_iterator_wrapper::base):
+ Define.
+
+2025-07-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96710
+ * doc/xml/manual/evolution.xml: Document change or __int128.
+ * doc/html/manual/api.html: Regenerate.
+
+2025-07-17 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/121061
+ * include/std/mdspan (extents::extents): Perform conversion to
+ index_type of an r-value reference.
+ (layout_left::mapping::operator()): Ditto.
+ (layout_right::mapping::operator()): Ditto.
+ (layout_stride::mapping::operator()): Ditto.
+ * testsuite/23_containers/mdspan/extents/custom_integer.cc: Add
+ tests for RValueInt and MutatingInt.
+ * testsuite/23_containers/mdspan/int_like.h (RValueInt): Add.
+ * testsuite/23_containers/mdspan/layouts/mapping.cc: Test with
+ RValueInt.
+ * testsuite/23_containers/mdspan/mdspan.cc: Ditto.
+
+2025-07-17 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/121061
+ * include/std/mdspan (extents::extents): Fix constraint to
+ prevent non-const conversion to index_type.
+ (layout_stride::mapping::mapping): Ditto.
+ (mdspan::mdspan): Ditto.
+ (mdspan::operator[]): Ditto.
+ * testsuite/23_containers/mdspan/extents/custom_integer.cc: Add
+ test for MutatingInt.
+ * testsuite/23_containers/mdspan/int_like.h (MutatingInt): Add.
+ * testsuite/23_containers/mdspan/layouts/mapping.cc: Add test for
+ MutatingInt.
+ * testsuite/23_containers/mdspan/layouts/stride.cc: Ditto.
+ * testsuite/23_containers/mdspan/mdspan.cc: Ditto.
+
+2025-07-17 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/121061
+ * testsuite/23_containers/mdspan/extents/custom_integer.cc:
+ Enable checking with different custom integers. Improve
+ checking non-existence of overloads for incompatible custom
+ integers.
+ * testsuite/23_containers/mdspan/layouts/mapping.cc: ditto. Also
+ improve reuse of int_like.h.
+ * testsuite/23_containers/mdspan/layouts/stride.cc: ditto.
+ * testsuite/23_containers/mdspan/mdspan.cc: ditto.
+ * testsuite/23_containers/mdspan/extents/int_like.h: Rename (old
+ name).
+ * testsuite/23_containers/mdspan/int_like.h: Rename (new name).
+ (ThrowingInt): Add.
+ (NotIntLike): Add.
+
+2025-07-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/unicode.h (__unicode::_Utf_iterator): Add
+ comments.
+ (__unicode:_Utf_iterator::operator++()): Check whether to
+ iterate over the buffer first.
+
+2025-07-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/121097
+ * include/c_global/cmath (hypot): Use __promote_3 instead of
+ __promoted.
+
+2025-07-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/bitset (__bitset::__string) [__cpp_lib_bitset]:
+ Change alias to refer to basic_string_view instead.
+
+2025-07-16 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/121114
+ * include/bits/version.def (constexpr_exceptions): Add no_stdname
+ and changed value.
+ * include/bits/version.h: Regenerated.
+ * testsuite/18_support/exception/version.cc: Test that macro is
+ not exported.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/move.h (swap): Replace enable_if with concepts
+ when available, and with __enable_if_t alias otherwise.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/ranges_base.h (ranges::advance(i, n, bound)):
+ Ensure that observable side effects on iterators match what is
+ specified in the standard.
+
+2025-07-15 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/119962
+ * include/std/ranges (join_view::_Iterator::_M_outer): Initialize.
+ (lazy_split_view::_OuterIter::_M_current): Initialize.
+ (join_with_view::_Iterator::_M_outer_it): Initialize.
+ * testsuite/std/ranges/adaptors/join.cc (test15): New test.
+ * testsuite/std/ranges/adaptors/join_with/1.cc (test05): New test.
+ * testsuite/std/ranges/adaptors/lazy_split.cc (test13): New test.
+
+2025-07-15 Björn Schäpers <bjoern@hazardy.de>
+
+ PR libstdc++/108409
+ * scripts/gen_windows_zones_map.py: New file, generates
+ windows_zones-map.h.
+ * src/c++20/windows_zones-map.h: New file, contains the look up
+ table.
+ * src/c++20/tzdb.cc (tzdb::current_zone): Add Windows code path.
+
+2025-07-15 Björn Schäpers <bjoern@hazardy.de>
+
+ * src/c++20/tzdb.cc (zoneinfo_file): On Windows look relative
+ from the DLL path for the time zone information.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/25_algorithms/copy/debug/constexpr_neg.cc:
+ * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
+ * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/121024
+ * include/bits/ranges_uninitialized.h (ranges::destroy): Do not
+ optimize away trivial destructors during constant evaluation.
+ (ranges::destroy_n): Likewise.
+ * testsuite/20_util/specialized_algorithms/destroy/121024.cc:
+ New test.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/memory (swap, make_observer_ptr): Add
+ constexpr.
+ (operator==, operator!=, operator<, operator>, operator<=)
+ (operator>=): Likewise.
+ * testsuite/experimental/memory/observer_ptr/make_observer.cc:
+ Checks for constant evaluation.
+ * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
+ Likewise.
+ * testsuite/experimental/memory/observer_ptr/swap/swap.cc:
+ Likewise.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (__make_unsigned_selector): Add
+ unsigned __int128 to type list.
+ * testsuite/20_util/make_unsigned/int128.cc: New test.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96710
+ * include/bits/functional_hash.h (hash<__int128>): Define for
+ strict modes.
+ (hash<unsigned __int128>): Likewise.
+ * testsuite/20_util/hash/int128.cc: New test.
+
+2025-07-15 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_S_weekdays)
+ (__formatter_chrono::_S_months, __formatter_chrono::_S_fill_ampm):
+ Define.
+ (__formatter_chrono::_M_format_to): Do not pass context parameter
+ to functions listed below.
+ (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B): Implement
+ using harcoded list of names, and remove format context parameter.
+ (__formatter_chrono::_M_p, __formatter_chrono::_M_r): Implement
+ using _S_fill_ampm.
+ (__formatter_chrono::_M_c): Removed format context parameter.
+ (__formatter_chrono::_M_subsecs): Call __ctx.locale() directly,
+ instead of _M_locale and do not compare with locale::classic().
+ Add [[unlikely]] attributes.
+ (__formatter_chrono::_M_locale): Move to __formatter_duration.
+ (__formatter_duration::_M_locale): Moved from __formatter_chrono.
+
+2025-07-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_pair.h (swap): Add comment to deleted
+ overload.
+ * include/bits/unique_ptr.h (swap): Likewise.
+ * include/std/array (swap): Likewise.
+ * include/std/optional (swap): Likewise.
+ * include/std/tuple (swap): Likewise.
+ * include/std/variant (swap): Likewise.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+ Adjust dg-error line numbers.
+
+2025-07-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/pstl/algorithm_impl.h (__for_each_n_it_serial):
+ Protect against overloaded comma operator.
+ (__brick_walk2): Likewise.
+ (__brick_walk2_n): Likewise.
+ (__brick_walk3): Likewise.
+ (__brick_move_destroy::operator()): Likewise.
+ (__brick_calc_mask_1): Likewise.
+ (__brick_copy_by_mask): Likewise.
+ (__brick_partition_by_mask): Likewise.
+ (__brick_calc_mask_2): Likewise.
+ (__brick_reverse): Likewise.
+ (__pattern_partial_sort_copy): Likewise.
+ * include/pstl/memory_impl.h (__brick_uninitialized_move):
+ Likewise.
+ (__brick_uninitialized_copy): Likewise.
+ * include/pstl/numeric_impl.h (__brick_transform_scan):
+ Likewise.
+
+2025-07-14 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/117785
+ * include/bits/version.def (constexpr_exceptions): Define
+ correct value.
+ * include/bits/version.h: Regenerate.
+ * libsupc++/exception: Check correct value.
+ * testsuite/18_support/exception/version.cc: New test.
+
+2025-07-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/exception_ptr.h (make_exception_ptr): Return null
+ for consteval when -fno-exceptions is used.
+ (exception_ptr_cast): Likewise. Allow consteval path to work
+ with -fno-rtti.
+
+2025-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * libsupc++/exception_ptr.h: Implement C++26 P3748R0 - Inspecting
+ exception_ptr should be constexpr.
+ (std::exception_ptr_cast): Make constexpr, remove inline keyword. Add
+ static_asserts for Mandates. For if consteval use std::rethrow_exception,
+ catch it and return its address or nullptr.
+ * testsuite/18_support/exception_ptr/exception_ptr_cast.cc (E::~E): Add
+ constexpr.
+ (G::G): Likewise.
+ (test01): Likewise. Return bool and take bool argument, throw if the
+ argument is true. Add static_assert(test01(false)).
+ (main): Call test01(true) in try.
+
+2025-07-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/cpp_type_traits.h (__is_floating<__float128>):
+ Do not depend on __STRICT_ANSI__.
+ * include/bits/stl_algobase.h (__size_to_integer(__float128)):
+ Likewise.
+ * include/std/type_traits (__is_floating_point_helper<__float128>):
+ Likewise.
+
+2025-07-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96710
+ * include/bits/cpp_type_traits.h (__is_integer): Define explicit
+ specializations for __int128.
+ (__memcpyable_integer): Remove explicit specializations for
+ __int128.
+ * include/bits/iterator_concepts.h (incrementable_traits):
+ Likewise.
+ (__is_signed_int128, __is_unsigned_int128, __is_int128): Remove.
+ (__is_integer_like, __is_signed_integer_like): Remove check for
+ __int128.
+ * include/bits/max_size_type.h: Remove all uses of __is_int128
+ in constraints.
+ * include/bits/ranges_base.h (__to_unsigned_like): Remove
+ overloads for __int128.
+ (ranges::ssize): Remove special case for __int128.
+ * include/bits/stl_algobase.h (__size_to_integer): Define
+ __int128 overloads for strict modes.
+ * include/ext/numeric_traits.h (__is_integer_nonstrict): Remove
+ explicit specializations for __int128.
+ * include/std/charconv (to_chars): Define overloads for
+ __int128.
+ * include/std/format (__format::make_unsigned_t): Remove.
+ (__format::to_chars): Remove.
+ * include/std/limits (numeric_limits): Define explicit
+ specializations for __int128.
+ * include/std/type_traits (__is_integral_helper): Likewise.
+ (__make_unsigned, __make_signed): Likewise.
+
+2025-07-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/117785
+ * include/bits/version.def (constexpr_exceptions): New.
+ * include/bits/version.h: Regenerate.
+ * libsupc++/exception (std::bad_exception::bad_exception): Add
+ _GLIBCXX26_CONSTEXPR.
+ (std::bad_exception::~bad_exception, std::bad_exception::what): For
+ C++26 add constexpr and define inline.
+ * libsupc++/exception.h (std::exception::exception,
+ std::exception::operator=): Add _GLIBCXX26_CONSTEXPR.
+ (std::exception::~exception, std::exception::what): For C++26 add
+ constexpr and define inline.
+ * libsupc++/exception_ptr.h (std::make_exception_ptr): Add
+ _GLIBCXX26_CONSTEXPR. For if consteval use just throw with
+ current_exception() in catch.
+ (std::exception_ptr::exception_ptr(void*)): For C++26 add constexpr
+ and define inline.
+ (std::exception_ptr::exception_ptr()): Add _GLIBCXX26_CONSTEXPR.
+ (std::exception_ptr::exception_ptr(const exception_ptr&)): Likewise.
+ Use __builtin_eh_ptr_adjust_ref if consteval and compiler has it
+ instead of _M_addref.
+ (std::exception_ptr::exception_ptr(nullptr_t)): Add
+ _GLIBCXX26_CONSTEXPR.
+ (std::exception_ptr::exception_ptr(exception_ptr&&)): Likewise.
+ (std::exception_ptr::operator=): Likewise.
+ (std::exception_ptr::~exception_ptr): Likewise. Use
+ __builtin_eh_ptr_adjust_ref if consteval and compiler has it
+ instead of _M_release.
+ (std::exception_ptr::swap): Add _GLIBCXX26_CONSTEXPR.
+ (std::exception_ptr::operator bool): Likewise.
+ (std::exception_ptr::operator==): Likewise.
+ * libsupc++/nested_exception.h
+ (std::nested_exception::nested_exception): Add _GLIBCXX26_CONSTEXPR.
+ (std::nested_exception::operator=): Likewise.
+ (std::nested_exception::~nested_exception): For C++26 add constexpr
+ and define inline.
+ (std::nested_exception::rethrow_if_nested): Add _GLIBCXX26_CONSTEXPR.
+ (std::nested_exception::nested_ptr): Likewise.
+ (std::_Nested_exception::_Nested_exception): Likewise.
+ (std::throw_with_nested, std::rethrow_if_nested): Likewise.
+ * libsupc++/new (std::bad_alloc::bad_alloc): Likewise.
+ (std::bad_alloc::operator=): Likewise.
+ (std::bad_alloc::~bad_alloc): For C++26 add constexpr and define
+ inline.
+ (std::bad_alloc::what): Likewise.
+ (std::bad_array_new_length::bad_array_new_length): Add
+ _GLIBCXX26_CONSTEXPR.
+ (std::bad_array_new_length::~bad_array_new_length): For C++26 add
+ constexpr and define inline.
+ (std::bad_array_new_length::what): Likewise.
+ * libsupc++/typeinfo (std::bad_cast::bad_cast): Add
+ _GLIBCXX26_CONSTEXPR.
+ (std::bad_cast::~bad_cast): For C++26 add constexpr and define inline.
+ (std::bad_cast::what): Likewise.
+ (std::bad_typeid::bad_typeid): Add _GLIBCXX26_CONSTEXPR.
+ (std::bad_typeid::~bad_typeid): For C++26 add constexpr and define
+ inline.
+ (std::bad_typeid::what): Likewise.
+
+2025-07-10 Jakub Jelinek <jakub@redhat.com>
+
+ * testsuite/22_locale/codecvt/codecvt_unicode.h
+ (ucs2_to_utf8_out_error): Comment spelling fix: bellow -> below.
+ (utf16_to_ucs2_in_error): Likewise.
+
+2025-07-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_uninitialized.h (__uninitialized_default):
+ Do not use optimized implementation for constexpr case. Use
+ _GLIBCXX20_CONSTEXPR instead of _GLIBCXX26_CONSTEXPR.
+
+2025-07-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/mdspan (mdspan): Add template keyword for
+ dependent name.
+
+2025-07-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120997
+ * include/std/span (span::first, span::last, span::subspan): Do
+ not use braced-init-list for return statements.
+ * testsuite/23_containers/span/120997.cc: New test.
+
+2025-07-09 Paul Keir <pkeir@outlook.com>
+
+ PR libstdc++/117403
+ * include/bits/shared_ptr.h (shared_ptr::owner_equal)
+ (shared_ptr::owner_hash, weak_ptr::owner_equal)
+ (weak_ptr::owner_hash): Define new member functions.
+ * include/bits/shared_ptr_base.h (owner_equal, owner_hash):
+ Define new structs.
+ * include/bits/version.def (smart_ptr_owner_equality): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/memory: Added define for
+ __glibcxx_want_smart_ptr_owner_equality.
+ * testsuite/20_util/owner_equal/version.cc: New test.
+ * testsuite/20_util/owner_equal/cmp.cc: New test.
+ * testsuite/20_util/owner_equal/noexcept.cc: New test.
+ * testsuite/20_util/owner_hash/cmp.cc: New test.
+ * testsuite/20_util/owner_hash/noexcept.cc: New test.
+ * testsuite/20_util/shared_ptr/observers/owner_equal.cc: New
+ test.
+ * testsuite/20_util/shared_ptr/observers/owner_hash.cc:
+ New test.
+ * testsuite/20_util/weak_ptr/observers/owner_equal.cc: New test.
+ * testsuite/20_util/weak_ptr/observers/owner_hash.cc: New test.
+
+2025-07-09 Mateusz Zych <mte.zych@gmail.com>
+
+ * include/bits/max_size_type.h (numeric_limits<__max_size_type>):
+ New members.
+ (numeric_limits<__max_diff_type>): Likewise.
+ * testsuite/std/ranges/iota/max_size_type.cc: New test cases.
+
+2025-07-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++17/memory_resource.cc: Adjust indentation of unnamed
+ namespaces.
+ (pool_sizes): Add comment.
+ (choose_block_size): Move outside preprocessor group for
+ gthreads targets.
+ * testsuite/20_util/synchronized_pool_resource/118681.cc:
+ Require gthreads.
+
+2025-07-09 H.J. Lu <hjl.tools@gmail.com>
+
+ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
+ Updated.
+
+2025-07-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118681
+ * testsuite/20_util/unsynchronized_pool_resource/118681.cc: Fix
+ deallocate argument.
+
+2025-07-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118681
+ * src/c++17/memory_resource.cc (choose_block_size): New
+ function.
+ (synchronized_pool_resource::do_allocate): Use choose_block_size
+ to determine appropriate block size.
+ (synchronized_pool_resource::do_deallocate): Likewise
+ (unsynchronized_pool_resource::do_allocate): Likewise.
+ (unsynchronized_pool_resource::do_deallocate): Likewise
+ * testsuite/20_util/synchronized_pool_resource/118681.cc: New
+ test.
+ * testsuite/20_util/unsynchronized_pool_resource/118681.cc: New
+ test.
+
+2025-07-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/debug/forward_list (_Safe_forward_list<>::_M_swap):
+ Adapt to _M_this() signature change.
+
+2025-07-08 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119861
+ * include/std/format (formatter<_Rg, _CharT>::set_separator)
+ (formatter<_Rg, _CharT>::set_brackets): Constrain with
+ (format_kind<_Rg> == range_format::sequence).
+ * testsuite/std/format/ranges/pr119861_neg.cc: New test.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/120914
+ * include/std/span (span): Update CTAD to enable
+ integral constants [P3029R1].
+ * include/std/mdspan (extents): ditto.
+ (mdspan): ditto.
+ * testsuite/23_containers/span/deduction.cc: Test deduction
+ guide.
+ * testsuite/23_containers/mdspan/extents/misc.cc: ditto.
+ * testsuite/23_containers/mdspan/mdspan.cc: ditto.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/span/contiguous_range_neg.cc: Silence
+ warning about unused variable myspan.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/107761
+ * include/bits/version.def (mdspan): Set to 202207 and remove
+ no_stdname.
+ * include/bits/version.h: Regenerate.
+ * testsuite/23_containers/mdspan/version.cc: Test presence
+ of feature test macro.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/107761
+ * include/std/mdspan (mdspan): New class.
+ * src/c++23/std.cc.in (mdspan): Add.
+ * testsuite/23_containers/mdspan/class_mandate_neg.cc: New test.
+ * testsuite/23_containers/mdspan/mdspan.cc: New test.
+ * testsuite/23_containers/mdspan/layout_like.h: Add class
+ LayoutLike which models a user-defined layout.
+ * testsuite/23_containers/mdspan/out_of_bounds_neg.cc: New file.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (__mdspan::__size): New function.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/extents/custom_integer.cc:
+ Delete IntLike and include "int_like.h".
+ * testsuite/23_containers/mdspan/extents/int_like.h: Add
+ IntLike.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (extents): Check prerequisite of the ctor that
+ static_extent(i) == dynamic_extent || extent(i) == other.extent(i).
+ * testsuite/23_containers/mdspan/extents/class_mandates_neg.cc:
+ Test the implemented prerequisite.
+ * testsuite/23_containers/mdspan/extents/extents_mismatch_neg.cc: New file.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan: Check prerequisites of
+ layout_*::operator() with _GLIBCXX_DEBUG_ASSERTs.
+ * testsuite/23_containers/mdspan/layouts/debug/out_of_bounds_neg.cc:
+ Add tests for prerequisites.
+
+2025-07-08 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/std/queue (formatter<queue<_Tp, _Container>, _CharT>)
+ (formatter<priority_queue<_Tp, _Container, _Compare>, _CharT>):
+ Add _GLIBCXX_RESOLVE_LIB_DEFECTS comments.
+
+2025-07-08 François Dumont <frs.dumont@gmail.com>
+
+ PR c++/116369
+ * config/abi/pre/gnu-versioned-namespace.ver: Use new const qualified symbols.
+ * config/abi/pre/gnu.ver: Add new const qualified symbols.
+ * include/debug/safe_base.h
+ (_Safe_iterator_base::_M_sequence): Declare as pointer-to-const.
+ (_Safe_iterator_base::_M_attach, _M_attach_single): New, take pointer-to-const
+ _Safe_sequence_base.
+ (_Safe_sequence_base::_M_detach_all, _M_detach_singular, _M_revalidate_singular)
+ (_M_swap, _M_get_mutex): New, const qualified.
+ (_Safe_sequence_base::_M_attach, _M_attach_single, _M_detach, _M_detach_single):
+ const qualify.
+ * include/debug/safe_container.h (_Safe_container<>::_M_cont): Add const qualifier.
+ (_Safe_container<>::_M_swap_base): New.
+ (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)):
+ Adapt to use latter.
+ (_Safe_container<>::operator=(_Safe_container&&)): Likewise.
+ (_Safe_container<>::_M_swap): Likewise and take parameter as const reference.
+ * include/debug/safe_unordered_base.h
+ (_Safe_local_iterator_base::_M_safe_container): New.
+ (_Safe_local_iterator_base::_Safe_local_iterator_base): Take
+ _Safe_unordered_container_base as pointer-to-const.
+ (_Safe_unordered_container_base::_M_attach, _M_attach_single): New, take
+ container as _Safe_unordered_container_base pointer-to-const.
+ (_Safe_unordered_container_base::_M_local_iterators, _M_const_local_iterators):
+ Add mutable.
+ (_Safe_unordered_container_base::_M_detach_all, _M_swap): New, const qualify.
+ (_Safe_unordered_container_base::_M_attach_local, _M_attach_local_single)
+ (_M_detach_local, _M_detach_local_single): Add const qualifier.
+ * include/debug/safe_unordered_container.h (_Safe_unordered_container::_M_self()): New.
+ * include/debug/safe_unordered_container.tcc
+ (_Safe_unordered_container::_M_invalidate_if, _M_invalidated_local_if): Use latter.
+ * include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach, _M_attach_single):
+ Take _Safe_sequence_base as pointer-to-const.
+ (_Safe_iterator<>::_M_get_sequence): Add const_cast and comment about it.
+ * include/debug/safe_local_iterator.h (_Safe_local_iterator<>): Replace usages
+ of _M_sequence member by _M_safe_container().
+ (_Safe_local_iterator<>::_M_attach, _M_attach_single): Take
+ _Safe_unordered_container_base as pointer-to-const.
+ (_Safe_local_iterator<>::_M_get_sequence): Rename into...
+ (_Safe_local_iterator<>::_M_get_ucontainer): ...this. Add necessary const_cast and
+ comment to explain it.
+ (_Safe_local_iterator<>::_M_is_begin, _M_is_end): Adapt.
+ * include/debug/safe_local_iterator.tcc: Adapt.
+ * include/debug/safe_sequence.h
+ (_Safe_sequence<>::_M_invalidate_if, _M_transfer_from_if): Add const qualifier.
+ * include/debug/safe_sequence.tcc: Adapt.
+ * include/debug/deque (std::__debug::deque::erase): Adapt to use new const
+ qualified methods.
+ * include/debug/formatter.h: Adapt.
+ * include/debug/forward_list (_Safe_forward_list::_M_this): Add const
+ qualification and return pointer for consistency with 'this' keyword.
+ (_Safe_forward_list::_M_swap_aux): Rename into...
+ (_Safe_forward_list::_S_swap_aux): ...this and take sequence as const reference.
+ (forward_list<>::resize): Adapt to use const methods.
+ * include/debug/list (list<>::resize): Likewise.
+ * src/c++11/debug.cc: Adapt to const qualification.
+ * testsuite/util/testsuite_containers.h
+ (forward_members_unordered::forward_members_unordered): Add check on local_iterator
+ conversion to const_local_iterator.
+ (forward_members::forward_members): Add check on iterator conversion to
+ const_iterator.
+ * testsuite/23_containers/unordered_map/const_container.cc: New test case.
+ * testsuite/23_containers/unordered_multimap/const_container.cc: New test case.
+ * testsuite/23_containers/unordered_multiset/const_container.cc: New test case.
+ * testsuite/23_containers/unordered_set/const_container.cc: New test case.
+ * testsuite/23_containers/vector/debug/mutex_association.cc: Adapt.
+
+2025-07-07 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120949
+ * include/bits/stl_iterator.h (__normal_iterator): Fix order of
+ always_inline and nodiscard attributes for Clang compatibility.
+
+2025-07-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/util/testsuite_hooks.h (VERIFY): Define as variadic
+ macro.
+ * testsuite/ext/verify_neg.cc: New test.
+
+2025-07-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/mdspan (__mapping_of): Add template keyword.
+
+2025-07-07 XU Kailiang <xu2k3l4@outlook.com>
+ Tomasz Kaminski <tkaminsk@redhat.com>
+
+ PR libstdc++/117214
+ * include/bits/chrono_io.h (_ChronoSpec::_M_time_only): Remove.
+ (_ChronoSpec::_M_time_point): Define.
+ (__formatter_chrono::_M_parse): Use __parts to determine
+ interpretation of j.
+ (__formatter_chrono::_M_check_ok): Define.
+ (__formatter_chrono::_M_format_to): Invoke _M_check_ok.
+ (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B): Move
+ exception throwing to _M_check_ok.
+ (__formatter_chrono::_M_j): Use _M_needs to define interpretation.
+ (__formatter_duration::_S_spec_for): Set _M_time_point.
+ * testsuite/std/time/format/format.cc: Test for exception for !ok()
+ months/weekday.
+ * testsuite/std/time/format/pr117214_custom_timeput.cc: New
+ test.
+
+2025-07-07 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/120976
+ * include/std/format (formatter<__float128, _Char_T): Define if
+ _GLIBCXX_FORMAT_F128 == 2.
+
+2025-07-06 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_algo.h (shift_left, shift_right): Guard
+ with __glibcxx_shift >= 201806L.
+ (ranges::__shift_left_fn, ranges::shift_left): Define for C++23.
+ (ranges::__shift_right_fn, ranges::shift_right): Likewise.
+ * include/bits/version.def (shift): Update for C++23.
+ * include/bits/version.h: Regenerate.
+ * src/c++23/std.cc.in: Add ranges::shift_left/right.
+ * testsuite/25_algorithms/shift_left/constrained.cc: New test,
+ based off of 1.cc.
+ * testsuite/25_algorithms/shift_right/constrained.cc: New test,
+ based off of 1.cc.
+
+2025-07-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/chrono_io.h (__formatter_duration::_S_spec_for):
+ Add default case to switch and use __builtin_unreachable.
+
+2025-07-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_algobase.h (__size_to_integer): Move
+ misplaced unsigned keyword on __size_to_integer overloads for
+ __GLIBCXX_TYPE_INT_N_3 integer type.
+
+2025-07-03 Nathan Myers <ncm@cantrip.org>
+
+ * include/bits/version.def: Fix typo.
+ * include/bits/version.h: Rebuilt.
+
+2025-07-03 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/120934
+ * include/std/ranges (concat_view::end): Refine condition
+ for returning an iterator instead of default_sentinel as
+ per the updated P/R for LWG 4166.
+ * testsuite/std/ranges/concat/1.cc (test05): New test.
+
+2025-07-03 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119742
+ * include/bits/version.def: Add preprocessor symbol.
+ * include/bits/version.h: Add preprocessor symbol.
+ * include/std/bitset: Add constructor.
+ * testsuite/20_util/bitset/cons/1.cc: Fix.
+ * testsuite/20_util/bitset/cons/6282.cc: Fix.
+ * testsuite/20_util/bitset/cons/string_view.cc: Test new ctor.
+ * testsuite/20_util/bitset/cons/string_view_wide.cc: Test new ctor.
+
+2025-07-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120931
+ * include/bits/stl_uninitialized.h (__uninitialized_fill<true>):
+ Fix typo resulting in call to __do_uninit_copy instead of
+ __do_uninit_fill.
+ * testsuite/20_util/specialized_algorithms/uninitialized_fill/120931.cc:
+ New test.
+
+2025-07-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_iterator.h (__normal_iterator): Make all
+ non-member operators hidden friends, except ...
+ (operator<=>(__normal_iterator<I,C>, __normal_iterator<I,C>)):
+ Remove.
+ * src/c++11/string-inst.cc: Remove explicit instantiations of
+ operators that are no longer templates.
+ * src/c++23/std.cc.in (__gnu_cxx): Do not export operators for
+ __normal_iterator.
+
+2025-07-02 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119744
+ * include/std/ranges: View ctors become explicit.
+
+2025-07-01 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/120789
+ * include/bits/ranges_algo.h (__remove_if_fn::operator()): Use
+ ranges::iter_move(iter) instead of std::move(*iter).
+ * testsuite/25_algorithms/remove_if/120789.cc: New test.
+
+2025-07-01 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/120789
+ * include/bits/ranges_algo.h (__unique_fn::operator()): Use
+ ranges::iter_move(iter) instead of std::move(*iter).
+ * testsuite/25_algorithms/unique/120789.cc: New test.
+
+2025-07-01 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (default_accessor): New class.
+ * src/c++23/std.cc.in: Register default_accessor.
+ * testsuite/23_containers/mdspan/accessors/default.cc: New test.
+ * testsuite/23_containers/mdspan/accessors/default_neg.cc: New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (shuffle_fn::operator()):
+ Reimplement directly, based on the stl_algo.h implementation.
+ * testsuite/25_algorithms/shuffle/constrained.cc (test02):
+ New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__sample_fn::operator()):
+ Reimplement the forward_iterator branch directly, based
+ on the stl_algo.h implementation. Add explicit cast to
+ _Out's difference_type in the !forward_iterator branch.
+ * testsuite/25_algorithms/sample/constrained.cc (test02):
+ New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__introselect): New,
+ based on the stl_algo.h implementation.
+ (nth_element_fn::operator()): Reimplement in terms of the above.
+ * testsuite/25_algorithms/nth_element/constrained.cc:
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__find_if_not_n): New,
+ based on the stl_algo.h implementation.
+ (__detail::__stable_partition_adaptive): Likewise.
+ (__stable_partition_fn::operator()): Reimplement in terms of
+ the above.
+ * testsuite/25_algorithms/stable_partition/constrained.cc
+ (test03): New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__move_merge): New,
+ based on the stl_algo.h implementation.
+ (__detail::__merge_sort_loop): Likewise.
+ (__detail::__chunk_insertion_sort): Likewise.
+ (__detail::__merge_sort_with_buffer): Likewise.
+ (__detail::__stable_sort_adaptive): Likewise.
+ (__detail::__stable_sort_adaptive_resize): Likewise.
+ (__detail::__inplace_stable_sort): Likewise.
+ (__stable_sort_fn::operator()): Reimplement in terms of the above.
+ * testsuite/25_algorithms/stable_sort/constrained.cc:
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__move_merge_adaptive):
+ New, based on the stl_algo.h implementation.
+ (__detail::__move_merge_adaptive_backward): Likewise.
+ (__detail::__rotate_adaptive): Likewise.
+ (__detail::__merge_adaptive): Likewise.
+ (__detail::__merge_adaptive_resize): Likewise.
+ (__detail::__merge_without_buffer): Likewise.
+ (__inplace_merge_fn::operator()): Reimplement in terms of the
+ above.
+ * testsuite/25_algorithms/inplace_merge/constrained.cc (test03):
+ New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ PR libstdc++/118209
+ * include/bits/max_size_type.h (__bit_width): New explicit
+ specialization for __max_size_type.
+ * include/bits/ranges_algo.h (__detail::__move_median_to_first):
+ New, based on the stl_algo.h implementation.
+ (__detail::__unguarded_liner_insert): Likewise.
+ (__detail::__insertion_sort): Likewise.
+ (__detail::__sort_threshold): Likewise.
+ (__detail::__unguarded_insertion_sort): Likewise.
+ (__detail::__final_insertion_sort): Likewise.
+ (__detail::__unguarded_partition): Likewise.
+ (__detail::__unguarded_partition_pivot): Likewise.
+ (__detail::__heap_select): Likewise.
+ (__detail::__partial_sort): Likewise.
+ (__detail::__introsort_loop): Likewise.
+ (__sort_fn::operator()): Reimplement in terms of the above.
+ * testsuite/25_algorithms/sort/118209.cc: New test.
+ * testsuite/25_algorithms/sort/constrained.cc (test03): New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__push_heap): New,
+ based on the stl_heap.h implementation.
+ (__push_heap_fn::operator()): Reimplement in terms of the above.
+ (__detail::__adjust_heap): New, based on the stl_heap.h
+ implementation.
+ (__deatil::__pop_heap): Likewise.
+ (__pop_heap_fn::operator()): Reimplement in terms of the above.
+ (__make_heap_fn::operator()): Likewise.
+ (__sort_heap_fn::operator()): Likewise.
+ * testsuite/25_algorithms/heap/constrained.cc (test03): New
+ test.
+
+2025-06-27 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_S_empty_fs): Define.
+ (__formatter_chrono::_S_str_d2): Use _S_str_d3 for 3+ digits and
+ place allways_inline attribute after comment.
+ (__formatter_chrono::_S_str_d3): Extracted from _S_str_d2.
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_R_X): Replace
+ _S_empty_spec with _S_empty_fs().
+ (__formatter_chrono::_M_j): Likewise and use _S_str_d3 in common
+ case.
+ (__format::operator-(_ChronoParts, _ChronoParts))
+ (__format::operator-=(_ChronoParts, _ChronoParts))
+ (__formatter_chrono::_S_fill_two_digits)
+ (__formatter_chrono::_S_str_d1): Place always_inline attribute
+ after comment.
+
+2025-06-27 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_M_format_to):
+ Rename _Out to _OutIter for consistency, and update calls
+ to specifier functions.
+ (__formatter_chrono::_M_wi, __formatter_chrono::_M_C_y_Y)
+ (__formatter_chrono::_M_D_x, __formatter_chrono::_M_d_e)
+ (__formatter_chrono::_M_F, __formatter_chrono::_M_g_G)
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_j)
+ (__formatter_chrono::_M_m, __formatter_chrono::_M_M)
+ (__formatter_chrono::_M_q, __formatter_chrono::_M_R_X)
+ (__formatter_chrono::_M_u_w, __formatter_chrono::_M_U_V_W)
+ (__formatter_chrono::_M_z, __formatter_chrono::_M_z):
+ Remove _FormatContext parameter, and introduce _OutIter
+ for __out type.
+ (__formatter_chrono::_M_a_A, __formatter_chrono::_M_B_b)
+ (__formatter_chrono::_M_p, __formatter_chrono::_M_Q)
+ (__formatter_chrono::_M_r, __formatter_chrono::_M_S)
+ (__formatter_chrono::_M_subsecs, __formatter_chrono::_M_T):
+ Introduce separate _OutIter template parameter for __out.
+ (__formatter_chrono::_M_c, __formatter_chrono::_M_T):
+ Likewise, and adjust calls to specifiers functions.
+ * testsuite/std/time/format/empty_spec.cc: Make underlying
+ type for Rep configurable.
+
+2025-06-27 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/abi/pre/gnu.ver: Keep the closing brace of the
+ CXXABI_1.3.17 symbol group together with the identifier
+ for the inherited group.
+
+2025-06-26 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_M_use_locale_fmt):
+ Define.
+ (__formatter_chrono::_M_locale_fmt): Moved to front of the class.
+ (__formatter_chrono::_M_format_to): Construct and initialize
+ struct tm and call _M_locale_fmt if needed.
+ (__formatter_chrono::_M_c_r_x_X): Split into separate methods.
+ (__formatter_chrono::_M_c, __formatter_chrono::_M_r): Define.
+ (__formatter_chrono::_M_D): Renamed to _M_D_x.
+ (__formatter_chrono::_M_D_x): Renamed from _M_D.
+ (__formatter_chrono::_M_R_T): Split into _M_R_X and _M_T.
+ (__formatter_chrono::_M_R_X): Extracted from _M_R_T.
+ (__formatter_chrono::_M_T): Define in terms of _M_R_X and _M_subsecs.
+ (__formatter_chrono::_M_subsecs): Extracted from _M_S.
+ (__formatter_chrono::_M_S): Replaced __mod with __subs argument,
+ removed _M_locale_fmt call, and delegate to _M_subsecs.
+ (__formatter_chrono::_M_C_y_Y, __formatter_chrono::_M_d_e)
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_m)
+ (__formatter_chrono::_M_u_w, __formatter_chrono::_M_U_V_W): Remove
+ __mod argument and call to _M_locale_fmt.
+
+2025-06-26 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__format::__no_timezone_available):
+ Removed, replaced with separate throws in formatter for
+ __local_time_fmt
+ (__format::_ChronoParts): Defined additional enumertors and
+ declared as enum class.
+ (__format::operator&(_ChronoParts, _ChronoParts))
+ (__format::operator&=(_ChronoParts&, _ChronoParts))
+ (__format::operator-(_ChronoParts, _ChronoParts))
+ (__format::operator-=(_ChronoParts&, _ChronoParts))
+ (__format::operator==(_ChronoParts, decltype(nullptr)))
+ (_ChronoSpec::_M_time_only, _ChronoSpec::_M_floating_point_rep)
+ (_ChronoSpec::_M_custom_rep, _ChronoSpec::_M_needed)
+ (_ChronoSpec::_M_needs, __format::_ChronoData): Define.
+ (__format::__formatter_chrono): Redefine to accept _ChronoData.
+ (__formatter_chrono::_M_format_to_ostream): Moved to
+ __formatter_duration.
+ (__format::__formatter_duration): Define.
+ (__formatter_chrono_info::format): Pass value-constructed
+ _ChronoData.
+ (std::formatter<chrono::day, _CharT>)
+ (std::formatter<chrono::month, _CharT>)
+ (std::formatter<chrono::year, _CharT>)
+ (std::formatter<chrono::weekday, _CharT>)
+ (std::formatter<chrono::weekday_indexed, _CharT>)
+ (std::formatter<chrono::weekday_last, _CharT>)
+ (std::formatter<chrono::month_day, _CharT>)
+ (std::formatter<chrono::month_day_last, _CharT>)
+ (std::formatter<chrono::month_weekday, _CharT>)
+ (std::formatter<chrono::month_weekday_indexed, _CharT>)
+ (std::formatter<chrono::month_weekday_last, _CharT>)
+ (std::formatter<chrono::year_month, _CharT>)
+ (std::formatter<chrono::year_month_day, _CharT>)
+ (std::formatter<chrono::year_month_day_last, _CharT>)
+ (std::formatter<chrono::year_month_weekday, _CharT>)
+ (std::formatter<chrono::year_month_weekday_indexed, _CharT>)
+ (std::formatter<chrono::year_month_weekday_last, _CharT>):
+ Construct _ChronoData in format, and configure _M_needed in
+ _ChronoSpec.
+ (std::formatter<chrono::duration<_Rep, _Period>, _CharT>)
+ (std::formatter<chrono::hh_mm_ss<_Duration>, _CharT>)
+ (std::formatter<chrono::sys_time<_Duration>, _CharT>)
+ (std::formatter<chrono::utc_time<_Duration>, _CharT>)
+ (std::formatter<chrono::tai_time<_Duration>, _CharT>)
+ (std::formatter<chrono::gps_time<_Duration>, _CharT>)
+ (std::formatter<chrono::file_time<_Duration>, _CharT>)
+ (std::formatter<chrono::local_time<_Duration>, _CharT>)
+ (std::formatter<chrono::_detail::__local_time_fmt<_Duration>, _CharT>):
+ Reworked in terms of __formatter_duration and _ChronoData.
+ (std::formatter<chrono::_detail::__utc_leap_second<_Duration>, _CharT>):
+ Removed.
+ (_Parser<_Duration>::operator()): Adjusted for _ChronoParts
+ being enum class.
+ * include/std/chrono (__detail::__utc_leap_second): Removed,
+ replaced with simply bumping _M_seconds in _ChronoData.
+ * testsuite/std/time/format/empty_spec.cc: Updated %S integral
+ ouput.
+
+2025-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ * include/bits/version.def (exception_ptr_cast): Add.
+ * include/bits/version.h: Regenerate.
+ * libsupc++/exception: Define __glibcxx_want_exception_ptr_cast before
+ including bits/version.h.
+ * libsupc++/exception_ptr.h (std::exception_ptr_cast): Define.
+ (std::__exception_ptr::exception_ptr::_M_exception_ptr_cast): Declare.
+ * libsupc++/eh_ptr.cc
+ (std::__exception_ptr::exception_ptr::_M_exception_ptr_cast): Define.
+ * src/c++23/std.cc.in (std::exception_ptr_cast): Export.
+ * config/abi/pre/gnu.ver: Export
+ _ZNKSt15__exception_ptr13exception_ptr21_M_exception_ptr_castERKSt9type_info
+ at CXXABI_1.3.17.
+ * testsuite/util/testsuite_abi.cc (check_version): Allow CXXABI_1.3.17.
+ * testsuite/18_support/exception_ptr/exception_ptr_cast.cc: New test.
+
+2025-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ * include/bits/version.def (type_order): New.
+ * include/bits/version.h: Regenerate.
+ * libsupc++/compare: Define __glibcxx_want_type_order before
+ including bits/version.h.
+ (std::type_order, std::type_order_v): New trait and template variable.
+ * src/c++23/std.cc.in (std::type_order, std::type_order_v): Export.
+ * testsuite/18_support/comparisons/type_order/1.cc: New test.
+
+2025-06-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/time/format/precision.cc: New tests.
+
+2025-06-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/120650
+ * include/bits/chrono_io.h
+ (formatter<chrono::month_day_last,_CharT>::parse): Call _M_parse with
+ only Month being available.
+ * testsuite/std/time/format/data_not_present_neg.cc: New test.
+
+2025-06-24 Patrick Palka <ppalka@redhat.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120717
+ * include/std/type_traits (__maybe_complete_object_type): New
+ helper trait, factored out from ...
+ (__is_complete_or_unbounded): ... here. Only check sizeof on a
+ __maybe_complete_object_type type. Fix formatting.
+ * testsuite/20_util/is_complete_or_unbounded/120717.cc: New test.
+
+2025-06-16 Jason Merrill <jason@redhat.com>
+
+ * testsuite/20_util/is_complete_or_unbounded/memoization.cc
+ * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
+ Expect -Wsfinae-incomplete.
+
+2025-06-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120397
+ * include/bits/stl_uninitialized.h (_UninitDestroyGuard<I,void>):
+ Add new member function _S_destroy and call it from the
+ destructor (for C++17 only).
+ * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/120397.cc:
+ New test.
+ * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/120397.cc:
+ New test.
+
+2025-06-13 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/120648
+ * include/bits/chrono_io.h (__formatter_chrono::_M_format_to):
+ Handle %c, %r, %x and %X by passing them to _M_c_r_x_X.
+ (__formatter_chrono::_M_c_r_x_X): Reworked from _M_c.
+ (__formatter_chrono::_M_c): Renamed into above.
+ (__formatter_chrono::_M_r, __formatter_chrono::_M_x)
+ (__formatter_chrono::_M_X): Removed.
+ * testsuite/std/time/format/pr117214.cc: New tests for %r, %x,
+ %X with date, time and durations.
+
+2025-06-13 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_algo.h (__detail::__by_ref_or_value_fn): New.
+ (__detail::_Comp_proj): New.
+ (__detail::__make_comp_proj): Use it instead.
+ (__detail::_Pred_proj): New.
+ (__detail::__make_pred_proj): Use it instead.
+
+2025-06-13 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+
+ PR c++/120644
+ * include/std/optional (format_kind): Do not use `auto`.
+
+2025-06-13 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/23_containers/vector/bool/format.cc: Replaced _CharT
+ with CharT.
+ * testsuite/std/format/debug.cc: Likewise.
+ * testsuite/std/format/ranges/adaptors.cc: Likewise.
+ * testsuite/std/format/ranges/formatter.cc: Likewise.
+ * testsuite/std/format/ranges/map.cc: Likewise.
+ * testsuite/std/format/ranges/sequence.cc: Likewise.
+ * testsuite/std/format/ranges/string.cc: Likewise.
+ * testsuite/std/format/tuple.cc: Likewise.
+ * testsuite/std/time/format/empty_spec.cc: Likewise.
+ * testsuite/std/time/format/pr120114.cc: Likewise.
+ * testsuite/std/time/format/pr120481.cc: Likewise.
+ * testsuite/std/time/format/precision.cc: Likewise.
+
+2025-06-13 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (__formatter_chrono::_M_format):
+ Remove handling of empty _M_chrono_specs.
+ (__formatter_chrono::_M_format_to_ostream): Changed to accept
+ only chrono::duration and made public.
+ (std::formatter<chrono::duration<_Rep, _Period>, _CharT>):
+ Configure __defSpec and handle empty chrono-spec locally.
+
+2025-06-13 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (__format::__formatter_chrono_info)
+ [_GLIBCXX_USE_CXX11_ABI || ! _GLIBCXX_USE_DUAL_ABI]: Define.
+ (std::formatter<chrono::sys_info, _CharT>)
+ (std::formatter<chrono::local_inf, _CharT>): Delegate to
+ __format::__formatter_chrono_info.
+ (std::operator<<(basic_ostream<_CharT, _Traits>& const sys_info&)):
+ Use format on sys_info with empty format spec.
+
+2025-06-13 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/time/format/whitespace.cc: New test.
+
+2025-06-12 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+
+ PR libstdc++/119496
+ * include/bits/stl_algo.h: Adjust calls to requested_size.
+ * include/bits/stl_tempbuf.h (requested_size): Rename with
+ an _M_ prefix.
+ * testsuite/17_intro/names.cc: Add a #define for
+ requested_size.
+
+2025-06-12 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+
+ * include/bits/formatfwd.h (format_kind): Move the definition
+ (and some supporting code) from <format>.
+ * include/std/format (format_kind): Likewise.
+ * include/bits/version.def (optional_range_support): Add
+ the feature-testing macro.
+ * include/bits/version.h: Regenerate.
+ * include/std/optional (iterator, const_iterator, begin, end):
+ Add range support.
+ (enable_view): Specialize for std::optional.
+ (format_kind): Specialize for std::optional.
+ * testsuite/20_util/optional/range.cc: New test.
+ * testsuite/20_util/optional/version.cc: Test the new
+ feature-testing macro.
+
+2025-06-12 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (_ChronoFormats::_S_ftz)
+ (_ChronoFormats::_S_ft, _ChronoFormats::_S_t): Define.
+ (__formatter_chrono::_M_format_to_ostream): Remove handling for
+ time_points.
+ (std::formatter<chrono::hh_mm_ss<_Dur>, _CharT>)
+ (std::formatter<chrono::sys_time<_Dur>, _CharT>)
+ (std::formatter<chrono::utc_time<_Dur>, _CharT>)
+ (std::formatter<chrono::tai_time<_Dur>, _CharT>)
+ (std::formatter<chrono::gps_time<_Dur>, _CharT>)
+ (std::formatter<chrono::file_time<_Dur>, _CharT>)
+ (std::formatter<chrono::local_time<_Dur>, _CharT>)
+ (std::formatter<chrono::__detail::__local_time_fmt<_Dur>, _CharT>)
+ (std::formatter<chrono::zoned_time<_Dur>, _CharT>):
+ Define __defSpec, and pass it as argument to _M_prase and
+ constructor of __formatter_chrono.
+
+2025-06-12 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (__format::_ChronoFormats): Define.
+ (__formatter_chrono::__formatter_chrono())
+ (__formatter_chrono::__formatter_chrono(_ChronoSpec<_CharT>)): Define.
+ (__formatter_chrono::_M_parse): Add parameter with default spec,
+ and merge it with new values. Handle '%\0' as weekday index
+ specifier.
+ (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B)
+ (__formatter_chrono::_M_C_y_Y, __formatter_chrono::_M_d_e)
+ (__formatter_chrono::_M_F): Support _M_debug flag.
+ (__formatter_chrono::_M_wi, __formatter_chrono::_S_weekday_index):
+ Define.
+ (std::formatter<chrono::day, _CharT>)
+ (std::formatter<chrono::month, _CharT>)
+ (std::formatter<chrono::year, _CharT>)
+ (std::formatter<chrono::weekday, _CharT>)
+ (std::formatter<chrono::weekday_indexed, _CharT>)
+ (std::formatter<chrono::weekday_last, _CharT>)
+ (std::formatter<chrono::month_day, _CharT>)
+ (std::formatter<chrono::month_day_last, _CharT>)
+ (std::formatter<chrono::month_weekday, _CharT>)
+ (std::formatter<chrono::month_weekday_last, _CharT>)
+ (std::formatter<chrono::year_month, _CharT>)
+ (std::formatter<chrono::year_month_day, _CharT>)
+ (std::formatter<chrono::year_month_day_last, _CharT>)
+ (std::formatter<chrono::year_month_weekday, _CharT>)
+ (std::formatter<chrono::year_month_weekday_last, _CharT>):
+ Define __defSpec, and pass it as argument to _M_parse and
+ constructor of __formatter_chrono.
+
+2025-06-12 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/std/mdspan (__mdspan::__mapping_alike): Rename template
+ parameter from M to _M_p.
+ (layout_right::mapping): Replace class with typename in template
+ head.
+ (layout_stride::mapping): Fix typo in comment.
+ * testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc:
+ Changed B to function.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (layout_left): Strengthen the exception
+ guarantees of layout_left::mapping(layout_stride::mapping).
+ * testsuite/23_containers/mdspan/layouts/ctors.cc:
+ Simplify tests to reflect the change.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc: Add
+ tests for layout_stride.
+ * testsuite/23_containers/mdspan/layouts/ctors.cc: Add test for
+ layout_stride and the interaction with other layouts.
+ * testsuite/23_containers/mdspan/layouts/empty.cc: Ditto.
+ * testsuite/23_containers/mdspan/layouts/mapping.cc: Ditto.
+ * testsuite/23_containers/mdspan/layouts/stride.cc: New test.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (layout_stride): New class.
+ * src/c++23/std.cc.in: Add layout_stride.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc: Add
+ tests for layout_right.
+ * testsuite/23_containers/mdspan/layouts/ctors.cc: Add tests for
+ layout_right and the interaction with layout_left.
+ * testsuite/23_containers/mdspan/layouts/empty.cc: ditto.
+ * testsuite/23_containers/mdspan/layouts/mapping.cc: ditto.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (layout_right): New class.
+ * src/c++23/std.cc.in: Add layout_right.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc: New test.
+ * testsuite/23_containers/mdspan/layouts/ctors.cc: New test.
+ * testsuite/23_containers/mdspan/layouts/empty.cc: New test.
+ * testsuite/23_containers/mdspan/layouts/mapping.cc: New test.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (layout_left): New class.
+ * src/c++23/std.cc.in: Add layout_left.
+
+2025-06-12 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan(__mdspan::_ExtentsStorage): Change name
+ of private member _M_dynamic_extens to _M_dyn_exts.
+ (extents): Change name of private member from _M_dynamic_extents
+ to _M_exts.
+ Fix two instances of whitespace errors.
+ * testsuite/23_containers/mdspan/extents/ctor_default.cc: Fix
+ integer comparison with cmp_equal.
+
+2025-06-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/test.xml: Improve discussion of copyright
+ notices in new test cases.
+ * doc/html/manual/test.html: Regenerate.
+
+2025-06-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * scripts/create_testsuite_files: Remove incorrect comment about
+ filtering out wchar_t tests.
+
+2025-06-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120625
+ * include/std/format (__format::__disabled): Remove.
+ (__formatter_disabled): New type.
+ (formatter<char*, wchar_t>, formatter<const char*, wchar_t>)
+ (formatter<char[N], wchar_t>, formatter<string, wchar_t>)
+ (formatter<string_view, wchar_t>): Use __formatter_disabled as
+ base class instead of formatter<__disabled, wchar_t>.
+ * testsuite/std/format/formatter/120625.cc: New test.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/doxygen/user.cfg.in (PREDEFINED): Remove -D prefixes from
+ some macros. Define _GLIBCXX_USE_BUILTIN_TRAIT and
+ _GLIBCXX_HAVE_ICONV macros.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/exception: Remove redundant parentheses and adjust
+ whitespace.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits: Restore @cond and @endcond balance.
+
+2025-06-11 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/time/format/empty_spec.cc: New tests.
+ * testsuite/std/time/format/precision.cc: New test.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_construct.h: Replace std::__addressof with
+ std::addressof in code that doesn't need to compile as C++98.
+ Replace std::__is_constant_evaluated with
+ std::is_constant_evaluated in code that doesn't need to compile
+ as C++17 or earlier.
+ * include/bits/stl_uninitialized.h: Likewise for __addressof.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/test.xml: Remove note about unused 'test'
+ variables for old definition of VERIFY.
+ * doc/html/manual/test.html: Regenerate.
+ * testsuite/experimental/net/buffer/arithmetic.cc: Remove unused
+ variable.
+ * testsuite/experimental/net/buffer/const.cc: Likewise.
+ * testsuite/experimental/net/buffer/mutable.cc: Likewise.
+ * testsuite/experimental/net/buffer/size.cc: Likewise.
+ * testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
+ * testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
+ * testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
+ * testsuite/ext/special_functions/airy_ai/check_value.cc:
+ Likewise.
+ * testsuite/ext/special_functions/airy_bi/check_value.cc:
+ Likewise.
+ * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
+ Likewise.
+ * testsuite/ext/special_functions/hyperg/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/02_assoc_legendre/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/02_assoc_legendre/pr86655.cc:
+ Likewise.
+ * testsuite/special_functions/03_beta/check_value.cc: Likewise.
+ * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/10_cyl_neumann/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/11_ellint_1/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/12_ellint_2/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/13_ellint_3/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/14_expint/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/15_hermite/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/16_laguerre/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/17_legendre/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/18_riemann_zeta/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/19_sph_bessel/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/20_sph_legendre/check_value.cc:
+ Likewise.
+ * testsuite/special_functions/20_sph_legendre/pr86655.cc:
+ Likewise.
+ * testsuite/special_functions/21_sph_neumann/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/pr86655.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_neg.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/pr86655.cc:
+ Likewise.
+ * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc:
+ Likewise.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/sstream: Adjust whitespace.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120390
+ * include/bits/stl_construct.h (_Destroy_aux::__destroy_n): New
+ static member function.
+ (_Destroy_aux<true>::__destroy_n): Likewise.
+ (_Destroy_n_aux): Remove.
+ (_Destroy(ForwardIterator, ForwardIterator)): Remove
+ static_assert. Use is_trivially_destructible instead of
+ __has_trivial_destructor.
+ (_Destroy_n): Likewise. Use _Destroy_aux::__destroy_n instead of
+ _Destroy_n_aux::__destroy_n.
+ * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
+ Adjust dg-error strings. Move destroy_n tests to ...
+ * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_n_neg.cc:
+ New test.
+ * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
+ Adjust dg-error strings.
+ * testsuite/23_containers/vector/cons/destructible_neg.cc:
+ Likewise.
+
+2025-06-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/27_io/basic_istringstream/cons/char/string_view.cc:
+ Only check get_allocator() for new string ABI.
+ * testsuite/27_io/basic_ostringstream/cons/char/string_view.cc:
+ Likewise.
+ * testsuite/27_io/basic_stringbuf/cons/char/string_view.cc:
+ Likewise.
+ * testsuite/27_io/basic_stringstream/cons/char/string_view.cc:
+ Likewise.
+
+2025-06-10 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/max_size_type.h (__max_size_type::_M_val): Make
+ public instead of private.
+ (__max_size_type::_M_msb): Likewise.
+ (__max_diff_type::_M_rep): Likewise.
+ * testsuite/std/ranges/iota/max_size_type.cc: Verify
+ __max_diff_type and __max_size_type are structural.
+
+2025-06-10 Yihan Wang <yronglin777@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/tuple (__can_make_from_tuple): New variable
+ template.
+ (__make_from_tuple_impl): Add static_assert.
+ (make_from_tuple): Constrain using __can_make_from_tuple.
+ * testsuite/20_util/tuple/dr3528.cc: New test.
+
+2025-06-09 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119741
+ * include/std/sstream: full implementation, really just
+ decls, requires clause and plumbing.
+ * include/bits/version.def, include/bits/version.h:
+ new preprocessor symbol
+ __cpp_lib_sstream_from_string_view.
+ * testsuite/27_io/basic_stringbuf/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_istringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_ostringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringbuf/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_istringstream/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_ostringstream/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringstream/cons/wchar_t/string_view.cc:
+ New tests.
+
+2025-06-08 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
+
+2025-06-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/30_threads/semaphore/1.cc: Check type properties and
+ max() values.
+ * testsuite/30_threads/semaphore/3.cc: New test.
+ * testsuite/30_threads/semaphore/cons_neg.cc: New test.
+
+2025-06-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/semaphore_base.h (_Select_semaphore_impl): Rename
+ to _Semaphore_impl and use std::conditional_t instead of an
+ immediately invoked lambda expression.
+ * include/std/semaphore (counting_semaphore): Adjust to use new
+ name.
+
+2025-06-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/30_threads/barrier/1.cc: Require hosted. Only
+ require gthreads for non-linux targets.
+ * testsuite/30_threads/barrier/2.cc: Likewise.
+ * testsuite/30_threads/semaphore/1.cc: Likewise.
+ * testsuite/30_threads/semaphore/2.cc: Likewise.
+ * testsuite/30_threads/semaphore/cons.cc: Likewise.
+ * testsuite/30_threads/semaphore/least_max_value_neg.cc:
+ Likewise.
+ * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
+
+2025-06-06 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/120432
+ * include/std/flat_map (flat_map::operator[]): Make the
+ non-template overloads call try_emplace directly. Remove
+ non-standard same_as constraint on the template overload.
+ * testsuite/23_containers/flat_map/1.cc (test08): New test.
+
+2025-06-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__atomic_wait_address_until_v):
+ Add assertion to prevent use with proxy waits.
+ (__atomic_wait_address_for_v): Likewise.
+ * include/bits/atomic_wait.h (__atomic_wait_address_v):
+ Likewise.
+
+2025-06-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_wait.h (__atomic_wait_address_v): Add bare
+ wait flag.
+ * include/bits/semaphore_base.h (__semaphore_base): Rename to
+ __semaphore_impl. Replace local variable and predicate lambdas
+ with _Available struct.
+ (__platform_semaphore_impl): New class template.
+ (__semaphore_impl): Remove alias template.
+ (_Select_semaphore_impl): New alias template.
+ * include/std/semaphore (counting_semaphore): Use
+ _Select_semaphore_impl.
+
+2025-06-06 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/120565
+ * include/bits/chrono_io.h
+ (operator<<(basic_ostream<_CharT, _Traits>&, const sys_info&))
+ (operator<<(basic_ostream<_CharT, _Traits>&, const local_info&)):
+ Support wchar_t as _CharT.
+ * testsuite/std/time/format/empty_spec.cc: Instantiated test_infos for
+ wchar_t and increase timeout.
+
+2025-06-06 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/time/format/empty_spec.cc: New tests and increased
+ timeout.
+
+2025-06-05 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120548
+ * include/std/format (__formatter_fp::_M_localize): Do not
+ include a leading sign character in the string to be grouped.
+ * testsuite/std/format/functions/format.cc: Check grouping when
+ sign is present in the output.
+
+2025-06-05 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119152
+ * src/c++23/std.cc.in (std::indirect, pmr::indirect)
+ [__cpp_lib_indirect]
+ (std::polymorphic, pmr::polymorphic) [__cpp_lib_polymorphic]: Export.
+
+2025-06-05 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/120481
+ * include/bits/chrono_io.h (__format::_S_chars): Reorder so it
+ contains "-{}".
+ (__format::_S_colon, __format::_S_slash, __format::_S_space)
+ (__format::_S_plus_minus): Updated starting indicies.
+ (__format::_S_minus_empty_spec): Define.
+ (__formatter_chrono::_M_C_y_Y, __formatter_chrono::_M_R_T):
+ Rework implementation.
+ (__formatter_chrono::_M_d_e, __formatter_chrono::_M_F)
+ (__formatter_chrono::_M_m, __formatter_chrono::_M_u_w)
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_p):
+ Handle multi digits values.
+ (__formatter_chrono::_S_digit): Return string view.
+ (__formatter_chrono::_S_str_d1, __formatter_chrono::_S_str_d2)
+ (__formatter_chrono::_S_fill_two_digits): Define.
+ * testsuite/std/time/format/empty_spec.cc: Update test for
+ year_month_day, that uses '%F'.
+ * testsuite/std/time/format/pr120481.cc: New test.
+
+2025-06-05 Nathan Myers <ncm@cantrip.org>
+
+ Revert:
+ 2025-06-04 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119741
+ * include/std/sstream: full implementation, really just
+ decls, requires clause and plumbing.
+ * include/bits/version.def, include/bits/version.h:
+ new preprocessor symbol
+ __cpp_lib_sstream_from_string_view.
+ * testsuite/27_io/basic_stringbuf/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_istringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_ostringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringbuf/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_istringstream/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_ostringstream/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringstream/cons/wchar_t/string_view.cc:
+ New tests.
+
+2025-06-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/std/time/format/empty_spec.cc: Only test time zones
+ for cxx11 string ABI.
+
+2025-06-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/99832
+ * include/bits/chrono.h (system_clock::to_time_t): Add
+ always_inline attribute to be agnostic to the underlying type of
+ time_t.
+ (system_clock::from_time_t): Add always_inline for consistency
+ with to_time_t.
+ * testsuite/20_util/system_clock/99832.cc: New test.
+
+2025-06-04 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119741
+ * include/std/sstream: full implementation, really just
+ decls, requires clause and plumbing.
+ * include/bits/version.def, include/bits/version.h:
+ new preprocessor symbol
+ __cpp_lib_sstream_from_string_view.
+ * testsuite/27_io/basic_stringbuf/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_istringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_ostringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringstream/cons/char/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringbuf/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_istringstream/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_ostringstream/cons/wchar_t/string_view.cc:
+ New tests.
+ * testsuite/27_io/basic_stringstream/cons/wchar_t/string_view.cc:
+ New tests.
+
+2025-06-04 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/c++config (_GLIBCXX_AUTO_CAST): Define.
+ * include/bits/iterator_concepts.h (_Decay_copy, __decay_copy):
+ Remove.
+ (__member_begin, __adl_begin): Use _GLIBCXX_AUTO_CAST instead of
+ __decay_copy as per P0849R8.
+ * include/bits/ranges_base.h (_Begin): Likewise.
+ (__member_end, __adl_end, _End): Likewise.
+ (__member_rbegin, __adl_rbegin, _RBegin): Likewise.
+ (__member_rend, __adl_rend, _Rend): Likewise.
+ (__member_size, __adl_size, _Size): Likewise.
+ (_Data): Likewise.
+
+2025-06-04 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/time/format/empty_spec.cc: New tests.
+
+2025-06-04 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_algo.h (__starts_with_fn, starts_with):
+ Define.
+ (__ends_with_fn, ends_with): Define.
+ * include/bits/version.def (ranges_starts_ends_with): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/algorithm: Provide __cpp_lib_ranges_starts_ends_with.
+ * src/c++23/std.cc.in (ranges::starts_with): Export.
+ (ranges::ends_with): Export.
+ * testsuite/25_algorithms/ends_with/1.cc: New test.
+ * testsuite/25_algorithms/starts_with/1.cc: New test.
+
+2025-06-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/semaphore_base.h (_S_get_current): Replace with
+ non-static _M_get_current.
+ (_S_do_try_acquire): Replace with non-static _M_do_try_acquire.
+
+2025-06-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/104928
+ * include/bits/semaphore_base.h (_S_do_try_acquire): Take old
+ value by reference.
+ (_M_acquire): Move _S_do_try_acquire call out of the predicate
+ and loop on its result. Make the predicate capture and update
+ the local copy of the value.
+ (_M_try_acquire_until, _M_try_acquire_for): Likewise.
+ (_M_try_acquire): Just call _M_try_acquire_for.
+ * testsuite/30_threads/semaphore/104928-2.cc: New test.
+ * testsuite/30_threads/semaphore/104928.cc: New test.
+
+2025-06-04 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (__formatter_chrono:_M_s): Add missing
+ __out argument to format_to call.
+ * testsuite/std/time/format/empty_spec.cc: New test.
+
+2025-06-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/stop_token: Check __glibcxx_jthread instead of
+ __cplusplus.
+
+2025-06-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (is_destructible, is_destructible_v):
+ Define using new built-in.
+ (is_nothrow_destructible, is_nothrow_destructible_v): Likewise.
+ (is_trivially_destructible, is_trivially_destructible_v):
+ Likewise.
+
+2025-06-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__detail::__wait_until):
+ Remove incorrect comment.
+ (__atomic_wait_address_until_v): Do not take address of __args in
+ call to __detail::__wait_until. Fix return statement to refer to
+ member of __wait_result_type.
+ (__atomic_wait_address_for_v): Change parameter type from
+ time_point to duration.
+ * src/c++20/atomic.cc (__spin_until_impl): Fix incorrect
+ return value. Reuse result of first call to clock.
+
+2025-06-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_vector.h (~_Vector_base): Add unreachable
+ hint for negative capacity and cast to size_t explicitly.
+ * include/bits/vector.tcc (vector::_M_realloc_append): Use
+ size() instead of end() - begin().
+
+2025-06-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/bit (__rotl, __rotr): Use static_cast for
+ conversion from int to unsigned.
+
+2025-06-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++23/std.cc.in: Remove redundant checks for feature test
+ macros that are always true.
+
+2025-06-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/basic_string.h (basic_string::size): Remove space
+ before parameter list.
+ (basic_string::capacity): Likewise.
+ * include/bits/stl_deque.h (deque::size): Likewise.
+ * include/bits/stl_vector.h (vector::size, vector::capacity):
+ Likewise.
+ * include/bits/vector.tcc (vector::_M_realloc_insert): Likewise.
+ (vector::_M_realloc_append): Likewise.
+
+2025-06-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120386
+ * include/bits/ranges_algo.h (__unique_copy_fn): Reorder
+ arguments for third case to match the first two cases.
+ * include/bits/stl_algo.h (__unique_copy): Replace three
+ overloads with two, depending only on the iterator category of
+ the input range. Dispatch to __unique_copy_1 for the
+ non-forward case.
+ (__unique_copy_1): New overloads for the case where the input
+ range uses non-forward iterators.
+ (unique_copy): Only pass the input range category to
+ __unique_copy.
+ * testsuite/25_algorithms/unique_copy/lwg2439.cc: New test.
+
+2025-06-02 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/funcwrap.h (__polyfunc::__pass_by_rref): Define.
+ (__polyfunc::__param_t): Update to use __pass_by_rref.
+ * include/bits/cpyfunc_impl.h:: Assert that are parameters type
+ are complete.
+ * include/bits/funcref_impl.h: Likewise.
+ * include/bits/mofunc_impl.h: Likewise.
+ * testsuite/20_util/copyable_function/call.cc: New test.
+ * testsuite/20_util/function_ref/call.cc: New test.
+ * testsuite/20_util/move_only_function/call.cc: New test.
+ * testsuite/20_util/copyable_function/conv.cc: New test.
+ * testsuite/20_util/function_ref/conv.cc: New test.
+ * testsuite/20_util/move_only_function/conv.cc: New test.
+ * testsuite/20_util/copyable_function/incomplete_neg.cc: New test.
+ * testsuite/20_util/function_ref/incomplete_neg.cc: New test.
+ * testsuite/20_util/move_only_function/incomplete_neg.cc: New test.
+
+2025-06-02 Jonathan Wakely <jwakely@redhat.com>
+ Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119152
+ * include/bits/indirect.h (std::polymorphic, pmr::polymorphic)
+ [__glibcxx_polymorphic]: Define.
+ * include/bits/version.def (polymorphic): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/memory: Define __cpp_lib_polymorphic.
+ * testsuite/std/memory/polymorphic/copy.cc: New test.
+ * testsuite/std/memory/polymorphic/copy_alloc.cc: New test.
+ * testsuite/std/memory/polymorphic/ctor.cc: New test.
+ * testsuite/std/memory/polymorphic/ctor_poly.cc: New test.
+ * testsuite/std/memory/polymorphic/incomplete.cc: New test.
+ * testsuite/std/memory/polymorphic/invalid_neg.cc: New test.
+ * testsuite/std/memory/polymorphic/move.cc: New test.
+ * testsuite/std/memory/polymorphic/move_alloc.cc: New test.
+
+2025-05-30 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/time/format/empty_spec.cc: New test.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h: Use __wait_result_type.
+ * include/bits/atomic_wait.h (__wait_result_type): New struct.
+ (__wait_args::_M_prep_for_wait_on): Rename to _M_setup_wait, use
+ __wait_result_type.
+ (__atomic_wait_address): Adjust to call _M_setup_wait.
+ * src/c++20/atomic.cc (__spin_impl): Use __wait_result_type.
+ (__wait_impl): Likewise.
+ (__spin_until_impl): Likewise.
+ (__wait_until_impl): Likewise.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118494
+ PR libstdc++/110854
+ PR libstdc++/98749
+ * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Remove checks for
+ sem_timedwait. Do not define _GLIBCXX_HAVE_POSIX_SEMAPHORE.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/bits/semaphore_base.h (__platform_semaphore): Remove.
+ (__atomic_semaphore): Replace with __semaphore_base<bool> and
+ make type of _M_count depend on template parameter. Fix _S_max
+ constant to use correct type.
+ (__semaphore_base::_M_try_acquire): Qualify to avoid ADL.
+ (__semaphore_base::_M_release): Return old value. Remove FIXME
+ comment.
+ (__semaphore_impl): Replace typedef with alias template.
+ * include/bits/version.def (semaphore): Do not depend on
+ _GLIBCXX_HAVE_POSIX_SEMAPHORE.
+ * include/bits/version.h: Regenerate.
+ * include/std/semaphore (semaphore): Adjust type of _M_sem
+ member. Add constexpr to constructor. Add assertions to
+ (semaphore::semaphore(ptrdiff_t)): Add constexpr. Add assertion
+ for precondition.
+ (semaphore::release): Add assertion using value returned from
+ _M_release.
+ * testsuite/30_threads/semaphore/100806.cc: Increase template
+ argument for std::counting_semaphore, so constructor
+ precondition is met.
+ * testsuite/30_threads/semaphore/cons.cc: New test.
+ * testsuite/30_threads/semaphore/try_acquire_posix.cc: Remove.
+ * testsuite/30_threads/semaphore/platform_try_acquire_for.cc:
+ Removed.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/barrier (__tree_barrier_base): New class.
+ (__tree_barrier): Move non-dependent code into
+ __tree_barrier_base and derive from it.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118395
+ PR libstdc++/108974
+ PR libstdc++/98749
+ * include/std/barrier (__tree_barrier): Use default
+ member-initializers. Change _M_state member from
+ unique_ptr<__state_t[]> to atomic<__state_t*>. Add
+ no_unique_address attribute to _M_completion.
+ (__tree_barrier::_M_arrive): Load value from _M_state.
+ (__tree_barrier::_M_invoke_completion): New member function to
+ ensure a throwing completion function will terminate, as
+ proposed in LWG 3898.
+ (__tree_barrier::max): Reduce by one to avoid overflow.
+ (__tree_barrier::__tree_barrier): Add constexpr. Qualify call to
+ std::move. Remove mem-initializers made unnecessary by default
+ member-initializers. Add precondition check. Only allocate state
+ array if not constant evaluated.
+ (__tree_barrier::arrive): Add precondition check. Do deferred
+ initialization of _M_state if needed.
+ (barrier): Add static_assert, as proposed in LWG 3898.
+ (barrier::barrier): Add constexpr.
+ * testsuite/30_threads/barrier/cons.cc: New test.
+ * testsuite/30_threads/barrier/lwg3898.cc: New test.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/latch (latch::arrive_and_wait): Optimise.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Add new symbol version and exports.
+ * include/bits/atomic_timed_wait.h (__platform_wait_until): Move
+ to atomic.cc.
+ (__cond_wait_until, __spin_until_impl): Likewise.
+ (__wait_until_impl): Likewise. Change __wait_args_base parameter
+ to non-const reference and change third parameter to
+ __wait_clock_t::duration.
+ (__wait_until): Change __wait_args_base parameter to non-const
+ reference. Change Call time_since_epoch() to get duration from
+ time_point.
+ (__wait_for): Change __wait_args_base parameter to non-const
+ reference.
+ (__atomic_wait_address_until): Call _M_prep_for_wait_on on args.
+ (__atomic_wait_address_for): Likewise.
+ (__atomic_wait_address_until_v): Qualify call to avoid ADL. Do
+ not forward __vfn.
+ * include/bits/atomic_wait.h (__platform_wait_uses_type): Use
+ alignof(T) not alignof(T*).
+ (__futex_wait_flags, __platform_wait, __platform_notify)
+ (__waitable_state, __spin_impl, __notify_impl): Move to
+ atomic.cc.
+ (__wait_impl): Likewise. Change __wait_args_base parameter to
+ non-const reference.
+ (__wait_args_base::_M_wait_state): New data member.
+ (__wait_args_base::_M_prep_for_wait_on): New member function.
+ (__wait_args_base::_M_load_proxy_wait_val): New member
+ function.
+ (__wait_args_base::_S_memory_order_for): Remove member function.
+ (__atomic_wait_address): Call _M_prep_for_wait_on on args.
+ (__atomic_wait_address_v): Qualify call to avoid ADL.
+ * src/c++20/Makefile.am: Add new file.
+ * src/c++20/Makefile.in: Regenerate.
+ * src/c++20/atomic.cc: New file.
+ * testsuite/17_intro/headers/c++1998/49745.cc: Remove XFAIL for
+ C++20 and later.
+ * testsuite/29_atomics/atomic/wait_notify/100334.cc: Remove use
+ of internal implementation details.
+ * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.35 version.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__wait_until_impl): Adjust
+ to use new naming.
+ * include/bits/atomic_wait.h (__waiter_pool_impl): Rename to
+ __waitable_state.
+ (__waiter_pool_impl::_S_wait): Rename to _M_waiters.
+ (__waiter_pool_impl::_S_impl_for): Rename to _S_state_for.
+ (__waiter_pool_impl::_S_track): Adjust to use new naming.
+ (__wait_impl, __notify_impl): Likewise.
+ * testsuite/29_atomics/atomic/wait_notify/100334.cc: Adjust to
+ use new naming.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h
+ (__atomic_wait_address_until_v): Replace __atomic_compare with
+ __atomic_eq.
+ (__atomic_wait_address_for_v): Likewise.
+ * include/bits/atomic_wait.h (__atomic_compare): Rename to
+ __atomic_eq.
+ (__atomic_wait_address_v): Replace __atomic_compare with
+ __atomic_eq.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__wait_until_impl): Change
+ first parameter to const void* and then static_cast to const
+ __platform_wait_t* when not using proxied wait.
+ (__wait_until): Change first parameter to const void*.
+ (__wait_for): Likewise.
+ (__atomic_wait_address_until): Remove reinterpret_cast and allow
+ address to implicitly convert to const void* instead.
+ (__atomic_wait_address_for): Likewise.
+ * include/bits/atomic_wait.h: (__wait_impl, __notify_impl):
+ Change first parameter to const void* and then static_cast to
+ const __platform_wait_t* when not using proxied wait.
+ (__atomic_wait_address, __atomic_notify_address) Remove
+ reinterpret_cast and allow address to implicitly convert to
+ const void* instead.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_wait.h (__platform_wait): Change function
+ template to a normal function. The parameter is always
+ __platform_wait_t* which is just int* for this implementation of
+ the function.
+ (__platform_notify): Likewise.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__to_wait_clock): Do not use
+ chrono::ceil if clock and duration are already correct type.
+ (__wait_until): Always call __to_wait_clock.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_wait.h (__notify_impl): Increment the
+ proxy value before returning early for the uncontended case.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__cond_wait_impl): Add
+ missing inline keyword.
+ (__spin_until_impl): Change parameter from pointer to reference.
+ Replace make_pair with list-initialization. Initialize variable
+ for return value.
+ (__wait_until_impl): Likewise. Remove some preprocessor
+ conditional logic. Use _S_track for contention tracking.
+ Avoid unnecessary const_cast.
+ (__wait_until): Change parameter from pointer to reference.
+ Replace make_pair with list-initialization.
+ (__wait_for): Change parameter from pointer to reference. Add
+ __do_spin flag to args.
+ * include/bits/atomic_wait.h (__waiter_pool_impl::_S_track): New
+ function returning an RAII object for contention tracking.
+ (__wait_flags): Do not set the __do_spin flag in the __spin_only
+ enumerator. Comment out the unused __abi_version_mask
+ enumerator. Define operator| and operator|= overloads.
+ (__wait_args_base::operator&): Define.
+ (__wait_args::operator&, __wait_args::_S_default_flags): Remove.
+ (__wait_args::operator|, __wait_args::operator|=): Remove.
+ (__spin_impl): Change parameter from pointer to reference.
+ Replace make_pair call with list-initialization.
+ (__wait_impl): Likewise. Remove some preprocessor conditional
+ logic. Always store old value in __args._M_old. Avoid
+ unnecessary const_cast. Use _S_track.
+ (__notify_impl): Change parameter to reference. Remove some
+ preprocessor conditional logic.
+ (__atomic_wait_address): Add comment. Update __args._M_old on
+ each iteration.
+ (__atomic_wait_address_v): Add comment.
+ * include/std/latch (latch::wait): Adjust predicates for new
+ logic.
+ * testsuite/29_atomics/atomic_integral/wait_notify.cc: Improve
+ test.
+
+2025-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_timed_wait.h: Whitespace fixes.
+ * include/bits/atomic_wait.h: Likewise.
+
+2025-05-30 Thomas Rodgers <trodgers@redhat.com>
+
+ * include/bits/atomic_timed_wait.h (__spin_until_impl): Accept
+ __wait_args as const __wait_args_base*.
+ (__wait_until_impl): Likewise.
+ (__wait_until): Likewise.
+ (__wait_for): Likewise.
+ (__atomic_wait_address_until): Pass __wait_args by address.
+ (__atomic_wait_address_for): Likewise.
+ * include/bits/atomic_wait.h (__wait_args_base): New struct.
+ (__wait_args): Derive from __wait_args_base.
+ (__wait_args::__wait_args()): Adjust ctors to call call base ctor.
+ (__wait_args::__wait_args(const __wait_args_base&)): New ctor.
+ (__wait_args::operator|=): New method.
+ (__wait_args::_S_flags_for): Change return type to
+ __wait_flags.
+ (__spin_impl): Accept __wait_args as const __wait_args_base*.
+ (__wait_impl): Likewise.
+ (__notify_impl): Likewise.
+ (__atomic_wait_address): Pass __wait_args by address.
+ (__atomic_wait_address_v): Likewise.
+ (__atomic_notify_address): Likewise.
+
+2025-05-30 Thomas Rodgers <trodgers@redhat.com>
+
+ * include/bits/atomic_timed_wait.h:
+ (__detail::__platform_wait_until_impl): Rename to
+ __platform_wait_until.
+ (__detail::__platform_wait_until): Remove previous
+ definition.
+ (__detail::__cond_wait_until_impl): Rename to
+ __cond_wait_until.
+ (__detail::__cond_wait_until): Remove previous
+ definition.
+ (__detail::__spin_until_impl): New function.
+ (__detail::__wait_until_impl): New function.
+ (__detail::__wait_until): New function.
+ (__detail::__wait_for): New function.
+ (__detail::__timed_waiter_pool): Remove type.
+ (__detail::__timed_backoff_spin_policy): Remove type.
+ (__detail::__timed_waiter): Remove type.
+ (__detail::__enters_timed_wait): Remove type alias.
+ (__detail::__bare_timed_wait): Remove type alias.
+ (__atomic_wait_address_until): Adjust to new implementation
+ detail.
+ (__atomic_wait_address_until_v): Likewise.
+ (__atomic_wait_address_bare): Remove.
+ (__atomic_wait_address_for): Adjust to new implementation
+ detail.
+ (__atomic_wait_address_for_v): Likewise.
+ (__atomic_wait_address_for_bare): Remove.
+ * include/bits/atomic_wait.h: Include bits/stl_pair.h.
+ (__detail::__default_spin_policy): Remove type.
+ (__detail::__atomic_spin): Remove function.
+ (__detail::__waiter_pool_base): Rename to __waiter_pool_impl.
+ Remove _M_notify. Rename _S_for to _S_impl_for.
+ (__detail::__waiter_base): Remove type.
+ (__detail::__waiter_pool): Remove type.
+ (__detail::__waiter): Remove type.
+ (__detail::__enters_wait): Remove type alias.
+ (__detail::__bare_wait): Remove type alias.
+ (__detail::__wait_flags): New enum.
+ (__detail::__wait_args): New struct.
+ (__detail::__wait_result_type): New type alias.
+ (__detail::__spin_impl): New function.
+ (__detail::__wait_impl): New function.
+ (__atomic_wait_address): Adjust to new implementation detail.
+ (__atomic_wait_address_v): Likewise.
+ (__atomic_notify_address): Likewise.
+ (__atomic_wait_address_bare): Delete.
+ (__atomic_notify_address_bare): Likewise.
+ * include/bits/semaphore_base.h: Adjust implementation to
+ use new __atomic_wait_address_v contract.
+ * include/std/barrier: Adjust implementation to use new
+ __atomic_wait contract.
+ * include/std/latch: Adjust implementation to use new
+ __atomic_wait contract.
+ * testsuite/29_atomics/atomic/wait_notify/100334.cc (main):
+ Adjust to for __detail::__waiter_pool_base renaming.
+
+2025-05-29 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/flat_map (_Flat_map_impl::operator==): Compare
+ keys and values separately.
+
+2025-05-29 Patrick Palka <ppalka@redhat.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120465
+ * include/std/flat_map (_Flat_map_impl::_M_erase_if): Use a
+ projection with ranges::remove_if to pass a pair instead of
+ a tuple to the predicate.
+ * testsuite/23_containers/flat_map/1.cc (test07): Strengthen
+ to expect the argument passed to the predicate is a pair.
+ * testsuite/23_containers/flat_multimap/1.cc (test07): Likewise.
+
+2025-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/17_intro/names.cc [_AIX] (a): Undefine.
+ * testsuite/experimental/names.cc [_AIX] (ptr): Undefine.
+
+2025-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/22_locale/num_put/put/char/lwg4084.cc [_AIX]: Adjust
+ expected output for NaN and infinity.
+
+2025-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/23_containers/deque/capacity/shrink_to_fit.cc:
+ Remove dg-xfail-run-if for AIX.
+ * testsuite/23_containers/unordered_map/96088.cc: Replace
+ dg-xfail-run-if with dg-require-effective-target c++20.
+ * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
+ * testsuite/23_containers/unordered_set/96088.cc: Likewise.
+
+2025-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/boost_concept_check.h: Disable -Wlong-long
+ warnings.
+ * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
+ line number.
+
+2025-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/test.xml: Remove outdated documentation on
+ testing with -std options in --target_board.
+ * doc/html/manual/test.html: Regenerate.
+
+2025-05-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/17_intro/names.cc [_AIX] (n): Undefine.
+ * testsuite/experimental/names.cc [_AIX] (ptr): Undefine.
+
+2025-05-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/std/format/debug.cc: Disable for targets with 16-bit
+ wchar_t.
+ * testsuite/std/format/functions/format.cc: Use -DUNICODE for
+ targets with 32-bit wchar_t.
+ (test_unicode) [UNICODE]: Only run checks when UNICODE is
+ defined.
+
+2025-05-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.in: Regenerate.
+
+2025-05-27 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96710
+ * include/bits/std_abs.h [__SIZEOF_INT128__] (abs(__int128)):
+ Define.
+ [_GLIBCXX_USE_FLOAT128] (abs(__float128)): Enable definition for
+ strict modes.
+ * testsuite/26_numerics/headers/cmath/82644.cc: Use strict_std
+ instead of defining __STRICT_ANSI__.
+ * testsuite/26_numerics/headers/cstdlib/abs128.cc: New test.
+
+2025-05-27 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan: Value initialize the array storing the
+ dynamic extents.
+ * testsuite/23_containers/mdspan/extents/ctor_default.cc: New
+ test.
+
+2025-05-26 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119152
+ * testsuite/std/memory/indirect/ctor.cc: Run test_inplace_ctor.
+
+2025-05-26 Jonathan Wakely <jwakely@redhat.com>
+ Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119152
+ * doc/doxygen/stdheader.cc: Added indirect.h file.
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/bits/indirect.h: New file.
+ * include/bits/version.def (indirect): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/memory: Include new header.
+ * testsuite/std/memory/indirect/copy.cc
+ * testsuite/std/memory/indirect/copy_alloc.cc
+ * testsuite/std/memory/indirect/ctor.cc
+ * testsuite/std/memory/indirect/incomplete.cc
+ * testsuite/std/memory/indirect/invalid_neg.cc
+ * testsuite/std/memory/indirect/move.cc
+ * testsuite/std/memory/indirect/move_alloc.cc
+ * testsuite/std/memory/indirect/relops.cc
+
+2025-05-26 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119126
+ * doc/doxygen/stdheader.cc: Added funcref_impl.h file.
+ * include/Makefile.am: Added funcref_impl.h file.
+ * include/Makefile.in: Added funcref_impl.h file.
+ * include/bits/funcref_impl.h: New file.
+ * include/bits/funcwrap.h: (_Ptrs::_M_obj): Const-qualify.
+ (_Storage::_M_ptr, _Storage::_M_ref): Remove.
+ (__polyfunc::__cast_to) Define.
+ (_Base_invoker::_S_ptrs, _Base_invoker::_S_nttp)
+ (_Base_invoker::_S_bind_ptrs, _Base_invoker::_S_bind_ref)
+ (_Base_invoker::_S_call_ptrs): Define.
+ (_Base_invoker::_S_call_storage): Foward to _S_call_ptrs.
+ (_Manager::_S_local, _Manager::_S_ptr): Adjust for _M_obj being
+ const qualified.
+ (__polyfunc::_Manager, __polyfunc::_Mo_base): Guard with
+ __glibcxx_move_only_function || __glibcxx_copyable_function.
+ (__polyfunc::__skip_first_arg, __polyfunc::__deduce_funcref)
+ (std::function_ref) [__glibcxx_function_ref]: Define.
+ * include/bits/utility.h (std::nontype_t, std::nontype)
+ (__is_nontype_v) [__glibcxx_function_ref]: Define.
+ * include/bits/version.def: Define function_ref.
+ * include/bits/version.h: Regenerate.
+ * include/std/functional: Define __cpp_lib_function_ref.
+ * src/c++23/std.cc.in (std::nontype_t, std::nontype)
+ (std::function_ref) [__cpp_lib_function_ref]: Export.
+ * testsuite/20_util/function_ref/assign.cc: New test.
+ * testsuite/20_util/function_ref/call.cc: New test.
+ * testsuite/20_util/function_ref/cons.cc: New test.
+ * testsuite/20_util/function_ref/cons_neg.cc: New test.
+ * testsuite/20_util/function_ref/conv.cc: New test.
+ * testsuite/20_util/function_ref/deduction.cc: New test.
+ * testsuite/20_util/function_ref/mutation.cc: New test.
+
+2025-05-23 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120384
+ * include/bits/stl_algo.h (__unique_copy): Remove all
+ _BinaryPredicateConcept concept checks.
+ (unique_copy): Check _BinaryPredicateConcept in overload that
+ takes a predicate.
+ * testsuite/25_algorithms/unique_copy/120384.cc: New test.
+
+2025-05-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (is_constant_evaluated): Add
+ always_inline attribute.
+
+2025-05-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/17_intro/names.cc [__sun__] (a, i, n): Undefine.
+
+2025-05-23 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * testsuite/std/format/parse_ctx.cc: Fix typo for bfloat16 guard.
+
+2025-05-22 Jonathan Wakely <jwakely@redhat.com>
+ Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/allocated_ptr.h (_Scoped_allocation): New class
+ template.
+
+2025-05-22 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/util/pstl/test_utils.h (ForwardIterator::operator++):
+ Fix return type.
+ (BidirectionalIterator::operator++): Likewise.
+ (BidirectionalIterator::operator--): Likewise.
+
+2025-05-22 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120367
+ * include/bits/stl_vector.h (_M_range_initialize): Initialize
+ _M_impl._M_finish.
+ * testsuite/23_containers/vector/cons/from_range.cc: Check with
+ a type that throws on construction.
+ exceptions during construction.
+
+2025-05-21 Alexandre Oliva <oliva@adacore.com>
+
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
+ Guard non-wide stold calls with conditions for it to be
+ defined.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
+ Likewise.
+
+2025-05-21 Xℹ Ruoyao <xry111@mengyan1223.wang>
+
+ PR libstdc++/81806
+ * include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+ (split_finish): Use maintained size, instead of calling
+ std::distance.
+
+2025-05-21 Xℹ Ruoyao <xry111@mengyan1223.wang>
+
+ * include/ext/pb_ds/detail/rb_tree_map_/node.hpp
+ (rb_tree_node_::size_type): New typedef.
+ (rb_tree_node_::m_subtree_size): New field.
+ * include/ext/pb_ds/detail/splay_tree_/node.hpp
+ (splay_tree_node_::size_type): New typedef.
+ (splay_tree_node_::m_subtree_size): New field.
+ * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+ (PB_DS_BIN_TREE_NAME::update_subtree_size): Declare new member
+ function.
+ * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+ (update_subtree_size): Define.
+ (apply_update, update_to_top): Call update_subtree_size.
+
+2025-05-21 Xℹ Ruoyao <xry111@mengyan1223.wang>
+
+ * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+ (insert_leaf_new, insert_imp_empty): remove redundant statements.
+
+2025-05-20 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (_ChronoSpec::_M_locale_specific):
+ Declare as bit fiekd in tail-padding..
+ * include/bits/formatfwd.h (__format::_Align): Defined as enum
+ class and add using enum.
+ * include/std/format (__format::_Pres_type, __format::_Sign)
+ (__format::_WidthPrec, __format::_Arg_t): Defined as enum class
+ and add using enum.
+ (_Pres_type::_Pres_esc): Replace with _Pres_max.
+ (_Pres_type::_Pres_seq, _Pres_type::_Pres_str): Remove.
+ (__format::_Pres_type): Updated values of enumerators as described
+ above.
+ (__format::_Spec): Rearranged members to have 8 bits of tail-padding.
+ (_Spec::_M_debug): Defined.
+ (_Spec::_M_reserved): Extended to 8 bits and moved at the end.
+ (_Spec::_M_reserved2): Removed.
+ (_Spec::_M_parse_fill_and_align, _Spec::_M_parse_sign)
+ (__format::__write_padded_as_spec): Adjusted default value checks.
+ (__format::_Term_char): Add using enum and adjust enumertors.
+ (__Escapes::_S_term): Adjusted for _Term_char values.
+ (__format::__should_escape_ascii): Adjusted _Term_char uses.
+ (__format::__write_escaped): Adjusted for _Term_char.
+ (__formatter_str::parse): Set _Pres_s if specifed and _M_debug
+ instead of _Pres_esc.
+ (__formatter_str::set_debug_format): Set _M_debug instead of
+ _Pres_esc.
+ (__formatter_str::format, __formatter_str::_M_format_range):
+ Check _M_debug instead of _Prec_esc.
+ (__formatter_str::_M_format_escaped): Adjusted _Term_char uses.
+ (__formatter_int::__formatter_int(_Spec<_CharT>)): Set _Pres_d if
+ default presentation type is not set.
+ (__formatter_int::_M_parse): Adjusted default value checks.
+ (__formatter_int::_M_do_parse): Set _M_debug instead of _Pres_esc.
+ (__formatter_int::_M_format_character): Handle escaped presentation.
+ (__formatter_int::_M_format_character_escaped)
+ (__formatter_int::_S_character_width): Merged into
+ _M_format_character.
+ (__formatter_ptr::__formatter_ptr(_Spec<_CharT>)): Set _Pres_p if
+ default presentation type is not set.
+ (__formatter_ptr::parse): Add default __type parameter, store _Pres_p,
+ and handle _M_alt to be consistent with meaning for integers.
+ (__foramtter_ptr<_CharT>::_M_set_default): Define.
+ (__format::__pack_arg_types, std::basic_format_args): Add necessary
+ casts.
+ (formatter<_CharT, _CharT>::set_debug_format)
+ (formatter<char, wchar_t>::set_debug_format): Set _M_debug instead of
+ _Pres_esc.
+ (formatter<_CharT, _CharT>::format, formatter<char, wchar_t>::format):
+ Simplify calls to _M_format_character.
+ (range_formatter<_Rg, _CharT>::parse): Replace _Pres_str with
+ _Pres_s and set _M_debug instead of _Pres_esc.
+ (range_formatter<_Rg, _CharT>::format): Replace _Pres_str with
+ _Pres_s.
+
+2025-05-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/faq.xml: Update URL for archived SGI STL docs.
+ * doc/xml/manual/containers.xml: Likewise.
+ * doc/xml/manual/extensions.xml: Likewise.
+ * doc/xml/manual/using.xml: Likewise.
+ * doc/xml/manual/utilities.xml: Likewise.
+ * doc/html/*: Regenerate.
+
+2025-05-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/ranges (_ZipTransform::operator()): Remove name of
+ unused parameter.
+ (chunk_view::_Iterator, stride_view::_Iterator): Likewise.
+ (join_with_view): Declare _Iterator and _Sentinel as class
+ instead of struct.
+ (repeat_view): Declare _Iterator as class instead of struct.
+
+2025-05-19 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120293
+ * include/bits/chrono_io.h (_M_format_to_ostream): Add special
+ case for local_time convertible to local_days.
+ * testsuite/std/time/clock/local/io.cc: Check formatting of
+ chrono::local_days.
+
+2025-05-16 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/type_traits (__is_invocable): Define in terms of
+ corresponding builtin if available.
+ (__is_nothrow_invocable): Likewise.
+ (is_invocable_v): Likewise.
+ (is_nothrow_invocable_v): Likewise.
+
+2025-05-16 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65909
+ * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
+ Change name of formal argument to locale.
+
+2025-05-15 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan: Implement the mandate for extents as
+ signed or unsigned integer and not any interal type. Remove
+ leading underscores from names in static_assert message.
+ * testsuite/23_containers/mdspan/extents/class_mandates_neg.cc:
+ Check that extents<char,...> and extents<bool,...> are invalid.
+ Adjust dg-prune-output pattern.
+ * testsuite/23_containers/mdspan/extents/misc.cc: Update
+ tests to avoid `char` and `bool` as IndexType.
+
+2025-05-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120190
+ * include/std/format (format_kind): Adjust primary template to
+ not depend on itself.
+ * testsuite/std/format/ranges/format_kind_neg.cc: Adjust
+ expected errors. Check more invalid specializations.
+
+2025-05-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/complex (arg(T)): Use __builtin_signbit instead of
+ std::signbit.
+
+2025-05-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120235
+ * doc/html/*: Regenerate.
+ * doc/xml/manual/evolution.xml: Document deprecation.
+ * include/std/complex: Replace references to TR1 subclauses with
+ corresponding C++11 subclauses.
+ (fabs): Add deprecated attribute.
+ * testsuite/26_numerics/complex/fabs_neg.cc: New test.
+
+2025-05-15 Jason Merrill <jason@redhat.com>
+
+ * testsuite/lib/libstdc++.exp: Add -Wabi.
+
+2025-05-15 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119246
+ * include/std/format: Updated check for _GLIBCXX_FORMAT_F128.
+
+2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119125
+ * include/bits/move_only_function.h: Move to...
+ * include/bits/funcwrap.h: ...here.
+ * doc/doxygen/stdheader.cc (init_map): Replaced move_only_function.h
+ with funcwrap.h, and changed include guard to use feature test macro.
+ Move bits/version.h include before others.
+ * include/Makefile.am: Likewise.
+ * include/Makefile.in: Likewise.
+ * include/std/functional: Likewise.
+
+2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119125
+ * doc/doxygen/stdheader.cc: Addded cpyfunc_impl.h header.
+ * include/Makefile.am: Add bits cpyfunc_impl.h.
+ * include/Makefile.in: Add bits cpyfunc_impl.h.
+ * include/bits/cpyfunc_impl.h: New file.
+ * include/bits/mofunc_impl.h: Mention LWG 4255.
+ * include/bits/move_only_function.h: Update header description
+ and change guard to also check __glibcxx_copyable_function.
+ (_Manager::_Func): Remove noexcept.
+ (std::__is_polymorphic_function_v<move_only_function<_Tp>>)
+ (__variant::_Never_valueless_alt<std::move_only_function<_Signature...>>)
+ (move_only_function) [__glibcxx_move_only_function]: Adjust guard.
+ (std::__is_polymorphic_function_v<copyable_function<_Tp>>)
+ (__variant::_Never_valueless_alt<std::copyable_function<_Signature...>>)
+ (__polyfunc::_Cpy_base, std::copyable_function)
+ [__glibcxx_copyable_function]: Define.
+ * include/bits/version.def: Define copyable_function.
+ * include/bits/version.h: Regenerate.
+ * include/std/functional: Define __cpp_lib_copyable_function.
+ * src/c++23/std.cc.in (copyable_function)
+ [__cpp_lib_copyable_function]: Export.
+ * testsuite/20_util/copyable_function/call.cc: New test based on
+ move_only_function tests.
+ * testsuite/20_util/copyable_function/cons.cc: New test based on
+ move_only_function tests.
+ * testsuite/20_util/copyable_function/conv.cc: New test based on
+ move_only_function tests.
+ * testsuite/20_util/copyable_function/copy.cc: New test.
+ * testsuite/20_util/copyable_function/move.cc: New test based on
+ move_only_function tests.
+
+2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119125
+ * include/bits/mofunc_impl.h: (std::move_only_function): Adjusted for
+ changes in bits/move_only_function.h
+ (move_only_function::move_only_function(_Fn&&)): Special case
+ move_only_functions with same invoker.
+ (move_only_function::operator=(move_only_function&&)): Handle self
+ assigment.
+ * include/bits/move_only_function.h (__polyfunc::_Ptrs)
+ (__polyfunc::_Storage): Refactored from _Mo_func::_Storage.
+ (__polyfunc::__param_t): Moved from move_only_function::__param_t.
+ (__polyfunc::_Base_invoker, __polyfunc::_Invoke): Refactored from
+ move_only_function::_S_invoke.
+ (__polyfunc::_Manager): Refactored from _Mo_func::_S_manager.
+ (std::_Mofunc_base): Moved into __polyfunc::_Mo_base with parts
+ extracted to __polyfunc::_Storage and __polyfunc::_Manager.
+ (__polyfunc::__deref_as, __polyfunc::__invoker_of)
+ (__polyfunc::__base_of, __polyfunc::__is_invoker_convertible): Define.
+ (std::__is_move_only_function_v): Renamed to
+ __is_polymorphic_function_v.
+ (std::__is_polymorphic_function_v): Renamed from
+ __is_move_only_function_v.
+ * testsuite/20_util/move_only_function/call.cc: Test for
+ functions pointers.
+ * testsuite/20_util/move_only_function/conv.cc: New test.
+ * testsuite/20_util/move_only_function/move.cc: Tests for
+ self assigment.
+
+2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119246
+ * include/std/format (__format::__bflt16_t): Define.
+ (_GLIBCXX_FORMAT_F128): Separate value for cases where _Float128
+ is used.
+ (__format::__float128_t): Renamed to __format::__flt128_t.
+ (std::formatter<_Float128, _CharT>): Define always if there is
+ formattable 128bit float.
+ (std::formatter<__float128, _CharT>): Define.
+ (_Arg_type::_Arg_f128): Rename to _Arg_float128 and adjust value.
+ (_Arg_type::_Arg_ibm128): Change value to _Arg_ldbl.
+ (_Arg_type::_Arg_ieee128): Define as alias to _Arg_float128.
+ (_Arg_value::_M_f128): Replaced with _M_ieee128 and _M_float128.
+ (_Arg_value::_M_ieee128, _Arg_value::_M_float128)
+ (_Arg_value::_M_bf16, _Arg_value::_M_f16, _Arg_value::_M_f32)
+ (_Arg_value::_M_f64): Define.
+ (_Arg_value::_S_get, basic_format_arg::_S_to_enum): Handle __bflt16,
+ _Float16, _Float32, _Float64, and __float128 types.
+ (basic_format_arg::_S_to_arg_type): Preserve _bflt16, _Float16,
+ _Float32, _Float64 and __float128 types.
+ (basic_format_arg::_M_visit): Handle _Arg_float128, _Arg_ieee128,
+ _Arg_b16, _Arg_f16, _Arg_f32, _Arg_f64.
+ * testsuite/std/format/arguments/args.cc: Updated to illustrate
+ that extended floating point types use handles now. Added test
+ for __float128.
+ * testsuite/std/format/parse_ctx.cc: Extended test to cover class
+ to check_dynamic_spec with floating point types and handles.
+
+2025-05-14 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * include/std/utility (to_underlying): Add the __always_inline__ attribute.
+
+2025-05-12 Thomas Schwinge <tschwinge@baylibre.com>
+
+ PR target/119645
+ * configure.host [GCN, nvptx] (atomicity_dir): Don't set.
+
+2025-05-12 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/119714
+ PR libstdc++/112490
+ * include/std/expected (expected::operator==): Replace
+ non-dependent std::expected function parameter with a dependent
+ one of type expected<_Vp, _Er> where _Vp matches _Tp.
+ * testsuite/20_util/expected/119714.cc: New test.
+
+2025-05-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120187
+ * include/c_global/ciso646: Only give deprecated warning for
+ C++20 and later.
+ * include/c_global/ccomplex: Add @since to Doxygen comment.
+ * include/c_global/cstdalign: Likewise.
+ * include/c_global/cstdbool: Likewise.
+ * include/c_global/ctgmath: Likewise.
+ * testsuite/18_support/headers/ciso646/macros.cc: Remove
+ dg-warning for c++17_only effective target.
+ * testsuite/18_support/headers/ciso646/macros-2.cc: New test.
+
+2025-05-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2023.xml: Update status of proposals
+ implemented after GCC 14.2 release.
+ * doc/html/manual/status.html: Regenerate.
+
+2025-05-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120198
+ * include/bits/version.def (scoped_lock): Do not depend on
+ gthreads or hosted.
+ * include/bits/version.h: Regenerate.
+ * include/std/mutex (scoped_lock): Update comment.
+ * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
+ Remove dg-require-gthreads and use custom lockable type instead
+ of std::mutex. Check that typedef is only present for a single
+ template argument.
+
+2025-05-12 Thomas Schwinge <tschwinge@baylibre.com>
+
+ PR libstdc++/70560
+ PR libstdc++/119667
+ * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Use '__SIZE_TYPE__'
+ instead of 'size_t'.
+ * configure: Regenerate.
+
+2025-05-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118260
+ * python/hook.in: Suppress output from gdb.execute calls to
+ register skips.
+
+2025-05-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Update status for
+ std::to_chars and std::from_chars.
+ * doc/html/manual/*: Regenerate.
+
+2025-05-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65909
+ * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
+ Hardcode the locale name instead of passing it to the
+ executable. Do not hardcode buffer size for string.
+
+2025-05-10 Alexandre Oliva <oliva@adacore.com>
+
+ * src/c++23/print.cc [__VXWORKS__]: Include ioLib.h.
+
+2025-05-09 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/chrono_io.h (__formatter_chrono::_M_format_to):
+ Extracted from _M_format.
+ (__formatter_chrono::_M_format): Use _Padding_sink and delegate
+ to _M_format_to.
+
+2025-05-09 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/std/format (__Sink_iter<_CharT>::_M_discarding)
+ (__Sink<_CharT>::_M_discarding, _Iter_sink<_CharT, _OutIter>::_M_discarding)
+ (_Padding_sinl<_CharT, _Out>::_M_padwidth)
+ (_Padding_sink<_CharT, _Out>::_M_maxwidth): Remove const.
+ (_Padding_sink<_CharT, _Out>::_M_sync_discarding)
+ (_Padding_sink<_CharT, _Out>::_M_discarding): Define.
+ (_Padding_sink<_CharT, _Out>::_Padding_sink(_Out, size_t, size_t))
+ (_Padding_sink<_CharT, _Out>::_M_force_update):
+ (_Padding_sink<_CharT, _Out>::_M_flush): Call _M_sync_discarding.
+ (_Padding_sink<_CharT, _Out>::_Padding_sink(_Out, size_t)): Delegate.
+
+2025-05-07 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120159
+ * src/c++23/std.cc.in (is_layout_compatible_v): Export.
+
+2025-05-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++23/std.cc.in: Fix export for std::extents.
+
+2025-05-07 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/extents/class_mandates_neg.cc: New test.
+ * testsuite/23_containers/mdspan/extents/ctor_copy.cc: New test.
+ * testsuite/23_containers/mdspan/extents/ctor_ints.cc: New test.
+ * testsuite/23_containers/mdspan/extents/ctor_shape.cc: New test.
+ * testsuite/23_containers/mdspan/extents/custom_integer.cc: New test.
+ * testsuite/23_containers/mdspan/extents/misc.cc: New test.
+
+2025-05-07 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/107761
+ * include/std/mdspan (extents): New class.
+ * src/c++23/std.cc.in: Add 'using std::extents'.
+
+2025-05-07 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * doc/doxygen/user.cfg.in: Add <mdspan>.
+ * include/Makefile.am: Ditto.
+ * include/Makefile.in: Ditto.
+ * include/precompiled/stdc++.h: Ditto.
+ * include/std/mdspan: New file.
+
+2025-05-07 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/bits/version.def: Add internal feature testing macro
+ __glibcxx_mdspan.
+ * include/bits/version.h: Regenerate.
+
+2025-05-07 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/120114
+ * include/bits/chrono_io.h (__formatter_chrono::_M_format): Use __field_width.
+ * testsuite/std/time/format/pr120114.cc: New test.
+
+2025-05-07 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120147
+ * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Restore use of
+ AC_LANG_CPLUSPLUS.
+ * configure: Regenerate.
+
+2025-05-06 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/70560
+ PR libstdc++/119667
+ * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Only check for
+ __atomic_fetch_add on _Atomic_word. Define new macro
+ _GLIBCXX_ATOMIC_WORD_BUILTINS and stop defining macro
+ _GLIBCXX_ATOMIC_BUILTINS.
+ (GLIBCXX_ENABLE_BACKTRACE): Check for __atomic_load_n and
+ __atomic_store_n on int, void* and size_t.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.host: Fix typo in comment.
+ * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
+ Depend on _GLIBCXX_ATOMIC_WORD_BUILTINS macro instead of old
+ _GLIBCXX_ATOMIC_BUILTINS macro.
+
+2025-05-06 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/117905
+ * include/pstl/glue_numeric_impl.h (reduce, transform_reduce)
+ (transform_reduce, inclusive_scan, transform_exclusive_scan)
+ (transform_inclusive_scan): Use std::move for __init parameter.
+ * include/pstl/numeric_impl.h (__brick_transform_reduce)
+ (__pattern_transform_reduce, __brick_transform_scan)
+ (__pattern_transform_scan): Likewise.
+ * include/std/numeric (inclusive_scan, transform_exclusive_scan):
+ Use std::move to create local copy of the first element.
+ * testsuite/26_numerics/pstl/numeric_ops/108236.cc: Move test
+ using move-only type to ...
+ * testsuite/26_numerics/pstl/numeric_ops/move_only.cc: New test.
+
+2025-05-06 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/120029
+ * src/c++17/fs_path.cc (path::operator+=(const path&)): Handle
+ parameters that alias the path or one of its components.
+ * testsuite/27_io/filesystem/path/concat/120029.cc: New test.
+ * testsuite/experimental/filesystem/path/concat/120029.cc: New
+ test.
+
+2025-05-06 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/120112
+ * include/bits/ptr_traits.h (_Safe_iterator_base): Use class
+ keyword in class-head of declaration.
+ * include/debug/debug.h (_Safe_iterator): Likewise.
+
+2025-05-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_iterator.h (counted_iterator): Add noexcept
+ to friend operators which only access the _M_length member.
+
+2025-05-02 Dhruv Chawla <dhruvc@nvidia.com>
+
+ * include/std/memory: Define __glibcxx_want_addressof_constexpr.
+ * testsuite/20_util/headers/memory/version.cc: Test for macro
+ value.
+
+2025-05-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/23_containers/vector/allocator/default_init.cc:
+ Add a check using constant evaluation.
+ * testsuite/23_containers/vector/bool/allocator/default_init.cc:
+ Likewise.
+ * testsuite/util/testsuite_allocator.h (default_init_allocator):
+ Make all member functions and equality ops constexpr.
+
+2025-05-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/Makefile.am: Simplify existing prerequisites for wchar and
+ dual-abi targets that are built from other sources. Add similar
+ prerequisites for more wchar and dual-abi files.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++17/Makefile.am [ENABLE_DUAL_ABI]: Add prerequisites for
+ dual-abi targets that are built from other sources.
+ * src/c++17/Makefile.in: Regenerate.
+
+2025-04-30 François Dumont <frs.dumont@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (v3_target_compile): Strip version namespace
+ from compiler output.
+ * testsuite/20_util/aligned_storage/value.cc [_GLIBCXX_INLINE_VERSION]:
+ Avoid align_msa check.
+ * testsuite/20_util/function/cons/70692.cc: Remove now useless __8 namespace
+ pattern.
+ * testsuite/23_containers/map/48101_neg.cc: Likewise.
+ * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
+
+2025-04-30 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/109162
+ * include/std/format (_Padding_sink::_M_update): Fixed condition for
+ calling _M_force_update.
+ * testsuite/std/format/debug.cc: Add test that reproduces this issue
+ on 64bit architecture.
+ * testsuite/std/format/ranges/sequence.cc: Another edge value test.
+
+2025-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/version.def (make_obj_using_allocator): Use
+ no_stdname.
+ * include/bits/version.h: Regenerate.
+
+2025-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/regex_compiler.h: Replace _GLIBCXX17_CONSTEXPR
+ with constexpr and disable diagnostics with pragmas.
+ (_AnyMatcher::operator()): Use constexpr-if instead of tag
+ dispatching. Postpone calls to _M_translate until after checking
+ result of earlier calls.
+ (_AnyMatcher::_M_apply): Remove both overloads.
+ (_BracketMatcher::operator(), _BracketMatcher::_M_ready):
+ Replace tag dispatching with 'if constexpr'.
+ (_BracketMatcher::_M_apply(_CharT, true_type)): Remove.
+ (_BracketMatcher::_M_apply(_CharT, false_type)): Remove second
+ parameter.
+ (_BracketMatcher::_M_make_cache): Remove both overloads.
+ * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
+ Remove second parameter.
+ * include/bits/regex_executor.tcc: Replace _GLIBCXX17_CONSTEXPR
+ with constexpr and disable diagnostics with pragmas.
+ (_Executor::_M_handle_backref): Replace __glibcxx_assert with
+ static_assert.
+ (_Executor::_M_handle_accept): Mark _S_opcode_backref case as
+ unreachable for non-DFS mode and do not instantiate
+ _M_handle_backref for that case.
+
+2025-04-29 Barnabás Pőcze <pobrn@protonmail.com>
+
+ PR libstdc++/112934
+ * include/bits/stl_map.h (map::erase): Use _M_erase_unique.
+ * include/bits/stl_set.h (set::erase): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree::_M_erase_unique): Add.
+
+2025-04-29 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/119427
+ * include/std/flat_map (_Flat_map_impl::erase_if): Replace
+ this hidden friend with ...
+ (_Flat_map_impl::_M_erase_if): ... this member function.
+ (flat_map): Export _Flat_map_impl::_M_erase_if.
+ (erase_if(flat_map)): Define.
+ (flat_multimap): Export _Flat_map_impl::_M_erase_if.
+ (erase_if(flat_multimap)): Define.
+ * include/std/flat_set (_Flat_set_impl::erase_if): Replace
+ with ...
+ (_Flat_set_impl::_M_erase_if): ... this member function.
+ (flat_set): Export _Flat_set_impl::_M_erase_if.
+ (erase_if(flat_set)): Define.
+ (flat_multiset): Export _Flat_set_impl::_M_erase_if.
+ (erase_if(flat_multiset)): Define.
+ * testsuite/23_containers/flat_map/1.cc (test07): New test.
+ * testsuite/23_containers/flat_multimap/1.cc (test07): New test.
+ * testsuite/23_containers/flat_multiset/1.cc (test09): New test.
+ * testsuite/23_containers/flat_set/1.cc (test09): New test.
+
+2025-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/char_traits.h (char_traits::assign): Use
+ constexpr-if unconditionally for C++11 and C++14.
+ * include/bits/locale_conv.h (__do_str_codecvt): Likewise.
+ * include/bits/ostream.h (basic_ostream::_S_cast_flt): Likewise.
+ * include/bits/random.tcc (shuffle_order_engine::operator())
+ (seed_seq::seed_seq(Iter, Iter)): Likewise.
+ * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release):
+ Likewise.
+ * include/bits/stl_tree.h (_Rb_tree::_M_move_data): Likewise.
+ * include/bits/uniform_int_dist.h
+ (uniform_int_distribution::operator()): Likewise.
+ * include/bits/valarray_array.h (__valarray_default_construct)
+ (__valarray_fill_construct, __valarray_copy_construct)
+ (__valarray_copy_construct, __valarray_destroy_elements):
+ Likewise.
+ * include/experimental/numeric (lcm): Likewise.
+ * include/std/bit (__rotl, __rotr, __countl_zero, __countr_zero)
+ (__popcount, __bit_ceil) Likewise.:
+ * include/std/bitset (operator>>): Likewise.
+ * include/std/charconv (__to_chars_8, __to_chars_i)
+ (__from_chars_alnum_to_val, from_chars): Likewise.
+ * include/tr2/dynamic_bitset (__dynamic_bitset_base): Likewise.
+ * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+ line number.
+
+2025-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/std_function.h (_Target_handler): Remove.
+ (function::target): Use constexpr-if for C++11 and
+ C++14, with diagnostic pragmas to suppress warnings.
+
+2025-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_vector.h (_S_do_relocate): Remove.
+ (_S_relocate): Remove tag dispatching path.
+ * include/bits/vector.tcc (reserve, _M_realloc_insert)
+ (_M_realloc_append, _M_default_append): Add diagnostic pragmas
+ and use 'if constexpr' in C++11 and C++14. Call
+ std::__relocate_a directly instead of _S_relocate.
+
+2025-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/basic_string.h (operator+(string&&, string&&)):
+ Do not assume that COW strings have equal allocators. Use
+ constexpr-if unconditionally.
+ * testsuite/21_strings/basic_string/allocator/char/operator_plus.cc:
+ Remove cxx11_abi effective-target check.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc:
+ Likewise.
+
+2025-04-28 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+
+ * testsuite/20_util/shared_ptr/requirements/1.cc: Test both
+ shared_ptr and weak_ptr.
+ Add more tests.
+ * testsuite/20_util/weak_ptr/requirements/1.cc: Removed as
+ superseded by the other test.
+
+2025-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119970
+ * include/std/ostream (vprint_unicode) [_WIN32 && !__CYGWIN__]: Call
+ _Str_sink::_M_span instead of view.
+ * include/std/print (vprint_unicode) [_WIN32 && !__CYGWIN__]: Call
+ _Str_sink::_M_span instead of view.
+
+2025-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/ranges_base.h (__detail::__range_key_type):
+ Replace remove_const_t with remove_cvref_t.
+ (__detail::__range_mapped_type): Apply remove_cvref_t.
+ * include/bits/stl_iterator.h: (__detail::__iter_key_t):
+ Replace remove_const_t with __remove_cvref_t.
+ (__detail::__iter_val_t): Apply __remove_cvref_t.
+ * testsuite/23_containers/flat_map/1.cc: New tests.
+ * testsuite/23_containers/flat_multimap/1.cc: New tests.
+ * testsuite/23_containers/map/cons/deduction.cc: New tests.
+ * testsuite/23_containers/map/cons/from_range.cc: New tests.
+ * testsuite/23_containers/multimap/cons/deduction.cc: New tests.
+ * testsuite/23_containers/multimap/cons/from_range.cc: New tests.
+ * testsuite/23_containers/unordered_map/cons/deduction.cc: New tests.
+ * testsuite/23_containers/unordered_map/cons/from_range.cc: New tests.
+ * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
+ New tests.
+ * testsuite/23_containers/unordered_multimap/cons/from_range.cc:
+ New tests.
+
+2025-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/unordered_map.h (unordered_map):
+ Define constructors accepting:
+ (_InputIterator, _InputIterator, const allocator_type&),
+ (initializer_list<value_type>, const allocator_type&),
+ (unordered_multimap): Likewise.
+ * include/debug/unordered_map (unordered_map): Likewise.
+ (unordered_multimap): Likewise.
+ * include/bits/unordered_set.h (unordered_set):
+ Define constructors and deduction guide accepting:
+ (_InputIterator, _InputIterator, const allocator_type&),
+ (initializer_list<value_type>, const allocator_type&),
+ (unordered_multiset): Likewise.
+ * include/debug/unordered_set (unordered_set): Likewise.
+ (unordered_multiset): Likewise.
+ * testsuite/23_containers/unordered_map/cons/66055.cc: New tests.
+ * testsuite/23_containers/unordered_map/cons/deduction.cc: New tests.
+ * testsuite/23_containers/unordered_multimap/cons/66055.cc: New tests.
+ * testsuite/23_containers/unordered_multimap/cons/deduction.cc: New
+ tests.
+ * testsuite/23_containers/unordered_multiset/cons/66055.cc: New tests.
+ * testsuite/23_containers/unordered_multiset/cons/deduction.cc: New
+ tests.
+ * testsuite/23_containers/unordered_set/cons/66055.cc: New tests.
+ * testsuite/23_containers/unordered_set/cons/deduction.cc: New tests.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/ptr_traits.h (to_address): Use markdown for
+ formatting in Doxygen comments.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/Makefile.am: Add prerequisites for targets that
+ depend on string-inst.cc.
+ * src/c++11/Makefile.in: Regenerate.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/move.h (addressof): Use __builtin_addressof
+ directly.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
+ Remove dg-error directives for additional c++26 errors.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/latch (latch::_M_a): Rename to _M_counter.
+
+2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/109162
+ * include/bits/formatfwd.h (__simply_formattable_range): Moved from
+ std/format.
+ * include/std/format (__formatter_str::_format): Extracted escaped
+ string handling to separate method...
+ (__formatter_str::_M_format_escaped): Use __Padding_sink.
+ (__formatter_str::_M_format): Adjusted implementation.
+ (__formatter_str::_S_trunc): Extracted as namespace function...
+ (__format::_truncate): Extracted from __formatter_str::_S_trunc.
+ (__format::_Seq_sink): Removed forward declarations, made members
+ protected and non-final.
+ (_Seq_sink::_M_trim): Define.
+ (_Seq_sink::_M_span): Renamed from view.
+ (_Seq_sink::view): Returns string_view instead of span.
+ (__format::_Str_sink): Moved after _Seq_sink.
+ (__format::__format_padded): Use _Padding_sink.
+ * testsuite/std/format/debug.cc: Add timeout and new tests.
+ * testsuite/std/format/ranges/sequence.cc: Specify unicode as
+ encoding and new tests.
+ * testsuite/std/format/ranges/string.cc: Likewise.
+ * testsuite/std/format/tuple.cc: Likewise.
+
+2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/std/format/ranges/adaptors.cc: Updated test.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/22_locale/ctype/is/string/89728_neg.cc: Remove
+ dg-error for c++98_only effective target.
+
+2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119918
+ * include/bits/formatfwd.h (__format::_Align): Moved from std/format.
+ (std::__throw_format_error, __format::__formatter_str)
+ (__format::__formatter_ptr): Declare.
+ * include/std/format (__format::_Align): Moved to bits/formatfwd.h.
+ (__formatter_int::__formatter_int): Define.
+ (__format::__formatter_ptr): Extracted from formatter for const void*.
+ (std::formatter<const void*, _CharT>, formatter<void*, _CharT>)
+ (std::formatter<nullptr_t, _CharT>): Delegate to __formatter_ptr<_CharT>.
+ * include/std/thread (std::formatter<thread::id, _CharT>): Constrain
+ _CharT template parameter.
+ (formatter<thread::id, _CharT>::parse): Specify default aligment, and
+ qualify __throw_format_error to disable ADL.
+ (formatter<thread::id, _CharT>::format): Use formatters to write directly
+ to output.
+ * testsuite/30_threads/thread/id/output.cc: Tests for formatting thread::id
+ representing not-a-thread with padding and formattable concept.
+
+2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/109162
+ * include/bits/version.def (format_ranges): Remove no_stdname and
+ update value.
+ * include/bits/version.h: Regenerate.
+ * src/c++23/std.cc.in: Replace __glibcxx_format_ranges with
+ __cpp_lib_format_ranges.
+ * testsuite/std/format/formatter/lwg3944.cc: Likewise.
+ * testsuite/std/format/parse_ctx.cc: Likewise.
+ * testsuite/std/format/string.cc: Likewise.
+ * testsuite/std/format/ranges/feature_test.cc: New test.
+
+2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/109162
+ * include/bits/formatfwd.h (__format::__parsable_with)
+ (__format::__formattable_with, __format::__formattable_impl)
+ (__format::__has_debug_format, __format::__const_formattable_range)
+ (__format::__maybe_const_range, __format::__maybe_const)
+ (std::formattable): Moved from std/format.
+ (__format::Iter_for, std::range_formatter): Forward declare.
+ * include/bits/stl_queue.h (std::formatter): Forward declare.
+ (std::queue, std::priority_queue): Befriend formatter specializations.
+ * include/bits/stl_stack.h (std::formatter): Forward declare.
+ (std::stack): Befriend formatter specializations.
+ * include/std/format (__format::_Iter_for): Define as struct with
+ (__format::__parsable_with, __format::__formattable_with)
+ (__format::__formattable_impl, __format::__has_debug_format)
+ (_format::__const_formattable_range, __format::__maybe_const_range)
+ (__format::__maybe_const, std::formattable): Moved to bits/formatfwd.h.
+ (std::range_formatter): Remove default argument specified in declaration
+ in bits/formatfwd.h.
+ * include/std/queue: Include bits/version.h before bits/stl_queue.h.
+ (formatter<queue<_Tp, _Container, _Compare>, _CharT>)
+ (formatter<priority_queue<_Tp, _Container, _Compare>, _CharT>): Define.
+ * include/std/stack: Include bits/version.h before bits/stl_stack.h
+ (formatter<stack<_Tp, _Container, _Compare>, _CharT>): Define.
+ * testsuite/std/format/ranges/adaptors.cc: New test.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/future (__future_base::_Task_state): Check
+ invocable requirement here.
+ (__future_base::_Task_state::_S_create): New static member
+ function.
+ (__future_base::_Task_state::_M_reset): Use _S_create.
+ (__create_task_state): Remove.
+ (packaged_task): Use _Task_state::_S_create instead of
+ __create_task_state.
+ * testsuite/30_threads/packaged_task/cons/dangling_ref.cc:
+ Adjust dg-error patterns.
+ * testsuite/30_threads/packaged_task/cons/lwg4154_neg.cc:
+ Likewise.
+
+2025-04-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_tree.h (_Rb_tree::_M_key_compare): New member
+ function to invoke comparison function.
+ (_Rb_tree): Use new member function instead of accessing the
+ comparison function directly.
+
+2025-04-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/23_containers/forward_list/48101_neg.cc: Remove
+ dg-prune-output that doesn't match anything.
+ * testsuite/23_containers/list/48101_neg.cc: Likewise.
+ * testsuite/23_containers/multiset/48101_neg.cc: Likewise.
+ * testsuite/23_containers/set/48101_neg.cc: Likewise.
+
+2025-04-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/generator (generator::yield_value): Add overload
+ taking lvalue element_of view, as per LWG 3899.
+ * testsuite/24_iterators/range_generators/lwg3899.cc: New test.
+
+2025-04-24 François Dumont <frs.dumont@gmail.com>
+
+ * testsuite/util/replacement_memory_operators.h: Adapt for -fno-exceptions
+ context.
+ * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Adapt test
+ to check std::deque shrink_to_fit method.
+
+2025-04-23 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.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
+2025-04-23 ZENG Hao <c@cyano.cn>
+
+ * src/c++23/std.cc.in (atomic_signed_lock_free): Guard with
+ preprocessor check for __cpp_lib_atomic_lock_free_type_aliases.
+ (atomic_unsigned_lock_free): Likewise.
+
2025-04-22 Patrick Palka <ppalka@redhat.com>
Revert: