Daily bump.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob8c64ad9a1c7d5d1aa6031ac9ae4ece8bf1bad5bb
1 2024-04-11  Jakub Jelinek  <jakub@redhat.com>
3         * doc/xml/manual/abi.xml: Add latest library versions.
4         * doc/html/manual/abi.html: Regenerate.
6 2024-04-11  Jakub Jelinek  <jakub@redhat.com>
8         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
9         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
10         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
11         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
12         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
13         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
14         * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
15         * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
16         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
18 2024-04-11  Jonathan Wakely  <jwakely@redhat.com>
20         PR libstdc++/114692
21         * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Move new exports for
22         __basic_file::native_handle to ...
23         (GLIBCXX_3.4.33): ... here. Adjust to not match wchar_t
24         specialization, which isn't used.
25         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.33 and update
26         latest version check.
28 2024-04-11  Jakub Jelinek  <jakub@redhat.com>
30         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
31         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
32         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
33         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
34         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
35         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
36         * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
37         * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
38         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
40 2024-04-10  Jonathan Wakely  <jwakely@redhat.com>
42         * testsuite/27_io/manipulators/extended/get_time/char/2.cc:
43         Adjust input string so that it matches %a with or without a
44         trailing period.
45         * testsuite/std/time/year_month_day/io.cc: Adjust expected
46         format for %x in the fr_FR locale.
48 2024-04-10  Jonathan Wakely  <jwakely@redhat.com>
50         * src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]:
51         Check for EMLINK as well as ELOOP.
52         [__NetBSD__]: Check for EFTYPE as well as ELOOP.
54 2024-04-09  Jonathan Wakely  <jwakely@redhat.com>
56         PR libstdc++/114633
57         * include/bits/chrono_io.h (_Parser::operator()) <'S'>: Use
58         stream extraction if std::from_chars is not available.
60 2024-04-08  Jonathan Wakely  <jwakely@redhat.com>
62         PR libstdc++/114519
63         * include/bits/unicode.h (_Utf8_view) [!__cpp_char8_t]: Define
64         using char instead of char8_t.
65         * testsuite/ext/unicode/view.cc: Use u8""sv literals to create
66         string views, instead of std::u8string_view.
68 2024-04-08  Jonathan Wakely  <jwakely@redhat.com>
70         * testsuite/20_util/integer_comparisons/equal_neg.cc: Use
71         no-opts selector for errors that depend on -fchar8_t.
72         * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
73         Likewise.
74         * testsuite/20_util/integer_comparisons/greater_neg.cc:
75         Likewise.
76         * testsuite/20_util/integer_comparisons/in_range_neg.cc:
77         Likewise.
78         * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
79         Likewise.
80         * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
81         * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
82         Likewise.
83         * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: Skip
84         if -fno-char8_t is used.
85         * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
86         Likewise.
87         * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
88         Likewise.
89         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
90         Likewise.
91         * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: Use
92         char for u8 literal if char8_t is not available.
93         * testsuite/27_io/headers/iosfwd/synopsis.cc: Check
94         __cpp_char8_t.
95         * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
96         * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
97         Remove check for _GLIBCXX_USE_CHAR8_T.
99 2024-04-08  Jonathan Wakely  <jwakely@redhat.com>
101         * testsuite/20_util/from_chars/1_neg.cc: Add char8_t cases,
102         using a struct of that name if -fno-char8_t is active.
103         * testsuite/20_util/from_chars/1_c++20_neg.cc: Removed.
105 2024-04-03  Jonathan Wakely  <jwakely@redhat.com>
107         PR libstdc++/104606
108         * include/std/optional (operator<=>(const optional<T>&, const U&)):
109         Reverse order of three_way_comparable_with template arguments.
110         * testsuite/20_util/optional/relops/104606.cc: New test.
112 2024-04-02  Jonathan Wakely  <jwakely@redhat.com>
114         PR libstdc++/114519
115         * include/bits/unicode.h (_Utf8_view): Guard with check for
116         char8_t being enabled.
117         (__literal_encoding_is_unicode): Guard use of char8_t with check
118         for it being enabled.
119         * testsuite/std/format/functions/114519.cc: New test.
121 2024-04-02  Patrick Palka  <ppalka@redhat.com>
123         * include/std/ranges (ranges::__detail::_Empty): Rename to ...
124         (ranges::__detail::_Absent): ... this.  Turn into a template
125         parameterized by the absent type _Tp and discriminator _Disc.
126         (ranges::__detail::__maybe_present_t): Add an optional
127         discriminator parameter.
128         (slide_view::_M_cached_begin): Pass a discriminator argument to
129         __maybe_present_t.
130         (slide_view::_M_cached_end): Likewise.
131         * testsuite/std/ranges/adaptors/sizeof.cc: Verify the size of
132         slide_view<V> is 3 instead 4 pointers.
134 2024-04-02  Jakub Jelinek  <jakub@redhat.com>
136         * acinclude.m4: Fix duplicated words; file file -> file can.
137         * configure.host: Fix duplicated words; the the -> the.
139 2024-03-29  Arsen Arsenović  <arsen@aarsen.me>
141         * testsuite/24_iterators/range_generators/01.cc: Drop GCC
142         Runtime Library Exception.
143         * testsuite/24_iterators/range_generators/02.cc: Drop GCC
144         Runtime Library Exception.
145         * testsuite/24_iterators/range_generators/copy.cc: Drop GCC
146         Runtime Library Exception.
147         * testsuite/24_iterators/range_generators/except.cc: Drop GCC
148         Runtime Library Exception.
149         * testsuite/24_iterators/range_generators/subrange.cc: Drop GCC
150         Runtime Library Exception.
151         * testsuite/24_iterators/range_generators/synopsis.cc: Drop GCC
152         Runtime Library Exception.
153         * testsuite/24_iterators/range_generators/iter_deref_return.cc:
154         Drop GCC Runtime Library Exception from the "You should have
155         received a copy" paragraph.
157 2024-03-27  Matthias Kretz  <m.kretz@gsi.de>
159         * include/experimental/bits/simd_x86.h (_S_masked_unary):
160         Cast inputs < 16 bytes to 16 byte vectors before calling the
161         right subtraction builtin. Before returning, truncate to the
162         return vector type.
164 2024-03-27  Matthias Kretz  <m.kretz@gsi.de>
166         * include/experimental/bits/simd_x86.h (_S_masked_unary): Call
167         the 4- and 8-byte variants of __builtin_ia32_subp[ds] without
168         rounding direction argument.
170 2024-03-27  Srinivas Yadav Singanaboina  <vasu.srinivasvasu.14@gmail.com>
172         * include/Makefile.am: Add simd_sve.h.
173         * include/Makefile.in: Add simd_sve.h.
174         * include/experimental/bits/simd.h: Add new SveAbi.
175         * include/experimental/bits/simd_builtin.h: Use
176         __no_sve_deduce_t to support existing Neon Abi.
177         * include/experimental/bits/simd_converter.h: Convert
178         sequentially when sve is available.
179         * include/experimental/bits/simd_detail.h: Define sve
180         specific macro.
181         * include/experimental/bits/simd_math.h: Fallback frexp
182         to execute sequntially when sve is available, to handle
183         fixed_size_simd return type that always uses sve.
184         * include/experimental/simd: Include bits/simd_sve.h.
185         * testsuite/experimental/simd/tests/bits/main.h: Enable
186         testing for sve128, sve256, sve512.
187         * include/experimental/bits/simd_sve.h: New file.
189 2024-03-26  Arsen Arsenović  <arsen@aarsen.me>
191         * include/std/generator (generator::_Iterator::operator*): Fix
192         return type.
193         * testsuite/24_iterators/range_generators/iter_deref_return.cc:
194         New test.
196 2024-03-26  Arsen Arsenović  <arsen@aarsen.me>
198         * include/std/generator: Fix _V badname.
200 2024-03-26  Jonathan Wakely  <jwakely@redhat.com>
202         * testsuite/19_diagnostics/stacktrace/current.cc: Check for
203         __cpp_lib_stacktrace instead of check for stacktrace ET.
204         * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
205         * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise.
206         * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
207         * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
208         * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
209         * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
210         * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
211         Likewise.
212         * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
213         Remove.
215 2024-03-26  Jonathan Wakely  <jwakely@redhat.com>
217         * testsuite/lib/dg-options.exp (dg-require-cpp-feature-test):
218         New proc.
219         * testsuite/lib/libstdc++.exp (check_v3_target_cpp_feature_test):
220         New proc.
221         * testsuite/std/text_encoding/cons.cc: Use new directive to skip
222         the test if the __cpp_lib_text_encoding feature test macro is
223         not defined.
224         * testsuite/std/text_encoding/requirements.cc: Likewise.
226 2024-03-25  Jonathan Wakely  <jwakely@redhat.com>
228         * testsuite/std/text_encoding/requirements.cc: #undef the
229         correct macro.
231 2024-03-23  Jonathan Wakely  <jwakely@redhat.com>
233         * include/std/format (formatter): Disable specializations that
234         would allow sequences of narrow characters to be formatted as
235         wchar_t without conversion, as per LWG 3944.
236         * testsuite/std/format/formatter/lwg3944.cc: New test.
238 2024-03-23  Jonathan Wakely  <jwakely@redhat.com>
240         * include/bits/utility.h (__is_in_place_index_v): New variable
241         template.
242         * include/std/variant (__not_in_place_tag): Define in terms of
243         variable templates not a class template.
245 2024-03-23  Jonathan Wakely  <jwakely@redhat.com>
247         PR libstdc++/114400
248         * include/std/string_view (operator==): Use std::type_identity_t
249         in C++20 instead of our own __type_identity_t.
251 2024-03-22  Jonathan Wakely  <jwakely@redhat.com>
253         PR libstdc++/114401
254         * include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call
255         release() on node handle instead of just zeroing its pointer.
256         (_Hashtable::_M_reinsert_node_multi): Likewise.
257         (_Hashtable::_M_merge_unique): Likewise.
258         (_Hashtable::_M_merge_multi): Likewise.
259         * include/bits/node_handle.h (_Node_handle_common::release()):
260         New member function.
261         (_Node_handle_common::_Optional_alloc::_M_empty): Remove
262         unnecessary union member.
263         (_Node_handle_common): Declare _Hashtable as a friend.
264         * include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique):
265         Call release() on node handle instead of just zeroing its
266         pointer.
267         (_Rb_tree::_M_reinsert_node_equal): Likewise.
268         (_Rb_tree::_M_reinsert_node_hint_unique): Likewise.
269         (_Rb_tree::_M_reinsert_node_hint_equal): Likewise.
270         * testsuite/23_containers/multiset/modifiers/114401.cc: New test.
271         * testsuite/23_containers/set/modifiers/114401.cc: New test.
272         * testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test.
273         * testsuite/23_containers/unordered_set/modifiers/114401.cc: New test.
275 2024-03-22  Jonathan Wakely  <jwakely@redhat.com>
277         PR libstdc++/113841
278         * include/bits/allocator.h (allocator<cv T>): Add default
279         constructor to partial specializations for cv-qualified types.
280         * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()):
281         Constrain so that it's only present if the allocator is default
282         constructible.
283         * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
284         Likewise.
285         * testsuite/23_containers/vector/cons/113841.cc: New test.
287 2024-03-22  Jonathan Wakely  <jwakely@redhat.com>
289         * include/bits/stl_construct.h (destroy_at, construct_at): Guard
290         with feature test macros instead of just __cplusplus.
292 2024-03-22  Jonathan Wakely  <jwakely@redhat.com>
294         * include/bits/version.def (generator, tuple_like): Move earlier
295         in the file.
296         * include/bits/version.h: Regenerate.
298 2024-03-22  Jonathan Wakely  <jwakely@redhat.com>
300         PR libstdc++/114394
301         * include/std/functional (bind): Use __invoke_result_t instead
302         of result_of::type.
303         * include/std/type_traits (__invoke_result_t): New alias
304         template.
305         * testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern.
307 2024-03-20  François Dumont  <fdumont@gcc.gnu.org>
309         * include/bits/version.def (null_iterators): Remove extra_cond.
310         * include/bits/version.h: Regenerate.
312 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
314         PR libstdc++/114359
315         * include/bits/random.tcc (binomial_distribution::param_type):
316         Ensure arithmetic is done as type double.
317         * testsuite/26_numerics/random/binomial_distribution/114359.cc: New test.
319 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
321         PR libstdc++/101228
322         * include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES):
323         Define before including <tbb/task.h> then undef afterwards.
325 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
327         * include/Makefile.am [MAINTAINER_MODE]: Add target to
328         automatically update <bits/version.h>.
329         * include/Makefile.in: Regenerate.
331 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
333         * doc/xml/manual/build_hacking.xml: Document generated files.
334         Update list of convenience libraries and sub-directories under
335         the src directory.
336         * doc/html/*: Regenerate.
338 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
340         * include/bits/text_encoding-data.h: Regenerate.
341         * include/bits/unicode-data.h: Regenerate.
342         * scripts/gen_text_encoding_data.py: Fix header of generated
343         file to name the correct script.
345 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
347         * testsuite/util/pstl/test_utils.h: Fix typos in comments.
349 2024-03-19  Jonathan Wakely  <jwakely@redhat.com>
351         PR libstdc++/114367
352         * include/bits/stl_bvector.h (_M_allocate): Use allocator's
353         construct function to begin lifetime of words.
355 2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>
357         * testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B
358         option for the path to the uninstalled libatomic.
360 2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>
362         * testsuite/lib/libstdc++.exp (v3_target_compile): Instead of
363         /dev/null, use a temporary file for test executables on Darwin.
365 2024-03-18  François Dumont  <fdumont@gcc.gnu.org>
367         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance):
368         Accept 0 offset advance on value-initialized iterator.
369         * testsuite/23_containers/vector/debug/n3644.cc: New test case.
371 2024-03-18  François Dumont  <fdumont@gcc.gnu.org>
373         * include/debug/safe_local_iterator.tcc
374         (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and
375         _M_singular checks.
376         * testsuite/23_containers/unordered_set/debug/114316.cc: New test case.
378 2024-03-17  François Dumont  <fdumont@gcc.gnu.org>
380         PR libstdc++/114316
381         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
382         First check if both iterators are value-initialized before checking if
383         singular.
384         * testsuite/23_containers/set/debug/114316.cc: New test case.
385         * testsuite/23_containers/vector/debug/114316.cc: New test case.
387 2024-03-14  Jonathan Wakely  <jwakely@redhat.com>
389         PR libstdc++/114325
390         * include/std/format (_Scanner::_M_scan): Pass correct length to
391         __to_chars_10_impl.
392         * testsuite/std/format/functions/format.cc: Check negative
393         integers with empty format-spec.
395 2024-03-14  Jonathan Wakely  <jwakely@redhat.com>
397         * include/bits/stl_algo.h (find_end, all_of, none_of, any_of)
398         (find_if_not, is_partitioned, partition_point, remove)
399         (remove_if, unique, lower_bound, upper_bound, equal_range)
400         (binary_search, includes, is_sorted, is_sorted_until, minmax)
401         (minmax_element, is_permutation, clamp, find_if, find_first_of)
402         (adjacent_find, count, count_if, search, search_n, min_element)
403         (max_element): Add nodiscard attribute.
404         * include/bits/stl_algobase.h (min, max, lower_bound, equal)
405         (lexicographical_compare, lexicographical_compare_three_way)
406         (mismatch): Likewise.
407         * include/bits/stl_heap.h (is_heap, is_heap_until): Likewise.
408         * testsuite/25_algorithms/equal/debug/1_neg.cc: Add dg-warning.
409         * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise.
410         * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise.
411         * testsuite/25_algorithms/find_first_of/concept_check_1.cc:
412         Likewise.
413         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
414         * testsuite/25_algorithms/lexicographical_compare/71545.cc:
415         Likewise.
416         * testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
417         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc:
418         Likewise.
419         * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc:
420         Likewise.
421         * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc:
422         Likewise.
423         * testsuite/25_algorithms/minmax/3.cc: Likewise.
424         * testsuite/25_algorithms/search/78346.cc: Likewise.
425         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
426         * testsuite/25_algorithms/unique/1.cc: Likewise.
427         * testsuite/25_algorithms/unique/11480.cc: Likewise.
428         * testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
429         * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc:
430         Likewise.
431         * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc:
432         Likewise.
433         * testsuite/ext/concept_checks.cc: Likewise.
434         * testsuite/ext/is_heap/47709.cc: Likewise.
435         * testsuite/ext/is_sorted/cxx0x.cc: Likewise.
437 2024-03-14  xndcn  <xndchn@gmail.com>
439         * include/bits/atomic_base.h (__atomic_float::__atomic_float(Fp)):
440         Clear padding.
441         * testsuite/29_atomics/atomic_float/compare_exchange_padding.cc:
442         New test.
444 2024-03-14  Jonathan Wakely  <jwakely@redhat.com>
446         PR libstdc++/66146
447         * doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in
448         note about std::call_once.
449         * doc/xml/manual/status_cxx2014.xml: Likewise.
450         * doc/xml/manual/status_cxx2017.xml: Likewise.
451         * doc/html/manual/status.html: Regenerate.
453 2024-03-14  Jonathan Wakely  <jwakely@redhat.com>
455         * doc/xml/manual/status_cxx2023.xml: Update C++23 status table.
456         * doc/html/manual/status.html: Regenerate.
457         * include/bits/version.def: Fix typo in comment.
459 2024-03-13  Jonathan Wakely  <jwakely@redhat.com>
461         * testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat
462         to namespace scope.
464 2024-03-13  Jonathan Wakely  <jwakely@redhat.com>
466         * doc/xml/manual/debug.xml: Improve docs on debug builds and
467         using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put
468         the most relevant ones first.
469         * doc/xml/manual/using.xml: Add comma.
470         * doc/html/*: Regenerate.
472 2024-03-13  Jonathan Wakely  <jwakely@redhat.com>
474         * doc/xml/manual/debug.xml: Document that concept checking might
475         be removed in future.
476         * doc/xml/manual/extensions.xml: Likewise.
478 2024-03-09  Jonathan Wakely  <jwakely@redhat.com>
480         PR libstdc++/114240
481         * include/bits/chrono_io.h (_Parser::operator()): Assume
482         hours(0) for a time_point, so that a time is not required
483         to be present.
484         * testsuite/std/time/parse/114240.cc: New test.
486 2024-03-09  Jonathan Wakely  <jwakely@redhat.com>
488         PR libstdc++/114279
489         * include/bits/chrono_io.h (_Parser::_M_is_leap_second): New
490         data member.
491         (_Parser::_M_reserved): Reserve padding bits for future use.
492         (_Parser::operator()): Set _M_is_leap_second if %S reads 60s.
493         (from_stream): Only allow _M_is_leap_second for utc_time and
494         local_time. Adjust arithmetic for utc_time so that leap seconds
495         are preserved. Use time_point_cast to convert to a possibly
496         lower-precision result type.
497         * testsuite/std/time/parse.cc: Move to ...
498         * testsuite/std/time/parse/parse.cc: ... here.
499         * testsuite/std/time/parse/114279.cc: New test.
501 2024-03-07  Jonathan Wakely  <jwakely@redhat.com>
503         * include/bits/chrono_io.h (_Parser::operator()): Use
504         std::from_chars to parse fractional seconds.
506 2024-03-07  Jonathan Wakely  <jwakely@redhat.com>
508         PR libstdc++/114244
509         * include/bits/chrono_io.h (_Parser::operator()): Remove
510         redundant uses of duration_cast. Use chrono::round to convert
511         long double value to durations with integer representations.
512         Check represenation type when deciding whether to skip parsing
513         fractional seconds.
514         * testsuite/20_util/duration/114244.cc: New test.
515         * testsuite/20_util/duration/io.cc: Check that a floating-point
516         duration with ratio<1> precision can be parsed.
518 2024-03-07  Jonathan Wakely  <jwakely@redhat.com>
520         PR libstdc++/114103
521         * include/bits/version.def (atomic_lock_free_type_aliases): Add
522         extra_cond to check for at least one always-lock-free type.
523         * include/bits/version.h: Regenerate.
524         * include/std/atomic (atomic_signed_lock_free)
525         (atomic_unsigned_lock_free): Only use always-lock-free types.
526         * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use
527         atomic counter if lock-free aliases aren't available.
528         * testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for
529         targets without lock-free word-size compare_exchange.
531 2024-03-07  Jonathan Wakely  <jwakely@redhat.com>
533         * include/std/chrono (__get_leap_second_info): Update expiry
534         time for hardcoded list of leap seconds.
535         * testsuite/std/time/tzdb/leap_seconds.cc: Update comment.
537 2024-03-07  Jonathan Wakely  <jwakely@redhat.com>
539         * testsuite/23_containers/deque/allocator/default_init.cc: Use
540         std::memset instead of __builtin_memset.
541         * testsuite/23_containers/forward_list/allocator/default_init.cc:
542         Likewise.
543         * testsuite/23_containers/list/allocator/default_init.cc:
544         Likewise.
545         * testsuite/23_containers/map/allocator/default_init.cc:
546         Likewise.
547         * testsuite/23_containers/set/allocator/default_init.cc:
548         Likewise.
549         * testsuite/23_containers/unordered_map/allocator/default_init.cc:
550         Likewise.
551         * testsuite/23_containers/unordered_set/allocator/default_init.cc:
552         Likewise.
553         * testsuite/23_containers/vector/allocator/default_init.cc:
554         Likewise.
555         * testsuite/23_containers/vector/bool/allocator/default_init.cc:
556         Likewise.
557         * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
558         Likewise.
559         * testsuite/util/atomic/wait_notify_util.h: Likewise.
561 2024-03-07  Jonathan Wakely  <jwakely@redhat.com>
563         * include/std/format (_Arg_store::_S_make_elt): Add two
564         static_assert checks to give more user-friendly error messages.
565         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune another
566         form of "in requirements with" note.
567         * testsuite/std/format/arguments/args_neg.cc: Check for
568         user-friendly diagnostics for non-formattable types.
569         * testsuite/std/format/string_neg.cc: Likewise.
571 2024-03-04  Jonathan Wakely  <jwakely@redhat.com>
573         PR libstdc++/114147
574         * include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)):
575         Add missing overload of allocator-extended default constructor.
576         (tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise.
577         * testsuite/20_util/tuple/cons/114147.cc: New test.
579 2024-02-29  Jonathan Wakely  <jwakely@redhat.com>
581         * include/std/format (basic_format_arg::handle::__maybe_const_t):
582         Fix condition to check if const type is formattable.
583         (basic_format_arg::handle::handle(T&)): Remove redundant
584         static_assert.
585         * testsuite/std/format/formatter/basic.cc: New test.
587 2024-02-29  Jonathan Wakely  <jwakely@redhat.com>
589         PR libstdc++/113960
590         * include/bits/stl_algobase.h (__is_byte_iter): Replace with ...
591         (__memcmp_ordered_with): New concept.
592         (lexicographical_compare_three_way): Use __memcmp_ordered_with
593         instead of __is_byte_iter. Use correct length for memcmp.
594         * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
595         New test.
597 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
599         PR libstdc++/114152
600         * include/experimental/scope (scope_exit scope_fail): Make
601         destructor unconditionally noexcept.
602         (scope_sucess): Fix noexcept-specifier.
603         * testsuite/experimental/scopeguard/114152.cc: New test.
605 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
607         * doc/xml/manual/appendix_contributing.xml: Change URLs to use
608         https.
609         * doc/html/manual/*: Regenerate.
611 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
613         * doc/xml/manual/appendix_contributing.xml: Replace outdated
614         info on ChangeLog entries.
615         * doc/html/manual/appendix_contributing.html: Regenerate.
617 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
619         * include/bits/stl_bvector.h (vector<bool, A>::at): Add
620         nodiscard.
621         * include/bits/stl_vector.h (vector<T, A>::at): Likewise.
622         (operator==, operator<=>, operator<, operator!=, operator>)
623         (operator<=, operator>=): Likewise.
624         * include/debug/vector (operator==, operator<=>, operator<)
625         (operator!=, operator>, operator<=, operator>=): Likewise.
626         * testsuite/23_containers/vector/nodiscard.cc: New test.
628 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
630         * include/bits/atomic_base.h (operator|, operator&): Add
631         noexcept.
632         * include/bits/fs_fwd.h (operator&, operator|, operator^)
633         (operator~): Add nodiscard to overloads for copy_options, perms,
634         perm_options, and directory_options.
635         * include/bits/ios_base.h (operator&, operator|, operator^)
636         (operator~): Add nodiscard and noexcept to overloads for
637         _Ios_Fmtflags, _Ios_Openmode, and _Ios_Iostate.
638         (operator|=, operator&=, operator^=): Add constexpr for C++14.
639         * include/bits/regex_constants.h (operator&, operator|, operator^)
640         (operator~): Add nodiscard and noexcept to overloads for
641         syntax_option_type and match_flag_type.
642         (operator|=, operator&=, operator^=): Add noexcept.
643         * include/std/charconv (operator&, operator|, operator^)
644         (operator~): Add nodiscard to overloads for chars_format.
645         * include/std/future (operator&, operator|, operator^)
646         (operator~): Add nodiscard for overloads for launch.
647         (operator&=, operator|=, operator^=): Add constexpr for C++14.
648         * include/experimental/bits/fs_fwd.h  (operator&, operator|)
649         (operator^, operator~): Add nodiscard to overloads for
650         copy_options, perms, and directory_options.
651         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc:
652         Add dg-warning for nodiscard warnings.
653         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc:
654         Likewise.
655         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc:
656         Likewise.
657         * testsuite/27_io/filesystem/operations/bitmask_types.cc:
658         New test.
660 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
662         * testsuite/27_io/basic_ostream/print/1.cc: Check error
663         handling.
664         * testsuite/27_io/print/1.cc: Likewise.
666 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
668         * include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX
669         code path for Cygwin instead of Windows.
670         * include/std/print (vprint_unicode) [__CYGWIN__]: Likewise.
671         * testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp
672         for *-*-mingw* targets.
673         * testsuite/27_io/print/1.cc: Likewise.
675 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
677         * include/bits/alloc_traits.h: Include <bits/stl_iterator.h> for
678         __make_move_if_noexcept_iterator.
680 2024-02-28  Jonathan Wakely  <jwakely@redhat.com>
682         * include/std/stacktrace: Add nodiscard attribute to all
683         functions without side effects.
685 2024-02-20  François Dumont  <fdumont@gcc.gnu.org>
687         * include/bits/stl_algobase.h (std::__niter_wrap): Add a call to
688         std::__niter_base on res iterator.
690 2024-02-19  Iain Sandoe  <iain@sandoe.co.uk>
691             Jonathan Wakely  <jwakely@redhat.com>
693         PR target/112397
694         * configure: Regenerate.
695         * configure.ac: Detect if we are building for Darwin.
696         * libsupc++/Makefile.am: If we are building for Darwin, then
697         suppress hot/cold partitioning for the array allocators.
698         * libsupc++/Makefile.in: Regenerated.
700 2024-02-17  François Dumont  <fdumont@gcc.gnu.org>
702         * include/bits/stl_algobase.h (std::__niter_base): Redefine the overload
703         definitions for __gnu_debug::_Safe_iterator.
704         * include/debug/safe_iterator.tcc (std::__niter_base): Adapt declarations.
706 2024-02-16  Jonathan Wakely  <jwakely@redhat.com>
708         PR libstdc++/87744
709         PR libstdc++/113961
710         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
711         line number.
713 2024-02-16  Jonathan Wakely  <jwakely@redhat.com>
715         PR libstdc++/87744
716         PR libstdc++/113931
717         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
718         line number.
720 2024-02-16  Jonathan Wakely  <jwakely@redhat.com>
722         * doc/xml/manual/debug_mode.xml: Update docs for backtraces.
723         * doc/html/manual/debug_mode_using.html: Regenerate.
725 2024-02-16  Jonathan Wakely  <jwakely@redhat.com>
727         * doc/xml/manual/test.xml: Fix spelling of <envar> elements.
728         * doc/html/manual/test.html: Regenerate.
730 2024-02-15  Jonathan Wakely  <jwakely@redhat.com>
732         PR libstdc++/113806
733         * include/std/bitset (bitset::operator>>=): Remove redundant
734         call to _M_do_sanitize.
736 2024-02-15  Jonathan Wakely  <jwakely@redhat.com>
738         PR libstdc++/113807
739         * include/std/bitset (bitset::set()): Use memset instead of a
740         loop over the individual words.
742 2024-02-15  Jonathan Wakely  <jwakely@redhat.com>
744         PR libstdc++/113811
745         * include/bits/stl_algo.h (__rotate): Use unsigned values for
746         division.
748 2024-02-15  Jonathan Wakely  <jwakely@redhat.com>
750         PR libstdc++/99117
751         * include/std/valarray (valarray::operator=(const _Expr&)):
752         Use loop to copy instead of __valarray_copy with _Array.
753         * testsuite/26_numerics/valarray/99117.cc: New test.
755 2024-02-15  Jonathan Wakely  <jwakely@redhat.com>
757         * src/c++20/tzdata.zi: Import new file from 2024a release.
758         * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
759         Update expiry date for leap seconds list.
761 2024-02-15  Jonathan Wakely  <jwakely@redhat.com>
763         PR libstdc++/87744
764         * include/bits/random.h [!__SIZEOF_INT128__] (_Select_uint_least_t):
765         Define specialization for 64-bit generators with
766         non-power-of-two modulus and large constants.
767         (__mod): Use if constexpr unconditionally.
768         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
769         line number.
770         * testsuite/26_numerics/random/linear_congruential_engine/87744.cc:
771         New test.
773 2024-02-14  Gerald Pfeifer  <gerald@pfeifer.com>
775         * doc/xml/manual/status_cxx2023.xml: Fix C++ item p2442 to be
776         version 1.
777         * doc/html/manual/status.html: Regenerate.
779 2024-02-12  Paul Keir  <paul.keir@uws.ac.uk>
781         PR libstdc++/113294
782         * include/bits/basic_string.h (basic_string::operator=): Use
783         _M_use_local_data() instead of _M_local_buf on the moved-from
784         string.
785         * testsuite/21_strings/basic_string/modifiers/constexpr.cc
786         (test_move): New test.
788 2024-02-09  Ken Matsui  <kmatsui@gcc.gnu.org>
790         * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME):
791         Removed.
792         * include/std/type_traits (is_same): Use
793         _GLIBCXX_USE_BUILTIN_TRAIT instead of
794         _GLIBCXX_HAVE_BUILTIN_IS_SAME.
795         (is_same_v): Likewise.
797 2024-02-08  Jonathan Wakely  <jwakely@redhat.com>
799         * include/bits/shared_ptr_atomic.h: Fix typo in comment.
801 2024-02-08  Jonathan Wakely  <jwakely@redhat.com>
803         PR libstdc++/100147
804         * include/bits/gslice.h (operator=): Add comment about lack of
805         self-assignment check.
807 2024-02-08  Jonathan Wakely  <jwakely@redhat.com>
809         * include/tr2/type_traits (bases, direct_bases): Use
810         __has_builtin to check if required built-ins are supported.
812 2024-02-07  Patrick Palka  <ppalka@redhat.com>
814         PR testsuite/113710
815         PR c++/113814
816         * include/bits/stl_pair.h (tuple_element): Add forward
817         declaration of the partial specialization for tuple.
819 2024-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
821         * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null"
822         for other environments.
824 2024-02-04  Jonathan Wakely  <jwakely@redhat.com>
826         * include/std/format (__format::_Spec::_M_reserved): Define new
827         bit-field members to reserve padding bits for future extensions.
829 2024-02-04  Jonathan Wakely  <jwakely@redhat.com>
831         * src/experimental/Makefile.am: Use libstdc++fsconvenience.a
832         instead of libstdc++fs.a.
833         * src/experimental/Makefile.in: Regenerate.
834         * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
835         well.
836         * src/filesystem/Makefile.in: Regenerate.
838 2024-02-04  Jonathan Wakely  <jwakely@redhat.com>
840         * include/bits/text_encoding-data.h: Regenerate.
841         * include/bits/unicode-data.h: Regenerate.
842         * scripts/gen_text_encoding_data.py: Add copyright and license
843         text to the output.
845 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
847         PR libstdc++/113335
848         * include/bits/std_function.h (__function_guide_helper): Add
849         partial specialization for explicit object member functions, as
850         per LWG 3617.
851         * testsuite/20_util/function/cons/deduction_c++23.cc: Check
852         explicit object member functions.
853         * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
854         Likewise.
856 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
858         * testsuite/17_intro/names.cc [_AIX]: Undefine "u".
860 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
862         * include/experimental/internet (network_v6::network): Define.
863         (network_v6::hosts): Finish implementing.
864         (network_v6::to_string): Do not concatenate std::string to
865         arbitrary std::basic_string specialization.
866         * testsuite/experimental/net/internet/network/v6/cons.cc: New
867         test.
869 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
871         PR libstdc++/90276
872         * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix
873         comparison function to use less-than instead of equality.
875 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
877         PR libstdc++/90276
878         * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
879         perfect forwarding for iterator arguments.
881 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
883         * include/std/string_view (basic_string_view(R&&)): Remove
884         constraint that traits_type must be the same, as per LWG 3857.
885         * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
886         Explicit conversion between different specializations should be
887         allowed.
888         * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
889         Likewise.
891 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
893         * include/std/syncstream (basic_osyncstream::operator=): Remove
894         noexcept, as per LWG 3867.
896 2024-02-02  Jonathan Wakely  <jwakely@redhat.com>
898         * include/std/generator (promise_type::yield_value): Remove
899         noexcept from fourth overload, as per LWG 3894.
901 2024-02-01  Patrick Palka  <ppalka@redhat.com>
903         PR libstdc++/113309
904         PR libstdc++/109203
905         * include/bits/ranges_util.h (__detail::__pair_like): Don't
906         define in C++23 mode.
907         (__detail::__pair_like_convertible_from): Adjust as per P2165R4.
908         (__detail::__is_subrange<subrange>): Moved from <ranges>.
909         (__detail::__is_tuple_like_v<subrange>): Likewise.
910         * include/bits/stl_iterator.h: Include <bits/utility.h> for
911         C++23.
912         (__different_from): Move to <concepts>.
913         (__iter_key_t): Adjust for C++23 as per P2165R4.
914         (__iter_val_t): Likewise.
915         * include/bits/stl_pair.h (pair, array): Forward declare.
916         (get): Forward declare all overloads relevant to P2165R4
917         tuple-like constructors.
918         (__is_tuple_v): Define for C++23.
919         (__is_tuple_like_v): Define for C++23.
920         (__tuple_like): Define for C++23 as per P2165R4.
921         (__pair_like): Define for C++23 as per P2165R4.
922         (__eligibile_tuple_like): Define for C++23.
923         (__eligibile_pair_like): Define for C++23.
924         (pair::_S_constructible_from_pair_like): Define for C++23.
925         (pair::_S_convertible_from_pair_like): Define for C++23.
926         (pair::_S_dangles_from_pair_like): Define for C++23.
927         (pair::pair): Define overloads taking a tuple-like type for
928         C++23 as per P2165R4.
929         (pair::_S_assignable_from_tuple_like): Define for C++23.
930         (pair::_S_const_assignable_from_tuple_like): Define for C++23.
931         (pair::operator=): Define overloads taking a tuple-like type for
932         C++23 as per P2165R4.
933         * include/bits/utility.h (ranges::__detail::__is_subrange):
934         Moved from <ranges>.
935         * include/bits/version.def (tuple_like): Define for C++23.
936         * include/bits/version.h: Regenerate.
937         * include/std/concepts (__different_from): Moved from
938         <bits/stl_iterator.h>.
939         (ranges::__swap::__adl_swap): Clarify which __detail namespace.
940         * include/std/map (__cpp_lib_tuple_like): Define C++23.
941         * include/std/ranges (__detail::__is_subrange): Moved to
942         <bits/utility.h>.
943         (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h>
944         (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4.
945         (__detail::__tuple_or_pair): Remove as per P2165R4.  Replace all
946         uses with plain tuple as per P2165R4.
947         * include/std/tuple (__cpp_lib_tuple_like): Define for C++23.
948         (__tuple_like_tag_t): Define for C++23.
949         (__tuple_cmp): Forward declare for C++23.
950         (_Tuple_impl::_Tuple_impl): Define overloads taking
951         __tuple_like_tag_t and a tuple-like type for C++23.
952         (_Tuple_impl::_M_assign): Likewise.
953         (tuple::__constructible_from_tuple_like): Define for C++23.
954         (tuple::__convertible_from_tuple_like): Define for C++23.
955         (tuple::__dangles_from_tuple_like): Define for C++23.
956         (tuple::tuple): Define overloads taking a tuple-like type for
957         C++23 as per P2165R4.
958         (tuple::__assignable_from_tuple_like): Define for C++23.
959         (tuple::__const_assignable_from_tuple_like): Define for C++23.
960         (tuple::operator=): Define overloads taking a tuple-like type
961         for C++23 as per P2165R4.
962         (tuple::__tuple_like_common_comparison_category): Define for C++23.
963         (tuple::operator<=>): Define overload taking a tuple-like type
964         for C++23 as per P2165R4.
965         (array, get): Forward declarations moved to <bits/stl_pair.h>.
966         (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4.
967         (apply): Likewise.
968         (make_from_tuple): Likewise.
969         (__tuple_like_common_reference): Define for C++23.
970         (basic_common_reference): Adjust as per P2165R4.
971         (__tuple_like_common_type): Define for C++23.
972         (common_type): Adjust as per P2165R4.
973         * include/std/unordered_map (__cpp_lib_tuple_like): Define for
974         C++23.
975         * include/std/utility (__cpp_lib_tuple_like): Define for C++23.
976         * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair
977         and 2-tuple interchangeably.
978         (test05): New test.
979         * testsuite/20_util/pair/p2165r4.cc: New test.
980         * testsuite/20_util/tuple/p2165r4.cc: New test.
982 2024-02-01  Patrick Palka  <ppalka@redhat.com>
984         * include/bits/stl_pair.h (pair::_S_const_assignable): Define,
985         factored out from ...
986         (pair::operator=): ... the constraints of the const overloads.
988 2024-02-01  Jonathan Wakely  <jwakely@redhat.com>
990         * include/bits/version.tpl: Do not use def-file-line for each
991         macro being defined.
992         * include/bits/version.h: Regenerate.
994 2024-02-01  Jonathan Wakely  <jwakely@redhat.com>
996         * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
997         dg-error pattern.
998         * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
999         Likewise.
1000         * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
1001         Likewise.
1002         * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
1003         Likewise.
1004         * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
1005         Likewise.
1006         * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
1007         Likewise.
1008         * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
1009         Likewise.
1010         * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
1011         Likewise.
1012         * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
1013         Likewise.
1015 2024-02-01  Jonathan Wakely  <jwakely@redhat.com>
1017         * include/experimental/internet (network_v4::to_string()):
1018         Remove lambda and use of resize_and_overwrite.
1020 2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
1022         * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if
1023         needed for newlocale.
1024         * configure: Regenerate.
1025         * src/c++26/text_encoding.cc: Use <xlocale.h>.
1027 2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
1028             Ewan Higgs  <ewan.higgs@gmail.com>
1030         * include/bits/text_encoding-data.h: Regenerate.
1031         * scripts/gen_text_encoding_data.py: Add extra_aliases dict
1032         containing "ASCII".
1033         * testsuite/std/text_encoding/cons.cc: Check "ascii" is known.
1035 2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
1037         * doc/xml/manual/using.xml: Update tables of supported headers.
1038         * doc/html/*: Regenerate.
1040 2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
1042         * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid
1043         -Wshift-count-overflow warning.
1045 2024-01-30  Jonathan Wakely  <jwakely@redhat.com>
1047         * testsuite/std/time/clock/gps/io.cc: Fix expected result in
1048         assertion and call test_format() from main.
1050 2024-01-29  François Dumont  <fdumont@gcc.gnu.org>
1052         * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use
1053         _GLIBCXX_DEBUG_BACKTRACE macro.
1055 2024-01-24  Huanghui Nie  <nnnjkk@gmail.com>
1056             Théo Papadopoulo   <papadopoulo@gmail.com>
1058         * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove
1059         _M_before_begin check and cleanup implementation.
1061 2024-01-22  Jonathan Wakely  <jwakely@redhat.com>
1063         * testsuite/std/time/clock/file/io.cc: Fix expected result in
1064         assertion and call test_format() from main.
1066 2024-01-21  Jonathan Wakely  <jwakely@redhat.com>
1068         PR libstdc++/113500
1069         * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
1070         printing of subseconds with floating-point rep.
1071         (__formatter_chrono::_M_format_to_ostream): Do not write
1072         time_point specializations directly to the ostream.
1073         (formatter<chrono::sys_time<D>, C>::parse): Do not allow an
1074         empty chrono-spec if the type fails to meet the constraints for
1075         writing to an ostream with operator<<.
1076         * testsuite/std/time/clock/file/io.cc: Check formatting
1077         non-integral times with empty chrono-specs.
1078         * testsuite/std/time/clock/gps/io.cc: Likewise.
1079         * testsuite/std/time/clock/utc/io.cc: Likewise.
1080         * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
1082 2024-01-21  Jonathan Wakely  <jwakely@redhat.com>
1084         * include/bits/chrono.h (__file_clock::from_sys)
1085         (__file_clock::to_sys, __file_clock::_S_from_sys)
1086         (__file_clock::_S_to_sys): Use common_type for return type.
1087         * testsuite/std/time/clock/file/members.cc: Check round trip
1088         conversion for time with lower precision that seconds.
1090 2024-01-21  Jonathan Wakely  <jwakely@redhat.com>
1092         PR libstdc++/113512
1093         * include/std/format (__formatter_fp::format): Fix logic for
1094         alternate forms.
1095         * testsuite/std/format/functions/format.cc: Check buggy cases of
1096         alternate forms with g presentation type.
1098 2024-01-20  Marek Polacek  <polacek@redhat.com>
1100         PR c++/111410
1101         * include/std/ranges: Add #pragma to disable -Wdangling-reference with
1102         std::ranges::views::__adaptor::operator|.
1104 2024-01-19  Jonathan Wakely  <jwakely@redhat.com>
1106         * include/std/format (_Spec::_M_parse_fill_and_align): Do not
1107         use CTAD for _Utf32_view.
1109 2024-01-19  Jonathan Wakely  <jwakely@redhat.com>
1111         PR libstdc++/108822
1112         * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix
1113         wrong fold-operator.
1114         * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one
1115         element and three elements. Check allocator-extended
1116         constructors.
1118 2024-01-19  Patrick Palka  <ppalka@redhat.com>
1120         * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include
1121         <print> and <text_encoding> for C++23 and C++26 respectively.
1123 2024-01-18  Patrick Palka  <ppalka@redhat.com>
1125         * include/bits/stl_pair.h [__cplusplus > 202002L]:
1126         Guard P2321R2 changes with __glibcxx_ranges_zip instead.
1128 2024-01-18  Patrick Palka  <ppalka@redhat.com>
1130         * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2
1131         changes with __cpp_lib_ranges_zip instead.
1133 2024-01-18  Patrick Palka  <ppalka@redhat.com>
1135         PR libstdc++/109536
1136         * include/debug/safe_base.h (_Safe_sequence_base::_M_swap):
1137         Remove _GLIBCXX20_CONSTEXPR from non-inline member function.
1138         * include/debug/safe_iterator.h
1139         (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define.
1140         (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define.
1141         (_Safe_iterator::operator=): Use them around the code path that
1142         defines a variable of type __gnu_cxx::__scoped_lock.
1143         (_Safe_iterator::operator++): Likewise.
1144         (_Safe_iterator::operator--): Likewise.
1145         (_Safe_iterator::operator+=): Likewise.
1146         (_Safe_iterator::operator-=): Likewise.
1147         * testsuite/23_containers/vector/element_access/constexpr.cc
1148         (test_iterators): Test more iterator operations.
1149         * testsuite/23_containers/vector/bool/element_access/constexpr.cc
1150         (test_iterators): Likewise.
1151         * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]:
1152         Remove.
1154 2024-01-18  Jonathan Wakely  <jwakely@redhat.com>
1156         * include/bits/unicode.h (__charset_alias_match): Initialize
1157         __var_a and __var_b.
1159 2024-01-18  Jonathan Wakely  <jwakely@redhat.com>
1161         PR libstdc++/113450
1162         * testsuite/std/format/functions/format.cc: Use signed char
1163         instead of int8_t.
1165 2024-01-17  Jonathan Wakely  <jwakely@redhat.com>
1167         PR libstdc++/113318
1168         * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory.
1169         (GLIBCXX_CHECK_TEXT_ENCODING): Define.
1170         * config.h.in: Regenerate.
1171         * configure: Regenerate.
1172         * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING.
1173         * include/Makefile.am: Add new headers.
1174         * include/Makefile.in: Regenerate.
1175         * include/bits/locale_classes.h (locale::encoding): Declare new
1176         member function.
1177         * include/bits/unicode.h (__charset_alias_match): New function.
1178         * include/bits/text_encoding-data.h: New file.
1179         * include/bits/version.def (text_encoding): Define.
1180         * include/bits/version.h: Regenerate.
1181         * include/std/text_encoding: New file.
1182         * src/Makefile.am: Add new subdirectory.
1183         * src/Makefile.in: Regenerate.
1184         * src/c++26/Makefile.am: New file.
1185         * src/c++26/Makefile.in: New file.
1186         * src/c++26/text_encoding.cc: New file.
1187         * src/experimental/Makefile.am: Include c++26 convenience
1188         library.
1189         * src/experimental/Makefile.in: Regenerate.
1190         * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New
1191         printer.
1192         * scripts/gen_text_encoding_data.py: New file.
1193         * testsuite/22_locale/locale/encoding.cc: New test.
1194         * testsuite/ext/unicode/charset_alias_match.cc: New test.
1195         * testsuite/std/text_encoding/cons.cc: New test.
1196         * testsuite/std/text_encoding/members.cc: New test.
1197         * testsuite/std/text_encoding/requirements.cc: New test.
1199 2024-01-17  Jonathan Wakely  <jwakely@redhat.com>
1201         * include/bits/unicode.h (_Grapheme_cluster_view): Require view.
1202         Do not use CTAD for _Utf32_view.
1203         (__format_width, __truncate): Do not use CTAD.
1204         (enable_borrowed_range<_Utf_view<T, R>>): Define specialization.
1205         (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise.
1207 2024-01-17  Patrick Palka  <ppalka@redhat.com>
1209         * include/std/ranges (views::_CartesianProduct::operator()):
1210         Adjust identity case as per P2540R1.
1211         * testsuite/std/ranges/cartesian_product/1.cc (test01):
1212         Adjust expected result of the identity case.
1214 2024-01-15  Patrick Palka  <ppalka@redhat.com>
1216         * include/std/variant (__detail::__variant::_Variadic_union):
1217         Add bool __trivially_destructible template parameter.
1218         (__detail::__variant::_Variadic_union::~_Variadic_union):
1219         Use __trivially_destructible in constraints instead.
1220         (__detail::__variant::_Variant_storage): Pass
1221         __trivially_destructible value to _Variadic_union.
1223 2024-01-15  Patrick Palka  <ppalka@redhat.com>
1225         * include/bits/stl_iterator.h (const_iterator): Define conversion
1226         operators as per P2836R1.
1227         * include/bits/version.def (ranges_as_const): Update value.
1228         * include/bits/version.h: Regenerate.
1229         * testsuite/24_iterators/const_iterator/1.cc (test04): New test.
1230         * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
1231         value of __cpp_lib_ranges_as_const.
1232         * testsuite/std/ranges/version_c++23.cc: Likewise.
1234 2024-01-15  Jonathan Wakely  <jwakely@redhat.com>
1236         PR libstdc++/108822
1237         * include/std/tuple (__assignable, __is_nothrow_assignable):
1238         Move pre-C++20 definitions adjacent to their use.
1240 2024-01-15  Jonathan Wakely  <jwakely@redhat.com>
1242         PR testsuite/113366
1243         * include/std/format (basic_format_arg): Use __formattable
1244         variable template instead of __format::__formattable_with
1245         concept.
1247 2024-01-15  Jonathan Wakely  <jwakely@redhat.com>
1249         * src/c++20/tzdata.zi: Import new file from 2023d release.
1250         * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
1251         Update expiry date for leap seconds list.
1253 2024-01-13  Jonathan Wakely  <jwakely@redhat.com>
1255         PR libstdc++/108822
1256         * include/std/tuple (tuple): Add checks for dangling references.
1257         Reimplement constraints and constant expressions using C++20
1258         features.
1259         * include/std/type_traits [C++20]
1260         (__is_implicitly_default_constructible_v): Define.
1261         (__is_implicitly_default_constructible): Use variable template.
1262         * testsuite/20_util/tuple/dangling_ref.cc: New test.
1264 2024-01-13  Patrick Palka  <ppalka@redhat.com>
1266         PR libstdc++/108827
1267         PR libstdc++/111327
1268         * include/bits/version.def (bind_back): Define.
1269         * include/bits/version.h: Regenerate.
1270         * include/std/functional (_Bind_back): Define for C++23.
1271         (bind_back): Likewise.
1272         * testsuite/20_util/function_objects/bind_back/1.cc: New test
1273         (adapted from corresponding bind_front test).
1274         * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.
1276 2024-01-13  Patrick Palka  <ppalka@redhat.com>
1278         * include/std/functional (_Bind_front): Remove =default special
1279         member function declarations.
1280         (_Bind_front::operator()): Implement using C++23 deducing this
1281         when available.
1282         * testsuite/20_util/function_objects/bind_front/111327.cc:
1283         Adjust testcase to expect better errors in C++23 mode.
1285 2024-01-13  Patrick Palka  <ppalka@redhat.com>
1287         * include/std/ranges (views::__adaptor::operator|): Perform
1288         perfect forwarding of arguments.
1289         (views::__adaptor::_RangeAdaptor::operator()): Pass dummy
1290         first argument to _Partial.
1291         (views::__adaptor::_Partial::_Partial): Likewise.  Add dummy
1292         first parameter.
1293         (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding
1294         of arguments.
1295         (to): Pass dummy first argument to _Partial.
1297 2024-01-13  Jonathan Wakely  <jwakely@redhat.com>
1299         PR libstdc++/107466
1300         * include/bits/random.tcc (subtract_with_carry_engine::seed):
1301         Implement proposed resolution of LWG 4014.
1302         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1303         line number.
1304         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
1305         Check for expected result of 64-bit engine with seed that
1306         doesn't fit in 32-bits.
1308 2024-01-12  Jonathan Wakely  <jwakely@redhat.com>
1310         PR libstdc++/113320
1311         * include/std/format (__format::_Runtime_format_string): Add
1312         constructor and disable copy operations.
1313         (basic_format_string(_Runtime_format_string)): Add noexcept and
1314         take parameter by value not rvalue reference.
1315         (runtime_format): Add noexcept.
1316         * testsuite/std/format/runtime_format.cc: Check noexcept. Check
1317         that construction is only possible from prvalues, not xvalues.
1319 2024-01-12  Jonathan Wakely  <jwakely@redhat.com>
1321         PR libstdc++/105505
1322         * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
1323         default template arguments, as per P1951R1.
1324         * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.
1326 2024-01-12  Jonathan Wakely  <jwakely@redhat.com>
1328         * include/std/format (__format::_Arg_store): Fix PR number in
1329         comment. Simplify preprocessor code.
1331 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
1333         * doc/xml/manual/evolution.xml: Fix spelling.
1334         * doc/html/manual/api.html: Regenerate.
1336 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
1338         * doc/xml/manual/evolution.xml: Document addition of
1339         libstdc++exp.a.
1340         * doc/html/*: Regenerate.
1342 2024-01-11  Marcus Haehnel  <marcus.haehnel@kernkonzept.com>
1344         * libsupc++/eh_unex_handler.cc: Adjust definition type to
1345         declaration.
1347 2024-01-11  Michael Levine  <mlevine55@bloomberg.net>
1349         * include/std/ranges (__glibcxx_want_ranges_iota): Remove
1350         duplicate definition.
1352 2024-01-11  François Dumont  <fdumont@gcc.gnu.org>
1354         PR libstdc++/112477
1355         * src/c++11/debug.cc
1356         (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
1357         sequence.
1358         (_Safe_iterator_base::_M_attach_single): Likewise.
1359         (_Safe_local_iterator_base::_M_attach): Likewise.
1360         (_Safe_local_iterator_base::_M_attach_single): Likewise.
1361         * testsuite/23_containers/map/debug/112477.cc: New test case.
1363 2024-01-11  Patrick Palka  <ppalka@redhat.com>
1365         * include/bits/move.h (__like_t): Define in C++23 mode.
1366         * include/std/ranges (views::__adaptor::Partial::operator()):
1367         Implement using C++23 deducing this when available.
1368         (views::__adaptor::_Pipe::operator()): Likewise.
1369         * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
1370         accept new "no match for call" errors issued in C++23 mode.
1371         * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
1373 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
1375         * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
1376         Add printer for std::integral_constant.
1377         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
1379 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
1381         PR libstdc++/113258
1382         * libsupc++/new_opa.cc: Prefer to use posix_memalign if
1383         available.
1385 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
1387         * src/filesystem/ops-common.h (stat_type): Use using.
1389 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
1391         PR libstdc++/113250
1392         * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
1393         * src/filesystem/ops.cc (fs::equivalent): Likewise.
1394         * testsuite/27_io/filesystem/operations/equivalent.cc: Handle
1395         error codes.
1396         * testsuite/experimental/filesystem/operations/equivalent.cc:
1397         Likewise.
1399 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
1401         * include/std/type_traits (is_compound): Do not use __not_.
1402         (is_compound_v): Use is_fundamental_v instead.
1404 2024-01-11  Patrick Palka  <ppalka@redhat.com>
1406         * include/bits/utility.h (_Nth_type): Use
1407         _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.
1409 2024-01-09  Jonathan Wakely  <jwakely@redhat.com>
1411         * include/bits/unicode-data.h: Regenerate.
1412         * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
1413         by one error.
1414         (__incb_property): Add missing check for values before the
1415         first edge.
1416         (__is_extended_pictographic): Invert return values to fix
1417         copy&pasted logic.
1418         (_Grapheme_cluster_view::_Iterator): Remove second iterator
1419         member and find end of cluster lazily.
1420         * testsuite/ext/unicode/grapheme_view.cc: New test.
1421         * testsuite/ext/unicode/properties.cc: New test.
1422         * testsuite/ext/unicode/view.cc: New test.
1424 2024-01-09  Andreas Schwab  <schwab@linux-m68k.org>
1426         * scripts/extract_symvers.in: Require final colon to only match
1427         .dsynsym in the header of the dynamic symtab.
1429 2024-01-09  Jonathan Wakely  <jwakely@redhat.com>
1431         * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
1432         handling of string returned from std::format.
1433         (__formatter_chrono::_M_R_T): Likewise.
1435 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
1437         * include/bits/unicode.h (__null_sentinel): Remove.
1438         * testsuite/17_intro/names.cc: Add __null_sentinel.
1440 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
1442         * include/std/format (__format::_Runtime_format_string): Define
1443         new class template.
1444         (basic_format_string): Add non-consteval constructor for runtime
1445         format strings.
1446         (runtime_format): Define new function for C++26.
1447         * testsuite/std/format/runtime_format.cc: New test.
1449 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
1451         * include/bits/chrono_io.h (__formatter_chrono): Always use
1452         lvalue arguments to make_format_args.
1453         * include/std/format (make_format_args): Change parameter pack
1454         from forwarding references to lvalue references. Remove use of
1455         remove_reference_t which is now unnecessary.
1456         (format_to, formatted_size): Remove incorrect forwarding of
1457         arguments.
1458         * include/std/ostream (print): Remove forwarding of arguments.
1459         * include/std/print (print): Likewise.
1460         * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
1461         make_format_args.
1462         * testsuite/std/format/arguments/args.cc: Likewise.
1463         * testsuite/std/format/arguments/lwg3810.cc: Likewise.
1464         * testsuite/std/format/functions/format.cc: Likewise.
1465         * testsuite/std/format/functions/vformat_to.cc: Likewise.
1466         * testsuite/std/format/string.cc: Likewise.
1467         * testsuite/std/time/day/io.cc: Likewise.
1468         * testsuite/std/time/month/io.cc: Likewise.
1469         * testsuite/std/time/weekday/io.cc: Likewise.
1470         * testsuite/std/time/year/io.cc: Likewise.
1471         * testsuite/std/time/year_month_day/io.cc: Likewise.
1472         * testsuite/std/format/arguments/args_neg.cc: New test.
1474 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
1476         * include/Makefile.am: Add new headers.
1477         * include/Makefile.in: Regenerate.
1478         * include/bits/unicode.h: New file.
1479         * include/bits/unicode-data.h: New file.
1480         * include/std/format: Include <bits/unicode.h>.
1481         (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
1482         (_Spec::_M_fill): Change type to char32_t.
1483         (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
1484         instead of a single character.
1485         (__write_padded): Change __fill_char parameter to char32_t and
1486         encode it into the output.
1487         (__formatter_str::format): Use new __unicode::__field_width and
1488         __unicode::__truncate functions.
1489         * include/std/ostream: Adjust namespace qualification for
1490         __literal_encoding_is_utf8.
1491         * include/std/print: Likewise.
1492         * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
1493         * testsuite/ext/unicode/view.cc: New test.
1494         * testsuite/std/format/functions/format.cc: Add missing examples
1495         from the standard demonstrating alignment with non-ASCII
1496         characters. Add examples checking correct handling of extended
1497         grapheme clusters.
1499 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
1501         * include/bits/version.def (format_uchar): Define.
1502         * include/bits/version.h: Regenerate.
1503         * include/std/format (formatter<C, C>::format): Check for
1504         _Pres_c and call _M_format_character directly. Cast C to its
1505         unsigned equivalent for formatting as an integer.
1506         (formatter<char, wchar_t>::format): Likewise.
1507         (basic_format_arg(T&)): Store char arguments as unsigned char
1508         for formatting to a wide string.
1509         * testsuite/std/format/functions/format.cc: Adjust test. Check
1510         formatting of
1512 2024-01-07  Jonathan Wakely  <jwakely@redhat.com>
1514         PR libstdc++/112997
1515         * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
1516         parameter to void*.
1518 2024-01-07  Jonathan Wakely  <jwakely@redhat.com>
1520         * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
1522 2024-01-07  Jonathan Wakely  <jwakely@redhat.com>
1524         * include/std/type_traits (is_trivially_destructible_v): Use
1525         built-in directly when concepts are supported.
1526         * testsuite/20_util/is_trivially_destructible/value_v.cc: New
1527         test.
1529 2024-01-06  Gwenole Beauchesne  <gb.devel@gmail.com>
1531         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
1532         nonnull arguments to strtoimax() and wcstoimax() functions.
1534 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
1536         * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
1537         size and check for overflows in arithmetic.
1538         (path::operator/=(const path&)): Remove redundant exponential
1539         growth calculation.
1541 2024-01-05  Martin Küttler  <martin.kuettler@kernkonzept.com>
1543         * src/c++17/fs_path.cc (path::_List::reserve): Avoid
1544         floating-point arithmetic.
1546 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
1548         PR libstdc++/113241
1549         * include/std/type_traits (is_convertible_v): Guard use of
1550         built-in with preprocessor check.
1552 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
1554         PR libstdc++/113200
1555         * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
1556         __builtin_constant_p to check for unrelated pointers that cannot
1557         be compared during constant evaluation.
1558         * testsuite/21_strings/char_traits/requirements/113200.cc: New
1559         test.
1561 2024-01-05  Cassio Neri  <cassio.neri@gmail.com>
1563         * include/std/chrono: Fix + and - for months and weekdays.
1564         * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
1565         * testsuite/std/time/month/2.cc: New test for extreme values.
1566         * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
1567         * testsuite/std/time/weekday/2.cc: New test for extreme values.
1569 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
1571         PR libstdc++/113099
1572         * include/bits/locale_classes.tcc (__try_use_facet): Use
1573         if-constexpr for C++11 and up.
1575 2024-01-05  Ken Matsui  <kmatsui@gcc.gnu.org>
1577         * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
1579 2024-01-04  Arsen Arsenović  <arsen@aarsen.me>
1581         * include/std/generator (_Subyield_state::_M_jump_in): Fix typo
1582         reported by Will Hawkins <hawkinsw@obs.cr>.
1584 2024-01-04  Arsen Arsenović  <arsen@aarsen.me>
1586         * include/std/generator (_Stateless_alloc): Rename typename _A
1587         to _All.
1589 2024-01-03  Patrick Palka  <ppalka@redhat.com>
1591         PR testsuite/113175
1592         * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
1593         'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
1594         (test03): Likewise.
1597 Copyright (C) 2024 Free Software Foundation, Inc.
1599 Copying and distribution of this file, with or without modification,
1600 are permitted in any medium without royalty provided the copyright
1601 notice and this notice are preserved.