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