ChangeLog revision 1.1.1.26 1 2025-05-23 Release Manager
2
3 * GCC 14.3.0 released.
4
5 2025-05-13 Jonathan Wakely <jwakely (a] redhat.com>
6
7 Backported from master:
8 2025-05-12 Jonathan Wakely <jwakely (a] redhat.com>
9
10 PR libstdc++/120198
11 * include/bits/version.def (scoped_lock): Do not depend on
12 gthreads or hosted.
13 * include/bits/version.h: Regenerate.
14 * include/std/mutex (scoped_lock): Update comment.
15 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
16 Remove dg-require-gthreads and use custom lockable type instead
17 of std::mutex. Check that typedef is only present for a single
18 template argument.
19
20 2025-05-12 Jonathan Wakely <jwakely (a] redhat.com>
21
22 * doc/xml/manual/status_cxx2023.xml: Update status of proposal
23 implemented after GCC 14.2 release.
24 * doc/html/manual/status.html: Regenerate.
25
26 2025-05-06 Dhruv Chawla <dhruvc (a] nvidia.com>
27
28 Backported from master:
29 2025-05-02 Dhruv Chawla <dhruvc (a] nvidia.com>
30
31 * include/std/memory: Define __glibcxx_want_addressof_constexpr.
32 * testsuite/20_util/headers/memory/version.cc: Test for macro
33 value.
34
35 2025-04-30 Franois Dumont <frs.dumont (a] gmail.com>
36
37 Backported from master:
38 2025-04-30 Franois Dumont <frs.dumont (a] gmail.com>
39 Jonathan Wakely <jwakely (a] redhat.com>
40
41 * testsuite/lib/libstdc++.exp (v3_target_compile): Strip version namespace
42 from compiler output.
43 * testsuite/20_util/function/cons/70692.cc: Remove now useless __8 namespace
44 pattern.
45 * testsuite/23_containers/map/48101_neg.cc: Likewise.
46 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
47
48 2025-04-29 Patrick Palka <ppalka (a] redhat.com>
49
50 Backported from master:
51 2025-02-28 Patrick Palka <ppalka (a] redhat.com>
52
53 PR libstdc++/104606
54 * include/std/optional (operator<=>): Revert r14-9771 change.
55 Add constraint checking the validity of the return type
56 compare_three_way_result_t before the three_way_comparable_with
57 constraint.
58
59 2025-04-29 Patrick Palka <ppalka (a] redhat.com>
60
61 Backported from master:
62 2025-02-26 Patrick Palka <ppalka (a] redhat.com>
63
64 PR libstdc++/118083
65 * include/bits/ranges_base.h
66 (ranges::__access::__possibly_const_range): Mention LWG 4027.
67
68 2025-04-29 Patrick Palka <ppalka (a] redhat.com>
69
70 Backported from master:
71 2025-02-25 Patrick Palka <ppalka (a] redhat.com>
72
73 PR libstdc++/118083
74 * include/bits/ranges_base.h
75 (ranges::__access::__possibly_const_range): Adjust logic as per
76 LWG 4027. Add missing input_range constraint.
77 * testsuite/std/ranges/access/cbegin.cc (test05): Verify LWG
78 4027 testcases.
79 * testsuite/std/ranges/access/cdata.cc: Adjust, simplify and
80 consolidate some tests after the above.
81 * testsuite/std/ranges/access/cend.cc: Likewise.
82 * testsuite/std/ranges/access/crbegin.cc: Likewise.
83 * testsuite/std/ranges/access/crend.cc: Likewise.
84 * testsuite/std/ranges/adaptors/join.cc: Likewise.
85 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
86 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
87
88 2025-04-17 Tomasz Kamiski <tkaminsk (a] redhat.com>
89
90 Backported from master:
91 2025-03-12 Tomasz Kamiski <tkaminsk (a] redhat.com>
92
93 * include/std/format (formatter<_Float16, _CharT>): Define only if
94 _GLIBCXX_FLOAT_IS_IEEE_BINARY32 macro is defined.
95 (formatter<_Float16, _CharT>): As above.
96 (formatter<__gnu_cxx::__bfloat16_t, _CharT>): As above.
97 (formatter<_Float64, _CharT>): Define only if
98 _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 is defined.
99 (basic_format_arg::_S_to_arg_type): Normalize _Float32 and _Float64
100 only to float and double respectivelly.
101 (basic_format_arg::_S_to_enum): Remove handling of _Float32 and _Float64.
102
103 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
104
105 * include/std/numeric: Only mention ranges::iota in comment.
106
107 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
108
109 * testsuite/17_intro/names.cc: Check ranges is not used as an
110 identifier before C++20.
111
112 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
113
114 Backported from master:
115 2025-04-15 Jonathan Wakely <jwakely (a] redhat.com>
116
117 * include/std/ranges (__glibcxx_want_ranges_iota): Do not
118 define.
119
120 2025-04-16 Michael Levine <mlevine55 (a] bloomberg.net>
121
122 Backported from master:
123 2024-06-08 Michael Levine <mlevine55 (a] bloomberg.net>
124
125 PR libstdc++/108760
126 * include/bits/ranges_algo.h (ranges::out_value_result)
127 (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to
128 <bits/ranges_algobase.h>.
129 * include/bits/ranges_algobase.h (ranges::out_value_result):
130 (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to
131 here.
132 * include/std/numeric: Include <bits/ranges_algobase.h>.
133 * testsuite/25_algorithms/iota/1.cc: Renamed to ...
134 * testsuite/26_numerics/iota/2.cc: ... here.
135
136 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
137
138 Backported from master:
139 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
140
141 PR libstdc++/105609
142 * include/bits/ranges_algobase.h (__detail::__assign_one): New
143 helper function.
144 (__copy_or_move, __copy_or_move_backward): Use new function
145 instead of std::__assign_one.
146 * testsuite/25_algorithms/move/constrained.cc: Check that
147 ADL iter_move is used in preference to std::move.
148 * testsuite/25_algorithms/move_backward/constrained.cc:
149 Likewise.
150
151 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
152
153 Backported from master:
154 2024-10-18 Jonathan Wakely <jwakely (a] redhat.com>
155
156 * include/bits/ranges_algobase.h (ranges::__assign_one): Remove.
157 (__copy_or_move, __copy_or_move_backward): Use std::__assign_one
158 instead of ranges::__assign_one.
159
160 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
161
162 Backported from master:
163 2024-10-13 Jonathan Wakely <jwakely (a] redhat.com>
164
165 PR libstdc++/117121
166 * include/bits/ranges_algobase.h (copy_backward): Decrement
167 output iterator before assigning one element through it.
168 * testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's
169 effects are correct for a single memcpyable element.
170 * testsuite/25_algorithms/copy_backward/108846.cc: Likewise.
171 * testsuite/25_algorithms/copy_n/108846.cc: Likewise.
172
173 2025-04-16 Giuseppe D'Angelo <giuseppe.dangelo (a] kdab.com>
174
175 Backported from master:
176 2024-09-13 Giuseppe D'Angelo <giuseppe.dangelo (a] kdab.com>
177
178 PR libstdc++/108846
179 PR libstdc++/116471
180 * include/bits/ranges_algobase.h (__assign_one): New helper
181 function.
182 (__copy_or_move): Remove a spurious static_assert; use
183 __assign_one for memcpyable ranges of length 1.
184 (__copy_or_move_backward): Likewise.
185 * testsuite/25_algorithms/copy/108846.cc: Extend to range-based
186 algorithms, and cover both memcpyable and non-memcpyable
187 cases.
188 * testsuite/25_algorithms/copy_backward/108846.cc: Likewise.
189 * testsuite/25_algorithms/copy_n/108846.cc: Likewise.
190 * testsuite/25_algorithms/move/108846.cc: Likewise.
191 * testsuite/25_algorithms/move_backward/108846.cc: Likewise.
192
193 2025-04-16 Jonathan Wakely <jwakely (a] redhat.com>
194
195 Backported from master:
196 2024-06-07 Jonathan Wakely <jwakely (a] redhat.com>
197
198 * include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>.
199
200 2025-04-15 Jonathan Wakely <jwakely (a] redhat.com>
201
202 Backported from master:
203 2025-04-14 Jonathan Wakely <jwakely (a] redhat.com>
204
205 PR libstdc++/21334
206 * doc/xml/manual/using.xml: Document that container data race
207 avoidance rules do not apply to COW std::string.
208 * doc/html/*: Regenerate.
209
210 2025-04-10 Jonathan Wakely <jwakely (a] redhat.com>
211
212 Backported from master:
213 2024-11-07 Jonathan Wakely <jwakely (a] redhat.com>
214
215 PR libstdc++/115285
216 * include/bits/hashtable.h (_Hashtable::_S_forward_key): Remove.
217 (_Hashtable::_M_insert_unique_aux): Replace _S_forward_key with
218 a static_cast to a type defined using conditional_t.
219 (_Hashtable::_M_insert): Replace _ConvertToValueType with a
220 static_cast to a type defined using conditional_t.
221 * include/bits/hashtable_policy.h (_ConvertToValueType): Remove.
222 * testsuite/23_containers/unordered_map/insert/115285.cc: New test.
223 * testsuite/23_containers/unordered_set/insert/115285.cc: New test.
224 * testsuite/23_containers/unordered_set/96088.cc: Adjust
225 expected number of allocations.
226
227 2025-04-10 Jonathan Wakely <jwakely (a] redhat.com>
228
229 Backported from master:
230 2024-11-07 Jonathan Wakely <jwakely (a] redhat.com>
231
232 * include/bits/stl_pair.h (__is_pair): Define for C++11 and
233 C++14 as well.
234
235 2025-04-10 Franois Dumont <frs.dumont (a] gmail.com>
236
237 Backported from master:
238 2024-10-24 Franois Dumont <frs.dumont (a] gmail.com>
239
240 * testsuite/23_containers/unordered_map/96088.cc (test03): Fix increments
241 value when _GLIBCXX_USE_CXX11_ABI is equal to 0.
242
243 2025-04-10 Franois Dumont <frs.dumont (a] gmail.com>
244
245 Backported from master:
246 2024-10-23 Franois Dumont <frs.dumont (a] gmail.com>
247
248 PR libstdc++/115285
249 * include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary
250 key_type instance.
251 * testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation.
252 Also check that mapped_type is not instantiated when there is no insertion.
253 * testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional
254 instanciation.
255 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
256 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
257 * testsuite/23_containers/unordered_set/pr115285.cc: New test case.
258
259 2025-04-09 Patrick Palka <ppalka (a] redhat.com>
260
261 Backported from master:
262 2025-04-09 Patrick Palka <ppalka (a] redhat.com>
263
264 PR libstdc++/115046
265 PR libstdc++/112490
266 * include/bits/stl_iterator.h (basic_const_iterator::operator-):
267 Replace non-dependent basic_const_iterator function parameter with
268 a dependent one of type basic_const_iterator<_It2> where _It2
269 matches _It.
270 * testsuite/std/ranges/adaptors/as_const/1.cc (test04): New test.
271
272 2025-04-08 Jonathan Wakely <jwakely (a] redhat.com>
273
274 Backported from master:
275 2025-04-08 Jonathan Wakely <jwakely (a] redhat.com>
276
277 PR libstdc++/119671
278 * include/std/format (__formatter_fp::format): Do not invalidate
279 __wstr unless _M_localized returns a valid string.
280 * testsuite/std/format/functions/format.cc: Check wide string
281 formatting of floating-point types with classic locale.
282
283 2025-04-08 Jonathan Wakely <jwakely (a] redhat.com>
284
285 Backported from master:
286 2025-04-07 Jonathan Wakely <jwakely (a] redhat.com>
287
288 * doc/doxygen/user.cfg.in (INPUT): Add text_encoding.
289
290 2025-04-08 Jonathan Wakely <jwakely (a] redhat.com>
291
292 Backported from master:
293 2025-04-04 Jonathan Wakely <jwakely (a] redhat.com>
294
295 PR libstdc++/101587
296 * include/bits/ranges_uninitialized.h (__detail::__mindist):
297 Remove.
298 (ranges::uninitialized_copy, ranges::uninitialized_copy_n)
299 (ranges::uninitialized_move, ranges::uninitialized_move_n): Use
300 comparison and assignment instead of __mindist.
301 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
302 Check with ranges that use integer-like class type for
303 difference type.
304 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
305 Likewise.
306
307 2025-04-08 Jonathan Wakely <jwakely (a] redhat.com>
308
309 Backported from master:
310 2025-03-27 Jonathan Wakely <jwakely (a] redhat.com>
311
312 PR libstdc++/101587
313 * include/bits/ranges_uninitialized.h (__detail::__mindist):
314 New function object.
315 (ranges::uninitialized_copy, ranges::uninitialized_copy_n)
316 (ranges::uninitialized_move, ranges::uninitialized_move_n): Use
317 __mindist instead of std::min.
318 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
319 Check ranges with difference difference types.
320 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
321 Likewise.
322
323 2025-04-07 Patrick Palka <ppalka (a] redhat.com>
324
325 Backported from master:
326 2025-03-13 Patrick Palka <ppalka (a] redhat.com>
327
328 PR libstdc++/116440
329 * include/std/tuple (tuple::tuple(const _Elements&...))
330 [C++20]: Turn into a template.
331 * testsuite/20_util/tuple/116440.C: New test.
332
333 2025-04-03 Tomasz Kamiski <tkaminsk (a] redhat.com>
334
335 Backported from master:
336 2025-04-03 Tomasz Kamiski <tkaminsk (a] redhat.com>
337
338 * testsuite/std/format/functions/format.cc: Restored line.
339
340 2025-04-03 Tomasz Kamiski <tkaminsk (a] redhat.com>
341
342 PR libstdc++/119593
343 * include/bits/unicode.h
344 (__unicode::__literal_encoding_is_unicode<_CharT>):
345 Corrected handing for UTF-16 and UTF-32 with "LE" or "BE" suffix.
346 * include/std/format (__formatter_str::_S_character_width):
347 Define.
348 (__formatter_str::_S_character_width): Updated passed char
349 length.
350 * testsuite/std/format/functions/format.cc: Test for wchar_t.
351
352 2025-04-02 Jonathan Wakely <jwakely (a] redhat.com>
353
354 Backported from master:
355 2025-03-27 Jonathan Wakely <jwakely (a] redhat.com>
356
357 PR libstdc++/119469
358 * include/bits/iterator_concepts.h (_IterMove::__result): Use
359 decltype-specifier instead of an explicit type.
360 * testsuite/24_iterators/customization_points/iter_move.cc:
361 Check results for function references.
362
363 2025-04-02 Jonathan Wakely <jwakely (a] redhat.com>
364
365 Backported from master:
366 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
367
368 PR libstdc++/106612
369 * include/bits/iterator_concepts.h (_IterMove::__iter_ref_t):
370 New alias template.
371 (_IterMove::__result): Use __iter_ref_t instead of
372 std::iter_reference_t.
373 (_IterMove::__type): Remove incorrect __dereferenceable
374 constraint.
375 (_IterMove::operator()): Likewise. Add correct constraints. Use
376 __iter_ref_t instead of std::iter_reference_t. Forward parameter
377 as correct value category.
378 (iter_swap): Add comments.
379 * testsuite/24_iterators/customization_points/iter_move.cc: Test
380 that iter_move is found by ADL and that rvalue arguments are
381 handled correctly.
382
383 2025-04-02 Jonathan Wakely <jwakely (a] redhat.com>
384
385 Backported from master:
386 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
387
388 PR libstdc++/110498
389 * include/bits/vector.tcc (vector<bool, A>::_M_reallocate):
390 Hoist loads of begin() and end() before allocation and use them
391 to state an unreachable condition.
392 * testsuite/23_containers/vector/bool/capacity/110498.cc: New
393 test.
394
395 2025-04-02 Jonathan Wakely <jwakely (a] redhat.com>
396
397 Backported from master:
398 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
399
400 PR libstdc++/114758
401 * include/bits/vector.tcc (vector<bool, A>::_M_fill_insert):
402 Hoist loads of begin() and end() before allocation.
403 * testsuite/23_containers/vector/bool/capacity/114758.cc: New
404 test.
405
406 2025-04-02 Jonathan Wakely <jwakely (a] redhat.com>
407
408 Backported from master:
409 2025-03-28 Jonathan Wakely <jwakely (a] redhat.com>
410
411 PR libstdc++/117983
412 * include/bits/vector.tcc (vector::_M_range_insert): Add
413 unreachable condition to tell the compiler begin() <= end().
414 * testsuite/23_containers/vector/modifiers/insert/117983.cc: New
415 test.
416
417 2025-04-02 Jonathan Wakely <jwakely (a] redhat.com>
418
419 Backported from master:
420 2025-04-01 Jonathan Wakely <jwakely (a] redhat.com>
421
422 PR libstdc++/114945
423 * include/bits/vector.tcc (vector::_M_default_append): Add
424 unreachable condition so the compiler knows that _M_finish is
425 not null.
426 * testsuite/23_containers/vector/capacity/114945.cc: New test.
427
428 2025-04-01 Jonathan Wakely <jwakely (a] redhat.com>
429
430 PR libstdc++/116212
431 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
432 Use unsigned for vector size.
433
434 2025-04-01 Jonathan Wakely <jwakely (a] redhat.com>
435
436 Backported from master:
437 2024-06-13 Jonathan Wakely <jwakely (a] redhat.com>
438
439 * include/bits/ranges_base.h (range_common_reference_t): New
440 alias template, as per LWG 3860.
441 * testsuite/std/ranges/range.cc: Check it.
442
443 2025-04-01 Jonathan Wakely <jwakely (a] redhat.com>
444
445 Backported from master:
446 2025-01-16 Jonathan Wakely <jwakely (a] redhat.com>
447
448 * include/bits/stl_map.h: Check __glibcxx_node_extract instead
449 of __cplusplus.
450 * include/bits/stl_multimap.h: Likewise.
451 * include/bits/stl_multiset.h: Likewise.
452 * include/bits/stl_set.h: Likewise.
453 * include/bits/stl_tree.h: Likewise.
454
455 2025-04-01 Jonathan Wakely <jwakely (a] redhat.com>
456
457 Backported from master:
458 2025-03-12 Jonathan Wakely <jwakely (a] redhat.com>
459
460 * include/std/future (packaged_task::packaged_task(F&&)): Add
461 static_assert.
462 * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: Add
463 dg-error for new static assertion.
464 * testsuite/30_threads/packaged_task/cons/lwg4154_neg.cc: New
465 test.
466
467 2025-04-01 Jonathan Wakely <jwakely (a] redhat.com>
468
469 Backported from master:
470 2025-03-25 Jonathan Wakely <jwakely (a] redhat.com>
471
472 PR libstdc++/118699
473 * testsuite/27_io/filesystem/operations/copy.cc: Check copying a
474 file to a directory.
475
476 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
477
478 Backported from master:
479 2025-03-24 Jonathan Wakely <jwakely (a] redhat.com>
480
481 PR libstdc++/101527
482 * testsuite/24_iterators/common_iterator/101527.cc: New test.
483 * testsuite/24_iterators/counted_iterator/101527.cc: New test.
484
485 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
486
487 Backported from master:
488 2025-03-04 Jonathan Wakely <jwakely (a] redhat.com>
489
490 * doc/xml/manual/test.xml: Remove stray comma.
491 * doc/html/manual/test.html: Regenerate.
492
493 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
494
495 Backported from master:
496 2025-03-07 Jonathan Wakely <jwakely (a] redhat.com>
497
498 * include/std/forward_list (erase): Change lambda to have
499 explicit return type and const parameter type.
500 * include/std/list (erase): Likewise.
501 * testsuite/23_containers/forward_list/erasure.cc: Check lambda
502 is correct.
503 * testsuite/23_containers/list/erasure.cc: Likewise.
504
505 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
506
507 Backported from master:
508 2025-03-24 Jonathan Wakely <jwakely (a] redhat.com>
509
510 * doc/xml/manual/policy_data_structures_biblio.xml: Fix two
511 broken links.
512 * doc/html/manual/policy_data_structures.html: Regenerate.
513
514 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
515
516 Backported from master:
517 2025-03-25 Jonathan Wakely <jwakely (a] redhat.com>
518
519 PR libstdc++/108487
520 * include/bits/stl_vector.h (vector(initializer_list)): Call
521 _M_range_initialize_n instead of _M_range_initialize.
522 (vector(InputIterator, InputIterator)): Use _M_range_initialize_n
523 for C++20 sized sentinels and forward iterators.
524 (vector::_M_range_initialize(FwIt, FwIt, forward_iterator_tag)):
525 Use _M_range_initialize_n.
526 (vector::_M_range_initialize_n): New function.
527 * testsuite/23_containers/vector/cons/108487.cc: New test.
528
529 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
530
531 Backported from master:
532 2025-03-27 Jonathan Wakely <jwakely (a] redhat.com>
533
534 * src/c++20/tzdata.zi: Import new file from 2025b release.
535
536 2025-03-31 Jonathan Wakely <jwakely (a] redhat.com>
537
538 Backported from master:
539 2025-03-12 Jonathan Wakely <jwakely (a] redhat.com>
540
541 * include/std/chrono (__detail::__get_leap_second_info): Update
542 expiry date for leap seconds list.
543 * src/c++20/tzdata.zi: Import new file from 2025a release.
544 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
545 Update expiry date for leap seconds list.
546
547 2025-03-26 Jonathan Wakely <jwakely (a] redhat.com>
548
549 Backported from master:
550 2025-03-25 Jonathan Wakely <jwakely (a] redhat.com>
551
552 * include/std/ranges (ranges::to): Allow unions as well as
553 non-union class types.
554 * testsuite/std/ranges/conv/lwg4229.cc: New test.
555
556 2025-03-26 Jonathan Wakely <jwakely (a] redhat.com>
557
558 Backported from master:
559 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
560
561 PR libstdc++/112803
562 * include/std/ranges (ranges::to): Add static assertions to
563 enforce Mandates conditions.
564 * testsuite/std/ranges/conv/112803.cc: New test.
565
566 2025-03-26 Jonathan Wakely <jwakely (a] redhat.com>
567
568 Backported from master:
569 2025-03-25 Jonathan Wakely <jwakely (a] redhat.com>
570
571 PR libstdc++/119429
572 * include/std/format (__format::_Scanner::_Scanner): Cast
573 default argument to size_t.
574
575 2025-03-26 Jonathan Wakely <jwakely (a] redhat.com>
576
577 Backported from master:
578 2024-08-23 Jonathan Wakely <jwakely (a] redhat.com>
579
580 PR libstdc++/115939
581 * include/bits/hashtable_policy.h (_Node_iterator): Add
582 operator== and operator!=.
583 (_Node_const_iterator): Likewise.
584 * testsuite/23_containers/unordered_map/115939.cc: New test.
585
586 2025-03-25 Patrick Palka <ppalka (a] redhat.com>
587
588 Backported from master:
589 2025-03-13 Patrick Palka <ppalka (a] redhat.com>
590
591 PR libstdc++/119135
592 * include/std/ranges: Include <utility>.
593 (views::__detail::__is_ref_view): Replace with ...
594 (views::__detail::__is_constable_ref_view): ... this.
595 (views::_AsConst::operator()): Replace bogus use of element_type
596 in the ref_view branch.
597 * testsuite/std/ranges/adaptors/as_const/1.cc (test03): Extend
598 test.
599
600 2025-03-21 Jonathan Wakely <jwakely (a] redhat.com>
601
602 Backported from master:
603 2025-03-19 Jonathan Wakely <jwakely (a] redhat.com>
604
605 * doc/xml/manual/test.xml: Fix default for -std option.
606 * doc/html/manual/test.html: Regenerate.
607
608 2025-03-21 Jakub Jelinek <jakub (a] redhat.com>
609
610 Backported from master:
611 2025-03-20 Jakub Jelinek <jakub (a] redhat.com>
612
613 * testsuite/18_support/numeric_limits/traps.cc (main): Fix comment
614 typo.
615
616 2025-03-21 Jonathan Wakely <jwakely (a] redhat.com>
617
618 Backported from master:
619 2025-03-19 Jonathan Wakely <jwakely (a] redhat.com>
620
621 * include/bits/locale_facets_nonio.tcc (time_put::do_put): Fix
622 typo in comment.
623
624 2025-03-18 Patrick Palka <ppalka (a] redhat.com>
625
626 Backported from master:
627 2025-02-28 Patrick Palka <ppalka (a] redhat.com>
628
629 PR libstdc++/112490
630 * include/bits/stl_iterator.h (basic_const_iterator::operator<):
631 Replace non-dependent basic_const_iterator function parameter with
632 a dependent one of type basic_const_iterator<_It3> where _It3
633 matches _It.
634 (basic_const_iterator::operator>): Likewise.
635 (basic_const_iterator::operator<=): Likewise.
636 (basic_const_iterator::operator>=): Likewise.
637 * testsuite/24_iterators/const_iterator/112490.cc: New test.
638
639 2025-03-05 Tomasz Kamiski <tkaminsk (a] redhat.com>
640
641 Backported from master:
642 2025-03-05 Tomasz Kamiski <tkaminsk (a] redhat.com>
643
644 PR libstdc++/119121
645 * include/bits/ranges_util.h (__detail::__pair_like_convertible_from):
646 Use `_Tp` in `is_reference_v` check
647 * testsuite/std/ranges/subrange/tuple_like.cc: New tests for
648 pair-like conversion
649
650 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
651
652 Backported from master:
653 2025-02-20 Jonathan Wakely <jwakely (a] redhat.com>
654
655 PR libstdc++/118811
656 * src/c++20/tzdb.cc (tzdb_list::_Node): Move definitions of
657 static data members to new header.
658 * src/c++20/tzdb_globals.h: New header. Use init_priority
659 attribute on static data members.
660 * testsuite/std/time/tzdb_list/pr118811.cc: New test.
661
662 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
663
664 Backported from master:
665 2024-08-23 Jonathan Wakely <jwakely (a] redhat.com>
666
667 * include/std/tuple: Do not include implementation details in
668 Doxygen documentation.
669
670 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
671
672 Backported from master:
673 2025-02-27 Jonathan Wakely <jwakely (a] redhat.com>
674
675 * include/std/stacktrace (_Impl::_M_allocate): Fix outdated
676 comment.
677
678 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
679
680 Backported from master:
681 2024-06-03 Jonathan Wakely <jwakely (a] redhat.com>
682
683 * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
684 Use __detail::__get_temporary_buffer.
685 (basic_stacktrace::_Impl::_M_deallocate): Use
686 __detail::__return_temporary_buffer.
687
688 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
689
690 Backported from master:
691 2024-06-03 Jonathan Wakely <jwakely (a] redhat.com>
692
693 * include/std/string_view (starts_with(basic_string_view)):
694 Compare lengths first and then call traits_type::compare
695 directly.
696
697 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
698
699 Backported from master:
700 2024-06-28 Jonathan Wakely <jwakely (a] redhat.com>
701
702 PR libstdc++/104395
703 * include/bits/new_allocator.h: Disable extended alignment
704 support in C++98 mode.
705 * include/bits/stl_tempbuf.h: Likewise.
706 * include/ext/bitmap_allocator.h: Likewise.
707 * include/ext/malloc_allocator.h: Likewise.
708 * include/ext/mt_allocator.h: Likewise.
709 * include/ext/pool_allocator.h: Likewise.
710 * testsuite/ext/104395.cc: New test.
711
712 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
713
714 Backported from master:
715 2024-06-19 Jonathan Wakely <jwakely (a] redhat.com>
716
717 * include/bits/stl_tempbuf.h (__get_temporary_buffer): Cast
718 argument to size_t to handle negative values and suppress
719 -Wsign-compare warning.
720 (_Temporary_buffer): Move diagnostic pragmas to new location of
721 call to std::get_temporary_buffer.
722
723 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
724
725 Backported from master:
726 2024-06-03 Jonathan Wakely <jwakely (a] redhat.com>
727
728 PR libstdc++/105258
729 * include/bits/stl_tempbuf.h (__detail::__get_temporary_buffer):
730 New function to do allocation for get_temporary_buffer, with
731 extended alignment support.
732 (__detail::__return_temporary_buffer): Support extended
733 alignment.
734 (get_temporary_buffer): Use __get_temporary_buffer.
735 (return_temporary_buffer): Support extended alignment. Add
736 deprecated attribute.
737 (_Temporary_buffer): Move allocation and deallocation into a
738 subobject and remove try-catch block in constructor.
739 (__uninitialized_construct_buf): Use argument deduction for
740 value type.
741 * testsuite/20_util/temporary_buffer.cc: Add dg-warning for new
742 deprecated warning.
743 * testsuite/25_algorithms/stable_sort/overaligned.cc: New test.
744
745 2025-02-28 Giuseppe D'Angelo <giuseppe.dangelo (a] kdab.com>
746
747 Backported from master:
748 2025-02-07 Giuseppe D'Angelo <giuseppe.dangelo (a] kdab.com>
749
750 PR libstdc++/118160
751 PR libstdc++/100249
752 * include/bits/ranges_algo.h (__is_permutation_fn): Avoid a
753 dangling reference by storing the result of the iterator
754 dereference and the result of the projection in two distinct
755 variables, in order to lifetime-extend each one.
756 Forward the projected value to the predicate.
757 * testsuite/25_algorithms/is_permutation/constrained.cc: Add a
758 test with a range returning prvalues. Test it in a constexpr
759 context, in order to rely on the compiler to catch UB.
760
761 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
762
763 Backported from master:
764 2024-06-21 Jonathan Wakely <jwakely (a] redhat.com>
765
766 * include/bits/stl_uninitialized.h (uninitialized_default_construct)
767 (uninitialized_default_construct_n, uninitialized_value_construct)
768 (uninitialized_value_construct_n): Qualify calls to prevent ADL.
769
770 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
771
772 Backported from master:
773 2024-12-18 Jonathan Wakely <jwakely (a] redhat.com>
774
775 * include/bits/basic_string.h (__to_wstring_numeric): Add 'i'
776 and 'I' to mapping.
777
778 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
779
780 Backported from master:
781 2024-12-09 Jonathan Wakely <jwakely (a] redhat.com>
782
783 PR libstdc++/117921
784 * testsuite/23_containers/set/modifiers/swap/adl.cc: Add
785 equality comparison for Allocator.
786 * testsuite/23_containers/unordered_set/modifiers/swap-2.cc:
787 Likewise.
788
789 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
790
791 Backported from master:
792 2024-12-05 Jonathan Wakely <jwakely (a] redhat.com>
793
794 PR libstdc++/117921
795 * include/bits/hashtable_policy.h (_Hash_code_base::_M_swap):
796 Use ADL swap for Hash members.
797 (_Hashtable_base::_M_swap): Use ADL swap for _Equal members.
798 * include/bits/stl_tree.h (_Rb_tree::swap): Use ADL swap for
799 _Compare members.
800 * testsuite/23_containers/set/modifiers/swap/adl.cc: New test.
801 * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: New
802 test.
803
804 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
805
806 Backported from master:
807 2024-11-27 Jonathan Wakely <jwakely (a] redhat.com>
808
809 * include/bits/forward_list.h (forward_list::front): Add
810 non-empty assertions.
811 * include/bits/stl_list.h (list::front, list::back): Add
812 non-empty assertions.
813
814 2025-02-28 Jonathan Wakely <jwakely (a] redhat.com>
815
816 Backported from master:
817 2025-01-16 Jonathan Wakely <jwakely (a] redhat.com>
818
819 PR libstdc++/118158
820 * src/c++17/fs_ops.cc (fs::equivalent): Remove error reporting
821 for is_other(s1) && is_other(s2) case, as per LWG 2937.
822 * testsuite/27_io/filesystem/operations/pr118158.cc: New test.
823
824 2025-01-29 Patrick Palka <ppalka (a] redhat.com>
825
826 Backported from master:
827 2025-01-29 Patrick Palka <ppalka (a] redhat.com>
828
829 PR libstdc++/118413
830 * include/std/ranges (views::__adaptor::_Partial): Adjust
831 constraints on the "simple" partial specializations to require
832 is_trivially_copy_constructible_v instead of
833 is_trivially_copyable_v.
834 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc (test04):
835 Extend P2494R2 test.
836 * testsuite/std/ranges/adaptors/transform.cc (test09): Likewise.
837
838 2025-01-27 Giuseppe D'Angelo <giuseppe.dangelo (a] kdab.com>
839
840 Backported from master:
841 2025-01-20 Giuseppe D'Angelo <giuseppe.dangelo (a] kdab.com>
842
843 PR libstdc++/118185
844 PR libstdc++/100249
845 * include/bits/ranges_algo.h (__clamp_fn): Correctly forward the
846 projected value to the comparator.
847 * testsuite/25_algorithms/clamp/118185.cc: New test.
848
849 2025-01-16 Jonathan Wakely <jwakely (a] redhat.com>
850
851 Backported from master:
852 2025-01-15 Jonathan Wakely <jwakely (a] redhat.com>
853
854 PR libstdc++/109849
855 * include/bits/vector.tcc (vector::_M_range_insert): Fix
856 reversed args in length calculation.
857
858 2025-01-16 Jonathan Wakely <jwakely (a] redhat.com>
859
860 Backported from master:
861 2024-09-27 Jonathan Wakely <jwakely (a] redhat.com>
862
863 * include/bits/istream.tcc: Add diagnostic pragmas around uses
864 of long long and extern template.
865 * include/bits/locale_facets.h: Likewise.
866 * include/bits/locale_facets.tcc: Likewise.
867 * include/bits/locale_facets_nonio.tcc: Likewise.
868 * include/bits/ostream.tcc: Likewise.
869 * include/bits/stl_algobase.h: Likewise.
870 * include/c_global/cstdlib: Likewise.
871 * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
872 Likewise.
873 * include/ext/pointer.h: Likewise.
874 * include/ext/stdio_sync_filebuf.h: Likewise.
875 * include/std/istream: Likewise.
876 * include/std/ostream: Likewise.
877 * include/tr1/cmath: Likewise.
878 * include/tr1/type_traits: Likewise.
879 * include/tr1/functional_hash.h: Likewise. Remove semi-colons
880 at namespace scope that aren't needed after macro expansion.
881 * include/tr1/tuple: Remove semi-colon at namespace scope.
882 * include/bits/vector.tcc: Change LL suffix to just L.
883
884 2025-01-16 Jonathan Wakely <jwakely (a] redhat.com>
885
886 Backported from master:
887 2025-01-08 Jonathan Wakely <jwakely (a] redhat.com>
888
889 PR libstdc++/90389
890 * include/bits/deque.tcc (_M_insert_aux): Rename variadic
891 overload to _M_emplace_aux.
892 * include/bits/stl_deque.h (_M_insert_aux): Define inline.
893 (_M_emplace_aux): Declare.
894 * testsuite/23_containers/deque/modifiers/emplace/90389.cc: New
895 test.
896
897 2025-01-12 Torbjrn SVENSSON <torbjorn.svensson (a] foss.st.com>
898
899 Backported from master:
900 2025-01-12 Torbjrn SVENSSON <torbjorn.svensson (a] foss.st.com>
901
902 * testsuite/27_io/print/1.cc: Allow both LF and CRLF in test.
903 * testsuite/27_io/print/3.cc: Likewise.
904
905 2025-01-12 Torbjrn SVENSSON <torbjorn.svensson (a] foss.st.com>
906
907 Backported from master:
908 2025-01-12 Torbjrn SVENSSON <torbjorn.svensson (a] foss.st.com>
909
910 * testsuite/29_atomics/atomic_float/compare_exchange_padding.cc:
911 Use effective-target libatomic_available.
912
913 2025-01-10 Tamar Christina <tamar.christina (a] arm.com>
914
915 * include/bits/hashtable.h (find): Add inline keyword.
916
917 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
918
919 Backported from master:
920 2024-12-10 Jonathan Wakely <jwakely (a] redhat.com>
921
922 * include/bits/memory_resource.h (polymoprhic_allocator): Use
923 feature test macro for P0339R6 features.
924
925 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
926
927 Backported from master:
928 2024-08-23 Jonathan Wakely <jwakely (a] redhat.com>
929
930 * include/bits/alloc_traits.h: Improve doxygen docs for
931 allocator_traits specializations.
932 * include/bits/memory_resource.h: Likewise.
933
934 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
935
936 Backported from master:
937 2024-06-21 Jonathan Wakely <jwakely (a] redhat.com>
938
939 * include/bits/memory_resource.h (polymorphic_allocator::destroy):
940 Remove deprecated attribute.
941
942 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
943
944 Backported from master:
945 2024-05-15 Jonathan Wakely <jwakely (a] redhat.com>
946
947 PR libstdc++/89624
948 * include/bits/atomic_base.h (memory_order): Use int as
949 underlying type.
950 * testsuite/29_atomics/atomic/89624.cc: New test.
951
952 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
953
954 Backported from master:
955 2024-12-12 Jonathan Wakely <jwakely (a] redhat.com>
956
957 * src/c++17/fs_dir.cc: Fix typo in comment.
958
959 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
960
961 Backported from master:
962 2024-12-11 Jonathan Wakely <jwakely (a] redhat.com>
963
964 * include/std/ostream (println): Pass stream's locale to
965 std::format, as per LWG 4088.
966 * testsuite/27_io/basic_ostream/print/1.cc: Check std::println
967 with custom locale. Remove unused brit_punc class.
968
969 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
970
971 Backported from master:
972 2024-10-30 Jonathan Wakely <jwakely (a] redhat.com>
973
974 * doc/xml/manual/using_exceptions.xml: Fix typos and grammatical
975 errors.
976 * doc/html/manual/using_exceptions.html: Regenerate.
977
978 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
979
980 Backported from master:
981 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
982
983 * doc/xml/manual/strings.xml: Clarify that GCC 4.5 added
984 std::string::shrink_to_fit.
985 * doc/html/manual/strings.html: Regenerate.
986
987 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
988
989 Backported from master:
990 2024-11-27 Jonathan Wakely <jwakely (a] redhat.com>
991
992 * include/bits/c++config (__glibcxx_assert): Remove useless
993 __builtin_expect from constexpr-only assertion. Improve
994 comments.
995
996 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
997
998 Backported from master:
999 2024-12-03 Jonathan Wakely <jwakely (a] redhat.com>
1000
1001 PR libstdc++/108236
1002 * include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init
1003 as rvalue.
1004 * include/pstl/numeric_impl.h (__brick_transform_scan): Do not
1005 write through __result until after reading through __first. Move
1006 __init into return value.
1007 (__pattern_transform_scan): Pass __init as rvalue.
1008 * include/std/numeric (exclusive_scan): Move construct instead
1009 of copy constructing.
1010 * testsuite/26_numerics/exclusive_scan/2.cc: New test.
1011 * testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test.
1012
1013 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1014
1015 Backported from master:
1016 2024-12-09 Jonathan Wakely <jwakely (a] redhat.com>
1017
1018 PR libstdc++/117962
1019 * include/debug/safe_container.h: Make allocator-extended move
1020 constructor a no-op during constant evaluation.
1021
1022 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1023
1024 Backported from master:
1025 2024-12-11 Jonathan Wakely <jwakely (a] redhat.com>
1026
1027 PR libstdc++/109517
1028 PR libstdc++/109976
1029 * include/debug/helper_functions.h (__valid_range_aux): Treat
1030 all input iterator ranges as valid during constant evaluation.
1031
1032 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1033
1034 Backported from master:
1035 2024-12-11 Jonathan Wakely <jwakely (a] redhat.com>
1036
1037 PR libstdc++/106212
1038 * include/std/array (operator==): Use std::__equal_aux1 instead
1039 of std::equal.
1040 * testsuite/23_containers/array/comparison_operators/106212.cc:
1041 New test.
1042
1043 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1044
1045 Backported from master:
1046 2024-12-11 Jonathan Wakely <jwakely (a] redhat.com>
1047
1048 PR libstdc++/117966
1049 * include/std/span (span(T (&)[N])): Do not delegate to
1050 constructor that performs redundant checks.
1051 (span(array<T, N>&), span(const array<T, N>&)): Likewise.
1052 (span(Range&&), span(const span<T, N>&)): Likewise.
1053 * testsuite/23_containers/span/117966.cc: New test.
1054
1055 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1056
1057 Backported from master:
1058 2024-12-17 Jonathan Wakely <jwakely (a] redhat.com>
1059
1060 PR libstdc++/118035
1061 * include/bits/deque.tcc (_M_range_insert_aux): Return
1062 immediately if inserting an empty range.
1063 * testsuite/23_containers/deque/modifiers/insert/118035.cc: New
1064 test.
1065
1066 2025-01-09 Patrick Palka <ppalka (a] redhat.com>
1067
1068 Backported from master:
1069 2024-12-13 Patrick Palka <ppalka (a] redhat.com>
1070
1071 PR libstdc++/112349
1072 * include/bits/ranges_algo.h (__min_fn::operator()): Turn local
1073 object __tmp into a reference.
1074 * include/bits/ranges_util.h (__max_fn::operator()): Likewise.
1075 * testsuite/25_algorithms/max/constrained.cc (test04): New test.
1076 * testsuite/25_algorithms/min/constrained.cc (test04): New test.
1077
1078 2025-01-09 Patrick Palka <ppalka (a] redhat.com>
1079
1080 Backported from master:
1081 2024-11-14 Patrick Palka <ppalka (a] redhat.com>
1082
1083 * include/std/ranges (keys_view): Adjust as per LWG 3563.
1084 (values_view): Likewise.
1085 * testsuite/std/ranges/adaptors/elements.cc (test08): New test.
1086
1087 2025-01-09 Patrick Palka <ppalka (a] redhat.com>
1088
1089 Backported from master:
1090 2024-10-29 Patrick Palka <ppalka (a] redhat.com>
1091
1092 PR libstdc++/112641
1093 * include/std/ranges (drop_view::begin): Reimplement const
1094 overload so that it's O(1) always.
1095 * testsuite/std/ranges/adaptors/drop.cc (test10): New test.
1096
1097 2025-01-09 Gerald Pfeifer <gerald (a] pfeifer.com>
1098
1099 Backported from master:
1100 2024-08-17 Gerald Pfeifer <gerald (a] pfeifer.com>
1101
1102 * doc/xml/manual/abi.xml: Update reference to
1103 gcc.gnu.org/onlinedocs.
1104 * doc/xml/manual/concurrency_extensions.xml (interface): Ditto.
1105 * doc/xml/manual/extensions.xml: Ditto.
1106 * doc/xml/manual/parallel_mode.xml: Ditto.
1107 * doc/xml/manual/shared_ptr.xml: Ditto.
1108 * doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC
1109 to GCC.
1110 * doc/html/index.html: Regenerate.
1111 * doc/html/manual/abi.html: Ditto.
1112 * doc/html/manual/ext_concurrency_impl.html: Ditto.
1113 * doc/html/manual/ext_demangling.html: Ditto.
1114 * doc/html/manual/memory.html: Ditto.
1115 * doc/html/manual/parallel_mode_design.html: Ditto.
1116 * doc/html/manual/parallel_mode_using.html: Ditto.
1117 * doc/html/manual/using_exceptions.html: Ditto.
1118
1119 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1120
1121 Backported from master:
1122 2025-01-08 Jonathan Wakely <jwakely (a] redhat.com>
1123
1124 PR libstdc++/118093
1125 * include/bits/atomic_futex.h (_M_load_and_test_until_impl):
1126 Return false for times before the epoch.
1127 * src/c++11/futex.cc (_M_futex_wait_until): Extend check for
1128 negative times to check for subsecond times. Add unlikely
1129 attribute.
1130 (_M_futex_wait_until_steady): Likewise.
1131 * testsuite/30_threads/future/members/118093.cc: New test.
1132
1133 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1134
1135 Backported from master:
1136 2025-01-08 Jonathan Wakely <jwakely (a] redhat.com>
1137
1138 * include/bits/move.h (forward, move, move_if_noexcept, addressof):
1139 Add @since to Doxygen comments.
1140 (forward_like): Add Doxygen comment.
1141
1142 2025-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1143
1144 Backported from master:
1145 2025-01-08 Jonathan Wakely <jwakely (a] redhat.com>
1146
1147 * doc/xml/manual/evolution.xml: Replace invalid <variable>
1148 elements with <varname>.
1149 * doc/html/*: Regenerate.
1150
1151 2024-12-16 Jonathan Wakely <jwakely (a] redhat.com>
1152
1153 Backported from master:
1154 2024-12-07 Jonathan Wakely <jwakely (a] redhat.com>
1155
1156 * include/std/format: Fix typo in Doxygen comment.
1157
1158 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1159
1160 Backported from master:
1161 2024-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1162
1163 * include/bits/stl_vector.h (operator<=>): Use constexpr
1164 instead of _GLIBCXX20_CONSTEXPR macro.
1165
1166 2024-12-02 Jason Merrill <jason (a] redhat.com>
1167
1168 Backported from master:
1169 2024-08-28 Jason Merrill <jason (a] redhat.com>
1170
1171 * include/std/istream: Add cast to avoid -Wsign-compare.
1172 * include/std/stacktrace: Likewise.
1173
1174 2024-12-02 Jason Merrill <jason (a] redhat.com>
1175
1176 Backported from master:
1177 2024-08-28 Jason Merrill <jason (a] redhat.com>
1178
1179 * testsuite/20_util/default_delete/void_neg.cc: Fix regexp quoting.
1180
1181 2024-12-02 Jason Merrill <jason (a] redhat.com>
1182
1183 Backported from master:
1184 2024-08-28 Jason Merrill <jason (a] redhat.com>
1185
1186 * include/std/coroutine (coroutine_handle): Use nullptr instead of
1187 0 as initializer for _M_fr_ptr.
1188
1189 2024-12-02 Jason Merrill <jason (a] redhat.com>
1190
1191 Backported from master:
1192 2024-08-28 Jason Merrill <jason (a] redhat.com>
1193
1194 * include/decimal/decimal.h (_DEFINE_DECIMAL_BINARY_OP_WITH_INT):
1195 Remove redundant semicolons.
1196
1197 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1198
1199 Backported from master:
1200 2024-08-28 Jonathan Wakely <jwakely (a] redhat.com>
1201
1202 * include/experimental/io_context: Remove name of unused
1203 parameter.
1204 * include/experimental/socket: Add [[maybe_unused]] attribute.
1205
1206 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1207
1208 Backported from master:
1209 2024-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1210
1211 * src/c++11/cxx11-ios_failure.cc (__iosfail_type_info): Unhide
1212 the three-arg overload of __do_upcast.
1213
1214 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1215
1216 Backported from master:
1217 2024-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1218
1219 * libsupc++/exception_ptr.h (__exception_ptr::_M_safe_bool_dummy):
1220 Remove __attribute__((const)) from function returning void.
1221
1222 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1223
1224 Backported from master:
1225 2024-08-28 Jonathan Wakely <jwakely (a] redhat.com>
1226
1227 * include/std/ranges (to): Remove unused typedef.
1228
1229 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1230
1231 Backported from master:
1232 2024-11-07 Jonathan Wakely <jwakely (a] redhat.com>
1233
1234 * include/bits/hashtable.h (_M_insert_unique_node): Improve
1235 comment.
1236
1237 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1238
1239 Backported from master:
1240 2024-11-14 Jonathan Wakely <jwakely (a] redhat.com>
1241
1242 * include/bits/ranges_util.h (subrange::begin): Fix constraint,
1243 as per LWG 3589.
1244 * testsuite/std/ranges/subrange/lwg3589.cc: New test.
1245
1246 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1247
1248 Backported from master:
1249 2024-11-01 Jonathan Wakely <jwakely (a] redhat.com>
1250
1251 * include/bits/unordered_map.h: Check __glibcxx_node_extract and
1252 __glibcxx_unordered_map_try_emplace instead of __cplusplus.
1253 * include/bits/unordered_set.h: Check __glibcxx_node_extract
1254 instead of __cplusplus.
1255
1256 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1257
1258 Backported from master:
1259 2024-10-11 Jonathan Wakely <jwakely (a] redhat.com>
1260
1261 * include/bits/cpp_type_traits.h (__is_byte<byte>): Guard with
1262 __glibcxx_byte macro instead of checking __cplusplus.
1263
1264 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1265
1266 Backported from master:
1267 2024-11-14 Jonathan Wakely <jwakely (a] redhat.com>
1268
1269 * include/bits/ranges_algo.h (__is_permutation_fn::operator()):
1270 Short-circuit for sized ranges with different sizes, as per LWG
1271 3560.
1272 * include/bits/ranges_algobase.h (__equal_fn::operator()):
1273 Likewise.
1274 * include/bits/stl_algo.h (__is_permutation): Use if-constexpr
1275 for random access iterator branches.
1276 * include/bits/stl_algobase.h (__equal4): Likewise.
1277 * testsuite/25_algorithms/equal/lwg3560.cc: New test.
1278 * testsuite/25_algorithms/is_permutation/lwg3560.cc: New test.
1279
1280 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1281
1282 Backported from master:
1283 2024-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1284
1285 PR libstdc++/106676
1286 * include/bits/iterator_concepts.h (__cpp17_fwd_iterator): Use
1287 is_reference instead of is_value_reference.
1288 rvalue references.
1289 * include/std/ranges (transform_view:__iter_cat::_S_iter_cat):
1290 Likewise.
1291 (zip_transform_view::__iter_cat::_S_iter_cat): Likewise.
1292 (adjacent_transform_view::__iter_cat::_S_iter_cat): Likewise.
1293 (join_with_view::__iter_cat::_S_iter_cat): Likewise.
1294 * testsuite/std/ranges/adaptors/transform.cc: Check
1295 iterator_category when the transformation function returns an
1296 rvalue reference type.
1297
1298 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1299
1300 Backported from master:
1301 2024-09-27 Jonathan Wakely <jwakely (a] redhat.com>
1302
1303 * include/bits/basic_string.tcc (resize_for_overwrite): Fix
1304 -Wsign-compare warning.
1305 * include/bits/cow_string.h (resize_for_overwrite): Likewise.
1306
1307 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1308
1309 Backported from master:
1310 2024-10-27 Jonathan Wakely <jwakely (a] redhat.com>
1311
1312 * include/bits/stl_bvector.h (emplace_back, emplace): Forward
1313 parameter pack to preserve value category.
1314 * testsuite/23_containers/vector/bool/emplace_rvalue.cc: New
1315 test.
1316
1317 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1318
1319 Backported from master:
1320 2024-11-07 Jonathan Wakely <jwakely (a] redhat.com>
1321
1322 * include/bits/hashtable.h: Fix spelling in comment.
1323
1324 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1325
1326 Backported from master:
1327 2024-11-01 Jonathan Wakely <jwakely (a] redhat.com>
1328
1329 * include/bits/hashtable.h: Improve comments.
1330
1331 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1332
1333 Backported from master:
1334 2024-11-14 Jonathan Wakely <jwakely (a] redhat.com>
1335
1336 PR libstdc++/117560
1337 * include/bits/fs_dir.h (enable_borrowed_range, enable_view):
1338 Define specializations for directory iterators, as per LWG 3480.
1339 * testsuite/27_io/filesystem/iterators/lwg3480.cc: New test.
1340
1341 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1342
1343 Backported from master:
1344 2024-11-13 Jonathan Wakely <jwakely (a] redhat.com>
1345
1346 * testsuite/util/testsuite_performance.h (time_counter): Add
1347 comment about times.
1348 (time_counter::system_time): Use correct split value.
1349
1350 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1351
1352 Backported from master:
1353 2024-11-13 Jonathan Wakely <jwakely (a] redhat.com>
1354
1355 * testsuite/util/testsuite_performance.h: Use
1356 __gnu_cxx::__is_single_threaded instead of __gthread_active_p().
1357
1358 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1359
1360 Backported from master:
1361 2024-11-14 Jonathan Wakely <jwakely (a] redhat.com>
1362
1363 * include/bits/stl_iterator.h (operator+): Add constraint to
1364 move_iterator operator.
1365 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
1366
1367 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1368
1369 Backported from master:
1370 2024-11-28 Jonathan Wakely <jwakely (a] redhat.com>
1371
1372 PR libstdc++/117822
1373 * include/std/stacktrace (stacktrace(stacktrace&&, const A&)):
1374 Fix typo in qualified-id for is_always_equal trait.
1375 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test
1376 allocator-extended constructors and allocator propagation.
1377
1378 2024-12-02 Jonathan Wakely <jwakely (a] redhat.com>
1379
1380 Backported from master:
1381 2024-09-26 Jonathan Wakely <jwakely (a] redhat.com>
1382
1383 * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
1384 Do not assume allocators only throw std::bad_alloc.
1385
1386 2024-11-12 Jonathan Wakely <jwakely (a] redhat.com>
1387
1388 * include/bits/unicode.h (_Utf_iterator::_M_read_utf16): Add
1389 parentheses.
1390
1391 2024-11-12 Jonathan Wakely <jwakely (a] redhat.com>
1392
1393 PR libstdc++/117520
1394 * include/std/text_encoding (aliases_view:_Iterator::operator+=):
1395 Fix typos that caused == to be used instead of =.
1396 (aliases_view::_Iterator): Fix friend declaration.
1397 * testsuite/std/text_encoding/members.cc: Adjust expected
1398 behaviour of invalid subscript. Add tests for other erroneous
1399 operations on iterators.
1400
1401 2024-11-11 Jonathan Wakely <jwakely (a] redhat.com>
1402
1403 Backported from master:
1404 2024-11-08 Jonathan Wakely <jwakely (a] redhat.com>
1405
1406 * include/bits/hashtable_policy.h (_Insert_base::try_emplace):
1407 Do not define for C++11 and C++14.
1408 * include/debug/map.h (try_emplace): Use feature test macro.
1409 * include/debug/unordered_map (try_emplace): Likewise.
1410 * testsuite/17_intro/names.cc: Define try_emplace before C++17.
1411
1412 2024-11-04 Jakub Jelinek <jakub (a] redhat.com>
1413
1414 Backported from master:
1415 2024-11-04 Jakub Jelinek <jakub (a] redhat.com>
1416
1417 PR libstdc++/117406
1418 * testsuite/26_numerics/headers/cmath/117406.cc: Use
1419 std::numeric_limits<int>::max() instead of INT_MAX.
1420
1421 2024-11-04 Jakub Jelinek <jakub (a] redhat.com>
1422
1423 Backported from master:
1424 2024-11-02 Jakub Jelinek <jakub (a] redhat.com>
1425
1426 PR libstdc++/117406
1427 * include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16),
1428 std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)):
1429 Don't cast __builtin_* return to _Float16.
1430 (std::ilogb(__gnu_cxx::__bfloat16_t),
1431 std::llrint(__gnu_cxx::__bfloat16_t),
1432 std::llround(__gnu_cxx::__bfloat16_t),
1433 std::lrint(__gnu_cxx::__bfloat16_t),
1434 std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to
1435 __gnu_cxx::__bfloat16_t.
1436 * testsuite/26_numerics/headers/cmath/117406.cc: New test.
1437
1438 2024-11-04 Jakub Jelinek <jakub (a] redhat.com>
1439
1440 Backported from master:
1441 2024-10-29 Jakub Jelinek <jakub (a] redhat.com>
1442
1443 PR libstdc++/117321
1444 * include/c_global/cmath (nextafter(_Float16, _Float16)): Use
1445 if consteval rather than if (std::__is_constant_evaluated()) around
1446 the __builtin_nextafterf16 call.
1447 (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use
1448 if consteval rather than if (std::__is_constant_evaluated()) around
1449 the __builtin_nextafterf16b call.
1450 * testsuite/26_numerics/headers/cmath/117321.cc: New test.
1451
1452 2024-10-22 Patrick Palka <ppalka (a] redhat.com>
1453
1454 Backported from master:
1455 2024-10-05 Patrick Palka <ppalka (a] redhat.com>
1456
1457 * include/bits/ranges_base.h (__distance_fn::operator()):
1458 Adjust iterator/sentinel overloads as per LWG 3664.
1459 * testsuite/24_iterators/range_operations/distance.cc:
1460 Test LWG 3664 example.
1461
1462 2024-10-22 Patrick Palka <ppalka (a] redhat.com>
1463
1464 Backported from master:
1465 2024-10-04 Patrick Palka <ppalka (a] redhat.com>
1466
1467 * include/std/ranges (single_view::empty): Define as per LWG 4035.
1468 (iota_view::empty): Define as per LWG 4001.
1469 (lazy_split_view::_OuterIter::value_type): Remove default
1470 constructor and make other constructor private as per LWG 4013.
1471 (common_view::begin): Disable non-const overload for simple
1472 views as per LWG 4012.
1473 (common_view::end): Likewise.
1474 (adjacent_view::base): Define as per LWG 3848.
1475 (adjacent_transform_view::base): Likewise.
1476 (chunk_view::_InnerIter::iter_move): Define as per LWG 3851.
1477 (chunk_view::_InnerIter::itep_swap): Likewise.
1478 (slide_view::base): Define as per LWG 3848.
1479 (repeat_view): Adjust deduction guide as per LWG 4053.
1480 (_Repeat::operator()): Adjust single-parameter overload as per
1481 LWG 4054.
1482 * testsuite/std/ranges/adaptors/adjacent/1.cc: Verify existence
1483 of base member function.
1484 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise.
1485 * testsuite/std/ranges/adaptors/chunk/1.cc: Test LWG 3851 example.
1486 * testsuite/std/ranges/adaptors/slide/1.cc: Verify existence of
1487 base member function.
1488 * testsuite/std/ranges/iota/iota_view.cc: Test LWG 4001 example.
1489 * testsuite/std/ranges/repeat/1.cc: Test LWG 4053/4054 examples.
1490
1491 2024-10-22 Patrick Palka <ppalka (a] redhat.com>
1492
1493 Backported from master:
1494 2024-08-22 Patrick Palka <ppalka (a] redhat.com>
1495
1496 * testsuite/25_algorithms/contains/1.cc: Verify value of
1497 __cpp_lib_ranges_contains.
1498 * testsuite/25_algorithms/find_last/1.cc: Verify value of
1499 __cpp_lib_ranges_find_last.
1500 * testsuite/25_algorithms/iota/1.cc: Verify value of
1501 __cpp_lib_ranges_iota.
1502
1503 2024-10-22 Patrick Palka <ppalka (a] redhat.com>
1504
1505 Backported from master:
1506 2024-08-22 Patrick Palka <ppalka (a] redhat.com>
1507
1508 * include/bits/iterator_concepts.h (indirectly_unary_invocable):
1509 Relax as per P2997R1.
1510 (indirectly_regular_unary_invocable): Likewise.
1511 (indirect_unary_predicate): Likewise.
1512 (indirect_binary_predicate): Likewise.
1513 (indirect_equivalence_relation): Likewise.
1514 (indirect_strict_weak_order): Likewise.
1515 * include/bits/version.def (ranges): Update value for C++26.
1516 * include/bits/version.h: Regenerate.
1517 * testsuite/24_iterators/indirect_callable/p2997r1.cc: New test.
1518 * testsuite/std/ranges/version_c++23.cc: Remove.
1519 * testsuite/std/ranges/headers/ranges/synopsis.cc: Refine the
1520 __cpp_lib_ranges checks.
1521
1522 2024-10-22 Patrick Palka <ppalka (a] redhat.com>
1523
1524 Backported from master:
1525 2024-08-22 Patrick Palka <ppalka (a] redhat.com>
1526
1527 * include/bits/iterator_concepts.h (__detail::__indirect_value):
1528 Define.
1529 (__indirect_value_t): Define as per P2609R3.
1530 (iter_common_reference_t): Adjust as per P2609R3.
1531 (indirectly_unary_invocable): Likewise.
1532 (indirectly_regular_unary_invocable): Likewise.
1533 (indirect_unary_predicate): Likewise.
1534 (indirect_binary_predicate): Likewise.
1535 (indirect_equivalence_relation): Likewise.
1536 (indirect_strict_weak_order): Likewise.
1537 (__detail::__projected::__type): Define member aliases
1538 __projected_Iter and __projected_Proj providing the
1539 template arguments of the current specialization.
1540 * include/bits/version.def (ranges): Update value.
1541 * include/bits/version.h: Regenerate.
1542 * testsuite/24_iterators/indirect_callable/p2609r3.cc: New test.
1543 * testsuite/std/ranges/version_c++23.cc: Update expected value
1544 of __cpp_lib_ranges macro.
1545
1546 2024-10-16 Jonathan Wakely <jwakely (a] redhat.com>
1547
1548 Backported from master:
1549 2024-10-16 Jonathan Wakely <jwakely (a] redhat.com>
1550
1551 * python/libstdcxx/v6/printers.py (strip_fundts_namespace): New.
1552 (StdExpAnyPrinter, StdExpOptionalPrinter): Use it.
1553
1554 2024-10-16 Jonathan Wakely <jwakely (a] redhat.com>
1555
1556 Backported from master:
1557 2024-06-26 Jonathan Wakely <jwakely (a] redhat.com>
1558
1559 PR libstdc++/90276
1560 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
1561 Increase timeout for debug mode.
1562 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
1563 Likewise.
1564 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
1565 Likewise.
1566 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
1567 Likewise.
1568 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
1569 Likewise.
1570 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
1571 Likewise.
1572
1573 2024-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1574
1575 Backported from master:
1576 2024-10-14 Jonathan Wakely <jwakely (a] redhat.com>
1577
1578 * include/std/ranges (transform_view:_Iterator): Use const F&
1579 to determine value_type and iterator_category of
1580 _Iterator<true>, as per LWG 3564.
1581 * testsuite/std/ranges/adaptors/transform.cc: Check value_type
1582 and iterator_category.
1583
1584 2024-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1585
1586 Backported from master:
1587 2024-10-11 Jonathan Wakely <jwakely (a] redhat.com>
1588
1589 PR libstdc++/117085
1590 * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L
1591 option to format string.
1592 * testsuite/std/time/format.cc: Move to...
1593 * testsuite/std/time/format/format.cc: ...here.
1594 * testsuite/std/time/format/pr117085.cc: New test.
1595
1596 2024-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1597
1598 Backported from master:
1599 2024-10-09 Jonathan Wakely <jwakely (a] redhat.com>
1600
1601 * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add
1602 [[unlikely]] attribute to condition for missing %c format in
1603 locale. Use %T instead of %H:%M:%S in fallback.
1604
1605 2024-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1606
1607 Backported from master:
1608 2024-10-14 Jonathan Wakely <jwakely (a] redhat.com>
1609
1610 PR libstdc++/117135
1611 * config/locale/generic/time_members.cc
1612 (__timepunct<wchar_t>::_M_initialize_timepunc): Set
1613 _M_date_time_format for C locale. Set %Ex formats to the same
1614 values as the %x formats.
1615
1616 2024-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1617
1618 Backported from master:
1619 2024-10-14 Jonathan Wakely <jwakely (a] redhat.com>
1620
1621 PR libstdc++/117094
1622 * include/bits/ranges_algobase.h (__fill_fn): Use std::move for
1623 iterator that might not be copyable.
1624 * testsuite/25_algorithms/fill/constrained.cc: Check
1625 non-copyable iterator with sized sentinel.
1626
1627 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1628
1629 Backported from master:
1630 2024-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1631
1632 PR c++/116369
1633 * include/debug/safe_base.h (_Safe_sequence_base::_M_iterators):
1634 Add mutable specifier.
1635 (_Safe_sequence_base::_M_const_iterators): Likewise.
1636
1637 2024-10-03 Kim Grsman <kim.grasman (a] gmail.com>
1638
1639 Backported from master:
1640 2024-08-28 Kim Grsman <kim.grasman (a] gmail.com>
1641
1642 * include/bits/cpp_type_traits.h: Improve doxygen file docs.
1643
1644 2024-10-03 Kim Grsman <kim.grasman (a] gmail.com>
1645
1646 Backported from master:
1647 2024-08-28 Kim Grsman <kim.grasman (a] gmail.com>
1648
1649 * config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file
1650 docs.
1651 * config/cpu/i486/opt/ext/opt_random.h: Likewise.
1652
1653 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1654
1655 Backported from master:
1656 2024-08-28 Jonathan Wakely <jwakely (a] redhat.com>
1657
1658 * configure.ac: Fix check for O_NONBLOCK.
1659 * config.h.in: Regenerate.
1660 * configure: Regenerate.
1661
1662 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1663
1664 Backported from master:
1665 2024-09-26 Jonathan Wakely <jwakely (a] redhat.com>
1666
1667 PR libstdc++/116857
1668 * libsupc++/guard.cc (__cxa_guard_acquire): Remove
1669 _GLIBCXX_NOTHROW to match declaration in <cxxabi.h>.
1670
1671 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1672
1673 Backported from master:
1674 2024-06-27 Jonathan Wakely <jwakely (a] redhat.com>
1675
1676 PR libstdc++/37475
1677 * config/locale/gnu/codecvt_members.cc (Guard): New RAII type.
1678 (do_out, do_in): Return partial if the destination is empty but
1679 the source is not. Use Guard to restore locale on scope exit.
1680 Return immediately on any conversion error.
1681 (do_encoding, do_max_length, do_length): Use Guard.
1682 * testsuite/22_locale/codecvt/in/char/37475.cc: New test.
1683 * testsuite/22_locale/codecvt/in/wchar_t/37475.cc: New test.
1684 * testsuite/22_locale/codecvt/out/char/37475.cc: New test.
1685 * testsuite/22_locale/codecvt/out/wchar_t/37475.cc: New test.
1686
1687 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1688
1689 Backported from master:
1690 2024-10-02 Jonathan Wakely <jwakely (a] redhat.com>
1691
1692 * config/locale/dragonfly/time_members.cc
1693 (__timepunct<char>::_M_initialize_timepunc)
1694 (__timepunct<wchar_t>::_M_initialize_timepunc): Set
1695 _M_date_time_format for C locale. Set %Ex formats to the same
1696 values as the %x formats.
1697 * config/locale/generic/time_members.cc: Likewise.
1698 * config/locale/gnu/time_members.cc: Likewise.
1699 * testsuite/22_locale/time_get/get/char/5.cc: New test.
1700 * testsuite/22_locale/time_get/get/wchar_t/5.cc: New test.
1701
1702 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1703
1704 Backported from master:
1705 2024-09-26 Jonathan Wakely <jwakely (a] redhat.com>
1706
1707 * include/bits/cow_string.h (__resize_for_overwrite): Add
1708 inline keyword to function with always_inline attribute.
1709
1710 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1711
1712 Backported from master:
1713 2024-06-26 Jonathan Wakely <jwakely (a] redhat.com>
1714
1715 PR libstdc++/90276
1716 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc
1717 [_GLIBCXX_DEBUG]: Add xfail-run-if for debug mode.
1718 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc
1719 [_GLIBCXX_DEBUG]: Reduce size of test data.
1720 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
1721 Likewise.
1722 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
1723 Likewise.
1724
1725 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1726
1727 Backported from master:
1728 2024-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1729
1730 * include/std/format (__format::__is_formattable_integer): New
1731 variable template and specializations.
1732 (template<integral, __char> struct formatter): Replace
1733 constraints on first arg with __is_formattable_integer.
1734 * testsuite/std/format/formatter/requirements.cc: Check that
1735 std::formatter specializations for char8_t and const int are
1736 disabled.
1737
1738 2024-10-03 Jonathan Wakely <jwakely (a] redhat.com>
1739
1740 Backported from master:
1741 2024-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1742
1743 PR libstdc++/116755
1744 * include/bits/chrono_io.h (formatter<duration<R,P>>::format):
1745 Cast negative integral durations to unsigned rep.
1746 * testsuite/20_util/duration/io.cc: Test the most negative
1747 integer durations.
1748
1749 2024-09-23 Jonathan Wakely <jwakely (a] redhat.com>
1750
1751 Backported from master:
1752 2024-09-20 Jonathan Wakely <jwakely (a] redhat.com>
1753
1754 PR libstdc++/116529
1755 * include/bits/unique_ptr.h (unique_ptr(auto_ptr<U>&&)):
1756 Use pointer instead of T*.
1757 * testsuite/20_util/unique_ptr/creation/116529.cc: New test.
1758
1759 2024-09-23 Jonathan Wakely <jwakely (a] redhat.com>
1760
1761 Backported from master:
1762 2024-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1763
1764 PR libstdc++/116754
1765 * include/bits/ranges_algobase.h (__copy_or_move): Fix order of
1766 arguments to __memcpyable.
1767
1768 2024-09-23 Jonathan Wakely <jwakely (a] redhat.com>
1769
1770 Backported from master:
1771 2024-09-20 Jonathan Wakely <jwakely (a] redhat.com>
1772
1773 PR libstdc++/116777
1774 * doc/xml/manual/using.xml: Document features that are not
1775 supported for the gcc4-compatible ABI.
1776 * doc/html/manual/using_dual_abi.html: Regenerate.
1777
1778 2024-09-23 Jonathan Wakely <jwakely (a] redhat.com>
1779
1780 Backported from master:
1781 2024-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1782
1783 PR libstdc++/108619
1784 * include/bits/alloc_traits.h (__allocator_traits_base): Add
1785 variable templates for detecting whether the allocator has a
1786 construct member, or if placement new can be used instead.
1787 (allocator_traits::__construct_helper): Remove.
1788 (allocator_traits::__has_construct): Remove.
1789 (allocator_traits::construct): Use 'if constexpr' instead of
1790 dispatching to overloads constrained with enable_if.
1791 (allocator_traits<allocator<T>>::construct): Use _Construct if
1792 construct_at is not supported. Use
1793 __is_nothrow_new_constructible for noexcept-specifier.
1794 (allocator_traits<allocator<void>>::construct): Use
1795 __is_nothrow_new_constructible for noexcept-specifier.
1796 * include/bits/new_allocator.h (construct): Likewise.
1797 * include/ext/malloc_allocator.h (construct): Likewise.
1798 * include/std/type_traits (__is_nothrow_new_constructible): New
1799 variable template.
1800 * testsuite/20_util/allocator/89510.cc: Adjust expected results.
1801 * testsuite/ext/malloc_allocator/89510.cc: Likewise.
1802 * testsuite/ext/new_allocator/89510.cc: Likewise.
1803 * testsuite/20_util/allocator_traits/members/108619.cc: New test.
1804
1805 2024-09-11 Jonathan Wakely <jwakely (a] redhat.com>
1806
1807 Backported from master:
1808 2024-09-10 Jonathan Wakely <jwakely (a] redhat.com>
1809
1810 PR libstdc++/116159
1811 * include/std/iostream (ios_base_library_init): Only define for
1812 ELF targets.
1813 * src/c++98/ios_init.cc (ios_base_library_init): Likewise.
1814
1815 2024-09-11 Jonathan Wakely <jwakely (a] redhat.com>
1816
1817 Backported from master:
1818 2024-09-10 Jonathan Wakely <jwakely (a] redhat.com>
1819
1820 PR libstdc++/116641
1821 * include/bits/basic_string.h (operator=(basic_string&&)): Call
1822 _M_assign instead of assign.
1823 * testsuite/21_strings/basic_string/allocator/116641.cc: New
1824 test.
1825
1826 2024-09-10 Jonathan Wakely <jwakely (a] redhat.com>
1827
1828 Backported from master:
1829 2024-06-26 Jonathan Wakely <jwakely (a] redhat.com>
1830
1831 * src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove.
1832 (years_from_to): New class replacing minmax_year and
1833 minmax_year2.
1834 (format_abbrev_str, select_std_or_dst_abbrev): Move earlier in
1835 the file. Handle "-" for letters.
1836 (ZoneInfo::to): Use format_abbrev_str to expand %z.
1837 (ZoneInfo::set_abbrev): Remove exception. Change parameter from
1838 reference to value.
1839 (operator>>(istream&, Rule&)): Do not clear letters when it
1840 contains "-".
1841 (time_zone::_M_get_sys_info): Add missing logic to find the Rule
1842 in effect before the time point.
1843 * testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using
1844 "GMT" as the Zone name, not as a Link to "Etc/GMT".
1845 * testsuite/std/time/time_zone/sys_info_abbrev.cc: New test.
1846
1847 2024-09-08 Patrick Palka <ppalka (a] redhat.com>
1848
1849 Backported from master:
1850 2024-08-03 Patrick Palka <ppalka (a] redhat.com>
1851
1852 * include/bits/move.h (__like_impl): New metafunction.
1853 (__like_t): Redefine in terms of __like_impl.
1854 (forward_like): Redefine in terms of __like_t.
1855 * testsuite/20_util/forward_like/2_neg.cc: Don't expect
1856 error outside the immediate context anymore.
1857
1858 2024-09-04 Jonathan Wakely <jwakely (a] redhat.com>
1859
1860 Backported from master:
1861 2024-09-03 Jonathan Wakely <jwakely (a] redhat.com>
1862
1863 * src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code&
1864 member and set it if CreateFileW or GetFileInformationByHandle
1865 fails.
1866 (fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify
1867 control flow.
1868 (fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec
1869 on success.
1870 * testsuite/27_io/filesystem/operations/hard_link_count.cc:
1871 Check error handling.
1872
1873 2024-09-04 Jonathan Wakely <jwakely (a] redhat.com>
1874
1875 Backported from master:
1876 2024-07-30 Jonathan Wakely <jwakely (a] redhat.com>
1877
1878 * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor
1879 parameter from const path& to const wchar_t*.
1880 (fs::equiv_files): New function.
1881 (fs::equivalent): Use equiv_files.
1882 * src/filesystem/ops-common.h (fs::equiv_files): Declare.
1883 (do_copy_file): Use equiv_files.
1884 * src/filesystem/ops.cc (fs::equiv_files): Define.
1885 (fs::copy, fs::equivalent): Use equiv_files.
1886 * testsuite/27_io/filesystem/operations/copy.cc: Test
1887 overwriting directory contents recursively.
1888 * testsuite/27_io/filesystem/operations/copy_file.cc: Test
1889 overwriting existing files.
1890
1891 2024-09-04 Lennox Shou Hao Ho <lennoxhoe (a] gmail.com>
1892
1893 Backported from master:
1894 2024-07-30 Lennox Shou Hao Ho <lennoxhoe (a] gmail.com>
1895
1896 PR libstdc++/113663
1897 * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class
1898 auto_handle to anonymous namespace as auto_win_file_handle.
1899 (fs::hard_link_count): Changed Windows implementation to use
1900 information provided by GetFileInformationByHandle which is more
1901 reliable.
1902 * testsuite/27_io/filesystem/operations/hard_link_count.cc: New
1903 test.
1904
1905 2024-09-04 Jonathan Wakely <jwakely (a] redhat.com>
1906
1907 Backported from master:
1908 2024-09-03 Jonathan Wakely <jwakely (a] redhat.com>
1909
1910 PR libstdc++/116549
1911 * include/bits/stl_iterator.h (disable_sized_sentinel_for):
1912 Define specialization for two move_iterator types, as per LWG
1913 3736.
1914 * testsuite/24_iterators/move_iterator/lwg3736.cc: New test.
1915
1916 2024-09-04 Dhruv Chawla <dhruvc (a] nvidia.com>
1917
1918 Backported from master:
1919 2024-09-03 Dhruv Chawla <dhruvc (a] nvidia.com>
1920
1921 * include/std/deque: Define macro
1922 __glibcxx_want_allocator_traits_is_always_equal.
1923 * include/std/forward_list: Likewise.
1924 * include/std/list: Likewise.
1925 * include/std/map: Likewise.
1926 * include/std/scoped_allocator: Likewise.
1927 * include/std/set: Likewise.
1928 * include/std/string: Likewise.
1929 * include/std/unordered_map: Likewise.
1930 * include/std/unordered_set: Likewise.
1931 * include/std/vector: Likewise.
1932 * testsuite/20_util/headers/memory/version.cc: New test.
1933 * testsuite/20_util/scoped_allocator/version.cc: Likewise.
1934 * testsuite/21_strings/headers/string/version.cc: Likewise.
1935 * testsuite/23_containers/deque/version.cc: Likewise.
1936 * testsuite/23_containers/forward_list/version.cc: Likewise.
1937 * testsuite/23_containers/list/version.cc: Likewise.
1938 * testsuite/23_containers/map/version.cc: Likewise.
1939 * testsuite/23_containers/set/version.cc: Likewise.
1940 * testsuite/23_containers/unordered_map/version.cc: Likewise.
1941 * testsuite/23_containers/unordered_set/version.cc: Likewise.
1942 * testsuite/23_containers/vector/version.cc: Likewise.
1943
1944 2024-09-04 Jonathan Wakely <jwakely (a] redhat.com>
1945
1946 Backported from master:
1947 2024-08-21 Jonathan Wakely <jwakely (a] redhat.com>
1948
1949 PR libstdc++/116381
1950 * include/std/variant (variant): Fix conditions for
1951 static_assert to match the spec.
1952 * testsuite/20_util/variant/types_neg.cc: New test.
1953
1954 2024-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1955
1956 Backported from master:
1957 2024-06-21 Jonathan Wakely <jwakely (a] redhat.com>
1958
1959 * include/bits/version.def (chrono): Add cxx11abi = yes.
1960 * include/bits/version.h: Regenerate.
1961 * testsuite/std/time/syn_c++20.cc: Adjust expected value for
1962 the feature test macro.
1963
1964 2024-08-02 Patrick Palka <ppalka (a] redhat.com>
1965
1966 Backported from master:
1967 2024-07-25 Patrick Palka <ppalka (a] redhat.com>
1968
1969 PR libstdc++/116038
1970 * include/std/functional (_Bind_front::operator()): Use __like_t
1971 instead of std::forward when forwarding __self.
1972 (_Bind_back::operator()): Likewise.
1973 * include/std/ranges (_Partial::operator()): Likewise.
1974 (_Pipe::operator()): Likewise.
1975 * testsuite/20_util/function_objects/bind_back/116038.cc: New test.
1976 * testsuite/20_util/function_objects/bind_front/116038.cc: New test.
1977 * testsuite/std/ranges/adaptors/116038.cc: New test.
1978
1979 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
1980
1981 Backported from master:
1982 2024-05-22 Jonathan Wakely <jwakely (a] redhat.com>
1983
1984 * include/bits/locale_classes.h (locale::combine)
1985 (locale::name, locale::operator==, locale::operator!=)
1986 (locale::operator(), locale::classic): Add nodiscard
1987 attribute.
1988 * include/bits/locale_classes.tcc (has_facet, use_facet):
1989 Likewise.
1990 * testsuite/22_locale/locale/cons/12438.cc: Add dg-warning for
1991 nodiscard diagnostic.
1992 * testsuite/22_locale/locale/cons/2.cc: Cast use_facet
1993 expression to void, to suppress diagnostic.
1994 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
1995 * testsuite/22_locale/locale/operations/2.cc: Add dg-warning.
1996
1997 2024-08-01 Deev Patel <dkp10000 (a] gmail.com>
1998
1999 Backported from master:
2000 2024-06-08 Deev Patel <dkp10000 (a] gmail.com>
2001 Jonathan Wakely <jwakely (a] redhat.com>
2002
2003 * include/bits/atomic_base.h (__atomic_impl::__clear_padding):
2004 Add missing constexpr specifier.
2005 * testsuite/29_atomics/atomic_float/constinit.cc: New test.
2006
2007 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2008
2009 Backported from master:
2010 2024-06-21 Jonathan Wakely <jwakely (a] redhat.com>
2011
2012 * testsuite/util/testsuite_allocator.h (tracker_allocator):
2013 Initialize base class in copy constructor.
2014
2015 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2016
2017 Backported from master:
2018 2024-06-12 Jonathan Wakely <jwakely (a] redhat.com>
2019
2020 PR libstdc++/115399
2021 * include/tr2/dynamic_bitset (operator>>=): Remove redundant
2022 call to _M_do_sanitize.
2023 * include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out
2024 low bits in words that should no longer be populated.
2025 (_M_do_right_shift): Likewise for high bits.
2026 * testsuite/tr2/dynamic_bitset/pr115399.cc: New test.
2027
2028 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2029
2030 Backported from master:
2031 2024-07-25 Jonathan Wakely <jwakely (a] redhat.com>
2032
2033 * include/std/format (basic_format_args): Remove default
2034 constructor, as per LWG 4106.
2035 * testsuite/std/format/arguments/args.cc: Check it isn't default
2036 constructible.
2037
2038 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2039
2040 Backported from master:
2041 2024-07-10 Jonathan Wakely <jwakely (a] redhat.com>
2042
2043 PR libstdc++/114387
2044 * include/std/format (basic_format_context): Define copy
2045 operations as deleted, as per LWG 4061.
2046 * testsuite/std/format/context.cc: New test.
2047
2048 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2049
2050 Backported from master:
2051 2024-06-21 Jonathan Wakely <jwakely (a] redhat.com>
2052
2053 * include/std/any (any_cast(any*), any_cast(const any*)): Add
2054 static assertion to reject void types, as per LWG 3305.
2055 * testsuite/20_util/any/misc/lwg3305.cc: New test.
2056
2057 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2058
2059 Backported from master:
2060 2024-06-08 Jonathan Wakely <jwakely (a] redhat.com>
2061
2062 * include/std/algorithm: Define __glibcxx_want_ranges.
2063 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Check
2064 feature test macro in C++20 mode.
2065
2066 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2067
2068 Backported from master:
2069 2024-07-10 Jonathan Wakely <jwakely (a] redhat.com>
2070
2071 PR libstdc++/115854
2072 * include/bits/stl_bvector.h (_Bvector_base): Convert allocator
2073 to rebound type explicitly.
2074 * testsuite/23_containers/vector/allocator/115854.cc: New test.
2075 * testsuite/23_containers/vector/bool/allocator/115854.cc: New test.
2076
2077 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2078
2079 Backported from master:
2080 2024-06-13 Jonathan Wakely <jwakely (a] redhat.com>
2081
2082 * include/bits/ranges_base.h (const_iterator_t): Change
2083 preprocessor condition to use __glibcxx_ranges_as_const.
2084 (const_sentinel_t, range_const_reference_t): Likewise.
2085 (__access::__possibly_const_range, cbegin, cend, crbegin)
2086 (crend, cdata): Likewise.
2087 * include/bits/stl_iterator.h (iter_const_reference_t)
2088 (basic_const_iterator, const_iterator, const_sentinel)
2089 (make_const_iterator): Likewise.
2090
2091 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2092
2093 Backported from master:
2094 2024-07-06 Jonathan Wakely <jwakely (a] redhat.com>
2095
2096 * include/std/variant (_Variant_storage::_M_reset): Use
2097 __unlikely__ form of attribute instead of unlikely.
2098
2099 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2100
2101 Backported from master:
2102 2024-07-24 Jonathan Wakely <jwakely (a] redhat.com>
2103
2104 PR libstdc++/116070
2105 * include/std/istream: Check feature test macro before using
2106 is_class_v and is_same_v.
2107 * include/std/ostream: Likewise.
2108
2109 2024-08-01 Jonathan Wakely <jwakely (a] redhat.com>
2110
2111 Backported from master:
2112 2024-07-24 Jonathan Wakely <jwakely (a] redhat.com>
2113
2114 PR libstdc++/116070
2115 * include/bits/stl_bvector.h: Check feature test macro before
2116 using is_default_constructible_v.
2117
2118 2024-08-01 Release Manager
2119
2120 * GCC 14.2.0 released.
2121
2122 2024-07-23 Jonathan Wakely <jwakely (a] redhat.com>
2123
2124 Backported from master:
2125 2024-07-23 Jonathan Wakely <jwakely (a] redhat.com>
2126
2127 * src/c++23/print.cc (__open_terminal): Use [[maybe_unused]] on
2128 parameter.
2129
2130 2024-07-23 Detlef Vollmann <dv (a] vollmann.ch>
2131
2132 Backported from master:
2133 2024-07-23 Detlef Vollmann <dv (a] vollmann.ch>
2134
2135 PR libstdc++/115482
2136 * src/c++23/print.cc (__open_terminal) [__AVR__]: Do not use
2137 isatty.
2138
2139 2024-07-12 Jonathan Wakely <jwakely (a] redhat.com>
2140
2141 Backported from master:
2142 2024-06-13 Jonathan Wakely <jwakely (a] redhat.com>
2143
2144 PR libstdc++/113376
2145 * include/pstl/pstl_config.h: Use #if instead of #ifdef to test
2146 the _PSTL_USAGE_WARNINGS macro.
2147
2148 2024-07-12 Jonathan Wakely <jwakely (a] redhat.com>
2149
2150 Backported from master:
2151 2024-06-21 Jonathan Wakely <jwakely (a] redhat.com>
2152
2153 PR libstdc++/115522
2154 * include/std/array (to_array): Workaround the fact that
2155 std::is_trivial is not sufficient to check that a type is
2156 trivially default constructible and assignable.
2157 * testsuite/23_containers/array/creation/115522.cc: New test.
2158
2159 2024-07-09 Jonathan Wakely <jwakely (a] redhat.com>
2160
2161 Backported from master:
2162 2024-07-08 Jonathan Wakely <jwakely (a] redhat.com>
2163
2164 PR libstdc++/115807
2165 * include/c_compatibility/stdatomic.h (_Atomic): Ensure it
2166 refers to std::atomic in the global namespace.
2167 * testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test.
2168
2169 2024-07-09 Jonathan Wakely <jwakely (a] redhat.com>
2170
2171 Backported from master:
2172 2024-06-28 Jonathan Wakely <jwakely (a] redhat.com>
2173
2174 PR libstdc++/115585
2175 * src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add
2176 definition for non-verbose builds.
2177
2178 2024-06-28 Jonathan Wakely <jwakely (a] redhat.com>
2179
2180 Backported from master:
2181 2024-06-27 Jonathan Wakely <jwakely (a] redhat.com>
2182
2183 PR libstdc++/115668
2184 * include/bits/chrono_io.h (formatter<duration<R,P, C>::format):
2185 Do not use chrono::abs.
2186 * testsuite/20_util/duration/io.cc: Check formatting a duration
2187 with unsigned rep.
2188
2189 2024-06-27 Jonathan Wakely <jwakely (a] redhat.com>
2190
2191 Backported from master:
2192 2024-06-25 Jonathan Wakely <jwakely (a] redhat.com>
2193
2194 * doc/xml/faq.xml: Replace viewcvs links with cgit links.
2195 * doc/xml/manual/allocator.xml: Likewise.
2196 * doc/xml/manual/mt_allocator.xml: Likewise.
2197 * doc/html/*: Regenerate.
2198
2199 2024-06-27 Alexandre Oliva <oliva (a] adacore.com>
2200
2201 Backported from master:
2202 2024-06-27 Alexandre Oliva <oliva (a] adacore.com>
2203
2204 PR libstdc++/115454
2205 * testsuite/experimental/simd/pr115454_find_last_set.cc: Defer
2206 to check_vect_support_and_set_flags's default dg-do action.
2207
2208 2024-06-25 Jonathan Wakely <jwakely (a] redhat.com>
2209
2210 * doc/xml/manual/status_cxx1998.xml: Remove confusing "not in
2211 any particular release" text.
2212 * doc/xml/manual/status_cxx2011.xml: Likewise.
2213 * doc/xml/manual/status_cxx2014.xml: Likewise.
2214 * doc/xml/manual/status_cxx2017.xml: Likewise.
2215 * doc/xml/manual/status_cxx2020.xml: Likewise.
2216 * doc/xml/manual/status_cxx2023.xml: Likewise.
2217 * doc/xml/manual/status_cxxtr1.xml: Likewise.
2218 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
2219 * doc/html/manual/status.html: Regenerate.
2220
2221 2024-06-21 Matthias Kretz <m.kretz (a] gsi.de>
2222
2223 Backported from master:
2224 2024-06-21 Matthias Kretz <m.kretz (a] gsi.de>
2225
2226 PR libstdc++/115575
2227 * testsuite/experimental/simd/pr115454_find_last_set.cc: Require
2228 avx512f_runtime. Don't memcpy fixed_size masks.
2229
2230 2024-06-20 Matthias Kretz <m.kretz (a] gsi.de>
2231
2232 Backported from master:
2233 2024-06-20 Matthias Kretz <m.kretz (a] gsi.de>
2234
2235 PR libstdc++/115454
2236 * include/experimental/bits/simd_x86.h (_S_not_equal_to): Use
2237 neq comparison instead of bitwise negation after eq.
2238 (_S_find_last_set): Clear unused high bits before computing
2239 bit_width.
2240 * testsuite/experimental/simd/pr115454_find_last_set.cc: New
2241 test.
2242
2243 2024-06-14 Jonathan Wakely <jwakely (a] redhat.com>
2244
2245 Backported from master:
2246 2024-06-14 Jonathan Wakely <jwakely (a] redhat.com>
2247
2248 * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of
2249 posix_memalign.
2250
2251 2024-06-10 Matthias Kretz <m.kretz (a] gsi.de>
2252
2253 Backported from master:
2254 2024-06-04 Matthias Kretz <m.kretz (a] gsi.de>
2255
2256 PR libstdc++/115308
2257 * include/experimental/bits/simd.h (__int_for_sizeof): Remove
2258 special cases for __clang__.
2259 (_SimdWrapper): Change constructor overload set to allow
2260 conversion from vector types with integral conversions via bit
2261 reinterpretation.
2262
2263 2024-06-10 Matthias Kretz <m.kretz (a] gsi.de>
2264
2265 Backported from master:
2266 2024-05-29 Matthias Kretz <m.kretz (a] gsi.de>
2267
2268 PR libstdc++/115247
2269 * include/experimental/bits/simd.h (__as_vector): Don't use
2270 vector_size(8) on __i386__.
2271 (__vec_shuffle): Never return MMX vectors, widen to 16 bytes
2272 instead.
2273 (concat): Fix padding calculation to pick up widening logic from
2274 __as_vector.
2275
2276 2024-06-10 Matthias Kretz <m.kretz (a] gsi.de>
2277
2278 Backported from master:
2279 2024-05-13 Matthias Kretz <m.kretz (a] gsi.de>
2280
2281 PR libstdc++/114958
2282 * include/experimental/bits/simd.h (__as_vector): Return scalar
2283 simd as one-element vector. Return vector from single-vector
2284 fixed_size simd.
2285 (__vec_shuffle): New.
2286 (__extract_part): Adjust return type signature.
2287 (split): Use __extract_part for any split into non-fixed_size
2288 simds.
2289 (concat): If the return type stores a single vector, use
2290 __vec_shuffle (which calls __builtin_shufflevector) to produce
2291 the return value.
2292 * include/experimental/bits/simd_builtin.h
2293 (__shift_elements_right): Removed.
2294 (__extract_part): Return single elements directly. Use
2295 __vec_shuffle (which calls __builtin_shufflevector) to for all
2296 non-trivial cases.
2297 * include/experimental/bits/simd_fixed_size.h (__extract_part):
2298 Return single elements directly.
2299 * testsuite/experimental/simd/pr114958.cc: New test.
2300
2301 2024-06-04 Jonathan Wakely <jwakely (a] redhat.com>
2302
2303 Backported from master:
2304 2024-06-04 Jonathan Wakely <jwakely (a] redhat.com>
2305
2306 PR libstdc++/115335
2307 * include/std/span (span::at): Guard with feature test macro.
2308
2309 2024-06-04 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2310
2311 Backported from master:
2312 2024-05-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2313
2314 PR libstdc++/111641
2315 * src/libbacktrace/Makefile.am (AM_CFLAGS): Add -funwind-tables.
2316 * src/libbacktrace/Makefile.in: Regenerate.
2317 * testsuite/19_diagnostics/stacktrace/current.cc (dg-options): Add
2318 -funwind-tables.
2319 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2320 * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise.
2321 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
2322 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2323
2324 2024-06-03 Franois Dumont <frs.dumont (a] gmail.com>
2325
2326 Backported from master:
2327 2024-06-03 Franois Dumont <frs.dumont (a] gmail.com>
2328
2329 PR libstdc++/109849
2330 * include/bits/vector.tcc
2331 (std::vector<>::_M_range_insert(iterator, _FwdIt, _FwdIt,
2332 forward_iterator_tag))[__cplusplus < 201103L]: Add __builtin_unreachable
2333 expression to tell the compiler that the allocated buffer is large enough to
2334 receive current elements plus the elements of the range to insert.
2335
2336 2024-06-01 Jonathan Wakely <jwakely (a] redhat.com>
2337
2338 Backported from master:
2339 2024-06-01 Jonathan Wakely <jwakely (a] redhat.com>
2340
2341 PR libstdc++/115269
2342 * doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs.
2343 Replace list of -std=... options with a single entry for -std.
2344 * doc/html/manual/using.html: Regenerate.
2345
2346 2024-05-28 Jonathan Wakely <jwakely (a] redhat.com>
2347
2348 Backported from master:
2349 2024-05-22 Jonathan Wakely <jwakely (a] redhat.com>
2350
2351 PR libstdc++/114940
2352 * include/bits/version.def (generator): Depend on
2353 __cpp_sized_deallocation.
2354 * include/bits/version.h: Regenerate.
2355 * include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro.
2356 (basic_stacktrace::_Impl::_M_deallocate): Use it.
2357
2358 2024-05-22 Jonathan Wakely <jwakely (a] redhat.com>
2359
2360 Backported from master:
2361 2024-05-22 Jonathan Wakely <jwakely (a] redhat.com>
2362
2363 PR libstdc++/115099
2364 * include/bits/std_thread.h: Declare formatter as friend of
2365 thread::id.
2366 * include/std/thread (operator<<): Convert non-void pointers to
2367 void pointers for output.
2368 (formatter): Add constraint that thread::native_handle_type is a
2369 pointer or integer.
2370 (formatter::format): Reimplement without basic_ostringstream.
2371 * testsuite/30_threads/thread/id/output.cc: Check output
2372 compiles before <sstream> has been included.
2373
2374 2024-05-17 Jonathan Wakely <jwakely (a] redhat.com>
2375
2376 Backported from master:
2377 2024-05-17 Jonathan Wakely <jwakely (a] redhat.com>
2378
2379 PR libstdc++/115119
2380 * include/bits/unicode.h (_Iterator::operator++(int)): Fix typo
2381 in increment expression.
2382 * testsuite/ext/unicode/grapheme_view.cc: Check post-increment
2383 on view's iterator.
2384
2385 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2386
2387 PR libstdc++/115015
2388 * src/c++23/print.cc (__open_terminal(streambuf*)) [!__cpp_rtti]:
2389 Do not use dynamic_cast.
2390
2391 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2392
2393 Backported from master:
2394 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2395
2396 PR libstdc++/115063
2397 * include/std/stacktrace (basic_stacktrace::max_size): Fix typo
2398 in reference to _M_alloc member.
2399 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check
2400 max_size() compiles.
2401
2402 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2403
2404 Backported from master:
2405 2024-05-01 Jonathan Wakely <jwakely (a] redhat.com>
2406
2407 PR libstdc++/114891
2408 * include/std/generator: Check feature test macro before using
2409 is_pointer_interconvertible_v.
2410
2411 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2412
2413 Backported from master:
2414 2024-05-07 Jonathan Wakely <jwakely (a] redhat.com>
2415
2416 * testsuite/util/testsuite_abi.cc: Update latest versions to
2417 new versions that should be used in future.
2418
2419 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2420
2421 Backported from master:
2422 2024-05-07 Jonathan Wakely <jwakely (a] redhat.com>
2423
2424 * include/bits/unicode.h (_Unicode_view::_M_read_utf8): Ensure
2425 count of characters consumed is correct when the end of the
2426 input is reached unexpectedly.
2427 * testsuite/ext/unicode/view.cc: Test incomplete UTF-8
2428 sequences.
2429
2430 2024-05-14 Jonathan Wakely <jwakely (a] redhat.com>
2431
2432 Backported from master:
2433 2024-05-07 Jonathan Wakely <jwakely (a] redhat.com>
2434
2435 PR libstdc++/114866
2436 * include/bits/out_ptr.h [!_GLIBCXX_HOSTED]: Don't refer to
2437 shared_ptr, __shared_ptr or __is_shred_ptr.
2438 * testsuite/20_util/headers/memory/114866.cc: New test.
2439
2440 2024-05-07 Release Manager
2441
2442 * GCC 14.1.0 released.
2443
2444 2024-05-03 Andreas Schwab <schwab (a] linux-m68k.org>
2445
2446 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
2447 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2448
2449 2024-04-30 Jonathan Wakely <jwakely (a] redhat.com>
2450
2451 Backported from master:
2452 2024-04-30 Jonathan Wakely <jwakely (a] redhat.com>
2453
2454 PR libstdc++/114863
2455 * include/std/format (__formatter_fp::format): Only use
2456 _M_localized for finite values.
2457 * testsuite/std/format/functions/format.cc: Check localized
2458 formatting of NaN and initiny.
2459
2460 2024-04-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2461
2462 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
2463 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
2464 Likewise.
2465 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
2466 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
2467 Likewise.
2468
2469 2024-04-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2470
2471 Backported from master:
2472 2024-04-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2473
2474 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
2475 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
2476 Likewise.
2477 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
2478 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
2479 Likewise.
2480
2481 2024-04-26 Jonathan Wakely <jwakely (a] redhat.com>
2482
2483 * doc/html/manual/status.html: Regenerate.
2484 * doc/xml/manual/status_cxx1998.xml: Replace references to
2485 mainline GCC.
2486 * doc/xml/manual/status_cxx2011.xml: Likewise.
2487 * doc/xml/manual/status_cxx2014.xml: Likewise.
2488 * doc/xml/manual/status_cxx2017.xml: Likewise.
2489 * doc/xml/manual/status_cxx2020.xml: Likewise.
2490 * doc/xml/manual/status_cxx2023.xml: Likewise.
2491 * doc/xml/manual/status_cxxtr1.xml: Likewise.
2492 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
2493
2494 2024-04-25 Jonathan Wakely <jwakely (a] redhat.com>
2495
2496 * scripts/run_doxygen: Rename man pages for nested types.
2497
2498 2024-04-25 Jonathan Wakely <jwakely (a] redhat.com>
2499
2500 * include/std/chrono (tzdb_list): Fix typo in Doxygen comment.
2501
2502 2024-04-25 Jonathan Wakely <jwakely (a] redhat.com>
2503
2504 * scripts/run_doxygen: Adjust sed pattern to match '\fR' for
2505 new man output that Doxygen 1.10 generates.
2506
2507 2024-04-25 Jonathan Wakely <jwakely (a] redhat.com>
2508
2509 * doc/doxygen/stdheader.cc (init_map): Add missing headers.
2510 * doc/doxygen/user.cfg.in (EXCLUDE): Exclude generated files for
2511 std::format and std::text_encoding.
2512
2513 2024-04-25 Jonathan Wakely <jwakely (a] redhat.com>
2514
2515 * include/std/variant: Add comment to #include.
2516
2517 2024-04-22 Matthias Kretz <m.kretz (a] gsi.de>
2518
2519 PR libstdc++/114803
2520 * include/experimental/bits/simd_builtin.h
2521 (_SimdBase2::operator __vector_type_t): There is no __builtin()
2522 function in _SimdWrapper, instead use its conversion operator.
2523 * testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New
2524 test.
2525
2526 2024-04-22 Matthias Kretz <m.kretz (a] gsi.de>
2527
2528 * include/experimental/bits/simd.h: Ignore -Wnarrowing for
2529 arm_neon.h.
2530 (__int_for_sizeof): Replace tautological compare with checking
2531 for invalid template parameter value.
2532 * include/experimental/bits/simd_builtin.h (__extract_part):
2533 Remove tautological compare by combining two static_assert.
2534
2535 2024-04-22 Jakub Jelinek <jakub (a] redhat.com>
2536
2537 * testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*.
2538 * testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't
2539 define on s390.
2540 * testsuite/17_intro/headers/c++2011/all_attributes.cc (packed):
2541 Likewise.
2542 * testsuite/17_intro/headers/c++2014/all_attributes.cc (packed):
2543 Likewise.
2544 * testsuite/17_intro/headers/c++2017/all_attributes.cc (packed):
2545 Likewise.
2546 * testsuite/17_intro/headers/c++2020/all_attributes.cc (packed):
2547 Likewise.
2548
2549 2024-04-19 Jonathan Wakely <jwakely (a] redhat.com>
2550
2551 * include/bits/refwrap.h (operator<=>): Simplify constraints.
2552
2553 2024-04-19 Jonathan Wakely <jwakely (a] redhat.com>
2554
2555 PR libstdc++/114770
2556 * src/c++20/tzdb.cc (do_locate_zone): Support links that have
2557 another link as their target.
2558 * testsuite/std/time/tzdb/1.cc: Check that all zones and links
2559 can be found by locate_zone.
2560 * testsuite/std/time/tzdb/links.cc: New test.
2561
2562 2024-04-18 Alexandre Oliva <oliva (a] adacore.com>
2563
2564 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
2565 Disable SRA.
2566
2567 2024-04-18 Alexandre Oliva <oliva (a] adacore.com>
2568
2569 * testsuite/20_util/from_chars/8.cc: Skip float128_t testing
2570 on aarch64-vxworks.
2571 * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on
2572 aarch64-vxworks.
2573
2574 2024-04-18 Alexandre Oliva <oliva (a] adacore.com>
2575
2576 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define
2577 on VxWorks non-RTP.
2578
2579 2024-04-17 Jonathan Wakely <jwakely (a] redhat.com>
2580
2581 * include/std/ostream (println(ostream&)): Define new overload.
2582 * include/std/print (println(FILE*), println()): Likewise.
2583 * testsuite/27_io/basic_ostream/print/2.cc: New test.
2584 * testsuite/27_io/print/1.cc: Remove unused header.
2585 * testsuite/27_io/print/3.cc: New test.
2586
2587 2024-04-17 Matthias Kretz <m.kretz (a] gsi.de>
2588
2589 * include/experimental/bits/numeric_traits.h: Add include guard.
2590
2591 2024-04-17 Matthias Kretz <m.kretz (a] gsi.de>
2592
2593 PR libstdc++/114750
2594 * include/experimental/bits/simd_builtin.h
2595 (_SimdImplBuiltin::_S_load, _S_store): Fall back to copying
2596 scalars if the memory type cannot be vectorized for the target.
2597
2598 2024-04-16 Jonathan Wakely <jwakely (a] redhat.com>
2599
2600 * config/locale/dragonfly/numeric_members.cc: Fix typos in
2601 comments.
2602 * config/locale/gnu/numeric_members.cc: Likewise.
2603
2604 2024-04-15 Jonathan Wakely <jwakely (a] redhat.com>
2605
2606 * doc/xml/manual/abi.xml: Replace "<next>" with "14.1.0".
2607 * doc/html/manual/abi.html: Regenerate.
2608
2609 2024-04-15 Jonathan Wakely <jwakely (a] redhat.com>
2610
2611 * include/bits/refwrap.h (reference_wrapper): Add comparison
2612 operators as proposed by P2944R3.
2613 * include/bits/version.def (reference_wrapper): Define.
2614 * include/bits/version.h: Regenerate.
2615 * include/std/functional: Enable feature test macro.
2616 * testsuite/20_util/reference_wrapper/compare.cc: New test.
2617
2618 2024-04-15 Jonathan Wakely <jwakely (a] redhat.com>
2619
2620 PR libstdc++/113386
2621 * include/bits/stl_pair.h (operator==, operator<=>): Support
2622 heterogeneous comparisons, as per LWG 3865.
2623 * testsuite/20_util/pair/comparison_operators/lwg3865.cc: New
2624 test.
2625
2626 2024-04-15 Jonathan Wakely <jwakely (a] redhat.com>
2627
2628 PR libstdc++/93672
2629 * src/c++98/istream.cc (istream::ignore(streamsize, int_type)):
2630 Treat all negative delimiter values as eof().
2631 * testsuite/27_io/basic_istream/ignore/char/93672.cc: New test.
2632 * testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New
2633 test.
2634
2635 2024-04-15 Andreas Schwab <schwab (a] suse.de>
2636
2637 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
2638
2639 2024-04-13 H.J. Lu <hjl.tools (a] gmail.com>
2640
2641 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
2642 Updated.
2643
2644 2024-04-11 Jakub Jelinek <jakub (a] redhat.com>
2645
2646 * doc/xml/manual/abi.xml: Add latest library versions.
2647 * doc/html/manual/abi.html: Regenerate.
2648
2649 2024-04-11 Jakub Jelinek <jakub (a] redhat.com>
2650
2651 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2652 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2653 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2654 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2655 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2656 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2657 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
2658 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
2659 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2660
2661 2024-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2662
2663 PR libstdc++/114692
2664 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Move new exports for
2665 __basic_file::native_handle to ...
2666 (GLIBCXX_3.4.33): ... here. Adjust to not match wchar_t
2667 specialization, which isn't used.
2668 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.33 and update
2669 latest version check.
2670
2671 2024-04-11 Jakub Jelinek <jakub (a] redhat.com>
2672
2673 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2674 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2675 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2676 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2677 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2678 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2679 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
2680 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
2681 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2682
2683 2024-04-10 Jonathan Wakely <jwakely (a] redhat.com>
2684
2685 * testsuite/27_io/manipulators/extended/get_time/char/2.cc:
2686 Adjust input string so that it matches %a with or without a
2687 trailing period.
2688 * testsuite/std/time/year_month_day/io.cc: Adjust expected
2689 format for %x in the fr_FR locale.
2690
2691 2024-04-10 Jonathan Wakely <jwakely (a] redhat.com>
2692
2693 * src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]:
2694 Check for EMLINK as well as ELOOP.
2695 [__NetBSD__]: Check for EFTYPE as well as ELOOP.
2696
2697 2024-04-09 Jonathan Wakely <jwakely (a] redhat.com>
2698
2699 PR libstdc++/114633
2700 * include/bits/chrono_io.h (_Parser::operator()) <'S'>: Use
2701 stream extraction if std::from_chars is not available.
2702
2703 2024-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2704
2705 PR libstdc++/114519
2706 * include/bits/unicode.h (_Utf8_view) [!__cpp_char8_t]: Define
2707 using char instead of char8_t.
2708 * testsuite/ext/unicode/view.cc: Use u8""sv literals to create
2709 string views, instead of std::u8string_view.
2710
2711 2024-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2712
2713 * testsuite/20_util/integer_comparisons/equal_neg.cc: Use
2714 no-opts selector for errors that depend on -fchar8_t.
2715 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
2716 Likewise.
2717 * testsuite/20_util/integer_comparisons/greater_neg.cc:
2718 Likewise.
2719 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
2720 Likewise.
2721 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
2722 Likewise.
2723 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
2724 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
2725 Likewise.
2726 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: Skip
2727 if -fno-char8_t is used.
2728 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
2729 Likewise.
2730 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
2731 Likewise.
2732 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
2733 Likewise.
2734 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: Use
2735 char for u8 literal if char8_t is not available.
2736 * testsuite/27_io/headers/iosfwd/synopsis.cc: Check
2737 __cpp_char8_t.
2738 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
2739 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
2740 Remove check for _GLIBCXX_USE_CHAR8_T.
2741
2742 2024-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2743
2744 * testsuite/20_util/from_chars/1_neg.cc: Add char8_t cases,
2745 using a struct of that name if -fno-char8_t is active.
2746 * testsuite/20_util/from_chars/1_c++20_neg.cc: Removed.
2747
2748 2024-04-03 Jonathan Wakely <jwakely (a] redhat.com>
2749
2750 PR libstdc++/104606
2751 * include/std/optional (operator<=>(const optional<T>&, const U&)):
2752 Reverse order of three_way_comparable_with template arguments.
2753 * testsuite/20_util/optional/relops/104606.cc: New test.
2754
2755 2024-04-02 Jonathan Wakely <jwakely (a] redhat.com>
2756
2757 PR libstdc++/114519
2758 * include/bits/unicode.h (_Utf8_view): Guard with check for
2759 char8_t being enabled.
2760 (__literal_encoding_is_unicode): Guard use of char8_t with check
2761 for it being enabled.
2762 * testsuite/std/format/functions/114519.cc: New test.
2763
2764 2024-04-02 Patrick Palka <ppalka (a] redhat.com>
2765
2766 * include/std/ranges (ranges::__detail::_Empty): Rename to ...
2767 (ranges::__detail::_Absent): ... this. Turn into a template
2768 parameterized by the absent type _Tp and discriminator _Disc.
2769 (ranges::__detail::__maybe_present_t): Add an optional
2770 discriminator parameter.
2771 (slide_view::_M_cached_begin): Pass a discriminator argument to
2772 __maybe_present_t.
2773 (slide_view::_M_cached_end): Likewise.
2774 * testsuite/std/ranges/adaptors/sizeof.cc: Verify the size of
2775 slide_view<V> is 3 instead 4 pointers.
2776
2777 2024-04-02 Jakub Jelinek <jakub (a] redhat.com>
2778
2779 * acinclude.m4: Fix duplicated words; file file -> file can.
2780 * configure.host: Fix duplicated words; the the -> the.
2781
2782 2024-03-29 Arsen Arsenovi <arsen (a] aarsen.me>
2783
2784 * testsuite/24_iterators/range_generators/01.cc: Drop GCC
2785 Runtime Library Exception.
2786 * testsuite/24_iterators/range_generators/02.cc: Drop GCC
2787 Runtime Library Exception.
2788 * testsuite/24_iterators/range_generators/copy.cc: Drop GCC
2789 Runtime Library Exception.
2790 * testsuite/24_iterators/range_generators/except.cc: Drop GCC
2791 Runtime Library Exception.
2792 * testsuite/24_iterators/range_generators/subrange.cc: Drop GCC
2793 Runtime Library Exception.
2794 * testsuite/24_iterators/range_generators/synopsis.cc: Drop GCC
2795 Runtime Library Exception.
2796 * testsuite/24_iterators/range_generators/iter_deref_return.cc:
2797 Drop GCC Runtime Library Exception from the "You should have
2798 received a copy" paragraph.
2799
2800 2024-03-27 Matthias Kretz <m.kretz (a] gsi.de>
2801
2802 * include/experimental/bits/simd_x86.h (_S_masked_unary):
2803 Cast inputs < 16 bytes to 16 byte vectors before calling the
2804 right subtraction builtin. Before returning, truncate to the
2805 return vector type.
2806
2807 2024-03-27 Matthias Kretz <m.kretz (a] gsi.de>
2808
2809 * include/experimental/bits/simd_x86.h (_S_masked_unary): Call
2810 the 4- and 8-byte variants of __builtin_ia32_subp[ds] without
2811 rounding direction argument.
2812
2813 2024-03-27 Srinivas Yadav Singanaboina <vasu.srinivasvasu.14 (a] gmail.com>
2814
2815 * include/Makefile.am: Add simd_sve.h.
2816 * include/Makefile.in: Add simd_sve.h.
2817 * include/experimental/bits/simd.h: Add new SveAbi.
2818 * include/experimental/bits/simd_builtin.h: Use
2819 __no_sve_deduce_t to support existing Neon Abi.
2820 * include/experimental/bits/simd_converter.h: Convert
2821 sequentially when sve is available.
2822 * include/experimental/bits/simd_detail.h: Define sve
2823 specific macro.
2824 * include/experimental/bits/simd_math.h: Fallback frexp
2825 to execute sequntially when sve is available, to handle
2826 fixed_size_simd return type that always uses sve.
2827 * include/experimental/simd: Include bits/simd_sve.h.
2828 * testsuite/experimental/simd/tests/bits/main.h: Enable
2829 testing for sve128, sve256, sve512.
2830 * include/experimental/bits/simd_sve.h: New file.
2831
2832 2024-03-26 Arsen Arsenovi <arsen (a] aarsen.me>
2833
2834 * include/std/generator (generator::_Iterator::operator*): Fix
2835 return type.
2836 * testsuite/24_iterators/range_generators/iter_deref_return.cc:
2837 New test.
2838
2839 2024-03-26 Arsen Arsenovi <arsen (a] aarsen.me>
2840
2841 * include/std/generator: Fix _V badname.
2842
2843 2024-03-26 Jonathan Wakely <jwakely (a] redhat.com>
2844
2845 * testsuite/19_diagnostics/stacktrace/current.cc: Check for
2846 __cpp_lib_stacktrace instead of check for stacktrace ET.
2847 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2848 * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise.
2849 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
2850 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2851 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
2852 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
2853 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
2854 Likewise.
2855 * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
2856 Remove.
2857
2858 2024-03-26 Jonathan Wakely <jwakely (a] redhat.com>
2859
2860 * testsuite/lib/dg-options.exp (dg-require-cpp-feature-test):
2861 New proc.
2862 * testsuite/lib/libstdc++.exp (check_v3_target_cpp_feature_test):
2863 New proc.
2864 * testsuite/std/text_encoding/cons.cc: Use new directive to skip
2865 the test if the __cpp_lib_text_encoding feature test macro is
2866 not defined.
2867 * testsuite/std/text_encoding/requirements.cc: Likewise.
2868
2869 2024-03-25 Jonathan Wakely <jwakely (a] redhat.com>
2870
2871 * testsuite/std/text_encoding/requirements.cc: #undef the
2872 correct macro.
2873
2874 2024-03-23 Jonathan Wakely <jwakely (a] redhat.com>
2875
2876 * include/std/format (formatter): Disable specializations that
2877 would allow sequences of narrow characters to be formatted as
2878 wchar_t without conversion, as per LWG 3944.
2879 * testsuite/std/format/formatter/lwg3944.cc: New test.
2880
2881 2024-03-23 Jonathan Wakely <jwakely (a] redhat.com>
2882
2883 * include/bits/utility.h (__is_in_place_index_v): New variable
2884 template.
2885 * include/std/variant (__not_in_place_tag): Define in terms of
2886 variable templates not a class template.
2887
2888 2024-03-23 Jonathan Wakely <jwakely (a] redhat.com>
2889
2890 PR libstdc++/114400
2891 * include/std/string_view (operator==): Use std::type_identity_t
2892 in C++20 instead of our own __type_identity_t.
2893
2894 2024-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2895
2896 PR libstdc++/114401
2897 * include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call
2898 release() on node handle instead of just zeroing its pointer.
2899 (_Hashtable::_M_reinsert_node_multi): Likewise.
2900 (_Hashtable::_M_merge_unique): Likewise.
2901 (_Hashtable::_M_merge_multi): Likewise.
2902 * include/bits/node_handle.h (_Node_handle_common::release()):
2903 New member function.
2904 (_Node_handle_common::_Optional_alloc::_M_empty): Remove
2905 unnecessary union member.
2906 (_Node_handle_common): Declare _Hashtable as a friend.
2907 * include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique):
2908 Call release() on node handle instead of just zeroing its
2909 pointer.
2910 (_Rb_tree::_M_reinsert_node_equal): Likewise.
2911 (_Rb_tree::_M_reinsert_node_hint_unique): Likewise.
2912 (_Rb_tree::_M_reinsert_node_hint_equal): Likewise.
2913 * testsuite/23_containers/multiset/modifiers/114401.cc: New test.
2914 * testsuite/23_containers/set/modifiers/114401.cc: New test.
2915 * testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test.
2916 * testsuite/23_containers/unordered_set/modifiers/114401.cc: New test.
2917
2918 2024-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2919
2920 PR libstdc++/113841
2921 * include/bits/allocator.h (allocator<cv T>): Add default
2922 constructor to partial specializations for cv-qualified types.
2923 * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()):
2924 Constrain so that it's only present if the allocator is default
2925 constructible.
2926 * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
2927 Likewise.
2928 * testsuite/23_containers/vector/cons/113841.cc: New test.
2929
2930 2024-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2931
2932 * include/bits/stl_construct.h (destroy_at, construct_at): Guard
2933 with feature test macros instead of just __cplusplus.
2934
2935 2024-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2936
2937 * include/bits/version.def (generator, tuple_like): Move earlier
2938 in the file.
2939 * include/bits/version.h: Regenerate.
2940
2941 2024-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2942
2943 PR libstdc++/114394
2944 * include/std/functional (bind): Use __invoke_result_t instead
2945 of result_of::type.
2946 * include/std/type_traits (__invoke_result_t): New alias
2947 template.
2948 * testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern.
2949
2950 2024-03-20 Franois Dumont <fdumont (a] gcc.gnu.org>
2951
2952 * include/bits/version.def (null_iterators): Remove extra_cond.
2953 * include/bits/version.h: Regenerate.
2954
2955 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2956
2957 PR libstdc++/114359
2958 * include/bits/random.tcc (binomial_distribution::param_type):
2959 Ensure arithmetic is done as type double.
2960 * testsuite/26_numerics/random/binomial_distribution/114359.cc: New test.
2961
2962 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2963
2964 PR libstdc++/101228
2965 * include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES):
2966 Define before including <tbb/task.h> then undef afterwards.
2967
2968 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2969
2970 * include/Makefile.am [MAINTAINER_MODE]: Add target to
2971 automatically update <bits/version.h>.
2972 * include/Makefile.in: Regenerate.
2973
2974 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2975
2976 * doc/xml/manual/build_hacking.xml: Document generated files.
2977 Update list of convenience libraries and sub-directories under
2978 the src directory.
2979 * doc/html/*: Regenerate.
2980
2981 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2982
2983 * include/bits/text_encoding-data.h: Regenerate.
2984 * include/bits/unicode-data.h: Regenerate.
2985 * scripts/gen_text_encoding_data.py: Fix header of generated
2986 file to name the correct script.
2987
2988 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2989
2990 * testsuite/util/pstl/test_utils.h: Fix typos in comments.
2991
2992 2024-03-19 Jonathan Wakely <jwakely (a] redhat.com>
2993
2994 PR libstdc++/114367
2995 * include/bits/stl_bvector.h (_M_allocate): Use allocator's
2996 construct function to begin lifetime of words.
2997
2998 2024-03-19 Iain Sandoe <iain (a] sandoe.co.uk>
2999
3000 * testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B
3001 option for the path to the uninstalled libatomic.
3002
3003 2024-03-19 Iain Sandoe <iain (a] sandoe.co.uk>
3004
3005 * testsuite/lib/libstdc++.exp (v3_target_compile): Instead of
3006 /dev/null, use a temporary file for test executables on Darwin.
3007
3008 2024-03-18 Franois Dumont <fdumont (a] gcc.gnu.org>
3009
3010 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance):
3011 Accept 0 offset advance on value-initialized iterator.
3012 * testsuite/23_containers/vector/debug/n3644.cc: New test case.
3013
3014 2024-03-18 Franois Dumont <fdumont (a] gcc.gnu.org>
3015
3016 * include/debug/safe_local_iterator.tcc
3017 (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and
3018 _M_singular checks.
3019 * testsuite/23_containers/unordered_set/debug/114316.cc: New test case.
3020
3021 2024-03-17 Franois Dumont <fdumont (a] gcc.gnu.org>
3022
3023 PR libstdc++/114316
3024 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
3025 First check if both iterators are value-initialized before checking if
3026 singular.
3027 * testsuite/23_containers/set/debug/114316.cc: New test case.
3028 * testsuite/23_containers/vector/debug/114316.cc: New test case.
3029
3030 2024-03-14 Jonathan Wakely <jwakely (a] redhat.com>
3031
3032 PR libstdc++/114325
3033 * include/std/format (_Scanner::_M_scan): Pass correct length to
3034 __to_chars_10_impl.
3035 * testsuite/std/format/functions/format.cc: Check negative
3036 integers with empty format-spec.
3037
3038 2024-03-14 Jonathan Wakely <jwakely (a] redhat.com>
3039
3040 * include/bits/stl_algo.h (find_end, all_of, none_of, any_of)
3041 (find_if_not, is_partitioned, partition_point, remove)
3042 (remove_if, unique, lower_bound, upper_bound, equal_range)
3043 (binary_search, includes, is_sorted, is_sorted_until, minmax)
3044 (minmax_element, is_permutation, clamp, find_if, find_first_of)
3045 (adjacent_find, count, count_if, search, search_n, min_element)
3046 (max_element): Add nodiscard attribute.
3047 * include/bits/stl_algobase.h (min, max, lower_bound, equal)
3048 (lexicographical_compare, lexicographical_compare_three_way)
3049 (mismatch): Likewise.
3050 * include/bits/stl_heap.h (is_heap, is_heap_until): Likewise.
3051 * testsuite/25_algorithms/equal/debug/1_neg.cc: Add dg-warning.
3052 * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise.
3053 * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise.
3054 * testsuite/25_algorithms/find_first_of/concept_check_1.cc:
3055 Likewise.
3056 * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
3057 * testsuite/25_algorithms/lexicographical_compare/71545.cc:
3058 Likewise.
3059 * testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
3060 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc:
3061 Likewise.
3062 * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc:
3063 Likewise.
3064 * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc:
3065 Likewise.
3066 * testsuite/25_algorithms/minmax/3.cc: Likewise.
3067 * testsuite/25_algorithms/search/78346.cc: Likewise.
3068 * testsuite/25_algorithms/search_n/58358.cc: Likewise.
3069 * testsuite/25_algorithms/unique/1.cc: Likewise.
3070 * testsuite/25_algorithms/unique/11480.cc: Likewise.
3071 * testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
3072 * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc:
3073 Likewise.
3074 * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc:
3075 Likewise.
3076 * testsuite/ext/concept_checks.cc: Likewise.
3077 * testsuite/ext/is_heap/47709.cc: Likewise.
3078 * testsuite/ext/is_sorted/cxx0x.cc: Likewise.
3079
3080 2024-03-14 xndcn <xndchn (a] gmail.com>
3081
3082 * include/bits/atomic_base.h (__atomic_float::__atomic_float(Fp)):
3083 Clear padding.
3084 * testsuite/29_atomics/atomic_float/compare_exchange_padding.cc:
3085 New test.
3086
3087 2024-03-14 Jonathan Wakely <jwakely (a] redhat.com>
3088
3089 PR libstdc++/66146
3090 * doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in
3091 note about std::call_once.
3092 * doc/xml/manual/status_cxx2014.xml: Likewise.
3093 * doc/xml/manual/status_cxx2017.xml: Likewise.
3094 * doc/html/manual/status.html: Regenerate.
3095
3096 2024-03-14 Jonathan Wakely <jwakely (a] redhat.com>
3097
3098 * doc/xml/manual/status_cxx2023.xml: Update C++23 status table.
3099 * doc/html/manual/status.html: Regenerate.
3100 * include/bits/version.def: Fix typo in comment.
3101
3102 2024-03-13 Jonathan Wakely <jwakely (a] redhat.com>
3103
3104 * testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat
3105 to namespace scope.
3106
3107 2024-03-13 Jonathan Wakely <jwakely (a] redhat.com>
3108
3109 * doc/xml/manual/debug.xml: Improve docs on debug builds and
3110 using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put
3111 the most relevant ones first.
3112 * doc/xml/manual/using.xml: Add comma.
3113 * doc/html/*: Regenerate.
3114
3115 2024-03-13 Jonathan Wakely <jwakely (a] redhat.com>
3116
3117 * doc/xml/manual/debug.xml: Document that concept checking might
3118 be removed in future.
3119 * doc/xml/manual/extensions.xml: Likewise.
3120
3121 2024-03-09 Jonathan Wakely <jwakely (a] redhat.com>
3122
3123 PR libstdc++/114240
3124 * include/bits/chrono_io.h (_Parser::operator()): Assume
3125 hours(0) for a time_point, so that a time is not required
3126 to be present.
3127 * testsuite/std/time/parse/114240.cc: New test.
3128
3129 2024-03-09 Jonathan Wakely <jwakely (a] redhat.com>
3130
3131 PR libstdc++/114279
3132 * include/bits/chrono_io.h (_Parser::_M_is_leap_second): New
3133 data member.
3134 (_Parser::_M_reserved): Reserve padding bits for future use.
3135 (_Parser::operator()): Set _M_is_leap_second if %S reads 60s.
3136 (from_stream): Only allow _M_is_leap_second for utc_time and
3137 local_time. Adjust arithmetic for utc_time so that leap seconds
3138 are preserved. Use time_point_cast to convert to a possibly
3139 lower-precision result type.
3140 * testsuite/std/time/parse.cc: Move to ...
3141 * testsuite/std/time/parse/parse.cc: ... here.
3142 * testsuite/std/time/parse/114279.cc: New test.
3143
3144 2024-03-07 Jonathan Wakely <jwakely (a] redhat.com>
3145
3146 * include/bits/chrono_io.h (_Parser::operator()): Use
3147 std::from_chars to parse fractional seconds.
3148
3149 2024-03-07 Jonathan Wakely <jwakely (a] redhat.com>
3150
3151 PR libstdc++/114244
3152 * include/bits/chrono_io.h (_Parser::operator()): Remove
3153 redundant uses of duration_cast. Use chrono::round to convert
3154 long double value to durations with integer representations.
3155 Check represenation type when deciding whether to skip parsing
3156 fractional seconds.
3157 * testsuite/20_util/duration/114244.cc: New test.
3158 * testsuite/20_util/duration/io.cc: Check that a floating-point
3159 duration with ratio<1> precision can be parsed.
3160
3161 2024-03-07 Jonathan Wakely <jwakely (a] redhat.com>
3162
3163 PR libstdc++/114103
3164 * include/bits/version.def (atomic_lock_free_type_aliases): Add
3165 extra_cond to check for at least one always-lock-free type.
3166 * include/bits/version.h: Regenerate.
3167 * include/std/atomic (atomic_signed_lock_free)
3168 (atomic_unsigned_lock_free): Only use always-lock-free types.
3169 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use
3170 atomic counter if lock-free aliases aren't available.
3171 * testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for
3172 targets without lock-free word-size compare_exchange.
3173
3174 2024-03-07 Jonathan Wakely <jwakely (a] redhat.com>
3175
3176 * include/std/chrono (__get_leap_second_info): Update expiry
3177 time for hardcoded list of leap seconds.
3178 * testsuite/std/time/tzdb/leap_seconds.cc: Update comment.
3179
3180 2024-03-07 Jonathan Wakely <jwakely (a] redhat.com>
3181
3182 * testsuite/23_containers/deque/allocator/default_init.cc: Use
3183 std::memset instead of __builtin_memset.
3184 * testsuite/23_containers/forward_list/allocator/default_init.cc:
3185 Likewise.
3186 * testsuite/23_containers/list/allocator/default_init.cc:
3187 Likewise.
3188 * testsuite/23_containers/map/allocator/default_init.cc:
3189 Likewise.
3190 * testsuite/23_containers/set/allocator/default_init.cc:
3191 Likewise.
3192 * testsuite/23_containers/unordered_map/allocator/default_init.cc:
3193 Likewise.
3194 * testsuite/23_containers/unordered_set/allocator/default_init.cc:
3195 Likewise.
3196 * testsuite/23_containers/vector/allocator/default_init.cc:
3197 Likewise.
3198 * testsuite/23_containers/vector/bool/allocator/default_init.cc:
3199 Likewise.
3200 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
3201 Likewise.
3202 * testsuite/util/atomic/wait_notify_util.h: Likewise.
3203
3204 2024-03-07 Jonathan Wakely <jwakely (a] redhat.com>
3205
3206 * include/std/format (_Arg_store::_S_make_elt): Add two
3207 static_assert checks to give more user-friendly error messages.
3208 * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune another
3209 form of "in requirements with" note.
3210 * testsuite/std/format/arguments/args_neg.cc: Check for
3211 user-friendly diagnostics for non-formattable types.
3212 * testsuite/std/format/string_neg.cc: Likewise.
3213
3214 2024-03-04 Jonathan Wakely <jwakely (a] redhat.com>
3215
3216 PR libstdc++/114147
3217 * include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)):
3218 Add missing overload of allocator-extended default constructor.
3219 (tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise.
3220 * testsuite/20_util/tuple/cons/114147.cc: New test.
3221
3222 2024-02-29 Jonathan Wakely <jwakely (a] redhat.com>
3223
3224 * include/std/format (basic_format_arg::handle::__maybe_const_t):
3225 Fix condition to check if const type is formattable.
3226 (basic_format_arg::handle::handle(T&)): Remove redundant
3227 static_assert.
3228 * testsuite/std/format/formatter/basic.cc: New test.
3229
3230 2024-02-29 Jonathan Wakely <jwakely (a] redhat.com>
3231
3232 PR libstdc++/113960
3233 * include/bits/stl_algobase.h (__is_byte_iter): Replace with ...
3234 (__memcmp_ordered_with): New concept.
3235 (lexicographical_compare_three_way): Use __memcmp_ordered_with
3236 instead of __is_byte_iter. Use correct length for memcmp.
3237 * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
3238 New test.
3239
3240 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3241
3242 PR libstdc++/114152
3243 * include/experimental/scope (scope_exit scope_fail): Make
3244 destructor unconditionally noexcept.
3245 (scope_sucess): Fix noexcept-specifier.
3246 * testsuite/experimental/scopeguard/114152.cc: New test.
3247
3248 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3249
3250 * doc/xml/manual/appendix_contributing.xml: Change URLs to use
3251 https.
3252 * doc/html/manual/*: Regenerate.
3253
3254 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3255
3256 * doc/xml/manual/appendix_contributing.xml: Replace outdated
3257 info on ChangeLog entries.
3258 * doc/html/manual/appendix_contributing.html: Regenerate.
3259
3260 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3261
3262 * include/bits/stl_bvector.h (vector<bool, A>::at): Add
3263 nodiscard.
3264 * include/bits/stl_vector.h (vector<T, A>::at): Likewise.
3265 (operator==, operator<=>, operator<, operator!=, operator>)
3266 (operator<=, operator>=): Likewise.
3267 * include/debug/vector (operator==, operator<=>, operator<)
3268 (operator!=, operator>, operator<=, operator>=): Likewise.
3269 * testsuite/23_containers/vector/nodiscard.cc: New test.
3270
3271 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3272
3273 * include/bits/atomic_base.h (operator|, operator&): Add
3274 noexcept.
3275 * include/bits/fs_fwd.h (operator&, operator|, operator^)
3276 (operator~): Add nodiscard to overloads for copy_options, perms,
3277 perm_options, and directory_options.
3278 * include/bits/ios_base.h (operator&, operator|, operator^)
3279 (operator~): Add nodiscard and noexcept to overloads for
3280 _Ios_Fmtflags, _Ios_Openmode, and _Ios_Iostate.
3281 (operator|=, operator&=, operator^=): Add constexpr for C++14.
3282 * include/bits/regex_constants.h (operator&, operator|, operator^)
3283 (operator~): Add nodiscard and noexcept to overloads for
3284 syntax_option_type and match_flag_type.
3285 (operator|=, operator&=, operator^=): Add noexcept.
3286 * include/std/charconv (operator&, operator|, operator^)
3287 (operator~): Add nodiscard to overloads for chars_format.
3288 * include/std/future (operator&, operator|, operator^)
3289 (operator~): Add nodiscard for overloads for launch.
3290 (operator&=, operator|=, operator^=): Add constexpr for C++14.
3291 * include/experimental/bits/fs_fwd.h (operator&, operator|)
3292 (operator^, operator~): Add nodiscard to overloads for
3293 copy_options, perms, and directory_options.
3294 * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc:
3295 Add dg-warning for nodiscard warnings.
3296 * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc:
3297 Likewise.
3298 * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc:
3299 Likewise.
3300 * testsuite/27_io/filesystem/operations/bitmask_types.cc:
3301 New test.
3302
3303 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3304
3305 * testsuite/27_io/basic_ostream/print/1.cc: Check error
3306 handling.
3307 * testsuite/27_io/print/1.cc: Likewise.
3308
3309 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3310
3311 * include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX
3312 code path for Cygwin instead of Windows.
3313 * include/std/print (vprint_unicode) [__CYGWIN__]: Likewise.
3314 * testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp
3315 for *-*-mingw* targets.
3316 * testsuite/27_io/print/1.cc: Likewise.
3317
3318 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3319
3320 * include/bits/alloc_traits.h: Include <bits/stl_iterator.h> for
3321 __make_move_if_noexcept_iterator.
3322
3323 2024-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3324
3325 * include/std/stacktrace: Add nodiscard attribute to all
3326 functions without side effects.
3327
3328 2024-02-20 Franois Dumont <fdumont (a] gcc.gnu.org>
3329
3330 * include/bits/stl_algobase.h (std::__niter_wrap): Add a call to
3331 std::__niter_base on res iterator.
3332
3333 2024-02-19 Iain Sandoe <iain (a] sandoe.co.uk>
3334 Jonathan Wakely <jwakely (a] redhat.com>
3335
3336 PR target/112397
3337 * configure: Regenerate.
3338 * configure.ac: Detect if we are building for Darwin.
3339 * libsupc++/Makefile.am: If we are building for Darwin, then
3340 suppress hot/cold partitioning for the array allocators.
3341 * libsupc++/Makefile.in: Regenerated.
3342
3343 2024-02-17 Franois Dumont <fdumont (a] gcc.gnu.org>
3344
3345 * include/bits/stl_algobase.h (std::__niter_base): Redefine the overload
3346 definitions for __gnu_debug::_Safe_iterator.
3347 * include/debug/safe_iterator.tcc (std::__niter_base): Adapt declarations.
3348
3349 2024-02-16 Jonathan Wakely <jwakely (a] redhat.com>
3350
3351 PR libstdc++/87744
3352 PR libstdc++/113961
3353 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3354 line number.
3355
3356 2024-02-16 Jonathan Wakely <jwakely (a] redhat.com>
3357
3358 PR libstdc++/87744
3359 PR libstdc++/113931
3360 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3361 line number.
3362
3363 2024-02-16 Jonathan Wakely <jwakely (a] redhat.com>
3364
3365 * doc/xml/manual/debug_mode.xml: Update docs for backtraces.
3366 * doc/html/manual/debug_mode_using.html: Regenerate.
3367
3368 2024-02-16 Jonathan Wakely <jwakely (a] redhat.com>
3369
3370 * doc/xml/manual/test.xml: Fix spelling of <envar> elements.
3371 * doc/html/manual/test.html: Regenerate.
3372
3373 2024-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3374
3375 PR libstdc++/113806
3376 * include/std/bitset (bitset::operator>>=): Remove redundant
3377 call to _M_do_sanitize.
3378
3379 2024-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3380
3381 PR libstdc++/113807
3382 * include/std/bitset (bitset::set()): Use memset instead of a
3383 loop over the individual words.
3384
3385 2024-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3386
3387 PR libstdc++/113811
3388 * include/bits/stl_algo.h (__rotate): Use unsigned values for
3389 division.
3390
3391 2024-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3392
3393 PR libstdc++/99117
3394 * include/std/valarray (valarray::operator=(const _Expr&)):
3395 Use loop to copy instead of __valarray_copy with _Array.
3396 * testsuite/26_numerics/valarray/99117.cc: New test.
3397
3398 2024-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3399
3400 * src/c++20/tzdata.zi: Import new file from 2024a release.
3401 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
3402 Update expiry date for leap seconds list.
3403
3404 2024-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3405
3406 PR libstdc++/87744
3407 * include/bits/random.h [!__SIZEOF_INT128__] (_Select_uint_least_t):
3408 Define specialization for 64-bit generators with
3409 non-power-of-two modulus and large constants.
3410 (__mod): Use if constexpr unconditionally.
3411 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3412 line number.
3413 * testsuite/26_numerics/random/linear_congruential_engine/87744.cc:
3414 New test.
3415
3416 2024-02-14 Gerald Pfeifer <gerald (a] pfeifer.com>
3417
3418 * doc/xml/manual/status_cxx2023.xml: Fix C++ item p2442 to be
3419 version 1.
3420 * doc/html/manual/status.html: Regenerate.
3421
3422 2024-02-12 Paul Keir <paul.keir (a] uws.ac.uk>
3423
3424 PR libstdc++/113294
3425 * include/bits/basic_string.h (basic_string::operator=): Use
3426 _M_use_local_data() instead of _M_local_buf on the moved-from
3427 string.
3428 * testsuite/21_strings/basic_string/modifiers/constexpr.cc
3429 (test_move): New test.
3430
3431 2024-02-09 Ken Matsui <kmatsui (a] gcc.gnu.org>
3432
3433 * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME):
3434 Removed.
3435 * include/std/type_traits (is_same): Use
3436 _GLIBCXX_USE_BUILTIN_TRAIT instead of
3437 _GLIBCXX_HAVE_BUILTIN_IS_SAME.
3438 (is_same_v): Likewise.
3439
3440 2024-02-08 Jonathan Wakely <jwakely (a] redhat.com>
3441
3442 * include/bits/shared_ptr_atomic.h: Fix typo in comment.
3443
3444 2024-02-08 Jonathan Wakely <jwakely (a] redhat.com>
3445
3446 PR libstdc++/100147
3447 * include/bits/gslice.h (operator=): Add comment about lack of
3448 self-assignment check.
3449
3450 2024-02-08 Jonathan Wakely <jwakely (a] redhat.com>
3451
3452 * include/tr2/type_traits (bases, direct_bases): Use
3453 __has_builtin to check if required built-ins are supported.
3454
3455 2024-02-07 Patrick Palka <ppalka (a] redhat.com>
3456
3457 PR testsuite/113710
3458 PR c++/113814
3459 * include/bits/stl_pair.h (tuple_element): Add forward
3460 declaration of the partial specialization for tuple.
3461
3462 2024-02-06 Torbjrn SVENSSON <torbjorn.svensson (a] foss.st.com>
3463
3464 * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null"
3465 for other environments.
3466
3467 2024-02-04 Jonathan Wakely <jwakely (a] redhat.com>
3468
3469 * include/std/format (__format::_Spec::_M_reserved): Define new
3470 bit-field members to reserve padding bits for future extensions.
3471
3472 2024-02-04 Jonathan Wakely <jwakely (a] redhat.com>
3473
3474 * src/experimental/Makefile.am: Use libstdc++fsconvenience.a
3475 instead of libstdc++fs.a.
3476 * src/experimental/Makefile.in: Regenerate.
3477 * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
3478 well.
3479 * src/filesystem/Makefile.in: Regenerate.
3480
3481 2024-02-04 Jonathan Wakely <jwakely (a] redhat.com>
3482
3483 * include/bits/text_encoding-data.h: Regenerate.
3484 * include/bits/unicode-data.h: Regenerate.
3485 * scripts/gen_text_encoding_data.py: Add copyright and license
3486 text to the output.
3487
3488 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3489
3490 PR libstdc++/113335
3491 * include/bits/std_function.h (__function_guide_helper): Add
3492 partial specialization for explicit object member functions, as
3493 per LWG 3617.
3494 * testsuite/20_util/function/cons/deduction_c++23.cc: Check
3495 explicit object member functions.
3496 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
3497 Likewise.
3498
3499 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3500
3501 * testsuite/17_intro/names.cc [_AIX]: Undefine "u".
3502
3503 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3504
3505 * include/experimental/internet (network_v6::network): Define.
3506 (network_v6::hosts): Finish implementing.
3507 (network_v6::to_string): Do not concatenate std::string to
3508 arbitrary std::basic_string specialization.
3509 * testsuite/experimental/net/internet/network/v6/cons.cc: New
3510 test.
3511
3512 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3513
3514 PR libstdc++/90276
3515 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix
3516 comparison function to use less-than instead of equality.
3517
3518 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3519
3520 PR libstdc++/90276
3521 * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
3522 perfect forwarding for iterator arguments.
3523
3524 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3525
3526 * include/std/string_view (basic_string_view(R&&)): Remove
3527 constraint that traits_type must be the same, as per LWG 3857.
3528 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
3529 Explicit conversion between different specializations should be
3530 allowed.
3531 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
3532 Likewise.
3533
3534 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3535
3536 * include/std/syncstream (basic_osyncstream::operator=): Remove
3537 noexcept, as per LWG 3867.
3538
3539 2024-02-02 Jonathan Wakely <jwakely (a] redhat.com>
3540
3541 * include/std/generator (promise_type::yield_value): Remove
3542 noexcept from fourth overload, as per LWG 3894.
3543
3544 2024-02-01 Patrick Palka <ppalka (a] redhat.com>
3545
3546 PR libstdc++/113309
3547 PR libstdc++/109203
3548 * include/bits/ranges_util.h (__detail::__pair_like): Don't
3549 define in C++23 mode.
3550 (__detail::__pair_like_convertible_from): Adjust as per P2165R4.
3551 (__detail::__is_subrange<subrange>): Moved from <ranges>.
3552 (__detail::__is_tuple_like_v<subrange>): Likewise.
3553 * include/bits/stl_iterator.h: Include <bits/utility.h> for
3554 C++23.
3555 (__different_from): Move to <concepts>.
3556 (__iter_key_t): Adjust for C++23 as per P2165R4.
3557 (__iter_val_t): Likewise.
3558 * include/bits/stl_pair.h (pair, array): Forward declare.
3559 (get): Forward declare all overloads relevant to P2165R4
3560 tuple-like constructors.
3561 (__is_tuple_v): Define for C++23.
3562 (__is_tuple_like_v): Define for C++23.
3563 (__tuple_like): Define for C++23 as per P2165R4.
3564 (__pair_like): Define for C++23 as per P2165R4.
3565 (__eligibile_tuple_like): Define for C++23.
3566 (__eligibile_pair_like): Define for C++23.
3567 (pair::_S_constructible_from_pair_like): Define for C++23.
3568 (pair::_S_convertible_from_pair_like): Define for C++23.
3569 (pair::_S_dangles_from_pair_like): Define for C++23.
3570 (pair::pair): Define overloads taking a tuple-like type for
3571 C++23 as per P2165R4.
3572 (pair::_S_assignable_from_tuple_like): Define for C++23.
3573 (pair::_S_const_assignable_from_tuple_like): Define for C++23.
3574 (pair::operator=): Define overloads taking a tuple-like type for
3575 C++23 as per P2165R4.
3576 * include/bits/utility.h (ranges::__detail::__is_subrange):
3577 Moved from <ranges>.
3578 * include/bits/version.def (tuple_like): Define for C++23.
3579 * include/bits/version.h: Regenerate.
3580 * include/std/concepts (__different_from): Moved from
3581 <bits/stl_iterator.h>.
3582 (ranges::__swap::__adl_swap): Clarify which __detail namespace.
3583 * include/std/map (__cpp_lib_tuple_like): Define C++23.
3584 * include/std/ranges (__detail::__is_subrange): Moved to
3585 <bits/utility.h>.
3586 (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h>
3587 (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4.
3588 (__detail::__tuple_or_pair): Remove as per P2165R4. Replace all
3589 uses with plain tuple as per P2165R4.
3590 * include/std/tuple (__cpp_lib_tuple_like): Define for C++23.
3591 (__tuple_like_tag_t): Define for C++23.
3592 (__tuple_cmp): Forward declare for C++23.
3593 (_Tuple_impl::_Tuple_impl): Define overloads taking
3594 __tuple_like_tag_t and a tuple-like type for C++23.
3595 (_Tuple_impl::_M_assign): Likewise.
3596 (tuple::__constructible_from_tuple_like): Define for C++23.
3597 (tuple::__convertible_from_tuple_like): Define for C++23.
3598 (tuple::__dangles_from_tuple_like): Define for C++23.
3599 (tuple::tuple): Define overloads taking a tuple-like type for
3600 C++23 as per P2165R4.
3601 (tuple::__assignable_from_tuple_like): Define for C++23.
3602 (tuple::__const_assignable_from_tuple_like): Define for C++23.
3603 (tuple::operator=): Define overloads taking a tuple-like type
3604 for C++23 as per P2165R4.
3605 (tuple::__tuple_like_common_comparison_category): Define for C++23.
3606 (tuple::operator<=>): Define overload taking a tuple-like type
3607 for C++23 as per P2165R4.
3608 (array, get): Forward declarations moved to <bits/stl_pair.h>.
3609 (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4.
3610 (apply): Likewise.
3611 (make_from_tuple): Likewise.
3612 (__tuple_like_common_reference): Define for C++23.
3613 (basic_common_reference): Adjust as per P2165R4.
3614 (__tuple_like_common_type): Define for C++23.
3615 (common_type): Adjust as per P2165R4.
3616 * include/std/unordered_map (__cpp_lib_tuple_like): Define for
3617 C++23.
3618 * include/std/utility (__cpp_lib_tuple_like): Define for C++23.
3619 * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair
3620 and 2-tuple interchangeably.
3621 (test05): New test.
3622 * testsuite/20_util/pair/p2165r4.cc: New test.
3623 * testsuite/20_util/tuple/p2165r4.cc: New test.
3624
3625 2024-02-01 Patrick Palka <ppalka (a] redhat.com>
3626
3627 * include/bits/stl_pair.h (pair::_S_const_assignable): Define,
3628 factored out from ...
3629 (pair::operator=): ... the constraints of the const overloads.
3630
3631 2024-02-01 Jonathan Wakely <jwakely (a] redhat.com>
3632
3633 * include/bits/version.tpl: Do not use def-file-line for each
3634 macro being defined.
3635 * include/bits/version.h: Regenerate.
3636
3637 2024-02-01 Jonathan Wakely <jwakely (a] redhat.com>
3638
3639 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
3640 dg-error pattern.
3641 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
3642 Likewise.
3643 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
3644 Likewise.
3645 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
3646 Likewise.
3647 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
3648 Likewise.
3649 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
3650 Likewise.
3651 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
3652 Likewise.
3653 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
3654 Likewise.
3655 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
3656 Likewise.
3657
3658 2024-02-01 Jonathan Wakely <jwakely (a] redhat.com>
3659
3660 * include/experimental/internet (network_v4::to_string()):
3661 Remove lambda and use of resize_and_overwrite.
3662
3663 2024-01-31 Jonathan Wakely <jwakely (a] redhat.com>
3664
3665 * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if
3666 needed for newlocale.
3667 * configure: Regenerate.
3668 * src/c++26/text_encoding.cc: Use <xlocale.h>.
3669
3670 2024-01-31 Jonathan Wakely <jwakely (a] redhat.com>
3671 Ewan Higgs <ewan.higgs (a] gmail.com>
3672
3673 * include/bits/text_encoding-data.h: Regenerate.
3674 * scripts/gen_text_encoding_data.py: Add extra_aliases dict
3675 containing "ASCII".
3676 * testsuite/std/text_encoding/cons.cc: Check "ascii" is known.
3677
3678 2024-01-31 Jonathan Wakely <jwakely (a] redhat.com>
3679
3680 * doc/xml/manual/using.xml: Update tables of supported headers.
3681 * doc/html/*: Regenerate.
3682
3683 2024-01-31 Jonathan Wakely <jwakely (a] redhat.com>
3684
3685 * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid
3686 -Wshift-count-overflow warning.
3687
3688 2024-01-30 Jonathan Wakely <jwakely (a] redhat.com>
3689
3690 * testsuite/std/time/clock/gps/io.cc: Fix expected result in
3691 assertion and call test_format() from main.
3692
3693 2024-01-29 Franois Dumont <fdumont (a] gcc.gnu.org>
3694
3695 * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use
3696 _GLIBCXX_DEBUG_BACKTRACE macro.
3697
3698 2024-01-24 Huanghui Nie <nnnjkk (a] gmail.com>
3699 Tho Papadopoulo <papadopoulo (a] gmail.com>
3700
3701 * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove
3702 _M_before_begin check and cleanup implementation.
3703
3704 2024-01-22 Jonathan Wakely <jwakely (a] redhat.com>
3705
3706 * testsuite/std/time/clock/file/io.cc: Fix expected result in
3707 assertion and call test_format() from main.
3708
3709 2024-01-21 Jonathan Wakely <jwakely (a] redhat.com>
3710
3711 PR libstdc++/113500
3712 * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
3713 printing of subseconds with floating-point rep.
3714 (__formatter_chrono::_M_format_to_ostream): Do not write
3715 time_point specializations directly to the ostream.
3716 (formatter<chrono::sys_time<D>, C>::parse): Do not allow an
3717 empty chrono-spec if the type fails to meet the constraints for
3718 writing to an ostream with operator<<.
3719 * testsuite/std/time/clock/file/io.cc: Check formatting
3720 non-integral times with empty chrono-specs.
3721 * testsuite/std/time/clock/gps/io.cc: Likewise.
3722 * testsuite/std/time/clock/utc/io.cc: Likewise.
3723 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
3724
3725 2024-01-21 Jonathan Wakely <jwakely (a] redhat.com>
3726
3727 * include/bits/chrono.h (__file_clock::from_sys)
3728 (__file_clock::to_sys, __file_clock::_S_from_sys)
3729 (__file_clock::_S_to_sys): Use common_type for return type.
3730 * testsuite/std/time/clock/file/members.cc: Check round trip
3731 conversion for time with lower precision that seconds.
3732
3733 2024-01-21 Jonathan Wakely <jwakely (a] redhat.com>
3734
3735 PR libstdc++/113512
3736 * include/std/format (__formatter_fp::format): Fix logic for
3737 alternate forms.
3738 * testsuite/std/format/functions/format.cc: Check buggy cases of
3739 alternate forms with g presentation type.
3740
3741 2024-01-20 Marek Polacek <polacek (a] redhat.com>
3742
3743 PR c++/111410
3744 * include/std/ranges: Add #pragma to disable -Wdangling-reference with
3745 std::ranges::views::__adaptor::operator|.
3746
3747 2024-01-19 Jonathan Wakely <jwakely (a] redhat.com>
3748
3749 * include/std/format (_Spec::_M_parse_fill_and_align): Do not
3750 use CTAD for _Utf32_view.
3751
3752 2024-01-19 Jonathan Wakely <jwakely (a] redhat.com>
3753
3754 PR libstdc++/108822
3755 * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix
3756 wrong fold-operator.
3757 * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one
3758 element and three elements. Check allocator-extended
3759 constructors.
3760
3761 2024-01-19 Patrick Palka <ppalka (a] redhat.com>
3762
3763 * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include
3764 <print> and <text_encoding> for C++23 and C++26 respectively.
3765
3766 2024-01-18 Patrick Palka <ppalka (a] redhat.com>
3767
3768 * include/bits/stl_pair.h [__cplusplus > 202002L]:
3769 Guard P2321R2 changes with __glibcxx_ranges_zip instead.
3770
3771 2024-01-18 Patrick Palka <ppalka (a] redhat.com>
3772
3773 * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2
3774 changes with __cpp_lib_ranges_zip instead.
3775
3776 2024-01-18 Patrick Palka <ppalka (a] redhat.com>
3777
3778 PR libstdc++/109536
3779 * include/debug/safe_base.h (_Safe_sequence_base::_M_swap):
3780 Remove _GLIBCXX20_CONSTEXPR from non-inline member function.
3781 * include/debug/safe_iterator.h
3782 (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define.
3783 (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define.
3784 (_Safe_iterator::operator=): Use them around the code path that
3785 defines a variable of type __gnu_cxx::__scoped_lock.
3786 (_Safe_iterator::operator++): Likewise.
3787 (_Safe_iterator::operator--): Likewise.
3788 (_Safe_iterator::operator+=): Likewise.
3789 (_Safe_iterator::operator-=): Likewise.
3790 * testsuite/23_containers/vector/element_access/constexpr.cc
3791 (test_iterators): Test more iterator operations.
3792 * testsuite/23_containers/vector/bool/element_access/constexpr.cc
3793 (test_iterators): Likewise.
3794 * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]:
3795 Remove.
3796
3797 2024-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3798
3799 * include/bits/unicode.h (__charset_alias_match): Initialize
3800 __var_a and __var_b.
3801
3802 2024-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3803
3804 PR libstdc++/113450
3805 * testsuite/std/format/functions/format.cc: Use signed char
3806 instead of int8_t.
3807
3808 2024-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3809
3810 PR libstdc++/113318
3811 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory.
3812 (GLIBCXX_CHECK_TEXT_ENCODING): Define.
3813 * config.h.in: Regenerate.
3814 * configure: Regenerate.
3815 * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING.
3816 * include/Makefile.am: Add new headers.
3817 * include/Makefile.in: Regenerate.
3818 * include/bits/locale_classes.h (locale::encoding): Declare new
3819 member function.
3820 * include/bits/unicode.h (__charset_alias_match): New function.
3821 * include/bits/text_encoding-data.h: New file.
3822 * include/bits/version.def (text_encoding): Define.
3823 * include/bits/version.h: Regenerate.
3824 * include/std/text_encoding: New file.
3825 * src/Makefile.am: Add new subdirectory.
3826 * src/Makefile.in: Regenerate.
3827 * src/c++26/Makefile.am: New file.
3828 * src/c++26/Makefile.in: New file.
3829 * src/c++26/text_encoding.cc: New file.
3830 * src/experimental/Makefile.am: Include c++26 convenience
3831 library.
3832 * src/experimental/Makefile.in: Regenerate.
3833 * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New
3834 printer.
3835 * scripts/gen_text_encoding_data.py: New file.
3836 * testsuite/22_locale/locale/encoding.cc: New test.
3837 * testsuite/ext/unicode/charset_alias_match.cc: New test.
3838 * testsuite/std/text_encoding/cons.cc: New test.
3839 * testsuite/std/text_encoding/members.cc: New test.
3840 * testsuite/std/text_encoding/requirements.cc: New test.
3841
3842 2024-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3843
3844 * include/bits/unicode.h (_Grapheme_cluster_view): Require view.
3845 Do not use CTAD for _Utf32_view.
3846 (__format_width, __truncate): Do not use CTAD.
3847 (enable_borrowed_range<_Utf_view<T, R>>): Define specialization.
3848 (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise.
3849
3850 2024-01-17 Patrick Palka <ppalka (a] redhat.com>
3851
3852 * include/std/ranges (views::_CartesianProduct::operator()):
3853 Adjust identity case as per P2540R1.
3854 * testsuite/std/ranges/cartesian_product/1.cc (test01):
3855 Adjust expected result of the identity case.
3856
3857 2024-01-15 Patrick Palka <ppalka (a] redhat.com>
3858
3859 * include/std/variant (__detail::__variant::_Variadic_union):
3860 Add bool __trivially_destructible template parameter.
3861 (__detail::__variant::_Variadic_union::~_Variadic_union):
3862 Use __trivially_destructible in constraints instead.
3863 (__detail::__variant::_Variant_storage): Pass
3864 __trivially_destructible value to _Variadic_union.
3865
3866 2024-01-15 Patrick Palka <ppalka (a] redhat.com>
3867
3868 * include/bits/stl_iterator.h (const_iterator): Define conversion
3869 operators as per P2836R1.
3870 * include/bits/version.def (ranges_as_const): Update value.
3871 * include/bits/version.h: Regenerate.
3872 * testsuite/24_iterators/const_iterator/1.cc (test04): New test.
3873 * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
3874 value of __cpp_lib_ranges_as_const.
3875 * testsuite/std/ranges/version_c++23.cc: Likewise.
3876
3877 2024-01-15 Jonathan Wakely <jwakely (a] redhat.com>
3878
3879 PR libstdc++/108822
3880 * include/std/tuple (__assignable, __is_nothrow_assignable):
3881 Move pre-C++20 definitions adjacent to their use.
3882
3883 2024-01-15 Jonathan Wakely <jwakely (a] redhat.com>
3884
3885 PR testsuite/113366
3886 * include/std/format (basic_format_arg): Use __formattable
3887 variable template instead of __format::__formattable_with
3888 concept.
3889
3890 2024-01-15 Jonathan Wakely <jwakely (a] redhat.com>
3891
3892 * src/c++20/tzdata.zi: Import new file from 2023d release.
3893 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
3894 Update expiry date for leap seconds list.
3895
3896 2024-01-13 Jonathan Wakely <jwakely (a] redhat.com>
3897
3898 PR libstdc++/108822
3899 * include/std/tuple (tuple): Add checks for dangling references.
3900 Reimplement constraints and constant expressions using C++20
3901 features.
3902 * include/std/type_traits [C++20]
3903 (__is_implicitly_default_constructible_v): Define.
3904 (__is_implicitly_default_constructible): Use variable template.
3905 * testsuite/20_util/tuple/dangling_ref.cc: New test.
3906
3907 2024-01-13 Patrick Palka <ppalka (a] redhat.com>
3908
3909 PR libstdc++/108827
3910 PR libstdc++/111327
3911 * include/bits/version.def (bind_back): Define.
3912 * include/bits/version.h: Regenerate.
3913 * include/std/functional (_Bind_back): Define for C++23.
3914 (bind_back): Likewise.
3915 * testsuite/20_util/function_objects/bind_back/1.cc: New test
3916 (adapted from corresponding bind_front test).
3917 * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.
3918
3919 2024-01-13 Patrick Palka <ppalka (a] redhat.com>
3920
3921 * include/std/functional (_Bind_front): Remove =default special
3922 member function declarations.
3923 (_Bind_front::operator()): Implement using C++23 deducing this
3924 when available.
3925 * testsuite/20_util/function_objects/bind_front/111327.cc:
3926 Adjust testcase to expect better errors in C++23 mode.
3927
3928 2024-01-13 Patrick Palka <ppalka (a] redhat.com>
3929
3930 * include/std/ranges (views::__adaptor::operator|): Perform
3931 perfect forwarding of arguments.
3932 (views::__adaptor::_RangeAdaptor::operator()): Pass dummy
3933 first argument to _Partial.
3934 (views::__adaptor::_Partial::_Partial): Likewise. Add dummy
3935 first parameter.
3936 (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding
3937 of arguments.
3938 (to): Pass dummy first argument to _Partial.
3939
3940 2024-01-13 Jonathan Wakely <jwakely (a] redhat.com>
3941
3942 PR libstdc++/107466
3943 * include/bits/random.tcc (subtract_with_carry_engine::seed):
3944 Implement proposed resolution of LWG 4014.
3945 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3946 line number.
3947 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
3948 Check for expected result of 64-bit engine with seed that
3949 doesn't fit in 32-bits.
3950
3951 2024-01-12 Jonathan Wakely <jwakely (a] redhat.com>
3952
3953 PR libstdc++/113320
3954 * include/std/format (__format::_Runtime_format_string): Add
3955 constructor and disable copy operations.
3956 (basic_format_string(_Runtime_format_string)): Add noexcept and
3957 take parameter by value not rvalue reference.
3958 (runtime_format): Add noexcept.
3959 * testsuite/std/format/runtime_format.cc: Check noexcept. Check
3960 that construction is only possible from prvalues, not xvalues.
3961
3962 2024-01-12 Jonathan Wakely <jwakely (a] redhat.com>
3963
3964 PR libstdc++/105505
3965 * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
3966 default template arguments, as per P1951R1.
3967 * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.
3968
3969 2024-01-12 Jonathan Wakely <jwakely (a] redhat.com>
3970
3971 * include/std/format (__format::_Arg_store): Fix PR number in
3972 comment. Simplify preprocessor code.
3973
3974 2024-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3975
3976 * doc/xml/manual/evolution.xml: Fix spelling.
3977 * doc/html/manual/api.html: Regenerate.
3978
3979 2024-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3980
3981 * doc/xml/manual/evolution.xml: Document addition of
3982 libstdc++exp.a.
3983 * doc/html/*: Regenerate.
3984
3985 2024-01-11 Marcus Haehnel <marcus.haehnel (a] kernkonzept.com>
3986
3987 * libsupc++/eh_unex_handler.cc: Adjust definition type to
3988 declaration.
3989
3990 2024-01-11 Michael Levine <mlevine55 (a] bloomberg.net>
3991
3992 * include/std/ranges (__glibcxx_want_ranges_iota): Remove
3993 duplicate definition.
3994
3995 2024-01-11 Franois Dumont <fdumont (a] gcc.gnu.org>
3996
3997 PR libstdc++/112477
3998 * src/c++11/debug.cc
3999 (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
4000 sequence.
4001 (_Safe_iterator_base::_M_attach_single): Likewise.
4002 (_Safe_local_iterator_base::_M_attach): Likewise.
4003 (_Safe_local_iterator_base::_M_attach_single): Likewise.
4004 * testsuite/23_containers/map/debug/112477.cc: New test case.
4005
4006 2024-01-11 Patrick Palka <ppalka (a] redhat.com>
4007
4008 * include/bits/move.h (__like_t): Define in C++23 mode.
4009 * include/std/ranges (views::__adaptor::Partial::operator()):
4010 Implement using C++23 deducing this when available.
4011 (views::__adaptor::_Pipe::operator()): Likewise.
4012 * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
4013 accept new "no match for call" errors issued in C++23 mode.
4014 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
4015
4016 2024-01-11 Jonathan Wakely <jwakely (a] redhat.com>
4017
4018 * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
4019 Add printer for std::integral_constant.
4020 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
4021
4022 2024-01-11 Jonathan Wakely <jwakely (a] redhat.com>
4023
4024 PR libstdc++/113258
4025 * libsupc++/new_opa.cc: Prefer to use posix_memalign if
4026 available.
4027
4028 2024-01-11 Ken Matsui <kmatsui (a] gcc.gnu.org>
4029
4030 * src/filesystem/ops-common.h (stat_type): Use using.
4031
4032 2024-01-11 Ken Matsui <kmatsui (a] gcc.gnu.org>
4033
4034 PR libstdc++/113250
4035 * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
4036 * src/filesystem/ops.cc (fs::equivalent): Likewise.
4037 * testsuite/27_io/filesystem/operations/equivalent.cc: Handle
4038 error codes.
4039 * testsuite/experimental/filesystem/operations/equivalent.cc:
4040 Likewise.
4041
4042 2024-01-11 Ken Matsui <kmatsui (a] gcc.gnu.org>
4043
4044 * include/std/type_traits (is_compound): Do not use __not_.
4045 (is_compound_v): Use is_fundamental_v instead.
4046
4047 2024-01-11 Patrick Palka <ppalka (a] redhat.com>
4048
4049 * include/bits/utility.h (_Nth_type): Use
4050 _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.
4051
4052 2024-01-09 Jonathan Wakely <jwakely (a] redhat.com>
4053
4054 * include/bits/unicode-data.h: Regenerate.
4055 * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
4056 by one error.
4057 (__incb_property): Add missing check for values before the
4058 first edge.
4059 (__is_extended_pictographic): Invert return values to fix
4060 copy&pasted logic.
4061 (_Grapheme_cluster_view::_Iterator): Remove second iterator
4062 member and find end of cluster lazily.
4063 * testsuite/ext/unicode/grapheme_view.cc: New test.
4064 * testsuite/ext/unicode/properties.cc: New test.
4065 * testsuite/ext/unicode/view.cc: New test.
4066
4067 2024-01-09 Andreas Schwab <schwab (a] linux-m68k.org>
4068
4069 * scripts/extract_symvers.in: Require final colon to only match
4070 .dsynsym in the header of the dynamic symtab.
4071
4072 2024-01-09 Jonathan Wakely <jwakely (a] redhat.com>
4073
4074 * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
4075 handling of string returned from std::format.
4076 (__formatter_chrono::_M_R_T): Likewise.
4077
4078 2024-01-08 Jonathan Wakely <jwakely (a] redhat.com>
4079
4080 * include/bits/unicode.h (__null_sentinel): Remove.
4081 * testsuite/17_intro/names.cc: Add __null_sentinel.
4082
4083 2024-01-08 Jonathan Wakely <jwakely (a] redhat.com>
4084
4085 * include/std/format (__format::_Runtime_format_string): Define
4086 new class template.
4087 (basic_format_string): Add non-consteval constructor for runtime
4088 format strings.
4089 (runtime_format): Define new function for C++26.
4090 * testsuite/std/format/runtime_format.cc: New test.
4091
4092 2024-01-08 Jonathan Wakely <jwakely (a] redhat.com>
4093
4094 * include/bits/chrono_io.h (__formatter_chrono): Always use
4095 lvalue arguments to make_format_args.
4096 * include/std/format (make_format_args): Change parameter pack
4097 from forwarding references to lvalue references. Remove use of
4098 remove_reference_t which is now unnecessary.
4099 (format_to, formatted_size): Remove incorrect forwarding of
4100 arguments.
4101 * include/std/ostream (print): Remove forwarding of arguments.
4102 * include/std/print (print): Likewise.
4103 * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
4104 make_format_args.
4105 * testsuite/std/format/arguments/args.cc: Likewise.
4106 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
4107 * testsuite/std/format/functions/format.cc: Likewise.
4108 * testsuite/std/format/functions/vformat_to.cc: Likewise.
4109 * testsuite/std/format/string.cc: Likewise.
4110 * testsuite/std/time/day/io.cc: Likewise.
4111 * testsuite/std/time/month/io.cc: Likewise.
4112 * testsuite/std/time/weekday/io.cc: Likewise.
4113 * testsuite/std/time/year/io.cc: Likewise.
4114 * testsuite/std/time/year_month_day/io.cc: Likewise.
4115 * testsuite/std/format/arguments/args_neg.cc: New test.
4116
4117 2024-01-08 Jonathan Wakely <jwakely (a] redhat.com>
4118
4119 * include/Makefile.am: Add new headers.
4120 * include/Makefile.in: Regenerate.
4121 * include/bits/unicode.h: New file.
4122 * include/bits/unicode-data.h: New file.
4123 * include/std/format: Include <bits/unicode.h>.
4124 (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
4125 (_Spec::_M_fill): Change type to char32_t.
4126 (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
4127 instead of a single character.
4128 (__write_padded): Change __fill_char parameter to char32_t and
4129 encode it into the output.
4130 (__formatter_str::format): Use new __unicode::__field_width and
4131 __unicode::__truncate functions.
4132 * include/std/ostream: Adjust namespace qualification for
4133 __literal_encoding_is_utf8.
4134 * include/std/print: Likewise.
4135 * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
4136 * testsuite/ext/unicode/view.cc: New test.
4137 * testsuite/std/format/functions/format.cc: Add missing examples
4138 from the standard demonstrating alignment with non-ASCII
4139 characters. Add examples checking correct handling of extended
4140 grapheme clusters.
4141
4142 2024-01-08 Jonathan Wakely <jwakely (a] redhat.com>
4143
4144 * include/bits/version.def (format_uchar): Define.
4145 * include/bits/version.h: Regenerate.
4146 * include/std/format (formatter<C, C>::format): Check for
4147 _Pres_c and call _M_format_character directly. Cast C to its
4148 unsigned equivalent for formatting as an integer.
4149 (formatter<char, wchar_t>::format): Likewise.
4150 (basic_format_arg(T&)): Store char arguments as unsigned char
4151 for formatting to a wide string.
4152 * testsuite/std/format/functions/format.cc: Adjust test. Check
4153 formatting of
4154
4155 2024-01-07 Jonathan Wakely <jwakely (a] redhat.com>
4156
4157 PR libstdc++/112997
4158 * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
4159 parameter to void*.
4160
4161 2024-01-07 Jonathan Wakely <jwakely (a] redhat.com>
4162
4163 * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
4164
4165 2024-01-07 Jonathan Wakely <jwakely (a] redhat.com>
4166
4167 * include/std/type_traits (is_trivially_destructible_v): Use
4168 built-in directly when concepts are supported.
4169 * testsuite/20_util/is_trivially_destructible/value_v.cc: New
4170 test.
4171
4172 2024-01-06 Gwenole Beauchesne <gb.devel (a] gmail.com>
4173
4174 * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
4175 nonnull arguments to strtoimax() and wcstoimax() functions.
4176
4177 2024-01-05 Jonathan Wakely <jwakely (a] redhat.com>
4178
4179 * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
4180 size and check for overflows in arithmetic.
4181 (path::operator/=(const path&)): Remove redundant exponential
4182 growth calculation.
4183
4184 2024-01-05 Martin Kttler <martin.kuettler (a] kernkonzept.com>
4185
4186 * src/c++17/fs_path.cc (path::_List::reserve): Avoid
4187 floating-point arithmetic.
4188
4189 2024-01-05 Jonathan Wakely <jwakely (a] redhat.com>
4190
4191 PR libstdc++/113241
4192 * include/std/type_traits (is_convertible_v): Guard use of
4193 built-in with preprocessor check.
4194
4195 2024-01-05 Jonathan Wakely <jwakely (a] redhat.com>
4196
4197 PR libstdc++/113200
4198 * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
4199 __builtin_constant_p to check for unrelated pointers that cannot
4200 be compared during constant evaluation.
4201 * testsuite/21_strings/char_traits/requirements/113200.cc: New
4202 test.
4203
4204 2024-01-05 Cassio Neri <cassio.neri (a] gmail.com>
4205
4206 * include/std/chrono: Fix + and - for months and weekdays.
4207 * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
4208 * testsuite/std/time/month/2.cc: New test for extreme values.
4209 * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
4210 * testsuite/std/time/weekday/2.cc: New test for extreme values.
4211
4212 2024-01-05 Jonathan Wakely <jwakely (a] redhat.com>
4213
4214 PR libstdc++/113099
4215 * include/bits/locale_classes.tcc (__try_use_facet): Use
4216 if-constexpr for C++11 and up.
4217
4218 2024-01-05 Ken Matsui <kmatsui (a] gcc.gnu.org>
4219
4220 * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
4221
4222 2024-01-04 Arsen Arsenovi <arsen (a] aarsen.me>
4223
4224 * include/std/generator (_Subyield_state::_M_jump_in): Fix typo
4225 reported by Will Hawkins <hawkinsw (a] obs.cr>.
4226
4227 2024-01-04 Arsen Arsenovi <arsen (a] aarsen.me>
4228
4229 * include/std/generator (_Stateless_alloc): Rename typename _A
4230 to _All.
4231
4232 2024-01-03 Patrick Palka <ppalka (a] redhat.com>
4233
4234 PR testsuite/113175
4235 * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
4236 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
4237 (test03): Likewise.
4238
4239
4241 Copyright (C) 2024 Free Software Foundation, Inc.
4242
4243 Copying and distribution of this file, with or without modification,
4244 are permitted in any medium without royalty provided the copyright
4245 notice and this notice are preserved.
4246