1 2023-12-31 Hans-Peter Nilsson <hp (a] axis.com> 2 3 * testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3. 4 5 2023-12-31 Franois Dumont <fdumont (a] gcc.gnu.org> 6 7 * include/bits/hashtable.h: Move comment about all equivalent values 8 being next to each other in the class documentation header. 9 (_M_reinsert_node, _M_merge_unique): Implement small size optimization. 10 (_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise. 11 12 2023-12-31 Franois Dumont <fdumont (a] gcc.gnu.org> 13 14 * testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries 15 w/o copy to see potential impact of memory fragmentation enhancements. 16 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash 17 functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as 18 slow or not to bench w/o hash code cache. 19 * testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like 20 previous one but using std::unordered_set. 21 * testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case. 22 Check performance of range-insertion compared to individual insertions. 23 * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench 24 but after a copy to demonstrate impact of enhancements regarding memory fragmentation. 25 26 2023-12-22 Christophe Lyon <christophe.lyon (a] linaro.org> 27 28 * Makefile.am: Allow overriding EXEPCT. 29 * Makefile.in: Regenerate. 30 31 2023-12-21 Arsen Arsenovi <arsen (a] aarsen.me> 32 33 * include/Makefile.am: Install std/generator, bits/elements_of.h 34 as freestanding. 35 * include/Makefile.in: Regenerate. 36 * include/bits/version.def: Add __cpp_lib_generator. 37 * include/bits/version.h: Regenerate. 38 * include/precompiled/stdc++.h: Include <generator>. 39 * include/std/ranges: Include bits/elements_of.h 40 * include/bits/elements_of.h: New file. 41 * include/std/generator: New file. 42 * testsuite/24_iterators/range_generators/01.cc: New test. 43 * testsuite/24_iterators/range_generators/02.cc: New test. 44 * testsuite/24_iterators/range_generators/copy.cc: New test. 45 * testsuite/24_iterators/range_generators/except.cc: New test. 46 * testsuite/24_iterators/range_generators/synopsis.cc: New test. 47 * testsuite/24_iterators/range_generators/subrange.cc: New test. 48 49 2023-12-21 Arsen Arsenovi <arsen (a] aarsen.me> 50 51 * include/bits/ranges_util.h: Add missing <bits/invoke.h> 52 include. 53 54 2023-12-18 Patrick Palka <ppalka (a] redhat.com> 55 56 PR libstdc++/112802 57 PR libstdc++/113068 58 * include/std/ranges (__detail::_To::operator()): Add constraints. 59 (__detail::_To2::operator()): Likewise. 60 * testsuite/std/ranges/conv/1.cc (test_sfinae): New test. 61 (test_composition): New test. 62 63 2023-12-16 Jonathan Wakely <jwakely (a] redhat.com> 64 65 * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno 66 macro. 67 68 2023-12-16 H.J. Lu <hjl.tools (a] gmail.com> 69 70 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: 71 Updated. 72 73 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 74 75 * include/std/type_traits (remove_pointer): Use __remove_pointer 76 built-in trait. 77 78 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 79 80 * include/std/type_traits (is_object): Use __is_object built-in 81 trait. 82 (is_object_v): Likewise. 83 84 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 85 86 * include/std/type_traits (is_function): Use __is_function 87 built-in trait. 88 (is_function_v): Likewise. Optimize its implementation. Move 89 this under is_const_v as this depends on is_const_v. 90 91 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 92 93 * include/std/type_traits (is_reference): Use __is_reference 94 built-in trait. 95 (is_reference_v): Likewise. 96 97 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 98 99 * include/std/type_traits (is_member_object_pointer): Use 100 __is_member_object_pointer built-in trait. 101 (is_member_object_pointer_v): Likewise. 102 103 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 104 105 * include/std/type_traits (is_member_function_pointer): Use 106 __is_member_function_pointer built-in trait. 107 (is_member_function_pointer_v): Likewise. 108 109 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 110 111 * include/std/type_traits (is_member_pointer): Use 112 __is_member_pointer built-in trait. 113 (is_member_pointer_v): Likewise. 114 115 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 116 117 * include/std/type_traits (is_scoped_enum): Use 118 __is_scoped_enum built-in trait. 119 (is_scoped_enum_v): Likewise. 120 121 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 122 123 * include/std/type_traits (is_bounded_array_v): Use 124 __is_bounded_array built-in trait. 125 126 2023-12-16 Ken Matsui <kmatsui (a] gcc.gnu.org> 127 128 * include/std/type_traits (is_array): Use __is_array built-in 129 trait. 130 (is_array_v): Likewise. 131 132 2023-12-15 Jonathan Wakely <jwakely (a] redhat.com> 133 134 * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle 135 does not refer to the console then just write to it using normal 136 file I/O. 137 * testsuite/27_io/print/2.cc (as_printed_to_terminal): Print 138 error message on failure. 139 (test_utf16_transcoding): Adjust for as_printed_to_terminal 140 modifying its argument. 141 142 2023-12-15 Jonathan Wakely <jwakely (a] redhat.com> 143 144 * include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard. 145 (vprint_unicode) [!_WIN32]: Just call vprint_nonunicode. 146 * include/std/print (vprint_unicode) [!_WIN32]: Likewise. 147 148 2023-12-15 Jonathan Wakely <jwakely (a] redhat.com> 149 150 * include/std/ostream (vprint_nonunicode, vprint_unicode): Do 151 not insert padding. 152 * testsuite/27_io/basic_ostream/print/1.cc: Adjust expected 153 behaviour. 154 155 2023-12-14 Jonathan Wakely <jwakely (a] redhat.com> 156 157 PR libstdc++/107760 158 * include/Makefile.am: Add new header. 159 * include/Makefile.in: Regenerate. 160 * include/bits/version.def (__cpp_lib_print): Define. 161 * include/bits/version.h: Regenerate. 162 * include/std/format (__literal_encoding_is_utf8): New function. 163 (_Seq_sink::view()): New member function. 164 * include/std/ostream (vprintf_nonunicode, vprintf_unicode) 165 (print, println): New functions. 166 * include/std/print: New file. 167 * src/c++23/Makefile.am: Add new source file. 168 * src/c++23/Makefile.in: Regenerate. 169 * src/c++23/print.cc: New file. 170 * testsuite/27_io/basic_ostream/print/1.cc: New test. 171 * testsuite/27_io/print/1.cc: New test. 172 * testsuite/27_io/print/2.cc: New test. 173 174 2023-12-14 Jonathan Wakely <jwakely (a] redhat.com> 175 176 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add 177 missing header to configure test. Check correct variable. 178 * config/io/basic_file_stdio.cc (__basic_file<char>::native_handle): 179 Fix typo. 180 * configure: Regenerate. 181 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not 182 call CloseHandle on the native handle. 183 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: 184 Likewise. 185 186 2023-12-14 Jonathan Wakely <jwakely (a] redhat.com> 187 188 * include/std/format (_Seq_sink): Fix missing argument in 189 discarded statement. Add comments, likely/unlikely attributes 190 and debug assertions as sanity checks. 191 192 2023-12-14 Jonathan Wakely <jwakely (a] redhat.com> 193 194 * testsuite/27_io/objects/char/2.cc: Use dg-output. 195 * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output. 196 197 2023-12-14 Jonathan Wakely <jwakely (a] redhat.com> 198 199 * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order 200 of arguments to std::format_to. 201 * testsuite/20_util/duration/io.cc: Test subsecond duration with 202 floating-point rep. 203 204 2023-12-14 Jonathan Wakely <jwakely (a] redhat.com> 205 206 PR libstdc++/109536 207 * include/bits/c++config (__glibcxx_constexpr_assert): Remove 208 macro. 209 * include/bits/stl_algobase.h (__niter_base, __copy_move_a) 210 (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) 211 (__lexicographical_compare_aux): Add constexpr to overloads for 212 debug mode iterators. 213 * include/debug/helper_functions.h (__unsafe): Add constexpr. 214 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove 215 macro, folding it into ... 216 (_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use 217 __glibcxx_constexpr_assert. 218 * include/debug/safe_base.h (_Safe_iterator_base): Add constexpr 219 to some member functions. Omit attaching, detaching and checking 220 operations during constant evaluation. 221 * include/debug/safe_container.h (_Safe_container): Likewise. 222 * include/debug/safe_iterator.h (_Safe_iterator): Likewise. 223 * include/debug/safe_iterator.tcc (__niter_base, __copy_move_a) 224 (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) 225 (__lexicographical_compare_aux): Add constexpr. 226 * include/debug/vector (_Safe_vector, vector): Add constexpr. 227 Omit safe iterator operations during constant evaluation. 228 * testsuite/23_containers/vector/bool/capacity/constexpr.cc: 229 Remove dg-xfail-if for debug mode. 230 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. 231 * testsuite/23_containers/vector/bool/cons/constexpr.cc: 232 Likewise. 233 * testsuite/23_containers/vector/bool/element_access/1.cc: 234 Likewise. 235 * testsuite/23_containers/vector/bool/element_access/constexpr.cc: 236 Likewise. 237 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: 238 Likewise. 239 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: 240 Likewise. 241 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: 242 Likewise. 243 * testsuite/23_containers/vector/capacity/constexpr.cc: 244 Likewise. 245 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. 246 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. 247 * testsuite/23_containers/vector/data_access/constexpr.cc: 248 Likewise. 249 * testsuite/23_containers/vector/element_access/constexpr.cc: 250 Likewise. 251 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: 252 Likewise. 253 * testsuite/23_containers/vector/modifiers/constexpr.cc: 254 Likewise. 255 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: 256 Likewise. 257 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: 258 Adjust dg-error line number. 259 260 2023-12-13 Jonathan Wakely <jwakely (a] redhat.com> 261 262 * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do 263 not round century down for %Y formats. 264 265 2023-12-12 Jonathan Wakely <jwakely (a] redhat.com> 266 267 * include/std/format (__do_vformat_to): Handle char separately 268 from other integral types. 269 * testsuite/std/format/functions/format.cc: Check for expected 270 output for char and bool arguments. 271 * testsuite/std/format/string.cc: Check that 0 filling is 272 rejected for character and string formats. 273 274 2023-12-12 Jonathan Wakely <jwakely (a] redhat.com> 275 276 * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix 277 rounding for negative centuries. 278 * testsuite/std/time/year/io.cc: Check %C for negative years. 279 280 2023-12-12 Jonathan Wakely <jwakely (a] redhat.com> 281 282 * src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags. 283 * src/c++11/Makefile.in: Regenerate. 284 285 2023-12-09 Jonathan Wakely <jwakely (a] redhat.com> 286 287 PR libstdc++/111826 288 * include/bits/version.def (format): Update value. 289 * include/bits/version.h: Regenerate. 290 * testsuite/std/format/functions/format.cc: 291 292 2023-12-09 Jonathan Wakely <jwakely (a] redhat.com> 293 294 PR libstdc++/112876 295 * include/std/ranges (ranges::to): Do not try to use an iterator 296 returned by the container's emplace or insert member functions. 297 * testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert): 298 Use the iterator parameter. Do not return an iterator. 299 300 2023-12-07 Patrick Palka <ppalka (a] redhat.com> 301 302 * include/std/ranges (__detail::_ToClosure): Replace with ... 303 (__detail::_To): ... this. 304 (__detail::_ToClosure2): Replace with ... 305 (__detail::To2): ... this. 306 (to): Simplify using the existing _Partial range adaptor 307 closure object. 308 309 2023-12-07 Jonathan Wakely <jwakely (a] redhat.com> 310 311 * include/std/format (_Iter_sink<charT, contiguous_iterator>): 312 Remove uint64_t local type. 313 314 2023-12-07 Jonathan Wakely <jwakely (a] redhat.com> 315 316 * include/bits/atomic_wait.h: Include <cstdint> instead of 317 <stdint.h>. 318 319 2023-12-07 Jonathan Wakely <jwakely (a] redhat.com> 320 321 PR libstdc++/112882 322 * include/bits/c++config (__is_constant_evaluated): Add 323 always_inline attribute. 324 (_GLIBCXX_DO_ASSERT): Remove macro. 325 (__glibcxx_assert): Define separately for assertions-enabled and 326 constexpr-only cases. 327 328 2023-12-07 Alexandre Oliva <oliva (a] adacore.com> 329 330 PR libstdc++/112858 331 * config/os/gnu-linux/os_defines.h 332 (_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define. 333 * libsupc++/atexit_thread.cc [__GXX_WEAK__ && 334 _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL] 335 (__cxa_thread_atexit): Add dynamic detection of 336 __cxa_thread_atexit_impl. 337 338 2023-12-06 Jason Merrill <jason (a] redhat.com> 339 340 DR 532 341 PR c++/53499 342 * testsuite/23_containers/vector/ext_pointer/types/1.cc 343 * testsuite/23_containers/vector/ext_pointer/types/2.cc 344 (N::operator-): Make less specialized. 345 346 2023-12-06 Alexandre Oliva <oliva (a] gnu.org> 347 348 Revert: 349 2023-12-02 Alexandre Oliva <oliva (a] adacore.com> 350 351 * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic 352 detection of __cxa_thread_atexit_impl. 353 354 2023-12-05 Jonathan Wakely <jwakely (a] redhat.com> 355 356 PR libstdc++/111948 357 * include/bits/ranges_util.h (subrange): Add constructor to 358 _Size to aoid setting member in constructor. 359 * testsuite/std/ranges/subrange/111948.cc: New test. 360 361 2023-12-05 Jonathan Wakely <jwakely (a] redhat.com> 362 363 * include/std/ranges (__detail::__container_insertable): Remove. 364 (__detail::__container_inserter): Remove. 365 (ranges::to): Use emplace_back or emplace, as per LWG 4016. 366 * testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for 367 use of emplace_back and emplace. 368 369 2023-12-05 Jonathan Wakely <jwakely (a] redhat.com> 370 371 * include/bits/c++config (__glibcxx_assert_fail): Declare even 372 when assertions are not enabled. 373 (__glibcxx_constexpr_assert): Remove macro. 374 (__glibcxx_assert_impl): Remove macro. 375 (_GLIBCXX_ASSERT_FAIL): New macro. 376 (_GLIBCXX_DO_ASSERT): New macro. 377 (__glibcxx_assert): Simplify to a single definition that works 378 at runtime and during constant evaluation. 379 * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 380 Adjust expected errors. 381 * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: 382 Likewise. 383 * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 384 Likewise. 385 * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 386 Likewise. 387 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: 388 Likewise. 389 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 390 Likewise. 391 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: 392 Likewise. 393 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: 394 Likewise. 395 * testsuite/23_containers/span/back_neg.cc: Likewise. 396 * testsuite/23_containers/span/front_neg.cc: Likewise. 397 * testsuite/23_containers/span/index_op_neg.cc: Likewise. 398 * testsuite/26_numerics/lcm/105844.cc: Likewise. 399 400 2023-12-05 Jonathan Wakely <jwakely (a] redhat.com> 401 402 PR libstdc++/112832 403 * include/std/format (formatter::set_debug_format): Ensure this 404 member is defined conditionally for all specializations. 405 * testsuite/std/format/formatter/112832.cc: New test. 406 407 2023-12-05 Will Hawkins <hawkinsw (a] obs.cr> 408 Jonathan Wakely <jwakely (a] redhat.com> 409 410 * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check 411 for LWG Issue 3897. 412 413 2023-12-05 Marek Polacek <polacek (a] redhat.com> 414 415 PR c++/107687 416 PR c++/110997 417 * testsuite/18_support/comparisons/categories/zero_neg.cc: Add 418 dg-prune-output. 419 * testsuite/std/format/string_neg.cc: Add dg-error. 420 421 2023-12-02 Alexandre Oliva <oliva (a] adacore.com> 422 423 * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic 424 detection of __cxa_thread_atexit_impl. 425 426 2023-12-01 Jason Merrill <jason (a] redhat.com> 427 428 * include/std/bit: Avoid builtins in requires-clauses. 429 * include/std/variant: Likewise. 430 431 2023-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 432 433 * configure: Regenerate. 434 435 2023-11-30 Jonathan Wakely <jwakely (a] redhat.com> 436 437 * include/std/ranges (__detail::__toable): Fix incorrect use of 438 _Range instead of _Cont. 439 (__detail::_ToClosure, __detail::_ToClosure2): Add missing 440 constexpr specifier on constructors. 441 * testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove 442 unnecessary begin() and end() members. 443 (test_constexpr): New function to check range adaptors are 444 usable in constant expressions. 445 446 2023-11-29 Thomas Schwinge <thomas (a] codesourcery.com> 447 448 * testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions' 449 configurations. 450 451 2023-11-28 Jonathan Wakely <jwakely (a] redhat.com> 452 453 * include/bits/atomic_wait.h: Include <stdint.h>. 454 455 2023-11-28 Jonathan Wakely <jwakely (a] redhat.com> 456 457 * include/bits/stl_uninitialized.h: Fix typo in comment. 458 459 2023-11-24 Jan Hubicka <jh (a] suse.cz> 460 461 PR middle-end/109849 462 * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead 463 of memmove. 464 465 2023-11-23 Jonathan Wakely <jwakely (a] redhat.com> 466 467 PR libstdc++/111055 468 * include/bits/ranges_base.h (from_range_t): Define new tag 469 type. 470 (from_range): Define new tag object. 471 * include/bits/version.def (ranges_to_container): Define. 472 * include/bits/version.h: Regenerate. 473 * include/std/ranges (ranges::to): Define. 474 * testsuite/std/ranges/conv/1.cc: New test. 475 * testsuite/std/ranges/conv/2_neg.cc: New test. 476 * testsuite/std/ranges/conv/version.cc: New test. 477 478 2023-11-23 Jonathan Wakely <jwakely (a] redhat.com> 479 480 * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix 481 equality operator for heterogeneous comparisons. 482 483 2023-11-21 Jonathan Wakely <jwakely (a] redhat.com> 484 485 * include/bits/version.def (freestanding_cstring): Add. 486 * include/bits/version.h: Regenerate. 487 * include/c_compatibility/string.h (strtok): Do not declare for 488 C++26 freestanding. 489 * include/c_global/cstring (strtok): Likewise. 490 * testsuite/21_strings/headers/cstring/version.cc: New test. 491 492 2023-11-21 Jonathan Wakely <jwakely (a] redhat.com> 493 494 * include/bits/version.def (freestanding_algorithm) 495 (freestanding_array, freestanding_optional) 496 (freestanding_string_view, freestanding_variant): Add. 497 * include/bits/version.h: Regenerate. 498 * include/std/algorithm (__glibcxx_want_freestanding_algorithm): 499 Define. 500 * include/std/array (__glibcxx_want_freestanding_array): 501 Define. 502 * include/std/optional (__glibcxx_want_freestanding_optional): 503 Define. 504 * include/std/string_view 505 (__glibcxx_want_freestanding_string_view): Define. 506 * include/std/variant (__glibcxx_want_freestanding_variant): 507 Define. 508 * testsuite/20_util/optional/version.cc: Add checks for 509 __cpp_lib_freestanding_optional. 510 * testsuite/20_util/variant/version.cc: Add checks for 511 __cpp_lib_freestanding_variant. 512 * testsuite/23_containers/array/tuple_interface/get_neg.cc: 513 Adjust dg-error line numbers. 514 * testsuite/21_strings/basic_string_view/requirements/version.cc: 515 New test. 516 * testsuite/23_containers/array/requirements/version.cc: New 517 test. 518 * testsuite/25_algorithms/fill_n/requirements/version.cc: New 519 test. 520 * testsuite/25_algorithms/swap_ranges/requirements/version.cc: 521 New test. 522 523 2023-11-21 Jonathan Wakely <jwakely (a] redhat.com> 524 525 * include/bits/version.def (freestanding_expected): New macro. 526 (span): Add C++26 value. 527 * include/bits/version.h: Regenerate. 528 * include/std/expected (__glibcxx_want_freestanding_expected): 529 Define. 530 * include/std/span (span::at): New member function. 531 * testsuite/20_util/expected/version.cc: Add checks for 532 __cpp_lib_freestanding_expected. 533 * testsuite/23_containers/span/2.cc: Moved to... 534 * testsuite/23_containers/span/version.cc: ...here. Add checks 535 for __cpp_lib_span in <span> as well as in <version>. 536 * testsuite/23_containers/span/1.cc: Removed. 537 * testsuite/23_containers/span/at.cc: New test. 538 539 2023-11-21 Jonathan Wakely <jwakely (a] redhat.com> 540 541 * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one 542 characters to _M_copy_from_string. 543 * testsuite/tr2/dynamic_bitset/string.cc: New test. 544 545 2023-11-21 Jonathan Wakely <jwakely (a] redhat.com> 546 547 * doc/html/*: Regenerate. 548 * doc/xml/faq.xml: Remove reference to buildstat.html pages. 549 * doc/xml/manual/test.xml: Likewise 550 551 2023-11-21 Jan Hubicka <jh (a] suse.cz> 552 553 PR libstdc++/110287 554 PR middle-end/109811 555 PR middle-end/109849 556 * include/bits/stl_vector.h (_M_realloc_append): New member function. 557 (push_back): Use it. 558 * include/bits/vector.tcc: (emplace_back): Use it. 559 (_M_realloc_insert): Let compiler know that new vector size is non-zero. 560 (_M_realloc_append): New member function. 561 562 2023-11-18 Jonathan Wakely <jwakely (a] redhat.com> 563 564 PR libstdc++/112607 565 * include/std/format (basic_format_arg::_S_to_arg_type): Check 566 value_type for basic_string_view and basic_string 567 specializations. 568 * testsuite/std/format/arguments/112607.cc: New test. 569 570 2023-11-18 Jonathan Wakely <jwakely (a] redhat.com> 571 572 PR libstdc++/110801 573 * include/std/format (_Sink_iter::_M_reserve): New member 574 function. 575 (_Sink::_Reservation): New nested class. 576 (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions. 577 (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual 578 overrides. 579 (_Iter_sink<O, ContigIter>::_M_reserve): Likewise. 580 (__do_vformat_to): Use new functions to optimize "{}" case. 581 582 2023-11-17 Jonathan Wakely <jwakely (a] redhat.com> 583 584 * config.h.in: Regenerate. 585 586 2023-11-17 Jonathan Wakely <jwakely (a] redhat.com> 587 588 * include/Makefile.am: Add new header. 589 * include/Makefile.in: Regenerate. 590 * include/bits/version.def (saturation_arithmetic): Define. 591 * include/bits/version.h: Regenerate. 592 * include/std/numeric: Include new header. 593 * include/bits/sat_arith.h: New file. 594 * testsuite/26_numerics/saturation/add.cc: New test. 595 * testsuite/26_numerics/saturation/cast.cc: New test. 596 * testsuite/26_numerics/saturation/div.cc: New test. 597 * testsuite/26_numerics/saturation/mul.cc: New test. 598 * testsuite/26_numerics/saturation/sub.cc: New test. 599 * testsuite/26_numerics/saturation/version.cc: New test. 600 601 2023-11-17 Jonathan Wakely <jwakely (a] redhat.com> 602 603 * include/std/utility (in_range): Rename _Up parameter to _Res. 604 605 2023-11-17 Jonathan Wakely <jwakely (a] redhat.com> 606 607 * include/bits/out_ptr.h: Add Doxygen comments. Remove a 608 redundant preprocessor condition. 609 * testsuite/20_util/smartptr.adapt/version.cc: New test. 610 611 2023-11-17 Jonathan Wakely <jwakely (a] redhat.com> 612 613 * include/bits/chrono_io.h: Fix Doxygen markup. 614 615 2023-11-16 Jonathan Wakely <jwakely (a] redhat.com> 616 617 PR libstdc++/112564 618 * include/std/stacktrace (formatter::format): Format according 619 to format-spec. 620 * include/std/thread (formatter::format): Use _Align_right as 621 default. 622 * testsuite/19_diagnostics/stacktrace/output.cc: Check 623 fill-and-align handling. Change compile test to run. 624 * testsuite/30_threads/thread/id/output.cc: Check fill-and-align 625 handling. 626 627 2023-11-16 Jonathan Wakely <jwakely (a] redhat.com> 628 629 PR libstdc++/111667 630 * include/Makefile.am: Add new header. 631 * include/Makefile.in: Regenerate. 632 * include/bits/out_ptr.h: New file. 633 * include/bits/shared_ptr.h (__is_shared_ptr): Move definition 634 to here ... 635 * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from 636 here. 637 * include/bits/shared_ptr_base.h (__shared_count): Declare 638 out_ptr_t as a friend. 639 (_Sp_counted_deleter, __shared_ptr): Likewise. 640 * include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>): 641 Declare out_ptr_t and inout_ptr_t as friends. 642 (__is_unique_ptr): Define new variable template. 643 * include/bits/version.def (out_ptr): Define. 644 * include/bits/version.h: Regenerate. 645 * include/std/memory: Include new header. 646 * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test. 647 * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test. 648 * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc: 649 New test. 650 * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New 651 test. 652 * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test. 653 * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test. 654 * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc: 655 New test. 656 * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New 657 test. 658 659 2023-11-16 Jonathan Wakely <jwakely (a] redhat.com> 660 661 * include/bits/algorithmfwd.h: Do not define standard feature 662 test macro here. 663 * include/bits/align.h: Likewise. Test internal macros instead 664 of standard macros. 665 * include/bits/alloc_traits.h: Likewise. 666 * include/bits/allocator.h: Likewise. 667 * include/bits/atomic_base.h: Likewise. 668 * include/bits/atomic_timed_wait.h: Likewise. 669 * include/bits/atomic_wait.h: Likewise. 670 * include/bits/basic_string.h: Likewise. 671 * include/bits/basic_string.tcc: Likewise. 672 * include/bits/char_traits.h: Likewise. 673 * include/bits/chrono.h: Likewise. 674 * include/bits/cow_string.h: Likewise. 675 * include/bits/forward_list.h: Likewise. 676 * include/bits/hashtable.h: Likewise. 677 * include/bits/ios_base.h: Likewise. 678 * include/bits/memory_resource.h: Likewise. 679 * include/bits/move.h: Likewise. 680 * include/bits/move_only_function.h: Likewise. 681 * include/bits/node_handle.h: Likewise. 682 * include/bits/ptr_traits.h: Likewise. 683 * include/bits/range_access.h: Likewise. 684 * include/bits/ranges_algo.h: Likewise. 685 * include/bits/ranges_cmp.h: Likewise. 686 * include/bits/ranges_util.h: Likewise. 687 * include/bits/semaphore_base.h: Likewise. 688 * include/bits/shared_ptr.h: Likewise. 689 * include/bits/shared_ptr_atomic.h: Likewise. 690 * include/bits/shared_ptr_base.h: Likewise. 691 * include/bits/stl_algo.h: Likewise. 692 * include/bits/stl_algobase.h: Likewise. 693 * include/bits/stl_function.h: Likewise. 694 * include/bits/stl_iterator.h: Likewise. 695 * include/bits/stl_list.h: Likewise. 696 * include/bits/stl_map.h: Likewise. 697 * include/bits/stl_pair.h: Likewise. 698 * include/bits/stl_queue.h: Likewise. 699 * include/bits/stl_stack.h: Likewise. 700 * include/bits/stl_tree.h: Likewise. 701 * include/bits/stl_uninitialized.h: Likewise. 702 * include/bits/stl_vector.h: Likewise. 703 * include/bits/unique_ptr.h: Likewise. 704 * include/bits/unordered_map.h: Likewise. 705 * include/bits/uses_allocator_args.h: Likewise. 706 * include/bits/utility.h: Likewise. 707 * include/bits/erase_if.h: Add comment. 708 * include/std/algorithm: Define standard feature test macros 709 here. 710 * include/std/atomic: Likewise. 711 * include/std/array: Likewise. 712 * include/std/chrono: Likewise. 713 * include/std/condition_variable: Likewise. 714 * include/std/deque: Likewise. 715 * include/std/format: Likewise. 716 * include/std/functional: Likewise. 717 * include/std/forward_list: Likewise. 718 * include/std/ios: Likewise. 719 * include/std/iterator: Likewise. 720 * include/std/list: Likewise. 721 * include/std/map: Likewise. 722 * include/std/memory: Likewise. 723 * include/std/numeric: Likewise. 724 * include/std/queue: Likewise. 725 * include/std/ranges: Likewise. 726 * include/std/regex: Likewise. 727 * include/std/set: Likewise. 728 * include/std/stack: Likewise. 729 * include/std/stop_token: Likewise. 730 * include/std/string: Likewise. 731 * include/std/string_view: 732 * include/std/tuple: Likewise. 733 * include/std/unordered_map: 734 * include/std/unordered_set: 735 * include/std/utility: Likewise. 736 * include/std/vector: Likewise. 737 * include/std/scoped_allocator: Query internal macros instead of 738 standard macros. 739 740 2023-11-16 Jonathan Wakely <jwakely (a] redhat.com> 741 742 * testsuite/18_support/byte/requirements.cc: Disable PCH. 743 * testsuite/18_support/destroying_delete.cc: Likewise. 744 * testsuite/18_support/source_location/1.cc: Likewise. 745 * testsuite/18_support/source_location/version.cc: Likewise. 746 * testsuite/18_support/type_info/constexpr.cc: Likewise. 747 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 748 Likewise. 749 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. 750 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. 751 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. 752 * testsuite/20_util/addressof/requirements/constexpr.cc: 753 Likewise. 754 * testsuite/20_util/allocator_traits/header-2.cc: Likewise. 755 * testsuite/20_util/allocator_traits/header.cc: Likewise. 756 * testsuite/20_util/as_const/1.cc: Likewise. Likewise. 757 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. 758 * testsuite/20_util/bitset/version.cc: Likewise. 759 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: 760 Likewise. 761 * testsuite/20_util/duration_cast/rounding.cc: Likewise. 762 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: 763 Likewise. 764 * testsuite/20_util/exchange/constexpr.cc: Likewise. 765 * testsuite/20_util/expected/synopsis.cc: Likewise. 766 * testsuite/20_util/expected/version.cc: Likewise. 767 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. 768 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. 769 * testsuite/20_util/function_objects/invoke/3.cc: Likewise. 770 * testsuite/20_util/function_objects/invoke/4.cc: Likewise. 771 * testsuite/20_util/function_objects/invoke/constexpr.cc: 772 Likewise. 773 * testsuite/20_util/function_objects/invoke/version.cc: 774 Likewise. 775 * testsuite/20_util/function_objects/searchers.cc: Likewise. 776 * testsuite/20_util/integer_comparisons/1.cc: Likewise. 777 * testsuite/20_util/integer_comparisons/2.cc: Likewise. 778 * testsuite/20_util/is_bounded_array/value.cc: Likewise. 779 * testsuite/20_util/is_layout_compatible/value.cc: Likewise. 780 * testsuite/20_util/is_layout_compatible/version.cc: Likewise. 781 * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: 782 Likewise. 783 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: 784 Likewise. 785 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. 786 * testsuite/20_util/is_nothrow_swappable/value.h: Likewise. 787 * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: 788 Remove redundant checks already tested elsewhere. 789 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: 790 Likewise. 791 * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable 792 PCH. 793 * testsuite/20_util/is_pointer_interconvertible/value.cc: 794 Likewise. 795 * testsuite/20_util/is_pointer_interconvertible/version.cc: 796 Likewise. 797 * testsuite/20_util/is_scoped_enum/value.cc: Likewise. 798 * testsuite/20_util/is_scoped_enum/version.cc: Likewise. 799 * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: 800 Remove redundant checks already tested elsewhere. 801 * testsuite/20_util/is_swappable/requirements/typedefs.cc: 802 Remove redundant checks already tested elsewhere. 803 * testsuite/20_util/is_swappable/value.cc: Disable PCH. 804 * testsuite/20_util/is_swappable/value.h: Reorder headers. 805 * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: 806 Remove redundant checks already tested elsewhere. 807 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: 808 Remove redundant checks already tested elsewhere. 809 * testsuite/20_util/is_swappable_with/value.cc: Disable PCH. 810 * testsuite/20_util/is_unbounded_array/value.cc: Likewise. 811 * testsuite/20_util/move_only_function/cons.cc: Likewise. 812 * testsuite/20_util/move_only_function/version.cc: Likewise. 813 * testsuite/20_util/optional/monadic/and_then.cc: Likewise. 814 * testsuite/20_util/optional/requirements.cc: Likewise. 815 * testsuite/20_util/optional/version.cc: Likewise. 816 * testsuite/20_util/owner_less/void.cc: Likewise. 817 * testsuite/20_util/reference_from_temporary/value.cc: Likewise. 818 * testsuite/20_util/reference_from_temporary/version.cc: 819 Likewise. 820 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: 821 Likewise. 822 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. 823 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. 824 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. 825 * testsuite/20_util/time_point_cast/rounding.cc: Likewise. 826 * testsuite/20_util/to_chars/constexpr.cc: Likewise. 827 * testsuite/20_util/to_chars/result.cc: Likewise. 828 * testsuite/20_util/to_chars/version.cc: Likewise. 829 * testsuite/20_util/to_underlying/1.cc: Likewise. 830 * testsuite/20_util/to_underlying/version.cc: Likewise. 831 * testsuite/20_util/tuple/apply/1.cc: Likewise. 832 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: 833 Likewise. 834 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. 835 * testsuite/20_util/tuple/p2321r2.cc: Likewise. 836 * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. 837 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: 838 Likewise. 839 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: 840 Likewise. 841 * testsuite/20_util/unreachable/1.cc: Likewise. 842 * testsuite/20_util/unreachable/version.cc: Likewise. 843 * testsuite/20_util/unwrap_reference/1.cc: Likewise. 844 * testsuite/20_util/unwrap_reference/3.cc: Likewise. 845 * testsuite/20_util/variant/constexpr.cc: Likewise. 846 * testsuite/20_util/variant/version.cc: Likewise. 847 * testsuite/20_util/variant/visit_inherited.cc: Likewise. 848 * testsuite/20_util/void_t/1.cc: Likewise. 849 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: 850 Likewise. 851 * testsuite/21_strings/basic_string/cons/char/constexpr.cc: 852 Likewise. 853 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: 854 Likewise. 855 * testsuite/21_strings/basic_string/erasure.cc: Likewise. 856 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: 857 Likewise. 858 * testsuite/21_strings/basic_string/numeric_conversions/version.cc: 859 Likewise. 860 * testsuite/21_strings/basic_string/version.cc: Likewise. 861 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: 862 Likewise. 863 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: 864 Likewise. 865 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: 866 Likewise. 867 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 868 Likewise. 869 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 870 Likewise. 871 * testsuite/21_strings/char_traits/requirements/version.cc: 872 Likewise. 873 * testsuite/23_containers/array/comparison_operators/constexpr.cc: 874 Likewise. 875 * testsuite/23_containers/array/creation/1.cc: Likewise. 876 * testsuite/23_containers/array/creation/2.cc: Likewise. 877 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: 878 Likewise. 879 * testsuite/23_containers/array/requirements/constexpr_fill.cc: 880 Likewise. 881 * testsuite/23_containers/array/requirements/constexpr_iter.cc: 882 Likewise. 883 * testsuite/23_containers/deque/erasure.cc: Likewise. 884 * testsuite/23_containers/forward_list/erasure.cc: Likewise. 885 * testsuite/23_containers/list/erasure.cc: Likewise. 886 * testsuite/23_containers/map/erasure.cc: Likewise. 887 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. 888 * testsuite/23_containers/set/erasure.cc: Likewise. 889 * testsuite/23_containers/span/1.cc: Likewise. 890 * testsuite/23_containers/span/2.cc: Likewise. 891 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. 892 * testsuite/23_containers/unordered_map/erasure.cc: Likewise. 893 * testsuite/23_containers/unordered_map/operations/1.cc: 894 Likewise. 895 * testsuite/23_containers/unordered_set/erasure.cc: Likewise. 896 * testsuite/23_containers/unordered_set/operations/1.cc: 897 Likewise. 898 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. 899 * testsuite/23_containers/vector/erasure.cc: Likewise. 900 * testsuite/23_containers/vector/requirements/version.cc: 901 Likewise. 902 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. 903 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. 904 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: 905 Remove redundant checks already tested elsewhere. 906 * testsuite/25_algorithms/constexpr_macro.cc: Likewise. 907 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. 908 * testsuite/25_algorithms/fold_left/1.cc: Likewise. 909 * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. 910 * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. 911 * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. 912 * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. 913 * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. 914 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. 915 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. 916 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. 917 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. 918 * testsuite/26_numerics/bit/header-2.cc: Likewise. 919 * testsuite/26_numerics/bit/header.cc: Likewise. 920 * testsuite/26_numerics/complex/1.cc: Likewise. 921 * testsuite/26_numerics/complex/2.cc: Likewise. 922 * testsuite/26_numerics/endian/2.cc: Likewise. 923 * testsuite/26_numerics/endian/3.cc: Likewise. 924 * testsuite/26_numerics/gcd/1.cc: Likewise. 925 * testsuite/26_numerics/lcm/1.cc: Likewise. 926 * testsuite/26_numerics/lerp/1.cc: Likewise. 927 * testsuite/26_numerics/lerp/version.cc: Likewise. 928 * testsuite/26_numerics/midpoint/integral.cc: Likewise. 929 * testsuite/26_numerics/midpoint/version.cc: Likewise. 930 * testsuite/26_numerics/numbers/1.cc: Likewise. 931 * testsuite/26_numerics/numbers/2.cc: Likewise. 932 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: 933 Likewise. 934 * testsuite/27_io/basic_filebuf/native_handle/version.cc: 935 Likewise. 936 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: 937 Likewise. 938 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: 939 Likewise. 940 * testsuite/27_io/basic_syncbuf/1.cc: Likewise. 941 * testsuite/27_io/basic_syncbuf/2.cc: Likewise. 942 * testsuite/27_io/basic_syncstream/1.cc: Likewise. 943 * testsuite/27_io/basic_syncstream/2.cc: Likewise. 944 * testsuite/27_io/spanstream/1.cc: Likewise. 945 * testsuite/27_io/spanstream/version.cc: Likewise. 946 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. 947 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. 948 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. 949 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. 950 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: 951 Likewise. 952 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. 953 * testsuite/30_threads/barrier/1.cc: Likewise. 954 * testsuite/30_threads/barrier/2.cc: Likewise. 955 * testsuite/30_threads/condition_variable_any/stop_token/1.cc: 956 Likewise. 957 * testsuite/30_threads/condition_variable_any/stop_token/2.cc: 958 Likewise. 959 * testsuite/30_threads/jthread/1.cc: Likewise. 960 * testsuite/30_threads/jthread/version.cc: Likewise. 961 * testsuite/30_threads/latch/1.cc: Likewise. 962 * testsuite/30_threads/latch/2.cc: Likewise. 963 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: 964 Likewise. 965 * testsuite/30_threads/semaphore/1.cc: Likewise. 966 * testsuite/30_threads/semaphore/2.cc: Likewise. 967 * testsuite/30_threads/stop_token/1.cc: Likewise. 968 * testsuite/30_threads/stop_token/2.cc: Likewise. 969 * testsuite/experimental/feat-char8_t.cc: Likewise. 970 * testsuite/experimental/iterator/ostream_joiner.cc: Likewise. 971 * testsuite/experimental/numeric/gcd.cc: Likewise. 972 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. 973 * testsuite/std/concepts/1.cc: Likewise. 974 * testsuite/std/concepts/2.cc: Likewise. 975 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. 976 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. 977 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. 978 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. 979 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. 980 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. 981 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. 982 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. 983 * testsuite/std/ranges/cartesian_product/1.cc: Likewise. 984 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. 985 * testsuite/std/ranges/repeat/1.cc: Likewise. 986 * testsuite/std/ranges/version_c++23.cc: Likewise. 987 * testsuite/std/ranges/zip/1.cc: Likewise. 988 * testsuite/std/time/syn_c++20.cc: Likewise. 989 * testsuite/experimental/feat-cxx14.cc: Likewise. Include 990 <algorithm> and <iterator>. 991 * testsuite/23_containers/array/tuple_interface/get_neg.cc: 992 Adjust dg-error line numbers. 993 994 2023-11-16 Jonathan Wakely <jwakely (a] redhat.com> 995 996 * include/bits/version.def (stds): Use >= 202100 for C++23 997 condition. 998 * include/bits/version.h: Regenerate. 999 * include/std/thread: Use > C++20 instead of >= C++23 for 1000 __cplusplus condition. 1001 1002 2023-11-16 Jonathan Wakely <jwakely (a] redhat.com> 1003 1004 * include/std/istream (__rvalue_stream_extraction_t): Test 1005 __cpp_concepts instead of __cpp_lib_concepts. 1006 * include/std/ostream (__derived_from_ios_base): Likewise. 1007 (__rvalue_stream_insertion_t): Likewise. 1008 1009 2023-11-15 Jonathan Wakely <jwakely (a] redhat.com> 1010 1011 PR libstdc++/112491 1012 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): 1013 Correctly handle unused capacity at the start of the first node. 1014 * testsuite/libstdc++-xmethods/deque.cc: Check index operator 1015 when elements have been removed from the front. 1016 1017 2023-11-15 Jonathan Wakely <jwakely (a] redhat.com> 1018 1019 * include/std/stacktrace (basic_stacktrace::at): Fix class name 1020 in exception message. 1021 * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if 1022 current() returns a non-empty stacktrace. 1023 1024 2023-11-15 Alexandre Oliva <oliva (a] gnu.org> 1025 1026 Revert: 1027 2023-11-15 Alexandre Oliva <oliva (a] adacore.com> 1028 1029 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. 1030 1031 2023-11-15 Alexandre Oliva <oliva (a] adacore.com> 1032 1033 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. 1034 1035 2023-11-14 Cassio Neri <cassio.neri (a] gmail.com> 1036 1037 * include/std/chrono (operator-(const weekday&, const weekday&)): 1038 Optimize. 1039 1040 2023-11-14 Cassio Neri <cassio.neri (a] gmail.com> 1041 1042 * include/std/chrono (weekday::_S_from_days): Fix UB. 1043 * testsuite/std/time/weekday/1.cc: Add test for overflow. 1044 1045 2023-11-14 Cassio Neri <cassio.neri (a] gmail.com> 1046 1047 * include/std/chrono (year::is_leap): Clear code. 1048 1049 2023-11-14 Cassio Neri <cassio.neri (a] gmail.com> 1050 1051 * include/std/chrono (year_month_day_last::day): Remove &1. 1052 1053 2023-11-14 Jonathan Wakely <jwakely (a] redhat.com> 1054 1055 * include/std/charconv (__from_chars_pow2_base): Convert base to 1056 unsigned for call to __countr_zero. 1057 (__from_chars_alnum): Likewise for call to __bit_width. 1058 1059 2023-11-14 Jonathan Wakely <jwakely (a] redhat.com> 1060 1061 PR libstdc++/112348 1062 * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix 1063 type of hash functio nfor entries. 1064 * testsuite/19_diagnostics/stacktrace/hash.cc: New test. 1065 1066 2023-11-14 Jonathan Wakely <jwakely (a] redhat.com> 1067 1068 PR libstdc++/112491 1069 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix 1070 calculation to use _M_start._M_cur. 1071 * testsuite/libstdc++-xmethods/deque.cc: Check failing cases. 1072 1073 2023-11-13 Arsen Arsenovi <arsen (a] aarsen.me> 1074 1075 * configure: Regenerate. 1076 1077 2023-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1078 1079 * testsuite/std/time/clock/file/io.cc: Double timeout using 1080 dg-timeout-factor. 1081 * testsuite/std/time/clock/gps/io.cc: Likewise. 1082 * testsuite/std/time/clock/local/io.cc: Likewise. 1083 * testsuite/std/time/clock/system/io.cc: Likewise. 1084 * testsuite/std/time/clock/tai/io.cc: Likewise. 1085 * testsuite/std/time/clock/utc/io.cc: Likewise. 1086 1087 2023-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1088 1089 PR libstdc++/112480 1090 * include/std/optional (_Optional_payload_base::_M_reset): Set 1091 _M_engaged to false unconditionally. 1092 1093 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1094 1095 PR libstdc++/112467 1096 * include/bits/stl_bvector.h (_M_assume_normalized): Do not use 1097 statement form of assume attribute for Clang. 1098 1099 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1100 1101 * include/std/string_view (operator==, operator<=>): Remove 1102 redundant overloads (LWG 3950). 1103 1104 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1105 1106 * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to... 1107 * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here. 1108 * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to... 1109 * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here. 1110 Check macro first and then #undef. 1111 * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to... 1112 * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here. 1113 1114 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1115 1116 PR libstdc++/112473 1117 * include/bits/utility.h (integer_sequence): Add static_assert. 1118 * testsuite/20_util/integer_sequence/112473.cc: New test. 1119 1120 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1121 1122 * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective 1123 target for specifiers using c++17_down. 1124 1125 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1126 1127 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free) 1128 (atomic_load_explicit, atomic_load, atomic_store_explicit) 1129 (atomic_store, atomic_exchange_explicit, atomic_exchange) 1130 (atomic_compare_exchange_strong, atomic_compare_exchange_weak) 1131 (atomic_compare_exchange_strong_explicit) 1132 (atomic_compare_exchange_weak_explicit): Add deprecated 1133 attribute for C++20 and later. 1134 * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated 1135 warnings. 1136 * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. 1137 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. 1138 * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. 1139 1140 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1141 1142 * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]] 1143 attribute to constructors. 1144 * include/bits/unique_lock.h (unique_lock): Likewise. 1145 * include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise. 1146 * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test. 1147 * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test. 1148 * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test. 1149 1150 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1151 1152 * include/std/span (span, as_bytes, as_writable_bytes): Add 1153 [[nodiscard]] attribute on all non-void functions. 1154 * testsuite/23_containers/span/back_assert_neg.cc: Suppress 1155 nodiscard warning. 1156 * testsuite/23_containers/span/back_neg.cc: Likewise. 1157 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. 1158 * testsuite/23_containers/span/first_assert_neg.cc: Likewise. 1159 * testsuite/23_containers/span/first_neg.cc: Likewise. 1160 * testsuite/23_containers/span/front_assert_neg.cc: Likewise. 1161 * testsuite/23_containers/span/front_neg.cc: Likewise. 1162 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. 1163 * testsuite/23_containers/span/index_op_neg.cc: Likewise. 1164 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. 1165 * testsuite/23_containers/span/last_assert_neg.cc: Likewise. 1166 * testsuite/23_containers/span/last_neg.cc: Likewise. 1167 * testsuite/23_containers/span/subspan_2_assert_neg.cc: 1168 Likewise. 1169 * testsuite/23_containers/span/subspan_3_assert_neg.cc: 1170 Likewise. 1171 * testsuite/23_containers/span/subspan_4_assert_neg.cc: 1172 Likewise. 1173 * testsuite/23_containers/span/subspan_5_assert_neg.cc: 1174 Likewise. 1175 * testsuite/23_containers/span/subspan_6_assert_neg.cc: 1176 Likewise. 1177 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. 1178 * testsuite/23_containers/span/subspan_neg.cc: Likewise. 1179 * testsuite/23_containers/span/nodiscard.cc: New test. 1180 1181 2023-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1182 1183 PR libstdc++/111638 1184 * config.h.in: Regenerate. 1185 * configure: Regenerate. 1186 * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove. 1187 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo. 1188 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise. 1189 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise. 1190 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise. 1191 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use 1192 GLIBCXX_MAYBE_UNDERSCORED_FUNCS. 1193 1194 2023-11-11 Nathaniel Shead <nathanieloshead (a] gmail.com> 1195 1196 PR libstdc++/79700 1197 * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf) 1198 (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl) 1199 (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf) 1200 (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff) 1201 (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf) 1202 (tanl, tanhf, tanhl): Add using-declarations in namespace std. 1203 * testsuite/26_numerics/headers/cmath/equivalent_functions.cc: 1204 New test. 1205 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: 1206 Add checks for existence of above names. 1207 1208 2023-11-09 Arsen Arsenovi <arsen (a] aarsen.me> 1209 1210 * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as 1211 requiring hosted. 1212 1213 2023-11-09 Arsen Arsenovi <arsen (a] aarsen.me> 1214 1215 * include/bits/memoryfwd.h: Remove HOSTED check around allocator 1216 and its specializations. 1217 1218 2023-11-09 Patrick Palka <ppalka (a] redhat.com> 1219 1220 PR libstdc++/112453 1221 * include/std/ranges (__detail::__box<_Tp>::operator*): Define 1222 && overloads as well. 1223 (__detail::__take_of_repeat_view): Forward __r when accessing 1224 its _M_value member. 1225 (__detail::__drop_of_repeat_view): Likewise. 1226 * testsuite/std/ranges/repeat/1.cc (test07): New test. 1227 1228 2023-11-09 Franois Dumont <fdumont (a] gcc.gnu.org> 1229 1230 * include/bits/hashtable_policy.h (_RehashStateGuard): New. 1231 (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)): 1232 Adapt. 1233 * include/bits/hashtable.h (__rehash_guard_t): New. 1234 (__rehash_state): Remove. 1235 (_M_rehash): Remove. 1236 (_M_rehash_aux): Rename into _M_rehash. 1237 (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt. 1238 (rehash): Adapt. 1239 1240 2023-11-09 Franois Dumont <fdumont (a] gcc.gnu.org> 1241 1242 * include/bits/hashtable_policy.h 1243 (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New. 1244 (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node 1245 pointer while constructing in place the value_type instance. 1246 1247 2023-11-09 Alexandre Oliva <oliva (a] adacore.com> 1248 1249 PR libstdc++/110807 1250 * include/bits/stl_bvector.h (_Bit_iterator_base): Add 1251 _M_assume_normalized member function. Call it in _M_bump_up, 1252 _M_bump_down, _M_incr, operator==, operator<=>, operator<, and 1253 operator-. 1254 (_Bit_iterator): Also call it in operator*. 1255 (_Bit_const_iterator): Likewise. 1256 1257 2023-11-07 Franois Dumont <fdumont (a] gcc.gnu.org> 1258 1259 * include/bits/hashtable_policy.h 1260 (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor 1261 on construct exception. 1262 1263 2023-11-07 Richard Biener <rguenther (a] suse.de> 1264 1265 PR libstdc++/112351 1266 * src/c++98/locale.cc (locale::facet::_S_initialize_once): 1267 Check whether _S_c_locale is already initialized. 1268 (locale::facet::_S_get_c_locale): Always perform non-threadsafe 1269 init when threadsafe init failed. 1270 1271 2023-11-06 Ian Lance Taylor <iant (a] golang.org> 1272 1273 PR libbacktrace/111315 1274 PR libbacktrace/112263 1275 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when 1276 grepping link.h for dl_iterate_phdr. 1277 * configure: Regenerate. 1278 1279 2023-11-06 Jonathan Wakely <jwakely (a] redhat.com> 1280 1281 * include/std/expected (expected::and_then, expected::or_else): 1282 Add string literals to static assertions. 1283 * include/std/optional (optional::and_then, optional::or_else): 1284 Likewise. 1285 1286 2023-11-04 Feng Jisen <J1senn (a] outlook.com> 1287 1288 * include/bits/utility.h (_Nth_type): Remove redundant partial 1289 specialization. 1290 1291 2023-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1292 1293 PR libstdc++/110133 1294 * include/std/system_error (system_error::system_error): Group 1295 arguments so that concatenation can reuse rvalue's capacity. 1296 * src/c++11/system_error.cc (strerror_string): New function. 1297 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions. 1298 (generic_error_category::message): Use strerror_string. 1299 (system_error_category::message): Likewise. 1300 1301 2023-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1302 1303 * doc/xml/manual/appendix_contributing.xml: Replace example that 1304 uses a BADNAME. 1305 * doc/html/manual/source_code_style.html: Regenerate. 1306 1307 2023-11-02 Jonathan Wakely <jwakely (a] redhat.com> 1308 1309 PR libstdc++/112314 1310 * include/std/string_view (string_view::remove_suffix): Add 1311 debug assertion. 1312 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: 1313 New test. 1314 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: 1315 New test. 1316 1317 2023-11-02 Jonathan Wakely <jwakely (a] redhat.com> 1318 1319 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks. 1320 * configure: Regenerate. 1321 1322 2023-10-30 Franois Dumont <fdumont (a] gcc.gnu.org> 1323 1324 * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently 1325 added emul TLS symbols. 1326 1327 2023-10-30 Franois Dumont <fdumont (a] gcc.gnu.org> 1328 1329 * src/experimental/contract.cc 1330 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. 1331 Remove weak attribute. 1332 1333 2023-10-29 Franois Dumont <fdumont (a] gcc.gnu.org> 1334 1335 * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS 1336 symbols. 1337 1338 2023-10-29 Franois Dumont <fdumont (a] gcc.gnu.org> 1339 1340 * src/experimental/contract.cc 1341 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol 1342 without version namespace decoration for gcc. 1343 1344 2023-10-26 Jonathan Wakely <jwakely (a] redhat.com> 1345 1346 PR libstdc++/112089 1347 * include/std/shared_mutex (shared_lock::unlock): Change errc 1348 constant to operation_not_permitted. 1349 * testsuite/30_threads/shared_lock/locking/112089.cc: New test. 1350 1351 2023-10-26 Jonathan Wakely <jwakely (a] redhat.com> 1352 1353 * testsuite/20_util/duration/io.cc: Double timeout using 1354 dg-timeout-factor. 1355 * testsuite/std/time/day/io.cc: Likewise. 1356 * testsuite/std/time/format.cc: Likewise. 1357 * testsuite/std/time/hh_mm_ss/io.cc: Likewise. 1358 * testsuite/std/time/month/io.cc: Likewise. 1359 * testsuite/std/time/month_day/io.cc: Likewise. 1360 * testsuite/std/time/month_day_last/io.cc: Likewise. 1361 * testsuite/std/time/month_weekday/io.cc: Likewise. 1362 * testsuite/std/time/month_weekday_last/io.cc: Likewise. 1363 * testsuite/std/time/weekday/io.cc: Likewise. 1364 * testsuite/std/time/weekday_indexed/io.cc: Likewise. 1365 * testsuite/std/time/weekday_last/io.cc: Likewise. 1366 * testsuite/std/time/year/io.cc: Likewise. 1367 * testsuite/std/time/year_month/io.cc: Likewise. 1368 * testsuite/std/time/year_month_day/io.cc: Likewise. 1369 * testsuite/std/time/year_month_day_last/io.cc: Likewise. 1370 * testsuite/std/time/year_month_weekday/io.cc: Likewise. 1371 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. 1372 * testsuite/std/time/zoned_time/io.cc: Likewise. 1373 1374 2023-10-25 Jonathan Wakely <jwakely (a] redhat.com> 1375 1376 PR libstdc++/111936 1377 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool 1378 compile commands. 1379 * src/libbacktrace/Makefile.in: Regenerate. 1380 1381 2023-10-24 Paul M. Bendixen <paulbendixen (a] gmail.com> 1382 1383 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to 1384 freestanding. 1385 * include/Makefile.in: Regenerate. 1386 1387 2023-10-22 Iain Sandoe <iain (a] sandoe.co.uk> 1388 1389 * configure: Regenerate. 1390 * configure.ac: Handle Darwin rpaths. 1391 * src/Makefile.am: Handle Darwin rpaths. 1392 * src/Makefile.in: Regenerate. 1393 1394 2023-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1395 1396 * include/bits/basic_string.h (_M_init_local_buf()): New 1397 function. 1398 (_M_use_local_data()): Use _M_init_local_buf. 1399 (basic_string(), basic_string(const Alloc&)) 1400 (basic_string(basic_string&&)) 1401 (basic_string(basic_string&&, const Alloc&)): Use 1402 _M_init_local_buf instead of _M_use_local_data(). 1403 * include/bits/basic_string.tcc (swap(basic_string&)) 1404 (_M_construct(InIter, InIter, input_iterator_tag)) 1405 (_M_construct(InIter, InIter, forward_iterator_tag)) 1406 (_M_construct(size_type, CharT), reserve()): Likewise. 1407 1408 2023-10-21 Benjamin Brock <brock (a] cs.berkeley.edu> 1409 1410 * include/std/ranges (zip_view, adjacent_view): Implement 1411 workaround for LLVM-61763. 1412 1413 2023-10-21 Dimitrij Mijoski <dmjpp (a] hotmail.com> 1414 1415 * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length() 1416 1417 2023-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1418 1419 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix 1420 indentation. 1421 1422 2023-10-20 Marek Polacek <polacek (a] redhat.com> 1423 1424 PR testsuite/111883 1425 * include/std/charconv (from_chars): Add explicit casts. 1426 1427 2023-10-19 Franois Dumont <fdumont (a] gcc.gnu.org> 1428 1429 * include/bits/hashtable_policy.h 1430 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove. 1431 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove. 1432 * include/bits/hashtable.h 1433 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New. 1434 (_M_merge_unique<>, _M_merge_multi<>): Use latter. 1435 * testsuite/23_containers/unordered_map/modifiers/merge.cc 1436 (test04, test05, test06): New test cases. 1437 1438 2023-10-13 Jakub Jelinek <jakub (a] redhat.com> 1439 1440 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): 1441 Initialize stream to va_arg(ap, FILE*) rather than 0. 1442 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): 1443 Likewise. 1444 1445 2023-10-13 Hans-Peter Nilsson <hp (a] axis.com> 1446 1447 * testsuite/29_atomics/atomic/compare_exchange_padding.cc, 1448 testsuite/29_atomics/atomic_flag/clear/1.cc, 1449 testsuite/29_atomics/atomic_flag/cons/value_init.cc, 1450 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc, 1451 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc, 1452 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc, 1453 testsuite/29_atomics/atomic_ref/generic.cc, 1454 testsuite/29_atomics/atomic_ref/integral.cc, 1455 testsuite/29_atomics/atomic_ref/pointer.cc: Replace 1456 dg-require-thread-fence with dg-require-atomic-cmpxchg-word. 1457 1458 2023-10-13 Hans-Peter Nilsson <hp (a] axis.com> 1459 1460 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word): 1461 New proc. 1462 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word): 1463 Ditto. 1464 1465 2023-10-05 Franois Dumont <fdumont (a] gcc.gnu.org> 1466 1467 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols 1468 for _Float{16,32,64,128,32x,64x,128x}. 1469 1470 2023-10-04 Tom Tromey <tromey (a] adacore.com> 1471 1472 * python/libstdcxx/v6/printers.py 1473 (StdExpAnyPrinter.__init__): Qualify call to 1474 _string_types. 1475 1476 2023-10-04 Tom Tromey <tromey (a] adacore.com> 1477 1478 * python/libstdcxx/v6/printers.py: Assume that 1479 _versioned_namespace is non-None. 1480 * python/libstdcxx/v6/xmethods.py (is_specialization_of): 1481 Assume that _versioned_namespace is non-None. 1482 1483 2023-10-04 Tom Tromey <tromey (a] adacore.com> 1484 1485 * python/libstdcxx/v6/xmethods.py (_versioned_namespace): 1486 Define. 1487 1488 2023-09-29 Dimitrij Mijoski <dmjpp (a] hotmail.com> 1489 1490 PR libstdc++/108976 1491 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of 1492 surrogates in UTF-8. 1493 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8. 1494 (ucs4_in): Fix handling of range with odd number of bytes. 1495 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16. 1496 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16. 1497 (ucs2_in): Fix handling of range with odd number of bytes. 1498 (__codecvt_utf16_base<char16_t>::do_in): Likewise. 1499 (__codecvt_utf16_base<char32_t>::do_in): Likewise. 1500 (__codecvt_utf16_base<wchar_t>::do_in): Likewise. 1501 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add 1502 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>. 1503 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8 1504 testing functions for char8_t, add more test cases for errors, 1505 add testing functions for codecvt_utf16. 1506 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: 1507 Renames, add tests for codecvt_utf16<whchar_t>. 1508 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06): 1509 Fix test. 1510 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New 1511 test. 1512 1513 2023-09-29 Nathaniel Shead <nathanieloshead (a] gmail.com> 1514 1515 * include/bits/basic_string.h: (basic_string(basic_string&&)): 1516 Activate _M_local_buf when needed. 1517 (basic_string(basic_string&&, const _Alloc&)): Likewise. 1518 * include/bits/basic_string.tcc: (basic_string::swap): Likewise. 1519 * include/std/variant: (__detail::__variant::__construct_n): New. 1520 (__detail::__variant::__emplace): Use __construct_n. 1521 1522 2023-09-28 Tom Tromey <tromey (a] adacore.com> 1523 1524 * python/libstdcxx/v6/printers.py (Printer.add_version) 1525 (add_one_template_type_printer) 1526 (FilteringTypePrinter.add_one_type_printer): Use Python 1527 "not in" operator. 1528 1529 2023-09-28 Tom Tromey <tromey (a] adacore.com> 1530 1531 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple): 1532 Remove. 1533 1534 2023-09-28 Tom Tromey <tromey (a] adacore.com> 1535 1536 * python/libstdcxx/v6/printers.py 1537 (StdExpOptionalPrinter.__init__, lookup_node_type): 1538 Remove unused variables. 1539 1540 2023-09-28 Tom Tromey <tromey (a] adacore.com> 1541 1542 * python/libstdcxx/v6/printers.py: Don't import 'os'. 1543 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'. 1544 1545 2023-09-28 Tom Tromey <tromey (a] adacore.com> 1546 1547 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter 1548 everywhere. Rename members to start with "_". 1549 1550 2023-09-28 Tom Tromey <tromey (a] adacore.com> 1551 1552 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python 1553 stack traces from gdb. 1554 1555 2023-09-28 Jonathan Wakely <jwakely (a] redhat.com> 1556 1557 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define 1558 new function. 1559 (ArrayMethodsMatcher, DequeMethodsMatcher) 1560 (ForwardListMethodsMatcher, ListMethodsMatcher) 1561 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher) 1562 (UniquePtrGetWorker, UniquePtrMethodsMatcher) 1563 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use 1564 is_specialization_of instead of re.match. 1565 1566 2023-09-28 Jonathan Wakely <jwakely (a] redhat.com> 1567 1568 * python/libstdcxx/v6/printers.py: Break long lines. Use raw 1569 strings for regular expressions. Add whitespace around 1570 operators. 1571 (is_member_of_namespace): Use isinstance to check type. 1572 (is_specialization_of): Likewise. Adjust template_name 1573 for versioned namespace instead of duplicating the re.match 1574 call. 1575 (StdExpAnyPrinter._string_types): New static method. 1576 (StdExpAnyPrinter.to_string): Use _string_types. 1577 1578 2023-09-28 Jonathan Wakely <jwakely (a] redhat.com> 1579 1580 * python/libstdcxx/v6/printers.py: Format docstrings according 1581 to PEP 257. 1582 * python/libstdcxx/v6/xmethods.py: Likewise. 1583 1584 2023-09-28 Tim Song <t.canens.cpp (a] gmail.com> 1585 1586 PR libstdc++/111050 1587 * include/bits/hashtable_policy.h 1588 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v()) 1589 Add [[__gnu__::__always_inline__]]. 1590 1591 2023-09-27 Jonathan Wakely <jwakely (a] redhat.com> 1592 1593 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter): 1594 Fix incorrect number of replacement fields. 1595 1596 2023-09-26 Hans-Peter Nilsson <hp (a] axis.com> 1597 1598 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add 1599 dg-require-thread-fence. 1600 1601 2023-09-25 Patrick Palka <ppalka (a] redhat.com> 1602 1603 * include/std/charconv (__detail::__integer_to_chars_result_type): 1604 Remove. 1605 (__detail::__to_chars_16): Use to_chars_result as return type. 1606 (__detail::__to_chars_10): Likewise. 1607 (__detail::__to_chars_8): Likewise. 1608 (__detail::__to_chars_2): Likewise. 1609 (__detail::__to_chars_i): Likewise. 1610 (__detail::__integer_from_chars_result_type): Inline the 1611 constraint into ... 1612 (from_chars): ... here. Use __is_standard_integer in the 1613 constraint. Encode constraint as a defaulted non-type template 1614 parameter instead of within the return type. 1615 1616 2023-09-25 John David Anglin <danglin (a] gcc.gnu.org> 1617 1618 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 1619 1620 2023-09-25 Jonathan Wakely <jwakely (a] redhat.com> 1621 1622 PR libstdc++/111511 1623 PR c++/111512 1624 * include/std/array (to_array): Cast memcpy arguments to void*. 1625 * testsuite/23_containers/array/creation/111512.cc: New test. 1626 1627 2023-09-25 Jonathan Wakely <jwakely (a] redhat.com> 1628 1629 * include/bits/move.h (forward_list): Define for C++23. 1630 * include/bits/version.def (forward_like): Define. 1631 * include/bits/version.h: Regenerate. 1632 * include/std/utility (__glibcxx_want_forward_like): Define. 1633 * testsuite/20_util/forward_like/1.cc: New test. 1634 * testsuite/20_util/forward_like/2_neg.cc: New test. 1635 * testsuite/20_util/forward_like/version.cc: New test. 1636 1637 2023-09-19 Marek Polacek <polacek (a] redhat.com> 1638 1639 * testsuite/20_util/allocator/105975.cc: Add dg-error. 1640 1641 2023-09-18 Patrick Palka <ppalka (a] redhat.com> 1642 1643 PR c++/63198 1644 PR c++/18474 1645 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc: 1646 Make data member seed_seq::called mutable. 1647 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc: 1648 Likewise. 1649 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc: 1650 Likewise. 1651 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc: 1652 Likewise. 1653 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc: 1654 Likewise. 1655 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc: 1656 Likewise. 1657 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc: 1658 Likewise. 1659 1660 2023-09-18 Jonathan Wakely <jwakely (a] redhat.com> 1661 1662 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status. 1663 * doc/html/manual/status.html: Regenerate. 1664 1665 2023-09-18 Jonathan Wakely <jwakely (a] redhat.com> 1666 1667 * doc/xml/manual/configure.xml: Use conventional option name. 1668 * doc/xml/manual/status_cxx2020.xml: Update. 1669 * doc/xml/manual/status_cxx2023.xml: Update. 1670 * doc/html/*: Regenerate. 1671 1672 2023-09-18 Jonathan Wakely <jwakely (a] redhat.com> 1673 1674 * doc/xml/manual/intro.xml: Clarify that building libstdc++ 1675 separately from GCC is not supported. 1676 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for 1677 testing. 1678 * doc/html/manual/setup.html: Regenerate. 1679 1680 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 1681 1682 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not 1683 restrict to pthreads targets. 1684 * testsuite/30_threads/jthread/3.cc: Likewise. 1685 * testsuite/30_threads/semaphore/100806.cc: Likewise. 1686 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. 1687 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. 1688 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise. 1689 1690 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 1691 1692 * testsuite/18_support/coroutines/95917.cc: Remove dg-options 1693 -std=gnu++2a. 1694 * testsuite/18_support/coroutines/hash.cc: Likewise. 1695 * testsuite/18_support/coroutines/lwg3460.cc: Likewise. 1696 * testsuite/18_support/destroying_delete.cc: Likewise. 1697 * testsuite/18_support/source_location/1.cc: Likewise. 1698 * testsuite/18_support/source_location/consteval.cc: Likewise. 1699 * testsuite/18_support/source_location/version.cc: Likewise. 1700 * testsuite/19_diagnostics/error_category/operators/three_way.cc: 1701 Likewise. 1702 * testsuite/19_diagnostics/error_code/operators/three_way.cc: 1703 Likewise. 1704 * testsuite/19_diagnostics/error_condition/operators/three_way.cc: 1705 Likewise. 1706 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. 1707 * testsuite/26_numerics/adjacent_difference/lwg2055.cc: 1708 Likewise. 1709 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise. 1710 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise. 1711 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise. 1712 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise. 1713 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise. 1714 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: 1715 Likewise. 1716 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: 1717 Likewise. 1718 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: 1719 Likewise. 1720 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise. 1721 * testsuite/experimental/filesystem/iterators/106201.cc: 1722 Likewise. 1723 * testsuite/experimental/scopeguard/exit.cc: Likewise. 1724 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. 1725 1726 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 1727 1728 * testsuite/30_threads/barrier/1.cc: Remove dg-options 1729 -std=gnu++20. 1730 * testsuite/30_threads/barrier/2.cc: Likewise. 1731 * testsuite/30_threads/barrier/arrive.cc: Likewise. 1732 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 1733 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 1734 * testsuite/30_threads/barrier/completion.cc: Likewise. 1735 * testsuite/30_threads/condition_variable/members/clock_neg.cc: 1736 Likewise. 1737 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: 1738 Likewise. 1739 * testsuite/30_threads/condition_variable_any/stop_token/1.cc: 1740 Likewise. 1741 * testsuite/30_threads/condition_variable_any/stop_token/2.cc: 1742 Likewise. 1743 * testsuite/30_threads/future/members/clock_neg.cc: Likewise. 1744 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise. 1745 * testsuite/30_threads/headers/thread/types_std_c++20.cc: 1746 Likewise. 1747 * testsuite/30_threads/jthread/1.cc: Likewise. 1748 * testsuite/30_threads/jthread/100612.cc: Likewise. 1749 * testsuite/30_threads/jthread/95989.cc: Likewise. 1750 * testsuite/30_threads/jthread/jthread.cc: Likewise. 1751 * testsuite/30_threads/jthread/version.cc: Likewise. 1752 * testsuite/30_threads/latch/1.cc: Likewise. 1753 * testsuite/30_threads/latch/2.cc: Likewise. 1754 * testsuite/30_threads/latch/3.cc: Likewise. 1755 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: 1756 Likewise. 1757 * testsuite/30_threads/semaphore/1.cc: Likewise. 1758 * testsuite/30_threads/semaphore/2.cc: Likewise. 1759 * testsuite/30_threads/semaphore/least_max_value_neg.cc: 1760 Likewise. 1761 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 1762 * testsuite/30_threads/shared_future/members/clock_neg.cc: 1763 Likewise. 1764 * testsuite/30_threads/shared_lock/locking/clock_neg.cc: 1765 Likewise. 1766 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: 1767 Likewise. 1768 * testsuite/30_threads/stop_token/1.cc: Likewise. 1769 * testsuite/30_threads/stop_token/2.cc: Likewise. 1770 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise. 1771 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: 1772 Likewise. 1773 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: 1774 Likewise. 1775 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: 1776 Likewise. 1777 * testsuite/30_threads/stop_token/stop_callback/invoke.cc: 1778 Likewise. 1779 * testsuite/30_threads/stop_token/stop_source.cc: Likewise. 1780 * testsuite/30_threads/stop_token/stop_source/assign.cc: 1781 Likewise. 1782 * testsuite/30_threads/stop_token/stop_token.cc: Likewise. 1783 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: 1784 Likewise. 1785 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. 1786 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: 1787 Likewise. 1788 * testsuite/30_threads/unique_lock/locking/clock_neg.cc: 1789 Likewise. 1790 1791 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 1792 1793 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: 1794 Remove dg-options -std=gnu++2a. 1795 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: 1796 Likewise. 1797 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: 1798 Likewise. 1799 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: 1800 Likewise. 1801 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise. 1802 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: 1803 Likewise. 1804 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise. 1805 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: 1806 Likewise. 1807 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise. 1808 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: 1809 Likewise. 1810 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise. 1811 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc: 1812 Likewise. 1813 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc: 1814 Likewise. 1815 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. 1816 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: 1817 Likewise. 1818 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise. 1819 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: 1820 Likewise. 1821 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. 1822 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: 1823 Likewise. 1824 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise. 1825 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. 1826 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise. 1827 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise. 1828 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. 1829 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. 1830 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. 1831 * testsuite/27_io/basic_stringstream/cons/char/97719.cc: 1832 Likewise. 1833 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: 1834 Likewise. 1835 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise. 1836 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: 1837 Likewise. 1838 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. 1839 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: 1840 Likewise. 1841 * testsuite/27_io/basic_syncbuf/1.cc: Likewise. 1842 * testsuite/27_io/basic_syncbuf/2.cc: Likewise. 1843 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise. 1844 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise. 1845 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise. 1846 * testsuite/27_io/basic_syncstream/1.cc: Likewise. 1847 * testsuite/27_io/basic_syncstream/2.cc: Likewise. 1848 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise. 1849 * testsuite/27_io/basic_syncstream/requirements/types.cc: 1850 Likewise. 1851 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise. 1852 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise. 1853 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: 1854 Likewise. 1855 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: 1856 Likewise. 1857 1858 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 1859 1860 * testsuite/26_numerics/accumulate/constexpr.cc: Remove 1861 dg-options -std=gnu++2a. 1862 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise. 1863 * testsuite/26_numerics/adjacent_difference/constexpr.cc: 1864 Likewise. 1865 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise. 1866 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. 1867 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. 1868 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. 1869 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: 1870 Likewise. 1871 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. 1872 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. 1873 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise. 1874 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. 1875 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. 1876 * testsuite/26_numerics/bit/header-2.cc: Likewise. 1877 * testsuite/26_numerics/bit/header.cc: Likewise. 1878 * testsuite/26_numerics/complex/1.cc: Likewise. 1879 * testsuite/26_numerics/complex/2.cc: Likewise. 1880 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc: 1881 Likewise. 1882 * testsuite/26_numerics/complex/operators/more_constexpr.cc: 1883 Likewise. 1884 * testsuite/26_numerics/complex/requirements/more_constexpr.cc: 1885 Likewise. 1886 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc: 1887 Likewise. 1888 * testsuite/26_numerics/endian/1.cc: Likewise. 1889 * testsuite/26_numerics/endian/2.cc: Likewise. 1890 * testsuite/26_numerics/endian/3.cc: Likewise. 1891 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise. 1892 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise. 1893 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise. 1894 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise. 1895 * testsuite/26_numerics/iota/constexpr.cc: Likewise. 1896 * testsuite/26_numerics/lerp/1.cc: Likewise. 1897 * testsuite/26_numerics/lerp/constexpr.cc: Likewise. 1898 * testsuite/26_numerics/lerp/version.cc: Likewise. 1899 * testsuite/26_numerics/midpoint/floating.cc: Likewise. 1900 * testsuite/26_numerics/midpoint/integral.cc: Likewise. 1901 * testsuite/26_numerics/midpoint/pointer.cc: Likewise. 1902 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise. 1903 * testsuite/26_numerics/midpoint/version.cc: Likewise. 1904 * testsuite/26_numerics/numbers/1.cc: Likewise. 1905 * testsuite/26_numerics/numbers/2.cc: Likewise. 1906 * testsuite/26_numerics/numbers/3.cc: Likewise. 1907 * testsuite/26_numerics/numbers/float128.cc: Likewise. 1908 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise. 1909 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. 1910 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise. 1911 * testsuite/26_numerics/random/concept.cc: Likewise. 1912 * testsuite/26_numerics/reduce/constexpr.cc: Likewise. 1913 * testsuite/26_numerics/slice/compare.cc: Likewise. 1914 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: 1915 Likewise. 1916 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: 1917 Likewise. 1918 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise. 1919 1920 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 1921 1922 * testsuite/24_iterators/aliases.cc: Remove dg-options 1923 -std=gnu++2a. 1924 * testsuite/24_iterators/associated_types/incrementable.traits.cc: 1925 Likewise. 1926 * testsuite/24_iterators/associated_types/iterator.traits.cc: 1927 Likewise. 1928 * testsuite/24_iterators/associated_types/readable.traits.cc: 1929 Likewise. 1930 * testsuite/24_iterators/back_insert_iterator/constexpr.cc: 1931 Likewise. 1932 * testsuite/24_iterators/back_insert_iterator/pr93884.cc: 1933 Likewise. 1934 * testsuite/24_iterators/bidirectional/concept.cc: Likewise. 1935 * testsuite/24_iterators/common_iterator/1.cc: Likewise. 1936 * testsuite/24_iterators/common_iterator/100823.cc: Likewise. 1937 * testsuite/24_iterators/common_iterator/2.cc: Likewise. 1938 * testsuite/24_iterators/contiguous/concept.cc: Likewise. 1939 * testsuite/24_iterators/contiguous/tag.cc: Likewise. 1940 * testsuite/24_iterators/counted_iterator/1.cc: Likewise. 1941 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise. 1942 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise. 1943 * testsuite/24_iterators/customization_points/92894.cc: 1944 Likewise. 1945 * testsuite/24_iterators/customization_points/iter_move.cc: 1946 Likewise. 1947 * testsuite/24_iterators/customization_points/iter_swap.cc: 1948 Likewise. 1949 * testsuite/24_iterators/customization_points/lwg3420.cc: 1950 Likewise. 1951 * testsuite/24_iterators/forward/concept.cc: Likewise. 1952 * testsuite/24_iterators/front_insert_iterator/constexpr.cc: 1953 Likewise. 1954 * testsuite/24_iterators/front_insert_iterator/pr93884.cc: 1955 Likewise. 1956 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: 1957 Likewise. 1958 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise. 1959 * testsuite/24_iterators/indirect_callable/projected-adl.cc: 1960 Likewise. 1961 * testsuite/24_iterators/indirect_callable/projected.cc: 1962 Likewise. 1963 * testsuite/24_iterators/input/concept.cc: Likewise. 1964 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. 1965 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: 1966 Likewise. 1967 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise. 1968 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: 1969 Likewise. 1970 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: 1971 Likewise. 1972 * testsuite/24_iterators/move_iterator/cust.cc: Likewise. 1973 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise. 1974 * testsuite/24_iterators/move_iterator/input_iterator.cc: 1975 Likewise. 1976 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. 1977 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise. 1978 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise. 1979 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise. 1980 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: 1981 Likewise. 1982 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise. 1983 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise. 1984 * testsuite/24_iterators/output/concept.cc: Likewise. 1985 * testsuite/24_iterators/random_access/concept.cc: Likewise. 1986 * testsuite/24_iterators/range_access/range_access_cpp20.cc: 1987 Likewise. 1988 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: 1989 Likewise. 1990 * testsuite/24_iterators/range_operations/100768.cc: Likewise. 1991 * testsuite/24_iterators/range_operations/advance.cc: Likewise. 1992 * testsuite/24_iterators/range_operations/advance_overflow.cc: 1993 Likewise. 1994 * testsuite/24_iterators/range_operations/distance.cc: Likewise. 1995 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise. 1996 * testsuite/24_iterators/range_operations/next.cc: Likewise. 1997 * testsuite/24_iterators/range_operations/prev.cc: Likewise. 1998 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise. 1999 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise. 2000 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: 2001 Likewise. 2002 2003 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2004 2005 * testsuite/23_containers/array/comparison_operators/96851.cc: 2006 Remove dg-options -std=gnu++2a. 2007 * testsuite/23_containers/array/comparison_operators/constexpr.cc: 2008 Likewise. 2009 * testsuite/23_containers/array/creation/1.cc: Likewise. 2010 * testsuite/23_containers/array/creation/110167.cc: Likewise. 2011 * testsuite/23_containers/array/creation/2.cc: Likewise. 2012 * testsuite/23_containers/array/creation/3_neg.cc: Likewise. 2013 * testsuite/23_containers/array/requirements/constexpr_fill.cc: 2014 Likewise. 2015 * testsuite/23_containers/array/requirements/constexpr_swap.cc: 2016 Likewise. 2017 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise. 2018 * testsuite/23_containers/deque/erasure.cc: Likewise. 2019 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: 2020 Likewise. 2021 * testsuite/23_containers/deque/operators/cmp_c++20.cc: 2022 Likewise. 2023 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise. 2024 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise. 2025 * testsuite/23_containers/forward_list/erasure.cc: Likewise. 2026 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: 2027 Likewise. 2028 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc: 2029 Likewise. 2030 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc: 2031 Likewise. 2032 * testsuite/23_containers/list/48101-3_neg.cc: Likewise. 2033 * testsuite/23_containers/list/cmp_c++20.cc: Likewise. 2034 * testsuite/23_containers/list/erasure.cc: Likewise. 2035 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: 2036 Likewise. 2037 * testsuite/23_containers/list/operations/remove_cxx20_return.cc: 2038 Likewise. 2039 * testsuite/23_containers/list/operations/unique_cxx20_return.cc: 2040 Likewise. 2041 * testsuite/23_containers/map/48101-3_neg.cc: Likewise. 2042 * testsuite/23_containers/map/erasure.cc: Likewise. 2043 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: 2044 Likewise. 2045 * testsuite/23_containers/map/operations/contains.cc: Likewise. 2046 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise. 2047 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise. 2048 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: 2049 Likewise. 2050 * testsuite/23_containers/multimap/operations/contains.cc: 2051 Likewise. 2052 * testsuite/23_containers/multimap/operators/cmp_c++20.cc: 2053 Likewise. 2054 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise. 2055 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: 2056 Likewise. 2057 * testsuite/23_containers/multiset/operations/contains.cc: 2058 Likewise. 2059 * testsuite/23_containers/multiset/operators/cmp_c++20.cc: 2060 Likewise. 2061 * testsuite/23_containers/priority_queue/92878_92947.cc: 2062 Likewise. 2063 * testsuite/23_containers/queue/92878_92947.cc: Likewise. 2064 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise. 2065 * testsuite/23_containers/set/48101-3_neg.cc: Likewise. 2066 * testsuite/23_containers/set/erasure.cc: Likewise. 2067 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: 2068 Likewise. 2069 * testsuite/23_containers/set/operations/contains.cc: Likewise. 2070 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise. 2071 * testsuite/23_containers/span/1.cc: Likewise. 2072 * testsuite/23_containers/span/101411.cc: Likewise. 2073 * testsuite/23_containers/span/2.cc: Likewise. 2074 * testsuite/23_containers/span/deduction.cc: Likewise. 2075 * testsuite/23_containers/span/explicit.cc: Likewise. 2076 * testsuite/23_containers/span/layout_compat.cc: Likewise. 2077 * testsuite/23_containers/span/lwg3255.cc: Likewise. 2078 * testsuite/23_containers/span/nothrow_cons.cc: Likewise. 2079 * testsuite/23_containers/span/trivially_copyable.cc: Likewise. 2080 * testsuite/23_containers/stack/92878_92947.cc: Likewise. 2081 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise. 2082 * testsuite/23_containers/unordered_map/48101-3_neg.cc: 2083 Likewise. 2084 * testsuite/23_containers/unordered_map/erasure.cc: Likewise. 2085 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: 2086 Likewise. 2087 * testsuite/23_containers/unordered_map/operations/1.cc: 2088 Likewise. 2089 * testsuite/23_containers/unordered_map/operations/contains.cc: 2090 Likewise. 2091 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc: 2092 Likewise. 2093 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: 2094 Likewise. 2095 * testsuite/23_containers/unordered_multimap/operations/1.cc: 2096 Likewise. 2097 * testsuite/23_containers/unordered_multimap/operations/contains.cc: 2098 Likewise. 2099 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc: 2100 Likewise. 2101 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: 2102 Likewise. 2103 * testsuite/23_containers/unordered_multiset/operations/1.cc: 2104 Likewise. 2105 * testsuite/23_containers/unordered_multiset/operations/contains.cc: 2106 Likewise. 2107 * testsuite/23_containers/unordered_set/48101-3_neg.cc: 2108 Likewise. 2109 * testsuite/23_containers/unordered_set/erasure.cc: Likewise. 2110 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: 2111 Likewise. 2112 * testsuite/23_containers/unordered_set/operations/1.cc: 2113 Likewise. 2114 * testsuite/23_containers/unordered_set/operations/contains.cc: 2115 Likewise. 2116 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise. 2117 * testsuite/23_containers/vector/bool/capacity/constexpr.cc: 2118 Likewise. 2119 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. 2120 * testsuite/23_containers/vector/bool/cons/constexpr.cc: 2121 Likewise. 2122 * testsuite/23_containers/vector/bool/element_access/constexpr.cc: 2123 Likewise. 2124 * testsuite/23_containers/vector/bool/iterator_c++20.cc: 2125 Likewise. 2126 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: 2127 Likewise. 2128 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: 2129 Likewise. 2130 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: 2131 Likewise. 2132 * testsuite/23_containers/vector/capacity/constexpr.cc: 2133 Likewise. 2134 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. 2135 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. 2136 * testsuite/23_containers/vector/data_access/constexpr.cc: 2137 Likewise. 2138 * testsuite/23_containers/vector/element_access/constexpr.cc: 2139 Likewise. 2140 * testsuite/23_containers/vector/erasure.cc: Likewise. 2141 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: 2142 Likewise. 2143 * testsuite/23_containers/vector/modifiers/constexpr.cc: 2144 Likewise. 2145 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: 2146 Likewise. 2147 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: 2148 Likewise. 2149 * testsuite/23_containers/vector/requirements/version.cc: 2150 Likewise. 2151 2152 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2153 2154 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove 2155 dg-options -std=gnu++20. 2156 * testsuite/21_strings/basic_string/cons/char/constexpr.cc: 2157 Likewise. 2158 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: 2159 Likewise. 2160 * testsuite/21_strings/basic_string/erasure.cc: Likewise. 2161 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: 2162 Likewise. 2163 * testsuite/21_strings/basic_string/literals/constexpr.cc: 2164 Likewise. 2165 * testsuite/21_strings/basic_string/modifiers/constexpr.cc: 2166 Likewise. 2167 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: 2168 Likewise. 2169 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: 2170 Likewise. 2171 * testsuite/21_strings/basic_string/operations/ends_with/char.cc: 2172 Likewise. 2173 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: 2174 Likewise. 2175 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: 2176 Likewise. 2177 * testsuite/21_strings/basic_string/operations/starts_with/char.cc: 2178 Likewise. 2179 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: 2180 Likewise. 2181 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: 2182 Likewise. 2183 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: 2184 Likewise. 2185 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: 2186 Likewise. 2187 * testsuite/21_strings/basic_string_view/cons/char/range.cc: 2188 Likewise. 2189 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: 2190 Likewise. 2191 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc: 2192 Likewise. 2193 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: 2194 Likewise. 2195 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: 2196 Likewise. 2197 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: 2198 Likewise. 2199 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: 2200 Likewise. 2201 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: 2202 Likewise. 2203 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: 2204 Likewise. 2205 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: 2206 Likewise. 2207 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: 2208 Likewise. 2209 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc: 2210 Likewise. 2211 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 2212 Likewise. 2213 2214 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2215 2216 * testsuite/20_util/allocator/105975.cc: Remove dg-options 2217 -std=gnu++2a. 2218 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. 2219 * testsuite/20_util/allocator/requirements/constexpr.cc: 2220 Likewise. 2221 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: 2222 Likewise. 2223 * testsuite/20_util/allocator_traits/header-2.cc: Likewise. 2224 * testsuite/20_util/allocator_traits/header.cc: Likewise. 2225 * testsuite/20_util/allocator_traits/members/92878_92947.cc: 2226 Likewise. 2227 * testsuite/20_util/any/assign/92878_92947.cc: Likewise. 2228 * testsuite/20_util/any/cons/92878_92947.cc: Likewise. 2229 * testsuite/20_util/assume_aligned/1.cc: Likewise. 2230 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise. 2231 * testsuite/20_util/assume_aligned/3.cc: Likewise. 2232 * testsuite/20_util/assume_aligned/97132.cc: Likewise. 2233 * testsuite/20_util/bind/constexpr.cc: Likewise. 2234 * testsuite/20_util/bitset/operations/96303.cc: Likewise. 2235 * testsuite/20_util/common_reference/100894.cc: Likewise. 2236 * testsuite/20_util/common_reference/requirements/alias_decl.cc: 2237 Likewise. 2238 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc: 2239 Likewise. 2240 * testsuite/20_util/common_reference/requirements/typedefs.cc: 2241 Likewise. 2242 * testsuite/20_util/duration/comparison_operators/three_way.cc: 2243 Likewise. 2244 * testsuite/20_util/exchange/constexpr.cc: Likewise. 2245 * testsuite/20_util/exchange/noexcept.cc: Likewise. 2246 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise. 2247 * testsuite/20_util/from_chars/compare.cc: Likewise. 2248 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. 2249 * testsuite/20_util/function_objects/bind_front/107784.cc: 2250 Likewise. 2251 * testsuite/20_util/function_objects/bind_front/111327.cc: 2252 Likewise. 2253 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. 2254 * testsuite/20_util/function_objects/bind_front/97101.cc: 2255 Likewise. 2256 * testsuite/20_util/function_objects/bind_front/constexpr.cc: 2257 Likewise. 2258 * testsuite/20_util/function_objects/constexpr_searcher.cc: 2259 Likewise. 2260 * testsuite/20_util/function_objects/identity/1.cc: Likewise. 2261 * testsuite/20_util/function_objects/invoke/constexpr.cc: 2262 Likewise. 2263 * testsuite/20_util/function_objects/mem_fn/constexpr.cc: 2264 Likewise. 2265 * testsuite/20_util/function_objects/not_fn/constexpr.cc: 2266 Likewise. 2267 * testsuite/20_util/integer_comparisons/1.cc: Likewise. 2268 * testsuite/20_util/integer_comparisons/2.cc: Likewise. 2269 * testsuite/20_util/integer_comparisons/equal.cc: Likewise. 2270 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise. 2271 * testsuite/20_util/integer_comparisons/greater.cc: Likewise. 2272 * testsuite/20_util/integer_comparisons/greater_equal.cc: 2273 Likewise. 2274 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: 2275 Likewise. 2276 * testsuite/20_util/integer_comparisons/greater_neg.cc: 2277 Likewise. 2278 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise. 2279 * testsuite/20_util/integer_comparisons/in_range_neg.cc: 2280 Likewise. 2281 * testsuite/20_util/integer_comparisons/less.cc: Likewise. 2282 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. 2283 * testsuite/20_util/integer_comparisons/less_equal_neg.cc: 2284 Likewise. 2285 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. 2286 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. 2287 * testsuite/20_util/integer_comparisons/not_equal_neg.cc: 2288 Likewise. 2289 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc: 2290 Likewise. 2291 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: 2292 Likewise. 2293 * testsuite/20_util/is_bounded_array/value.cc: Likewise. 2294 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise. 2295 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise. 2296 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. 2297 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: 2298 Likewise. 2299 * testsuite/20_util/is_layout_compatible/value.cc: Likewise. 2300 * testsuite/20_util/is_layout_compatible/version.cc: Likewise. 2301 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: 2302 Likewise. 2303 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc: 2304 Likewise. 2305 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: 2306 Likewise. 2307 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise. 2308 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise. 2309 * testsuite/20_util/is_pointer_interconvertible/value.cc: 2310 Likewise. 2311 * testsuite/20_util/is_pointer_interconvertible/version.cc: 2312 Likewise. 2313 * testsuite/20_util/is_pointer_interconvertible/with_class.cc: 2314 Likewise. 2315 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc: 2316 Likewise. 2317 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: 2318 Likewise. 2319 * testsuite/20_util/is_unbounded_array/value.cc: Likewise. 2320 * testsuite/20_util/optional/assignment/92878_92947.cc: 2321 Likewise. 2322 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. 2323 * testsuite/20_util/optional/constexpr/assign.cc: Likewise. 2324 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise. 2325 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise. 2326 * testsuite/20_util/optional/constexpr/swap.cc: Likewise. 2327 * testsuite/20_util/optional/relops/96269.cc: Likewise. 2328 * testsuite/20_util/optional/relops/three_way.cc: Likewise. 2329 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: 2330 Likewise. 2331 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. 2332 * testsuite/20_util/pair/constexpr_assign.cc: Likewise. 2333 * testsuite/20_util/pair/constexpr_swap.cc: Likewise. 2334 * testsuite/20_util/pair/requirements/structural.cc: Likewise. 2335 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: 2336 Likewise. 2337 * testsuite/20_util/polymorphic_allocator/allocate_object.cc: 2338 Likewise. 2339 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: 2340 Likewise. 2341 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise. 2342 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise. 2343 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise. 2344 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: 2345 Likewise. 2346 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc: 2347 Likewise. 2348 * testsuite/20_util/remove_cvref/value.cc: Likewise. 2349 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: 2350 Likewise. 2351 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: 2352 Likewise. 2353 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. 2354 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: 2355 Likewise. 2356 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. 2357 * testsuite/20_util/shared_ptr/creation/92878_92947.cc: 2358 Likewise. 2359 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. 2360 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. 2361 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. 2362 * testsuite/20_util/time_point/4.cc: Likewise. 2363 * testsuite/20_util/time_point/comparison_operators/three_way.cc: 2364 Likewise. 2365 * testsuite/20_util/to_address/1.cc: Likewise. 2366 * testsuite/20_util/to_address/1_neg.cc: Likewise. 2367 * testsuite/20_util/to_address/debug.cc: Likewise. 2368 * testsuite/20_util/to_address/lwg3545.cc: Likewise. 2369 * testsuite/20_util/to_chars/compare.cc: Likewise. 2370 * testsuite/20_util/tuple/comparison_operators/three_way.cc: 2371 Likewise. 2372 * testsuite/20_util/tuple/cons/102270.cc: Likewise. 2373 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: 2374 Likewise. 2375 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise. 2376 * testsuite/20_util/type_identity/requirements/alias_decl.cc: 2377 Likewise. 2378 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc: 2379 Likewise. 2380 * testsuite/20_util/type_identity/requirements/typedefs.cc: 2381 Likewise. 2382 * testsuite/20_util/typeindex/comparison_operators_c++20.cc: 2383 Likewise. 2384 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: 2385 Likewise. 2386 * testsuite/20_util/unique_ptr/creation/92878_92947.cc: 2387 Likewise. 2388 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: 2389 Likewise. 2390 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: 2391 Likewise. 2392 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise. 2393 * testsuite/20_util/unwrap_reference/1.cc: Likewise. 2394 * testsuite/20_util/unwrap_reference/2.cc: Likewise. 2395 * testsuite/20_util/unwrap_reference/3.cc: Likewise. 2396 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. 2397 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise. 2398 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise. 2399 * testsuite/20_util/uses_allocator/uninitialized_construct.cc: 2400 Likewise. 2401 * testsuite/20_util/variant/92878_92947.cc: Likewise. 2402 * testsuite/20_util/variant/95915.cc: Likewise. 2403 * testsuite/20_util/variant/constexpr.cc: Likewise. 2404 * testsuite/20_util/variant/relops/three_way.cc: Likewise. 2405 * testsuite/20_util/variant/visit_neg.cc: Likewise. 2406 * testsuite/20_util/variant/visit_r.cc: Likewise. 2407 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. 2408 2409 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2410 2411 * testsuite/18_support/comparisons/algorithms/fallback.cc: 2412 Remove dg-options -std=gnu++2a. 2413 * testsuite/18_support/comparisons/algorithms/partial_order.cc: 2414 Likewise. 2415 * testsuite/18_support/comparisons/algorithms/strong_order.cc: 2416 Likewise. 2417 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: 2418 Likewise. 2419 * testsuite/18_support/comparisons/algorithms/weak_order.cc: 2420 Likewise. 2421 * testsuite/18_support/comparisons/categories/94565.cc: 2422 Likewise. 2423 * testsuite/18_support/comparisons/categories/partialord.cc: 2424 Likewise. 2425 * testsuite/18_support/comparisons/categories/strongord.cc: 2426 Likewise. 2427 * testsuite/18_support/comparisons/categories/weakord.cc: 2428 Likewise. 2429 * testsuite/18_support/comparisons/categories/zero_neg.cc: 2430 Likewise. 2431 * testsuite/18_support/comparisons/common/1.cc: Likewise. 2432 * testsuite/18_support/comparisons/object/93479.cc: Likewise. 2433 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise. 2434 2435 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2436 2437 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: 2438 Remove dg-options -std=gnu++2a. 2439 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. 2440 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. 2441 * testsuite/29_atomics/atomic/requirements/types_neg.cc: 2442 Likewise. 2443 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. 2444 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise. 2445 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. 2446 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. 2447 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise. 2448 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 2449 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 2450 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise. 2451 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise. 2452 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. 2453 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 2454 * testsuite/29_atomics/atomic_float/1.cc: Likewise. 2455 * testsuite/29_atomics/atomic_float/95282.cc: Likewise. 2456 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. 2457 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. 2458 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. 2459 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: 2460 Likewise. 2461 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. 2462 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: 2463 Likewise. 2464 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise. 2465 * testsuite/29_atomics/atomic_ref/float.cc: Likewise. 2466 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. 2467 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. 2468 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. 2469 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise. 2470 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc: 2471 Likewise. 2472 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: 2473 Likewise. 2474 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: 2475 Likewise. 2476 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: 2477 Likewise. 2478 2479 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2480 2481 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test. 2482 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test. 2483 2484 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2485 2486 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New 2487 macro. 2488 * config.h.in: Regenerate. 2489 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new 2490 basic_filebuf members. 2491 * config/io/basic_file_stdio.cc (__basic_file::native_handle): 2492 Define new function. 2493 * config/io/basic_file_stdio.h (__basic_file::native_handle): 2494 Declare new function. 2495 * configure: Regenerate. 2496 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES. 2497 * include/bits/version.def (fstream_native_handles): New macro. 2498 * include/bits/version.h: Regenerate. 2499 * include/std/fstream (basic_filebuf::native_handle) 2500 (basic_fstream::native_handle, basic_ifstream::native_handle) 2501 (basic_ofstream::native_handle): New functions. 2502 * src/c++11/Makefile.am: Move compilation of basic_file.cc, 2503 locale_init.cc and localename.cc to here. 2504 * src/c++11/Makefile.in: Regenerate. 2505 * src/c++98/locale_init.cc: Moved to... 2506 * src/c++11/locale_init.cc: ...here. 2507 * src/c++98/localename.cc: Moved to... 2508 * src/c++11/localename.cc: ...here. 2509 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc 2510 and localename.cc from here. 2511 * src/c++98/Makefile.in: Regenerate. 2512 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test. 2513 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test. 2514 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test. 2515 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test. 2516 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test. 2517 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test. 2518 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test. 2519 2520 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2521 2522 * testsuite/libstdc++-dg/conformance.exp: Add log line when 2523 using testsuite_files. 2524 2525 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2526 2527 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg 2528 directives. 2529 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: 2530 Likewise. 2531 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: 2532 Likewise. 2533 * testsuite/20_util/synchronized_pool_resource/allocate.cc: 2534 Likewise. 2535 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: 2536 Likewise. 2537 * testsuite/20_util/synchronized_pool_resource/cons.cc: 2538 Likewise. 2539 * testsuite/20_util/synchronized_pool_resource/cons_single.cc: 2540 Likewise. 2541 * testsuite/20_util/synchronized_pool_resource/is_equal.cc: 2542 Likewise. 2543 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: 2544 Likewise. 2545 * testsuite/20_util/synchronized_pool_resource/options.cc: 2546 Likewise. 2547 * testsuite/20_util/synchronized_pool_resource/release.cc: 2548 Likewise. 2549 * testsuite/20_util/synchronized_pool_resource/release_single.cc: 2550 Likewise. 2551 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: 2552 Likewise. 2553 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: 2554 Likewise. 2555 * testsuite/30_threads/stop_token/stop_callback/destroy.cc: 2556 Likewise. 2557 2558 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2559 2560 * testsuite/23_containers/span/back_assert_neg.cc: Remove 2561 dg-options and add effective target selector to dg-do. Add 2562 no_pch. 2563 * testsuite/23_containers/span/back_neg.cc: Likewise. 2564 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise. 2565 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise. 2566 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. 2567 * testsuite/23_containers/span/first_assert_neg.cc: Likewise. 2568 * testsuite/23_containers/span/first_neg.cc: Likewise. 2569 * testsuite/23_containers/span/front_assert_neg.cc: Likewise. 2570 * testsuite/23_containers/span/front_neg.cc: Likewise. 2571 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. 2572 * testsuite/23_containers/span/index_op_neg.cc: Likewise. 2573 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. 2574 * testsuite/23_containers/span/last_assert_neg.cc: Likewise. 2575 * testsuite/23_containers/span/last_neg.cc: Likewise. 2576 * testsuite/23_containers/span/subspan_2_assert_neg.cc: 2577 Likewise. 2578 * testsuite/23_containers/span/subspan_3_assert_neg.cc: 2579 Likewise. 2580 * testsuite/23_containers/span/subspan_4_assert_neg.cc: 2581 Likewise. 2582 * testsuite/23_containers/span/subspan_5_assert_neg.cc: 2583 Likewise. 2584 * testsuite/23_containers/span/subspan_6_assert_neg.cc: 2585 Likewise. 2586 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. 2587 * testsuite/23_containers/span/subspan_neg.cc: Likewise. 2588 * testsuite/24_iterators/range_operations/advance_debug_neg.cc: 2589 Likewise. 2590 2591 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2592 2593 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove 2594 dg-options. 2595 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise. 2596 * testsuite/18_support/type_info/constexpr.cc: Likewise. 2597 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise. 2598 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. 2599 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. 2600 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. 2601 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. 2602 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise. 2603 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise. 2604 * testsuite/20_util/bitset/access/constexpr.cc: Likewise. 2605 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. 2606 * testsuite/20_util/bitset/count/constexpr.cc: Likewise. 2607 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. 2608 * testsuite/20_util/bitset/operations/constexpr_c++23.cc: 2609 Likewise. 2610 * testsuite/20_util/bitset/version.cc: Likewise. 2611 * testsuite/20_util/from_chars/8.cc: Likewise. 2612 * testsuite/20_util/from_chars/constexpr.cc: Likewise. 2613 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. 2614 * testsuite/20_util/function_objects/invoke/4.cc: Likewise. 2615 * testsuite/20_util/function_objects/invoke/dangling_ref.cc: 2616 Likewise. 2617 * testsuite/20_util/is_scoped_enum/value.cc: Likewise. 2618 * testsuite/20_util/is_scoped_enum/version.cc: Likewise. 2619 * testsuite/20_util/move_only_function/call.cc: Likewise. 2620 * testsuite/20_util/move_only_function/cons.cc: Likewise. 2621 * testsuite/20_util/move_only_function/move.cc: Likewise. 2622 * testsuite/20_util/move_only_function/version.cc: Likewise. 2623 * testsuite/20_util/optional/monadic/and_then.cc: Likewise. 2624 * testsuite/20_util/optional/monadic/or_else.cc: Likewise. 2625 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise. 2626 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise. 2627 * testsuite/20_util/optional/monadic/transform.cc: Likewise. 2628 * testsuite/20_util/pair/p2321r2.cc: Likewise. 2629 * testsuite/20_util/reference_from_temporary/value.cc: Likewise. 2630 * testsuite/20_util/reference_from_temporary/value2.cc: 2631 Likewise. 2632 * testsuite/20_util/reference_from_temporary/version.cc: 2633 Likewise. 2634 * testsuite/20_util/to_chars/constexpr.cc: Likewise. 2635 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise. 2636 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise. 2637 * testsuite/20_util/to_chars/version.cc: Likewise. 2638 * testsuite/20_util/to_underlying/1.cc: Likewise. 2639 * testsuite/20_util/to_underlying/version.cc: Likewise. 2640 * testsuite/20_util/tuple/p2321r2.cc: Likewise. 2641 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise. 2642 * testsuite/20_util/unique_ptr/comparison/constexpr.cc: 2643 Likewise. 2644 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: 2645 Likewise. 2646 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. 2647 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise. 2648 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise. 2649 * testsuite/20_util/unreachable/1.cc: Likewise. 2650 * testsuite/20_util/unreachable/version.cc: Likewise. 2651 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise. 2652 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise. 2653 * testsuite/21_strings/basic_string/operations/contains/char.cc: 2654 Likewise. 2655 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise. 2656 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise. 2657 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise. 2658 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise. 2659 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise. 2660 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. 2661 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise. 2662 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise. 2663 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. 2664 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. 2665 * testsuite/23_containers/vector/bool/element_access/1.cc: 2666 Likewise. 2667 * testsuite/24_iterators/const_iterator/1.cc: Likewise. 2668 * testsuite/25_algorithms/contains/1.cc: Likewise. 2669 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise. 2670 * testsuite/25_algorithms/find_last/1.cc: Likewise. 2671 * testsuite/25_algorithms/find_last_if/1.cc: Likewise. 2672 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise. 2673 * testsuite/25_algorithms/fold_left/1.cc: Likewise. 2674 * testsuite/25_algorithms/fold_right/1.cc: Likewise. 2675 * testsuite/25_algorithms/iota/1.cc: Likewise. 2676 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. 2677 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. 2678 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise. 2679 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise. 2680 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: 2681 Likewise. 2682 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: 2683 Likewise. 2684 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: 2685 Likewise. 2686 * testsuite/26_numerics/numbers/4.cc: Likewise. 2687 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise. 2688 * testsuite/27_io/filesystem/path/native/conv_c++23.cc: 2689 Likewise. 2690 * testsuite/27_io/spanstream/1.cc: Likewise. 2691 * testsuite/27_io/spanstream/2.cc: Likewise. 2692 * testsuite/27_io/spanstream/version.cc: Likewise. 2693 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: 2694 Likewise. 2695 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: 2696 Likewise. 2697 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. 2698 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: 2699 Likewise. 2700 * testsuite/experimental/filesystem/path/native/conv_c++23.cc: 2701 Likewise. 2702 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise. 2703 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: 2704 Likewise. 2705 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. 2706 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. 2707 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. 2708 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. 2709 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. 2710 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. 2711 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise. 2712 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. 2713 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. 2714 * testsuite/std/ranges/cartesian_product/1.cc: Likewise. 2715 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise. 2716 * testsuite/std/ranges/repeat/1.cc: Likewise. 2717 * testsuite/std/ranges/version_c++23.cc: Likewise. 2718 * testsuite/std/ranges/zip/1.cc: Likewise. 2719 * testsuite/std/ranges/zip_transform/1.cc: Likewise. 2720 2721 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2722 2723 * testsuite/20_util/expected/assign.cc: Remove dg-options. 2724 * testsuite/20_util/expected/bad.cc: Likewise. 2725 * testsuite/20_util/expected/cons.cc: Likewise. 2726 * testsuite/20_util/expected/equality.cc: Likewise. 2727 * testsuite/20_util/expected/illformed_neg.cc: Likewise. 2728 * testsuite/20_util/expected/lwg3877.cc: Likewise. 2729 * testsuite/20_util/expected/lwg3938.cc: Likewise. 2730 * testsuite/20_util/expected/monadic.cc: Likewise. 2731 * testsuite/20_util/expected/observers.cc: Likewise. 2732 * testsuite/20_util/expected/requirements.cc: Likewise. 2733 * testsuite/20_util/expected/swap.cc: Likewise. 2734 * testsuite/20_util/expected/synopsis.cc: Likewise. 2735 * testsuite/20_util/expected/unexpected.cc: Likewise. 2736 * testsuite/20_util/expected/version.cc: Likewise. 2737 2738 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2739 2740 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: 2741 Remove dg-options. 2742 * testsuite/20_util/duration/io.cc: Likewise. 2743 * testsuite/std/time/clock/file/io.cc: Likewise. 2744 * testsuite/std/time/clock/file/members.cc: Likewise. 2745 * testsuite/std/time/clock/file/overview.cc: Likewise. 2746 * testsuite/std/time/clock/gps/1.cc: Likewise. 2747 * testsuite/std/time/clock/gps/io.cc: Likewise. 2748 * testsuite/std/time/clock/local/io.cc: Likewise. 2749 * testsuite/std/time/clock/system/io.cc: Likewise. 2750 * testsuite/std/time/clock/tai/1.cc: Likewise. 2751 * testsuite/std/time/clock/tai/io.cc: Likewise. 2752 * testsuite/std/time/clock/utc/1.cc: Likewise. 2753 * testsuite/std/time/clock/utc/io.cc: Likewise. 2754 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise. 2755 * testsuite/std/time/day/1.cc: Likewise. 2756 * testsuite/std/time/day/io.cc: Likewise. 2757 * testsuite/std/time/exceptions.cc: Likewise. 2758 * testsuite/std/time/format.cc: Likewise. 2759 * testsuite/std/time/hh_mm_ss/1.cc: Likewise. 2760 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise. 2761 * testsuite/std/time/hh_mm_ss/io.cc: Likewise. 2762 * testsuite/std/time/is_am/1.cc: Likewise. 2763 * testsuite/std/time/is_pm/1.cc: Likewise. 2764 * testsuite/std/time/make12/1.cc: Likewise. 2765 * testsuite/std/time/make24/1.cc: Likewise. 2766 * testsuite/std/time/month/1.cc: Likewise. 2767 * testsuite/std/time/month/io.cc: Likewise. 2768 * testsuite/std/time/month_day/1.cc: Likewise. 2769 * testsuite/std/time/month_day/io.cc: Likewise. 2770 * testsuite/std/time/month_day_last/1.cc: Likewise. 2771 * testsuite/std/time/month_day_last/io.cc: Likewise. 2772 * testsuite/std/time/month_weekday/1.cc: Likewise. 2773 * testsuite/std/time/month_weekday/io.cc: Likewise. 2774 * testsuite/std/time/month_weekday_last/1.cc: Likewise. 2775 * testsuite/std/time/month_weekday_last/io.cc: Likewise. 2776 * testsuite/std/time/parse.cc: Likewise. 2777 * testsuite/std/time/syn_c++20.cc: Likewise. 2778 * testsuite/std/time/time_zone/get_info_local.cc: Likewise. 2779 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise. 2780 * testsuite/std/time/time_zone/requirements.cc: Likewise. 2781 * testsuite/std/time/traits/is_clock.cc: Likewise. 2782 * testsuite/std/time/tzdb/1.cc: Likewise. 2783 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise. 2784 * testsuite/std/time/tzdb_list/1.cc: Likewise. 2785 * testsuite/std/time/tzdb_list/requirements.cc: Likewise. 2786 * testsuite/std/time/weekday/1.cc: Likewise. 2787 * testsuite/std/time/weekday/io.cc: Likewise. 2788 * testsuite/std/time/weekday_indexed/io.cc: Likewise. 2789 * testsuite/std/time/weekday_last/1.cc: Likewise. 2790 * testsuite/std/time/weekday_last/io.cc: Likewise. 2791 * testsuite/std/time/year/1.cc: Likewise. 2792 * testsuite/std/time/year/2.cc: Likewise. 2793 * testsuite/std/time/year/io.cc: Likewise. 2794 * testsuite/std/time/weekday_indexed/1.cc: Likewise. 2795 * testsuite/std/time/year_month/1.cc: Likewise. 2796 * testsuite/std/time/year_month/2.cc: Likewise. 2797 * testsuite/std/time/year_month/io.cc: Likewise. 2798 * testsuite/std/time/year_month_day/1.cc: Likewise. 2799 * testsuite/std/time/year_month_day/2.cc: Likewise. 2800 * testsuite/std/time/year_month_day/3.cc: Likewise. 2801 * testsuite/std/time/year_month_day/4.cc: Likewise. 2802 * testsuite/std/time/year_month_day/io.cc: Likewise. 2803 * testsuite/std/time/year_month_day_last/1.cc: Likewise. 2804 * testsuite/std/time/year_month_day_last/2.cc: Likewise. 2805 * testsuite/std/time/year_month_day_last/io.cc: Likewise. 2806 * testsuite/std/time/year_month_weekday/1.cc: Likewise. 2807 * testsuite/std/time/year_month_weekday/2.cc: Likewise. 2808 * testsuite/std/time/year_month_weekday/3.cc: Likewise. 2809 * testsuite/std/time/year_month_weekday/io.cc: Likewise. 2810 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise. 2811 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise. 2812 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. 2813 * testsuite/std/time/zoned_time/1.cc: Likewise. 2814 * testsuite/std/time/zoned_time/custom.cc: Likewise. 2815 * testsuite/std/time/zoned_time/deduction.cc: Likewise. 2816 * testsuite/std/time/zoned_time/io.cc: Likewise. 2817 * testsuite/std/time/zoned_time/req_neg.cc: Likewise. 2818 * testsuite/std/time/zoned_time/requirements.cc: Likewise. 2819 * testsuite/std/time/zoned_traits.cc: Likewise. 2820 2821 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2822 2823 * testsuite/std/format/arguments/args.cc: Remove dg-options. 2824 * testsuite/std/format/arguments/lwg3810.cc: Likewise. 2825 * testsuite/std/format/error.cc: Likewise. 2826 * testsuite/std/format/format_string.cc: Likewise. 2827 * testsuite/std/format/formatter/concept.cc: Likewise. 2828 * testsuite/std/format/formatter/ext_float.cc: Likewise. 2829 * testsuite/std/format/formatter/requirements.cc: Likewise. 2830 * testsuite/std/format/functions/107871.cc: Likewise. 2831 * testsuite/std/format/functions/format.cc: Likewise. 2832 * testsuite/std/format/functions/format_to.cc: Likewise. 2833 * testsuite/std/format/functions/format_to_n.cc: Likewise. 2834 * testsuite/std/format/functions/size.cc: Likewise. 2835 * testsuite/std/format/functions/vformat_to.cc: Likewise. 2836 * testsuite/std/format/parse_ctx.cc: Likewise. 2837 * testsuite/std/format/string.cc: Likewise. 2838 * testsuite/std/format/string_neg.cc: Likewise. 2839 * testsuite/std/format/functions/format_c++23.cc: Removed. 2840 2841 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2842 2843 * testsuite/20_util/function_objects/range.cmp/equal_to.cc: 2844 Remove dg-options. 2845 * testsuite/20_util/function_objects/range.cmp/greater.cc: 2846 Likewise. 2847 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: 2848 Likewise. 2849 * testsuite/20_util/function_objects/range.cmp/less.cc: 2850 Likewise. 2851 * testsuite/20_util/function_objects/range.cmp/less_equal.cc: 2852 Likewise. 2853 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: 2854 Likewise. 2855 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: 2856 Likewise. 2857 * testsuite/20_util/specialized_algorithms/construct_at/1.cc: 2858 Likewise. 2859 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: 2860 Likewise. 2861 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: 2862 Likewise. 2863 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: 2864 Likewise. 2865 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: 2866 Likewise. 2867 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc: 2868 Likewise. 2869 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc: 2870 Likewise. 2871 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: 2872 Likewise. 2873 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: 2874 Likewise. 2875 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: 2876 Likewise. 2877 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: 2878 Likewise. 2879 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise. 2880 * testsuite/25_algorithms/adjacent_find/constrained.cc: 2881 Likewise. 2882 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise. 2883 * testsuite/25_algorithms/all_of/constrained.cc: Likewise. 2884 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. 2885 * testsuite/25_algorithms/any_of/constrained.cc: Likewise. 2886 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. 2887 * testsuite/25_algorithms/binary_search/constrained.cc: 2888 Likewise. 2889 * testsuite/25_algorithms/clamp/constrained.cc: Likewise. 2890 * testsuite/25_algorithms/constexpr_macro.cc: Likewise. 2891 * testsuite/25_algorithms/copy/95578.cc: Likewise. 2892 * testsuite/25_algorithms/copy/constexpr.cc: Likewise. 2893 * testsuite/25_algorithms/copy/constrained.cc: Likewise. 2894 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. 2895 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise. 2896 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. 2897 * testsuite/25_algorithms/copy_backward/constrained.cc: 2898 Likewise. 2899 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: 2900 Likewise. 2901 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise. 2902 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise. 2903 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise. 2904 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise. 2905 * testsuite/25_algorithms/count/constexpr.cc: Likewise. 2906 * testsuite/25_algorithms/count/constrained.cc: Likewise. 2907 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise. 2908 * testsuite/25_algorithms/count_if/constrained.cc: Likewise. 2909 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. 2910 * testsuite/25_algorithms/equal/95578.cc: Likewise. 2911 * testsuite/25_algorithms/equal/constexpr.cc: Likewise. 2912 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. 2913 * testsuite/25_algorithms/equal/constrained.cc: Likewise. 2914 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: 2915 Likewise. 2916 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. 2917 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise. 2918 * testsuite/25_algorithms/fill/94017.cc: Likewise. 2919 * testsuite/25_algorithms/fill/constexpr.cc: Likewise. 2920 * testsuite/25_algorithms/fill/constrained.cc: Likewise. 2921 * testsuite/25_algorithms/fill_n/94017.cc: Likewise. 2922 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise. 2923 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise. 2924 * testsuite/25_algorithms/find/constexpr.cc: Likewise. 2925 * testsuite/25_algorithms/find/constrained.cc: Likewise. 2926 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. 2927 * testsuite/25_algorithms/find_end/constrained.cc: Likewise. 2928 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise. 2929 * testsuite/25_algorithms/find_first_of/constrained.cc: 2930 Likewise. 2931 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. 2932 * testsuite/25_algorithms/find_if/constrained.cc: Likewise. 2933 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise. 2934 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise. 2935 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise. 2936 * testsuite/25_algorithms/for_each/constrained.cc: Likewise. 2937 * testsuite/25_algorithms/generate/constexpr.cc: Likewise. 2938 * testsuite/25_algorithms/generate/constrained.cc: Likewise. 2939 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise. 2940 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise. 2941 * testsuite/25_algorithms/heap/constrained.cc: Likewise. 2942 * testsuite/25_algorithms/includes/constrained.cc: Likewise. 2943 * testsuite/25_algorithms/inplace_merge/constrained.cc: 2944 Likewise. 2945 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. 2946 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. 2947 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. 2948 * testsuite/25_algorithms/is_partitioned/constrained.cc: 2949 Likewise. 2950 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. 2951 * testsuite/25_algorithms/is_permutation/constrained.cc: 2952 Likewise. 2953 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. 2954 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. 2955 * testsuite/25_algorithms/is_sorted_until/constexpr.cc: 2956 Likewise. 2957 * testsuite/25_algorithms/is_sorted_until/constrained.cc: 2958 Likewise. 2959 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise. 2960 * testsuite/25_algorithms/lexicographical_compare/93972.cc: 2961 Likewise. 2962 * testsuite/25_algorithms/lexicographical_compare/95578.cc: 2963 Likewise. 2964 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: 2965 Likewise. 2966 * testsuite/25_algorithms/lexicographical_compare/constrained.cc: 2967 Likewise. 2968 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: 2969 Likewise. 2970 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc: 2971 Likewise. 2972 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. 2973 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise. 2974 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: 2975 Likewise. 2976 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: 2977 Likewise. 2978 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: 2979 Likewise. 2980 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise. 2981 * testsuite/25_algorithms/max/constrained.cc: Likewise. 2982 * testsuite/25_algorithms/max_element/constrained.cc: Likewise. 2983 * testsuite/25_algorithms/merge/constexpr.cc: Likewise. 2984 * testsuite/25_algorithms/merge/constrained.cc: Likewise. 2985 * testsuite/25_algorithms/min/constrained.cc: Likewise. 2986 * testsuite/25_algorithms/min_element/constrained.cc: Likewise. 2987 * testsuite/25_algorithms/minmax/constrained.cc: Likewise. 2988 * testsuite/25_algorithms/minmax_element/constrained.cc: 2989 Likewise. 2990 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. 2991 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise. 2992 * testsuite/25_algorithms/move/93872.cc: Likewise. 2993 * testsuite/25_algorithms/move/95578.cc: Likewise. 2994 * testsuite/25_algorithms/move/constexpr.cc: Likewise. 2995 * testsuite/25_algorithms/move/constrained.cc: Likewise. 2996 * testsuite/25_algorithms/move_backward/93872.cc: Likewise. 2997 * testsuite/25_algorithms/move_backward/95578.cc: Likewise. 2998 * testsuite/25_algorithms/move_backward/constrained.cc: 2999 Likewise. 3000 * testsuite/25_algorithms/next_permutation/constexpr.cc: 3001 Likewise. 3002 * testsuite/25_algorithms/next_permutation/constrained.cc: 3003 Likewise. 3004 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. 3005 * testsuite/25_algorithms/none_of/constrained.cc: Likewise. 3006 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise. 3007 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise. 3008 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. 3009 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. 3010 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: 3011 Likewise. 3012 * testsuite/25_algorithms/partial_sort_copy/constrained.cc: 3013 Likewise. 3014 * testsuite/25_algorithms/partition/constexpr.cc: Likewise. 3015 * testsuite/25_algorithms/partition/constrained.cc: Likewise. 3016 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. 3017 * testsuite/25_algorithms/partition_copy/constrained.cc: 3018 Likewise. 3019 * testsuite/25_algorithms/partition_point/constexpr.cc: 3020 Likewise. 3021 * testsuite/25_algorithms/partition_point/constrained.cc: 3022 Likewise. 3023 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise. 3024 * testsuite/25_algorithms/prev_permutation/constexpr.cc: 3025 Likewise. 3026 * testsuite/25_algorithms/prev_permutation/constrained.cc: 3027 Likewise. 3028 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise. 3029 * testsuite/25_algorithms/remove/constexpr.cc: Likewise. 3030 * testsuite/25_algorithms/remove/constrained.cc: Likewise. 3031 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. 3032 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise. 3033 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. 3034 * testsuite/25_algorithms/remove_copy_if/constrained.cc: 3035 Likewise. 3036 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. 3037 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise. 3038 * testsuite/25_algorithms/replace/constrained.cc: Likewise. 3039 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise. 3040 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise. 3041 * testsuite/25_algorithms/replace_copy_if/constexpr.cc: 3042 Likewise. 3043 * testsuite/25_algorithms/replace_copy_if/constrained.cc: 3044 Likewise. 3045 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. 3046 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise. 3047 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. 3048 * testsuite/25_algorithms/reverse/constrained.cc: Likewise. 3049 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. 3050 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise. 3051 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise. 3052 * testsuite/25_algorithms/rotate/constrained.cc: Likewise. 3053 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. 3054 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. 3055 * testsuite/25_algorithms/sample/constrained.cc: Likewise. 3056 * testsuite/25_algorithms/search/constexpr.cc: Likewise. 3057 * testsuite/25_algorithms/search/constrained.cc: Likewise. 3058 * testsuite/25_algorithms/search_n/97828.cc: Likewise. 3059 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise. 3060 * testsuite/25_algorithms/search_n/constrained.cc: Likewise. 3061 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. 3062 * testsuite/25_algorithms/set_difference/constrained.cc: 3063 Likewise. 3064 * testsuite/25_algorithms/set_intersection/constexpr.cc: 3065 Likewise. 3066 * testsuite/25_algorithms/set_intersection/constrained.cc: 3067 Likewise. 3068 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: 3069 Likewise. 3070 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: 3071 Likewise. 3072 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. 3073 * testsuite/25_algorithms/set_union/constrained.cc: Likewise. 3074 * testsuite/25_algorithms/shift_left/1.cc: Likewise. 3075 * testsuite/25_algorithms/shift_right/1.cc: Likewise. 3076 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. 3077 * testsuite/25_algorithms/sort/constexpr.cc: Likewise. 3078 * testsuite/25_algorithms/sort/constrained.cc: Likewise. 3079 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. 3080 * testsuite/25_algorithms/stable_partition/constrained.cc: 3081 Likewise. 3082 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. 3083 * testsuite/25_algorithms/swap/constexpr.cc: Likewise. 3084 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise. 3085 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise. 3086 * testsuite/25_algorithms/transform/constexpr.cc: Likewise. 3087 * testsuite/25_algorithms/transform/constrained.cc: Likewise. 3088 * testsuite/25_algorithms/unique/constexpr.cc: Likewise. 3089 * testsuite/25_algorithms/unique/constrained.cc: Likewise. 3090 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. 3091 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise. 3092 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. 3093 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise. 3094 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: 3095 Likewise. 3096 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: 3097 Likewise. 3098 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: 3099 Likewise. 3100 3101 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3102 3103 * testsuite/std/concepts/1.cc: Remove dg-options. 3104 * testsuite/std/concepts/2.cc: Likewise. 3105 * testsuite/std/concepts/concepts.callable/invocable.cc: 3106 Likewise. 3107 * testsuite/std/concepts/concepts.callable/regular_invocable.cc: 3108 Likewise. 3109 * testsuite/std/concepts/concepts.callable/relation.cc: 3110 Likewise. 3111 * testsuite/std/concepts/concepts.callable/strictweakorder.cc: 3112 Likewise. 3113 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise. 3114 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise. 3115 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise. 3116 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise. 3117 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: 3118 Likewise. 3119 * testsuite/std/concepts/concepts.lang/concept.common/1.cc: 3120 Likewise. 3121 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: 3122 Likewise. 3123 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise. 3124 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc: 3125 Likewise. 3126 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise. 3127 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise. 3128 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise. 3129 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc: 3130 Likewise. 3131 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise. 3132 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise. 3133 * testsuite/std/concepts/concepts.lang/concept.same/1.cc: 3134 Likewise. 3135 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise. 3136 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise. 3137 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise. 3138 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise. 3139 * testsuite/std/concepts/concepts.object/movable.cc: Likewise. 3140 * testsuite/std/concepts/concepts.object/regular.cc: Likewise. 3141 * testsuite/std/concepts/concepts.object/semiregular.cc: 3142 Likewise. 3143 * testsuite/std/ranges/97600.cc: Likewise. 3144 * testsuite/std/ranges/access/101782.cc: Likewise. 3145 * testsuite/std/ranges/access/begin.cc: Likewise. 3146 * testsuite/std/ranges/access/begin_neg.cc: Likewise. 3147 * testsuite/std/ranges/access/cbegin.cc: Likewise. 3148 * testsuite/std/ranges/access/cdata.cc: Likewise. 3149 * testsuite/std/ranges/access/cend.cc: Likewise. 3150 * testsuite/std/ranges/access/crbegin.cc: Likewise. 3151 * testsuite/std/ranges/access/crend.cc: Likewise. 3152 * testsuite/std/ranges/access/data.cc: Likewise. 3153 * testsuite/std/ranges/access/empty.cc: Likewise. 3154 * testsuite/std/ranges/access/end.cc: Likewise. 3155 * testsuite/std/ranges/access/end_neg.cc: Likewise. 3156 * testsuite/std/ranges/access/lwg3467.cc: Likewise. 3157 * testsuite/std/ranges/access/p2602.cc: Likewise. 3158 * testsuite/std/ranges/access/rbegin.cc: Likewise. 3159 * testsuite/std/ranges/access/rend.cc: Likewise. 3160 * testsuite/std/ranges/access/size.cc: Likewise. 3161 * testsuite/std/ranges/access/size_neg.cc: Likewise. 3162 * testsuite/std/ranges/access/ssize.cc: Likewise. 3163 * testsuite/std/ranges/adaptors/100479.cc: Likewise. 3164 * testsuite/std/ranges/adaptors/100577.cc: Likewise. 3165 * testsuite/std/ranges/adaptors/93978.cc: Likewise. 3166 * testsuite/std/ranges/adaptors/95322.cc: Likewise. 3167 * testsuite/std/ranges/adaptors/99433.cc: Likewise. 3168 * testsuite/std/ranges/adaptors/all.cc: Likewise. 3169 * testsuite/std/ranges/adaptors/common.cc: Likewise. 3170 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: 3171 Likewise. 3172 * testsuite/std/ranges/adaptors/counted.cc: Likewise. 3173 * testsuite/std/ranges/adaptors/detail/copyable_box.cc: 3174 Likewise. 3175 * testsuite/std/ranges/adaptors/drop.cc: Likewise. 3176 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise. 3177 * testsuite/std/ranges/adaptors/elements.cc: Likewise. 3178 * testsuite/std/ranges/adaptors/filter.cc: Likewise. 3179 * testsuite/std/ranges/adaptors/join.cc: Likewise. 3180 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. 3181 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. 3182 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise. 3183 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise. 3184 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise. 3185 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise. 3186 * testsuite/std/ranges/adaptors/p1739.cc: Likewise. 3187 * testsuite/std/ranges/adaptors/p2281.cc: Likewise. 3188 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise. 3189 * testsuite/std/ranges/adaptors/reverse.cc: Likewise. 3190 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise. 3191 * testsuite/std/ranges/adaptors/split.cc: Likewise. 3192 * testsuite/std/ranges/adaptors/take.cc: Likewise. 3193 * testsuite/std/ranges/adaptors/take_while.cc: Likewise. 3194 * testsuite/std/ranges/adaptors/transform.cc: Likewise. 3195 * testsuite/std/ranges/empty_view.cc: Likewise. 3196 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. 3197 * testsuite/std/ranges/iota/difference_type.cc: Likewise. 3198 * testsuite/std/ranges/iota/iota_view.cc: Likewise. 3199 * testsuite/std/ranges/iota/iterator.cc: Likewise. 3200 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. 3201 * testsuite/std/ranges/iota/max_size_type.cc: Likewise. 3202 * testsuite/std/ranges/istream_view.cc: Likewise. 3203 * testsuite/std/ranges/p2259.cc: Likewise. 3204 * testsuite/std/ranges/p2325.cc: Likewise. 3205 * testsuite/std/ranges/p2367.cc: Likewise. 3206 * testsuite/std/ranges/range.cc: Likewise. 3207 * testsuite/std/ranges/refinements.cc: Likewise. 3208 * testsuite/std/ranges/safe_range.cc: Likewise. 3209 * testsuite/std/ranges/safe_range_types.cc: Likewise. 3210 * testsuite/std/ranges/single_view.cc: Likewise. 3211 * testsuite/std/ranges/sized.cc: Likewise. 3212 * testsuite/std/ranges/subrange/1.cc: Likewise. 3213 * testsuite/std/ranges/subrange/97512.cc: Likewise. 3214 * testsuite/std/ranges/subrange/constexpr.cc: Likewise. 3215 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise. 3216 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise. 3217 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise. 3218 * testsuite/std/ranges/subrange/sizeof.cc: Likewise. 3219 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise. 3220 * testsuite/std/ranges/view.cc: Likewise. 3221 3222 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3223 3224 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: 3225 Remove dg-options. 3226 * testsuite/23_containers/span/contiguous_range_neg.cc: 3227 Likewise. 3228 * testsuite/23_containers/span/everything.cc: Likewise. 3229 3230 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3231 3232 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove 3233 dg-options and add dg-add-options strict_std. 3234 * testsuite/std/ranges/iota/93267.cc: Likewise. 3235 * testsuite/std/ranges/iota/96042.cc: Likewise. 3236 * testsuite/std/ranges/iota/size.cc: Likewise. 3237 * testsuite/std/ranges/subrange/96042.cc: Likewise. 3238 3239 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3240 3241 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc: 3242 Replace dg-options -std=c++17 with dg-add-options strict_std. 3243 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc: 3244 Likewise. 3245 3246 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3247 3248 * testsuite/23_containers/deque/48101-2_neg.cc: Replace 3249 dg-options with target selector. 3250 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise. 3251 * testsuite/23_containers/list/48101-2_neg.cc: Likewise. 3252 * testsuite/23_containers/map/48101-2_neg.cc: Likewise. 3253 * testsuite/23_containers/map/48101_neg.cc: Likewise. 3254 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise. 3255 * testsuite/23_containers/multimap/48101_neg.cc: Likewise. 3256 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise. 3257 * testsuite/23_containers/set/48101-2_neg.cc: Likewise. 3258 * testsuite/23_containers/unordered_map/48101-2_neg.cc: 3259 Likewise. 3260 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: 3261 Likewise. 3262 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: 3263 Likewise. 3264 * testsuite/23_containers/unordered_set/48101-2_neg.cc: 3265 Likewise. 3266 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise. 3267 3268 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3269 3270 * doc/xml/manual/test.xml: Update documentation on running and 3271 writing tests. 3272 * doc/html/manual/test.html: Regenerate. 3273 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp 3274 * testsuite/Makefile.in: Regenerate. 3275 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New 3276 proc. 3277 * testsuite/lib/libstdc++.exp (search_for): New utility proc. 3278 (v3-dg-runtest): New proc to replace dg-runtest. 3279 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest. 3280 3281 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3282 3283 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: 3284 Fix test to work for C++23 and C++26 too. 3285 3286 2023-09-15 Patrick Palka <ppalka (a] redhat.com> 3287 3288 * include/std/bit: Include <concepts>. 3289 (byteswap): Use a type-constraint instead of enable_if_t 3290 inside the return type, and use std::integral. 3291 (_If_is_unsigned_integer): Replace with ... 3292 (__unsigned_integer): ... this. 3293 (rotl): Use a type-constraint instead of enable_if_t inside 3294 the return type. 3295 (countl_zero): Likewise. 3296 (countl_one): Likewise. 3297 (countr_zero): Likewise. 3298 (countr_one): Likewise. 3299 (popcount): Likewise. 3300 (has_single_bit): Likewise. 3301 (bit_ceil): Likewise. 3302 (bit_floor): Likewise. 3303 (bit_width): Likewise. 3304 3305 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3306 3307 * include/std/variant (variant): Remove derivation from 3308 _Enable_default_constructor base class. 3309 (variant::variant()): Constrain. 3310 * testsuite/20_util/variant/default_ctor.cc: New test. 3311 3312 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3313 3314 PR libstdc++/111172 3315 * include/std/variant (get<T>): Remove !is_void static 3316 assertions. 3317 3318 2023-09-15 Jonathan Wakely <jwakely (a] redhat.com> 3319 3320 * include/bits/version.def (to_chars): Define new value for 3321 C++26. 3322 * include/bits/version.h: Regenerate. 3323 * include/std/charconv (to_chars_result::operator bool): New 3324 function. 3325 (from_chars_result::operator bool): New function. 3326 * testsuite/20_util/to_chars/version.cc: Update expected value. 3327 * testsuite/20_util/from_chars/result.cc: New test. 3328 * testsuite/20_util/to_chars/result.cc: New test. 3329 3330 2023-09-14 Jonathan Wakely <jwakely (a] redhat.com> 3331 3332 PR c++/111357 3333 * testsuite/20_util/integer_sequence/pr111357.cc: New test. 3334 3335 2023-09-14 Jonathan Wakely <jwakely (a] redhat.com> 3336 3337 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use 3338 dg-additional-files. Remove @require@ and @diff@ comments. 3339 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. 3340 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. 3341 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. 3342 * testsuite/lib/dg-options.exp (v3_additional_files): New 3343 global variable. 3344 (dg-additional-files): New proc. 3345 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy 3346 additional files to test directory. 3347 3348 2023-09-14 Jonathan Wakely <jwakely (a] redhat.com> 3349 3350 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]: 3351 Use a plain integer for _M_work_count for single-threaded 3352 targets. 3353 * include/experimental/memory_resource (__get_default_resource) 3354 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for 3355 single-threaded targets. 3356 * src/c++17/default_resource.h: Adjust preprocessor conditions 3357 to match memory_resource.cc. 3358 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS] 3359 (atomic_mem_res): Use unsynchronized type for single-threaded 3360 targets. 3361 3362 2023-09-14 Christophe Lyon <christophe.lyon (a] linaro.org> 3363 3364 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise. 3365 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. 3366 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. 3367 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise. 3368 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise. 3369 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. 3370 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. 3371 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. 3372 3373 2023-09-14 Franois Dumont <fdumont (a] gcc.gnu.org> 3374 3375 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add 3376 { dg-require-normal-namespace "" }. 3377 3378 2023-09-13 Franois Dumont <fdumont (a] gcc.gnu.org> 3379 3380 * include/std/format (std::__format::_Arg_store): Explicit version 3381 namespace on make_format_args friend declaration. 3382 3383 2023-09-12 Patrick Palka <ppalka (a] redhat.com> 3384 3385 PR libstdc++/111327 3386 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define 3387 a deleted fallback operator() overload. Constrain both the 3388 enabled and deleted overloads accordingly. 3389 * testsuite/20_util/function_objects/not_fn/111327.cc: New test. 3390 3391 2023-09-12 Patrick Palka <ppalka (a] redhat.com> 3392 3393 PR libstdc++/111327 3394 * include/std/functional (_Bind_front::operator()): Add deleted 3395 fallback overloads for each const/ref qualifier pair. Give the 3396 enabled overloads dummy constraints to make each one more 3397 specialized than the corresponding deleted overload. 3398 * testsuite/20_util/function_objects/bind_front/111327.cc: New test. 3399 3400 2023-09-12 Patrick Palka <ppalka (a] redhat.com> 3401 3402 * include/std/functional (_Bind_front0): Remove. 3403 (_Bind_front_t): Adjust. 3404 3405 2023-09-12 Jonathan Wakely <jwakely (a] redhat.com> 3406 3407 * python/libstdcxx/v6/printers.py: Reformat. 3408 * python/libstdcxx/v6/xmethods.py: Likewise. 3409 3410 2023-09-11 Jonathan Wakely <jwakely (a] redhat.com> 3411 3412 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New 3413 function. 3414 (reset_sequence_ptr): New function. 3415 (_Safe_iterator_base::_M_detach) 3416 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load 3417 with acquire_sequence_ptr_for_lock. 3418 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with 3419 reset_sequence_ptr. 3420 3421 2023-09-11 Jonathan Wakely <jwakely (a] redhat.com> 3422 3423 * src/c++11/Makefile.am: Add new file. 3424 * src/c++11/Makefile.in: Regenerate. 3425 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ... 3426 * src/c++11/assert_fail.cc: New file. 3427 3428 2023-09-11 Ken Matsui <kmatsui (a] gcc.gnu.org> 3429 3430 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef. 3431 (_GLIBCXX_USE_BUILTIN_TRAIT): Define. 3432 3433 2023-09-11 Jonathan Wakely <jwakely (a] redhat.com> 3434 3435 * include/bits/version.def (__cpp_lib_formatters): Define. 3436 * include/bits/version.h: Regenerate. 3437 * include/std/stacktrace (formatter<stacktrace_entry>) 3438 (formatter<basic_stacktrace<Alloc>>): Define. 3439 * include/std/thread (formatter<thread::id, charT>): Define. 3440 * testsuite/19_diagnostics/stacktrace/output.cc: New test. 3441 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add 3442 std::formatter specializations. 3443 * testsuite/19_diagnostics/stacktrace/version.cc: Check 3444 __cpp_lib_formatters macro. 3445 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads 3446 dependency. 3447 * testsuite/30_threads/thread/id/operators.cc: Likewise. 3448 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. 3449 * testsuite/30_threads/thread/id/output.cc: New test. 3450 3451 2023-09-11 Pekka Seppnen <pexu (a] gcc.mail.kapsi.fi> 3452 3453 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute. 3454 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise. 3455 * src/filesystem/path.cc (path::_S_convert_loc): Likewise. 3456 3457 2023-09-08 Jonathan Wakely <jwakely (a] redhat.com> 3458 3459 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory. 3460 * configure: Regenerate. 3461 * doc/html/manual/*: Regenerate. 3462 * doc/xml/manual/using.xml: Update documentation on linking. 3463 * include/std/stacktrace: Remove declarations of libbacktrace 3464 APIs. 3465 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init): 3466 Remove. 3467 (stacktrace_entry::_Info): New class. 3468 (stacktrace_entry::_M_get_info): Use _Info. 3469 (__stacktrace_impl): New class. 3470 (basic_stacktrace): Derive from __stacktrace_impl. 3471 (basic_stacktrace::current): Use __stacktrace_impl::_S_current. 3472 * scripts/testsuite_flags.in: Adjust LDFLAGS to find 3473 libstdc++exp instead of libstdc++_libbacktrace. 3474 * src/Makefile.am (SUBDIRS): Add c++23 directory. 3475 * src/Makefile.in: Regenerate. 3476 * src/c++20/Makefile.am: Fix comment. 3477 * src/c++20/Makefile.in: Regenerate. 3478 * src/c++23/Makefile.am: New file. 3479 * src/c++23/Makefile.in: New file. 3480 * src/c++23/stacktrace.cc: New file with definitions of 3481 stacktrace_entry::_Info and __stacktrace_impl members. 3482 * src/experimental/Makefile.am: Use LIBADD to include other 3483 libraries. 3484 * src/experimental/Makefile.in: Regenerate. 3485 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES. 3486 * src/libbacktrace/Makefile.in: Regenerate. 3487 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust 3488 dg-options to use -lstdc++exp. 3489 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. 3490 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. 3491 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: 3492 Likewise. 3493 3494 2023-09-08 Alexey Lapshin <alexey.lapshin (a] espressif.com> 3495 3496 * src/libbacktrace/Makefile.am: Remove -Werror. 3497 * src/libbacktrace/Makefile.in: Regenerate. 3498 3499 2023-09-08 Jonathan Wakely <jwakely (a] redhat.com> 3500 3501 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe. 3502 * testsuite/Makefile.in: Regenerate. 3503 3504 2023-09-08 Yang Yujie <yangyujie (a] loongson.cn> 3505 3506 * configure.host: Register t-loongarch in tmake_file. 3507 * config/cpu/loongarch/t-loongarch: New file. Manually refresh 3508 MULTISUBDIR with $(shell $(CXX) --print-multi-directory). 3509 3510 2023-09-07 Bruno Victal <mirai (a] makinata.eu> 3511 3512 * acinclude.m4: Update docbook xsl URI. 3513 * configure: Regenerate. 3514 3515 2023-09-07 Bruno Victal <mirai (a] makinata.eu> 3516 3517 * doc/Makefile.am: Fix 'doc-install-info' rule. 3518 Fix typo in commment. 3519 * doc/Makefile.in: Regenerate. 3520 3521 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3522 3523 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify 3524 dg-do target selector. 3525 3526 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3527 3528 * testsuite/config/default.exp: Remove trailing whitespace. 3529 * testsuite/lib/dg-options.exp: Likewise. 3530 * testsuite/lib/prune.exp: Likewise. 3531 * testsuite/libstdc++-abi/abi.exp: Likewise. 3532 * testsuite/libstdc++-dg/conformance.exp: Likewise. 3533 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: 3534 Likewise. 3535 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. 3536 * testsuite/lib/libstdc++.exp: Likewise. 3537 (check_v3_target_c_std): Fix filename for temporary source file. 3538 3539 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3540 3541 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir, 3542 chmod, chdir, and getcwd. 3543 * config.h.in: Regenerate. 3544 * configure: Regenerate. 3545 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro. 3546 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. 3547 (fs::permissions): Use USE_CHMOD macro. 3548 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS] 3549 (chmod, mkdir, getcwd, chdir): Define new macros. 3550 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use 3551 new macros. 3552 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro. 3553 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. 3554 (fs::permissions): Use USE_CHMOD macro. 3555 3556 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3557 3558 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default 3559 for avr. 3560 * configure: Regenerate. 3561 3562 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3563 3564 * testsuite/23_containers/unordered_map/operations/1.cc: Add 3565 dg-options for C++20 mode. 3566 * testsuite/23_containers/unordered_multimap/operations/1.cc: 3567 Likewise. 3568 * testsuite/23_containers/unordered_multiset/operations/1.cc: 3569 Likewise. 3570 * testsuite/23_containers/unordered_set/operations/1.cc: 3571 Likewise. 3572 * testsuite/std/time/parse.cc: Move dg-options before dg-do. 3573 3574 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3575 3576 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23 3577 compatibility. 3578 * testsuite/std/ranges/access/cdata.cc: Likewise. 3579 * testsuite/std/ranges/access/cend.cc: Likewise. 3580 * testsuite/std/ranges/access/crbegin.cc: Likewise. 3581 * testsuite/std/ranges/access/crend.cc: Likewise. 3582 * testsuite/std/ranges/adaptors/take.cc: Likewise. 3583 * testsuite/std/ranges/adaptors/take_while.cc: Likewise. 3584 * testsuite/std/ranges/adaptors/transform.cc: Likewise. 3585 3586 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3587 3588 * include/bits/iterator_concepts.h (__imove::iter_move): Define 3589 poison pill as deleted for consistency. 3590 (__access::begin): Replace with a single declaration. 3591 * include/bits/ranges_base.h (__access::end, __access::rbegin) 3592 (__access::rend, __access::size): Likewise. 3593 * include/bits/version.def (ranges): Update value for C++23. 3594 * include/bits/version.h: Regenerate. 3595 * libsupc++/compare (__compare): Add missing poison pill 3596 overloads. 3597 * testsuite/std/ranges/version_c++23.cc: Adjust expected value 3598 of __cpp_lib_ranges. 3599 * testsuite/std/ranges/access/p2602.cc: New test. 3600 3601 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3602 3603 * include/bits/iterator_concepts.h (ranges::__cust_imove): 3604 Rename to ranges::__imove. 3605 (_IMove): Rename to _IterMove. 3606 (ranges::__cust_iswap): Rename to ranges::__iswap. 3607 (ranges::__cust): Rename to ranges::_Cpo. 3608 (ranges::__cust_access): Rename to ranges::__access. 3609 * include/bits/ranges_base.h (ranges::__cust_access): Rename to 3610 ranges::__access. 3611 (ranges::__cust): Rename to ranges::_Cpo. 3612 * include/std/concepts (ranges::__cust_swap): Rename to 3613 ranges::__swap. 3614 (ranges::__cust): Rename to ranges::_Cpo. 3615 * libsupc++/compare (__cmp_cust): Rename to __compare. 3616 (__cmp_algo): Rename to _Cpo. 3617 3618 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3619 3620 * include/bits/version.def (ranges): Update value. 3621 * include/bits/version.h: Regenerate. 3622 * include/std/ranges (__detail::__boxable): Use 3623 move_constructible instead of copy_constructible for C++23. 3624 (__detail::__box<T>): Adjust constraints for partial 3625 specialization. 3626 (single_view, transform_view): Use __box_constructible instead 3627 of copy_constructible in constraints. 3628 (zip_transform_view, adjacent_transform_view, repeat_view): Use 3629 move_constructible instead of copy_constructible in constraints. 3630 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check 3631 construction from move-only argument. 3632 * testsuite/std/ranges/adaptors/transform.cc: Likewise. 3633 * testsuite/std/ranges/repeat/1.cc: Likewise. 3634 * testsuite/std/ranges/single_view.cc: Likewise. 3635 * testsuite/std/ranges/zip_transform/1.cc: Likewise. 3636 * testsuite/std/ranges/version_c++23.cc: Adjust expected value 3637 of __cpp_lib_ranges. 3638 3639 2023-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3640 3641 * testsuite/util/testsuite_iterators.h (is_customization_point_object): 3642 Remove parameter name. 3643 3644 2023-09-06 Jonathan Wakely <jwakely (a] redhat.com> 3645 3646 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default 3647 for freestanding. 3648 * configure: Regenerate. 3649 3650 2023-09-04 Christophe Lyon <christophe.lyon (a] linaro.org> 3651 3652 Revert 3653 2023-09-04 Christophe Lyon <christophe.lyon (a] linaro.org> 3654 3655 PR libstdc++/111238 3656 * configure: Regenerate. 3657 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, 3658 non-Canadian builds. 3659 3660 2023-09-04 Christophe Lyon <christophe.lyon (a] linaro.org> 3661 3662 PR libstdc++/111238 3663 * configure: Regenerate. 3664 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, 3665 non-Canadian builds. 3666 3667 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3668 3669 * testsuite/26_numerics/complex/literals/types.cc: Remove 3670 dg-options and add target selector instead. 3671 3672 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3673 3674 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options 3675 and qualify ambiguous calls to get. 3676 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust 3677 expected result for std::pow(float, int) as per DR 550. 3678 3679 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3680 3681 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03 3682 and add dg-warning for deprecation warnings. 3683 * testsuite/20_util/auto_ptr/2.cc: Likewise. 3684 * testsuite/20_util/auto_ptr/3.cc: Likewise. 3685 * testsuite/20_util/auto_ptr/3946.cc: Likewise. 3686 * testsuite/20_util/auto_ptr/4.cc: Likewise. 3687 * testsuite/20_util/auto_ptr/5.cc: Likewise. 3688 * testsuite/20_util/auto_ptr/6.cc: Likewise. 3689 * testsuite/20_util/auto_ptr/7.cc: Likewise. 3690 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise. 3691 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: 3692 Likewise. 3693 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: 3694 Likewise. 3695 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: 3696 Likewise. 3697 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: 3698 Likewise. 3699 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 3700 Likewise. 3701 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: 3702 Likewise. 3703 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: 3704 Likewise. 3705 3706 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3707 3708 PR libstdc++/26142 3709 * testsuite/23_containers/vector/26412-1.cc: Moved to... 3710 * testsuite/23_containers/vector/26142-1.cc: ...here. 3711 * testsuite/23_containers/vector/26412-2.cc: Moved to... 3712 * testsuite/23_containers/vector/26142-2.cc: ...here. 3713 3714 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3715 3716 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector. 3717 * testsuite/26_numerics/complex/56111.cc: Likewise. 3718 3719 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3720 3721 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc: 3722 Add dg-options to restrict the test to C++98 mode. 3723 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc: 3724 Likewise. 3725 3726 2023-09-04 Jonathan Wakely <jwakely (a] redhat.com> 3727 3728 * testsuite/20_util/expected/bad.cc: Add missing target 3729 selector. 3730 3731 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3732 3733 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust 3734 expected errors. 3735 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: 3736 Likewise. 3737 3738 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3739 3740 * testsuite/27_io/filesystem/iterators/91067.cc: Add 3741 -Wno-self-move to options. 3742 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. 3743 3744 2023-09-01 Vladimir Palevich <palevichva (a] gmail.com> 3745 3746 PR libstdc++/110879 3747 * include/bits/vector.tcc (_M_realloc_insert): End guard 3748 lifetime just before assignment to class members. 3749 (_M_default_append): Likewise. 3750 3751 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3752 3753 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]: 3754 Use __resize_and_overwrite to fill buffer. 3755 (fs::read_symlink) [HAVE_READLINK]: Likewise. 3756 * src/filesystem/ops-common.h (get_temp_directory_from_env) 3757 [FILESYSTEM_IS_WINDOWS]: Likewise. 3758 3759 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3760 3761 PR libstdc++/111077 3762 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): 3763 Add _AtomicRef non-type template parameter and use a loop if it 3764 is true. 3765 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP. 3766 (__atomic_impl::compare_exchange_strong): Likewise. 3767 (atomic_ref::compare_exchange_weak): Use true for NTTP. 3768 (atomic_ref::compare_exchange_strong): Use true for NTTP. 3769 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: 3770 Fix test to not rely on atomic_ref::load() to return an object 3771 with padding preserved. 3772 3773 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3774 3775 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for 3776 filesystem support. 3777 3778 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3779 3780 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros 3781 for POSIX readlink before using filesystem::read_symlink. 3782 3783 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3784 3785 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes. 3786 * configure: Regenerate. 3787 3788 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3789 3790 * include/bits/chrono_io.h (_Parser::operator()): Set failbit 3791 early if invalid values are read when _M_need & _TimeOfDay is 3792 non-zero. 3793 * testsuite/std/time/parse.cc: Check that "25:59" cannot be 3794 parsed for "%H:%M". 3795 3796 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3797 3798 PR libstdc++/111162 3799 * include/bits/chrono_io.h (_Parser::Operator()): Check %C 3800 values are in range of year::min() to year::max(). 3801 * testsuite/std/time/parse.cc: Check out of range centuries. 3802 3803 2023-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3804 3805 * include/std/format (__format::_Sink::_M_reset): Change second 3806 argument from iterator to offset. 3807 3808 2023-08-24 Paul Dreik <gccpatches (a] pauldreik.se> 3809 3810 PR libstdc++/111102 3811 * testsuite/std/format/string.cc: Check wide character format 3812 strings with out-of-range widths. 3813 3814 2023-08-24 Paul Dreik <gccpatches (a] pauldreik.se> 3815 3816 PR libstdc++/111102 3817 * include/std/format (__format::__parse_integer): Check for 3818 non-null pointer. 3819 3820 2023-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3821 3822 * testsuite/std/format/functions/format_to.cc: Avoid warning for 3823 unused variables. 3824 3825 2023-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3826 3827 * include/std/atomic: Add comment to #ifdef and fix indentation. 3828 * include/std/ostream: Check __glibcxx_syncbuf instead of 3829 __cplusplus and _GLIBCXX_HOSTED. 3830 * include/std/thread: Add comment to #ifdef. 3831 3832 2023-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3833 3834 * include/bits/version.def (__cpp_lib_ratio): Define. 3835 * include/bits/version.h: Regenerate. 3836 * include/std/ratio (quecto, ronto, yocto, zepto) 3837 (zetta, yotta, ronna, quetta): Define. 3838 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust 3839 dg-error line numbers. 3840 3841 2023-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3842 3843 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New 3844 printer class. 3845 * testsuite/libstdc++-prettyprinters/locale.cc: New test. 3846 3847 2023-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3848 3849 PR libstdc++/110944 3850 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do 3851 not show template arguments. 3852 (StdVariantPrinter): Likewise. 3853 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected 3854 output. 3855 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. 3856 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 3857 3858 2023-08-23 Franois Dumont <fdumont (a] gcc.gnu.org> 3859 3860 * testsuite/util/replacement_memory_operators.h 3861 (counter::scope): New, capture and reset counter count at construction and 3862 restore it at destruction. 3863 (counter::check_new): Add scope instantiation. 3864 * testsuite/23_containers/unordered_map/96088.cc (main): 3865 Add counter::scope instantiation. 3866 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise. 3867 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise. 3868 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise. 3869 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise. 3870 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise. 3871 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise. 3872 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global. 3873 (operator new(size_t)): Check started. 3874 (main): Set/Unset started. 3875 * testsuite/17_intro/no_library_allocation.cc: New test case. 3876 3877 2023-08-21 Jonathan Wakely <jwakely (a] redhat.com> 3878 3879 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: 3880 Call std::set_terminate before throwing the nested exception. 3881 3882 2023-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3883 3884 PR target/111060 3885 * include/std/format (formatter): Only define specializations 3886 for 16-bit floating-point types for C++23. 3887 * include/std/limits (numeric_limits): Likewise. 3888 3889 2023-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3890 3891 * include/bits/chrono_io.h (operator<<): Make uses of wide 3892 strings with streams and std::format type-dependent on _CharT. 3893 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use 3894 __to_wstring_numeric. 3895 3896 2023-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3897 3898 * include/bits/chrono_io.h (operator<<): Use __format_context. 3899 * include/std/format (__format::__format_context): New alias 3900 template. 3901 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg): 3902 Disable. 3903 3904 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3905 3906 Revert: 3907 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3908 3909 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse 3910 double overload for long double if possible. 3911 3912 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3913 3914 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to 3915 std::string_view. 3916 3917 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3918 3919 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse 3920 double overload for long double if possible. 3921 3922 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3923 3924 * src/c++98/localename.cc (is_C_locale): New function. 3925 (locale::locale(const char*)): Use is_C_locale. 3926 3927 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3928 3929 PR libstdc++/110945 3930 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)): 3931 Dispatch to _M_replace or move assignment from a temporary, 3932 based on the iterator type. 3933 3934 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3935 3936 * include/std/format (formatter): Add partial specializations 3937 for extended floating-point types. 3938 * testsuite/std/format/functions/format.cc: Move test_float128() 3939 to ... 3940 * testsuite/std/format/formatter/ext_float.cc: New test. 3941 3942 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3943 3944 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define 3945 whenever __BFLT16_DIG__ is defined, not only for C++23. 3946 * include/std/limits (numeric_limits<bfloat16_t>): Likewise. 3947 (numeric_limits<_Float16>, numeric_limits<_Float32>) 3948 (numeric_limits<_Float64>): Likewise for other extended 3949 floating-point types. 3950 3951 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3952 3953 * include/experimental/internet (address_v4::to_string): Remove 3954 unused parameter name. 3955 3956 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3957 3958 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval. 3959 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune 3960 excess errors caused by invalid consteval calls. 3961 3962 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3963 3964 * include/bits/chrono_io.h (__units_suffix_misc): Remove. 3965 (__units_suffix): Return a known suffix as string view, do not 3966 write unknown suffixes to a buffer. 3967 (__fmt_units_suffix): New function that formats the suffix using 3968 std::format_to. 3969 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix. 3970 (__chrono_formatter::_M_Z): Correct lifetime of wstring. 3971 3972 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3973 3974 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide 3975 string formatters with this macro. 3976 (__formatter_int::_M_format_int, __formatter_fp::format) 3977 (formatter<const void*, C>::format): Use __to_wstring_numeric 3978 instead of std::ctype::widen. 3979 (__formatter_fp::_M_localize): Use hardcoded wchar_t values 3980 instead of std::ctype::widen. 3981 * testsuite/std/format/functions/format.cc: Add more checks for 3982 wstring formatting of arithmetic types. 3983 3984 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3985 3986 * include/bits/basic_string.h (to_string(floating-point-type)): 3987 Implement using std::to_chars for C++26. 3988 * include/bits/version.def (__cpp_lib_to_string): Define. 3989 * include/bits/version.h: Regenerate. 3990 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: 3991 Adjust expected result in C++26 mode. 3992 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc: 3993 Likewise. 3994 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc: 3995 Likewise. 3996 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc: 3997 Likewise. 3998 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: 3999 New test. 4000 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc: 4001 New test. 4002 * testsuite/21_strings/basic_string/numeric_conversions/version.cc: 4003 New test. 4004 4005 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4006 4007 * include/bits/basic_string.h (to_string(integral-type)): Use 4008 resize_and_overwrite when available. 4009 (__to_wstring_numeric): New helper functions. 4010 (to_wstring): Use std::to_string then __to_wstring_numeric. 4011 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc: 4012 Remove check for no excess capacity. 4013 4014 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4015 4016 * include/bits/basic_string.h (__resize_and_overwrite): New 4017 function. 4018 * include/bits/basic_string.tcc (__resize_and_overwrite): New 4019 function. 4020 (resize_and_overwrite): Simplify by using reserve instead of 4021 growing the string manually. Adjust for C++11 compatibility. 4022 * include/bits/cow_string.h (resize_and_overwrite): New 4023 function. 4024 (__resize_and_overwrite): New function. 4025 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite): 4026 Do not depend on cxx11abi. 4027 * include/bits/version.h: Regenerate. 4028 * include/std/format (__formatter_fp::_S_resize_and_overwrite): 4029 Remove. 4030 (__formatter_fp::format, __formatter_fp::_M_localize): Use 4031 __resize_and_overwrite instead of _S_resize_and_overwrite. 4032 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: 4033 Adjust for C++11 compatibility when included by ... 4034 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc: 4035 New test. 4036 4037 2023-08-17 Patrick Palka <ppalka (a] redhat.com> 4038 4039 * include/bits/regex.h (regex_iterator::iterator_concept): 4040 Define for C++20 as per P2770R0. 4041 (regex_token_iterator::iterator_concept): Likewise. 4042 * include/std/ranges (__detail::__as_lvalue): Define. 4043 (join_view::_Iterator): Befriend join_view. 4044 (join_view::_Iterator::_M_satisfy): Use _M_get_outer 4045 instead of _M_outer. 4046 (join_view::_Iterator::_M_get_outer): Define. 4047 (join_view::_Iterator::_Iterator): Split constructor taking 4048 _Parent argument into two as per P2770R0. Remove constraint on 4049 default constructor. 4050 (join_view::_Iterator::_M_outer): Make this data member present 4051 only when the underlying range is forward. 4052 (join_view::_Iterator::operator++): Use _M_get_outer instead of 4053 _M_outer. 4054 (join_view::_Iterator::operator--): Use __as_lvalue helper. 4055 (join_view::_Iterator::operator==): Adjust constraints as per 4056 P2770R0. 4057 (join_view::_Sentinel::__equal): Use _M_get_outer instead of 4058 _M_outer. 4059 (join_view::_M_outer): New data member when the underlying range 4060 is non-forward. 4061 (join_view::begin): Adjust definition as per P2770R0. 4062 (join_view::end): Likewise. 4063 (join_with_view::_M_outer_it): New data member when the 4064 underlying range is non-forward. 4065 (join_with_view::begin): Adjust definition as per P2770R0. 4066 (join_with_view::end): Likewise. 4067 (join_with_view::_Iterator::_M_outer_it): Make this data member 4068 present only when the underlying range is forward. 4069 (join_with_view::_Iterator::_M_get_outer): Define. 4070 (join_with_view::_Iterator::_Iterator): Split constructor 4071 taking _Parent argument into two as per P2770R0. Remove 4072 constraint on default constructor. 4073 (join_with_view::_Iterator::_M_update_inner): Adjust definition 4074 as per P2770R0. 4075 (join_with_view::_Iterator::_M_get_inner): Likewise. 4076 (join_with_view::_Iterator::_M_satisfy): Adjust calls to 4077 _M_get_inner. Use _M_get_outer instead of _M_outer_it. 4078 (join_with_view::_Iterator::operator==): Adjust constraints 4079 as per P2770R0. 4080 (join_with_view::_Sentinel::operator==): Use _M_get_outer 4081 instead of _M_outer_it. 4082 * testsuite/std/ranges/adaptors/p2770r0.cc: New test. 4083 4084 2023-08-17 Patrick Palka <ppalka (a] redhat.com> 4085 4086 PR libstdc++/108827 4087 * include/std/ranges (__adaptor::_RangeAdaptorClosure): 4088 Convert into a CRTP class template. Move hidden operator| 4089 friends into namespace scope and adjust their constraints. 4090 (__closure::__is_range_adaptor_closure_fn): Define. 4091 (__closure::__is_range_adaptor_closure): Define. 4092 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure. 4093 (__adaptor::_Pipe): Likewise. 4094 (views::_All): Likewise. 4095 (views::_Join): Likewise. 4096 (views::_Common): Likewise. 4097 (views::_Reverse): Likewise. 4098 (views::_Elements): Likewise. 4099 (views::_Adjacent): Likewise. 4100 (views::_AsRvalue): Likewise. 4101 (views::_Enumerate): Likewise. 4102 (views::_AsConst): Likewise. 4103 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion 4104 expecting that adding empty range adaptor closure objects to a 4105 pipeline doesn't increase the size of a pipeline. 4106 4107 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4108 4109 * include/std/format (__format::_Pres_type): Add _Pres_F. 4110 (__formatter_fp::parse): Use _Pres_F for 'F'. 4111 (__formatter_fp::format): Set __upper for _Pres_F. 4112 * testsuite/std/format/functions/format.cc: Check formatting of 4113 infinity and NaN for each presentation type. 4114 4115 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4116 4117 * include/Makefile.in: Regenerate. 4118 4119 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4120 4121 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch. 4122 * testsuite/std/format/functions/format.cc: Likewise. 4123 * testsuite/std/format/functions/format_c++23.cc: Likewise. 4124 4125 2023-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4126 4127 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove 4128 any "-include bits/stdc++.h" from options and add the macro to 4129 the existing options instead of replacing them. 4130 4131 2023-08-16 Jonathan Wakely <jwakely (a] redhat.com> 4132 4133 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke 4134 the callable with the same size as resize_and_overwrite was 4135 called with. 4136 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: 4137 Check with small values for the new size. 4138 * testsuite/std/format/functions/format.cc: Check wide 4139 formatting of double values that produce small strings. 4140 * testsuite/std/format/functions/format_c++23.cc: New test. 4141 4142 2023-08-16 Jonathan Wakely <jwakely (a] redhat.com> 4143 4144 * include/bits/version.def (stds): Update value for C++23. 4145 * include/bits/version.h: Regenerate. 4146 4147 2023-08-16 Jonathan Wakely <jwakely (a] redhat.com> 4148 4149 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: 4150 Fix name of upstream file this was derived from. 4151 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: 4152 Likewise. 4153 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: 4154 Likewise. 4155 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: 4156 Likewise. 4157 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise. 4158 4159 2023-08-16 Arsen Arsenovi <arsen (a] aarsen.me> 4160 4161 * libsupc++/typeinfo: Switch to bits/version.h for 4162 __cpp_lib_constexpr_typeinfo. 4163 * libsupc++/new: Switch to bits/version.h for 4164 __cpp_lib_{launder,hardware_interference_size,destroying_delete}. 4165 (launder): Guard behind __cpp_lib_launder. 4166 (hardware_destructive_interference_size) 4167 (hardware_constructive_interference_size): Guard behind 4168 __cpp_lib_hardware_interference_size. 4169 * libsupc++/exception: Switch to bits/version.h for 4170 __cpp_lib_uncaught_exceptions. 4171 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions. 4172 * libsupc++/compare: Switch to bits/version.h for 4173 __cpp_lib_three_way_comparison. 4174 (three_way_comparable, three_way_comparable_with) 4175 (compare_three_way, weak_order, strong_order, partial_order): 4176 Guard behind __cpp_lib_three_way_comparison >= 201907L. 4177 * include/std/chrono: Drop __cpp_lib_chrono definition. 4178 * include/std/vector: Switch to bits/version.h for 4179 __cpp_lib_erase_if. 4180 (erase, erase_if): Guard behind __cpp_lib_erase_if. 4181 * include/std/variant: Switch to bits/version.h for 4182 __cpp_lib_variant. Guard whole header behind that FTM. 4183 * include/std/utility: Switch to bits/version.h for 4184 __cpp_lib_{exchange_function,constexpr_algorithms,as_const}, 4185 __cpp_lib_{integer_comparison_functions,to_underlying}, and 4186 __cpp_lib_unreachable. 4187 (exchange): Guard behind __cpp_lib_exchange_function. 4188 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal) 4189 (cmp_greater_equal, in_range): Guard behind 4190 __cpp_lib_integer_comparison_functions. 4191 (to_underlying): Guard behind __cpp_lib_to_underlying. 4192 (unreachable): Guard behind __cpp_lib_unreachable. 4193 * include/std/type_traits: Switch to bits/version.h for 4194 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate}, 4195 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible}, 4196 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable}, 4197 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref}, 4198 __cpp_lib_{result_of_sfinae,transformation_trait_aliases}, 4199 __cpp_lib_{type_identity,type_trait_variable_templates}, 4200 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable}, 4201 __cpp_lib_{bool_constant,bounded_array_traits}, and 4202 __cpp_lib_has_unique_object_representations. 4203 (integral_constant::operator()): Guard behind 4204 __cpp_lib_integral_constant_callable. 4205 (bool_constant): Guard behind __cpp_lib_bool_constant. 4206 (conjunction, disjunction, negation, conjunction_v, disjunction_v) 4207 (negation_v): Guard behind __cpp_lib_logical_traits. 4208 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer. 4209 (is_final): Guard behind __cpp_lib_is_final. 4210 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind 4211 __cpp_lib_is_nothrow_convertible. 4212 (remove_const_t, remove_volatile_t, remove_cv_t) 4213 (add_const_t, add_volatile_t, add_cv_t): Guard behind 4214 __cpp_lib_transformation_trait_aliases. 4215 (void_t): Guard behind __cpp_lib_void_t. 4216 (is_swappable_with_v, is_nothrow_swappable_with_v) 4217 (is_swappable_with, is_nothrow_swappable_with): Guard behind 4218 __cpp_lib_is_swappable. 4219 (is_nothrow_invocable_r, is_invocable_r, invoke_result) 4220 (is_invocable, invoke_result_t): Guard behind 4221 __cpp_lib_is_invocable. 4222 (alignment_of_v, extent_v, has_virtual_destructor_v) 4223 (is_abstract_v, is_arithmetic_v, is_array_v) 4224 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v) 4225 (is_constructible_v, is_const_v, is_convertible_v) 4226 (is_copy_assignable_v, is_copy_constructible_v) 4227 (is_default_constructible_v, is_destructible_v) 4228 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v) 4229 (is_function_v, is_fundamental_v, is_integral_v) 4230 (is_invocable_r_v, is_invocable_v, is_literal_type_v) 4231 (is_lvalue_reference_v, is_member_function_pointer_v) 4232 (is_member_object_pointer_v, is_member_pointer_v) 4233 (is_move_assignable_v, is_move_constructible_v) 4234 (is_nothrow_assignable_v, is_nothrow_constructible_v) 4235 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v) 4236 (is_nothrow_default_constructible_v, is_nothrow_destructible_v) 4237 (is_nothrow_invocable_r_v, is_nothrow_invocable_v) 4238 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v) 4239 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v) 4240 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v) 4241 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v) 4242 (is_trivially_assignable_v, is_trivially_constructible_v) 4243 (is_trivially_copyable_v, is_trivially_copy_assignable_v) 4244 (is_trivially_copy_constructible_v) 4245 (is_trivially_default_constructible_v) 4246 (is_trivially_destructible_v, is_trivially_move_assignable_v) 4247 (is_trivially_move_constructible_v, is_trivial_v, is_union_v) 4248 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic): 4249 Guard behind __cpp_lib_type_trait_variable_templates. 4250 (has_unique_object_representations) 4251 (has_unique_object_representations_v): Guard behind 4252 __cpp_lib_has_unique_object_representation. 4253 (is_aggregate): Guard behind __cpp_lib_is_aggregate. 4254 (remove_cvref, remove_cvref_t): Guard behind 4255 __cpp_lib_remove_cvref. 4256 (type_identity, type_identity_t): Guard behind 4257 __cpp_lib_type_identity. 4258 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay) 4259 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref. 4260 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array) 4261 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits. 4262 (is_scoped_enum, is_scoped_enum_v): Guard behind 4263 __cpp_lib_is_scoped_enum. 4264 (reference_constructs_from_temporary) 4265 (reference_constructs_from_temporary_v): Guard behind 4266 __cpp_lib_reference_from_temporary. 4267 * include/std/tuple: Switch to bits/version.h for 4268 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}. 4269 (get<T>): Guard behind __cpp_lib_tuple_by_type. 4270 (apply): Guard behind __cpp_lib_apply. 4271 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple. 4272 * include/std/syncstream: Switch to bits/version.h for 4273 __cpp_lib_syncbuf. Guard header behind that FTM. 4274 * include/std/string_view: Switch to bits/version.h for 4275 __cpp_lib_{string_{view,contains},constexpr_string_view} and 4276 __cpp_lib_starts_ends_with. 4277 (basic_string_view::starts_with, basic_string_view::ends_with): 4278 Guard behind __cpp_lib_starts_ends_with. 4279 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]: 4280 Assert as impossible ithout a bug in C++23. 4281 * include/std/string: Switch to bits/version.h for 4282 __cpp_lib_erase_if. 4283 (erase, erase_if): Guard behind __cpp_lib_erase_if. 4284 * include/std/thread: Switch to bits/version.h for 4285 __cpp_lib_jthread. 4286 * include/std/stop_token: Switch to bits/version.h for 4287 __cpp_lib_jthread. 4288 * include/std/spanstream: Switch to bits/version.h for 4289 __cpp_lib_spanstream. Guard header behind that FTM. 4290 * include/std/span: Switch to bits/version.h for __cpp_lib_span. 4291 Guard header behind that FTM. 4292 * include/std/source_location: Switch to bits/version.h for 4293 __cpp_lib_source_location. Guard header with that FTM. 4294 * include/std/shared_mutex: Switch to bits/version.h for 4295 __cpp_lib_shared{,_timed}_mutex. 4296 (shared_mutex): Guard behind __cpp_lib_shared_mutex. 4297 * include/std/semaphore: Switch to bits/version.h for 4298 __cpp_lib_semaphore. Guard header behind that FTM. 4299 * include/std/ranges: Switch to bits/version.h for 4300 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with}, 4301 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue}, 4302 and __cpp_lib_ranges_{as_const,enumerate,iota}. 4303 (ranges::zip et al, ranges::chunk et al, ranges::slide et al) 4304 (ranges::chunk_by et al, ranges::join_with et al) 4305 (ranges::stride et al, ranges::cartesian_product et al) 4306 (ranges::as_rvalue et al, ranges::as_const et al) 4307 (ranges::enumerate et al): Guard behind appropriate FTM. 4308 * include/std/optional: Switch to bits/version.h for 4309 __cpp_lib_optional. Guard header behind that FTM. 4310 * include/std/numeric: Switch to bits/version.h for 4311 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate} 4312 and __cpp_lib_parallel_algorithm. 4313 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm. 4314 (midpoint): Guard behind __cpp_lib_interpolate. 4315 * include/std/numbers: Switch to bits/version.h for 4316 __cpp_lib_math_constants. Guard header behind that FTM. 4317 * include/std/mutex: Switch to bits/version.h for 4318 __cpp_lib_scoped_lock. 4319 (scoped_Lock): Guard behind __cpp_lib_scoped_lock. 4320 * include/std/memory_resource: Switch to bits/version.h for 4321 __cpp_lib_{polymorphic_allocator,memory_resource}. 4322 (synchronized_pool_resource): Guard behind 4323 __cpp_lib_memory_resource >= 201603L. 4324 (polymorphic_allocator): Guard behind 4325 __cpp_lib_polymorphic_allocator. 4326 * include/std/memory: Switch to bits/version.h for 4327 __cpp_lib_{parallel_algorithm,atomic_value_initialization}. 4328 * include/std/list: Switch to bits/version.h for 4329 __cpp_lib_erase_if. 4330 (erase, erase_if): Guard behind __cpp_lib_erase_if. 4331 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch. 4332 Guard header behind that FTM. 4333 * include/std/iterator: Switch to bits/version.h for 4334 __cpp_lib_null_iterators. 4335 * include/std/iomanip: Switch to bits/version.h for 4336 __cpp_lib_quoted_string_io. 4337 (quoted): Guard behind __cpp_lib_quoted_string_io. 4338 * include/std/functional: Switch to bits/version.h for 4339 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and 4340 __cpp_lib_{not_fn,booyer_moore_searcher}. 4341 (invoke): Guard behind __cpp_lib_invoke. 4342 (invoke_r): Guard behind __cpp_lib_invoke_r. 4343 (bind_front): Guard behind __cpp_lib_bind_front. 4344 (not_fn): Guard behind __cpp_lib_not_fn. 4345 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard 4346 definition behind __cpp_lib_boyer_moore_searcher. 4347 * include/std/forward_list: Switch to bits/version.h for 4348 __cpp_lib_erase_if. 4349 (erase, erase_if): Guard behind __cpp_lib_erase_if. 4350 * include/std/format: Switch to bits/version.h for 4351 __cpp_lib_format. Guard header behind that FTM. 4352 * include/std/filesystem: Switch to bits/version.h for 4353 __cpp_lib_filesystem. Guard header behind that FTM. 4354 * include/std/expected: Switch to bits/version.h for 4355 __cpp_lib_expected. Guard header behind it. 4356 * include/std/execution: Switch to bits/version.h for 4357 __cpp_lib_{execution,parallel_algorithm}. Guard header behind 4358 either. 4359 * include/std/deque: Switch to bits/version.h for 4360 __cpp_lib_erase_if. 4361 (erase, erase_if): Guard behind __cpp_lib_erase_if. 4362 * include/std/coroutine: Switch to bits/version.h for 4363 __cpp_lib_coroutine. Guard header behind that FTM. 4364 * include/std/concepts: Switch to bits/version.h for 4365 __cpp_lib_concepts. Guard header behind that FTM. 4366 * include/std/complex: Switch to bits/version.h for 4367 __cpp_lib_{complex_udls,constexpr_complex}. 4368 (operator""if, operator""i, operator""il): Guard behind 4369 __cpp_lib_complex_udls. 4370 * include/std/charconv: Swtich to bits/version.h for 4371 __cpp_lib_{to_chars,constexpr_charconv}. 4372 * include/std/bitset: Switch to bits/version.h for 4373 __cpp_lib_constexpr_bitset. 4374 * include/std/bit: Switch to bits/version.h for 4375 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}. 4376 (bit_cast): Guard behind __cpp_lib_bit_cast. 4377 (byteswap): Guard behind __cpp_lib_byteswap. 4378 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one) 4379 (popcount): Guard behind __cpp_lib_bitops. 4380 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind 4381 __cpp_lib_int_pow2. 4382 (endian): Guard behind __cpp_lib_endian. 4383 * include/std/barrier: Switch to bits/version.h for 4384 __cpp_lib_barrier. Guard header behind that FTM. 4385 * include/std/atomic: Switch to bits/version.h for 4386 __cpp_lib_atomic_{is_always_lock_free,float,ref} 4387 and __cpp_lib_lock_free_type_aliases. 4388 (*::is_always_lock_free): Guard behind 4389 __cpp_lib_atomic_is_always_lock_free. 4390 (atomic<float>): Guard behind __cpp_lib_atomic_float. 4391 (atomic_ref): Guard behind __cpp_lib_atomic_ref. 4392 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind 4393 __cpp_lib_atomic_lock_free_type_aliases. 4394 * include/std/array: Switch to bits/version.h for 4395 __cpp_lib_to_array. 4396 (to_array): Guard behind __cpp_lib_to_array. 4397 * include/std/any: Switch to bits/version.h for __cpp_lib_any. 4398 Guard header behind that FTM. 4399 * include/std/algorithm: Switch to bits/version.h for 4400 __cpp_lib_parallel_algorithm. 4401 * include/c_global/cstddef: Switch to bits/version.h for 4402 __cpp_lib_byte. 4403 (byte): Guard behind __cpp_lib_byte. 4404 * include/c_global/cmath: Switch to bits/version.h for 4405 __cpp_lib_{hypot,interpolate}. 4406 (hypot3): Guard behind __cpp_lib_hypot. 4407 (lerp): Guard behind __cpp_lib_interpolate. 4408 * include/c_compatibility/stdatomic.h: Switch to 4409 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that 4410 FTM. 4411 * include/bits/utility.h: Switch to bits/version.h for 4412 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}. 4413 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t. 4414 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence. 4415 * include/bits/uses_allocator_args.h: Switch to bits/version.h for 4416 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM. 4417 * include/bits/unordered_map.h: Switch to bits/version.h for 4418 __cpp_lib_unordered_map_try_emplace. 4419 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace. 4420 * include/bits/unique_ptr.h: Switch to bits/version.h for 4421 __cpp_lib_{constexpr_memory,make_unique}. 4422 (make_unique): Guard behind __cpp_lib_make_unique. 4423 * include/bits/stl_vector.h: Switch to bits/version.h for 4424 __cpp_lib_constexpr_vector. 4425 * include/bits/stl_uninitialized.h: Switch to bits/version.h for 4426 __cpp_lib_raw_memory_algorithms. 4427 (uninitialized_default_construct) 4428 (uninitialized_default_construct_n, uninitialized_move) 4429 (uninitialized_move_n, uninitialized_value_construct) 4430 (uninitialized_value_construct_n): Guard behind 4431 __cpp_lib_raw_memory_algorithms. 4432 * include/bits/stl_tree.h: Switch to bits/version.h for 4433 __cpp_lib_generic_associative_lookup. 4434 * include/bits/stl_stack.h: Switch to bits/version.h for 4435 __cpp_lib_adaptor_iterator_pair_constructor. 4436 (stack): Guard iterator-pair constructor behind 4437 __cpp_lib_adaptor_iterator_pair_constructor. 4438 * include/bits/stl_queue.h: Switch to bits/version.h for 4439 __cpp_lib_adaptor_iterator_pair_constructor. 4440 (queue): Guard iterator-pair constructor behind 4441 __cpp_lib_adaptor_iterator_pair_constructor. 4442 * include/bits/stl_pair.h: Switch to bits/version.h for 4443 __cpp_lib_{concepts,tuples_by_type}. 4444 (get): Guard type-getting overloads behind 4445 __cpp_lib_tuples_by_type. 4446 * include/bits/stl_map.h: Switch to bits/version.h for 4447 __cpp_lib_map_try_emplace. 4448 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace. 4449 * include/bits/stl_list.h: Switch to bits/version.h for 4450 __cpp_lib_list_remove_return_type. 4451 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG) 4452 [C++20]: guard behind __cpp_lib_list_remove_return_type instead. 4453 * include/bits/stl_iterator.h: Switch to bits/version.h for 4454 __cpp_lib_{constexpr_iterator,array_constexpr} and 4455 __cpp_lib_{make_reverse_iterator,move_iterator_concept}. 4456 (make_reverse_iterator): Guard behind 4457 __cpp_lib_make_reverse_iterator. 4458 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept 4459 changes behind that FTM. 4460 * include/bits/stl_function.h: Switch to bits/version.h for 4461 __cpp_lib_transparent_operators. 4462 (equal_to, not_equal_to, greater, less, greater_equal) 4463 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and) 4464 (logical_or, logical_not, plus, minus, multiplies, divides) 4465 (modulus, negate): Guard '= void' fwdecls behind 4466 __cpp_lib_transparent_operators. 4467 (plus<void>, minus<void>, multiplies<void>, divides<void>) 4468 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>) 4469 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>) 4470 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>) 4471 (greater_equal<void>, less_equal<void>, bit_not<void>) 4472 (__has_is_transparent): Guard behind 4473 __cpp_lib_transparent_operators. 4474 * include/bits/stl_algobase.h: Switch to bits/version.h for 4475 __cpp_lib_robust_nonmodifying_seq_ops. 4476 (robust equal, mismatch): Guard behind 4477 __cpp_lib_nonmember_container_access. 4478 * include/bits/stl_algo.h: Swtich to bits/version.h for 4479 __cpp_lib_{clamp,sample}. 4480 (clamp): Guard behind __cpp_lib_clamp. 4481 (sample): Guard behind __cpp_lib_sample. 4482 * include/bits/specfun.h: Switch to bits/version.h for 4483 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__. 4484 * include/bits/shared_ptr_base.h: Switch to bits/version.h for 4485 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}. 4486 (_Sp_overwrite_tag): Guard behind 4487 __cpp_lib_smart_ptr_for_overwrite. 4488 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for 4489 __cpp_lib_atomic_shared_ptr. 4490 * include/bits/shared_ptr.h: Switch to bits/version.h for 4491 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}. 4492 (shared_ptr<T>::weak_type): Guard behind 4493 __cpp_lib_shared_ptr_weak_type. 4494 (enable_shared_from_this<T>::weak_from_this): Guard behind 4495 __cpp_lib_enable_shared_from_this. 4496 * include/bits/ranges_cmp.h: Switch to bits/version.h for 4497 __cpp_lib_ranges. 4498 * include/bits/ranges_algo.h: Switch to bits/version.h for 4499 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}. 4500 * include/bits/range_access.h: Switch to bits/version.h for 4501 __cpp_lib_nonmember_container_access 4502 (size, empty, data): Guard behind 4503 __cpp_lib_nonmember_container_access. 4504 (ssize): Guard behind __cpp_lib_ssize. 4505 * include/bits/ptr_traits.h: Switch to bits/version.h. for 4506 __cpp_lib_{constexpr_memory,to_address}. 4507 (to_address): Guard behind __cpp_lib_to_address. 4508 * include/bits/node_handle.h: Switch to bits/version.h for 4509 __cpp_lib_node_extract. Guard header behind that FTM. 4510 * include/bits/move_only_function.h: Switch to bits/version.h for 4511 __cpp_lib_move_only_function. Guard header behind that FTM. 4512 * include/bits/move.h: Switch to bits/version.h for 4513 __cpp_lib_addressof_constexpr. 4514 * include/bits/ios_base.h: Switch to bits/version.h for 4515 __cpp_lib_ios_noreplace. 4516 (noreplace): Guard with __cpp_lib_ios_noreplace. 4517 * include/bits/hashtable.h: Switch to bits/version.h for 4518 __cpp_lib_generic_unordered_lookup. 4519 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind 4520 __cpp_lib_generic_unordered_lookup. 4521 * include/bits/forward_list.h: Switch to bits/version.h for 4522 __cpp_lib_list_remove_return_type. 4523 (__remove_return_type): Guard behind 4524 __cpp_lib_list_remove_return_type. 4525 * include/bits/erase_if.h: Switch to bits/version.h for 4526 __cpp_lib_erase_if. 4527 * include/bits/cow_string.h: Switch to bits/version.h for 4528 __cpp_lib_constexpr_string. 4529 * include/bits/chrono.h: Swtich to bits/version.h for 4530 __cpp_lib_chrono{,_udls}. 4531 (ceil): Guard behind __cpp_lib_chrono. 4532 (operator""ns et al): Guard behind __cpp_lib_chrono_udls. 4533 * include/bits/char_traits.h: Switch to bits/version.h for 4534 __cpp_lib_constexpr_char_traits. 4535 * include/bits/basic_string.h: Switch to bits/version.h for 4536 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}. 4537 (resize_and_overwrite): Guard behind 4538 __cpp_lib_string_resize_and_overwrite. 4539 (operator""s): Guard behind __cpp_lib_string_udls. 4540 * include/bits/atomic_wait.h: Switch to bits/version.h for 4541 __cpp_lib_atomic_wait. Guard header behind that FTM. 4542 * include/bits/atomic_base.h: Switch to bits/version.h for 4543 __cpp_lib_atomic_value_initialization and 4544 __cpp_lib_atomic_flag_test. 4545 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test, 4546 rather than C++20. 4547 * include/bits/allocator.h: Switch to bits/version.h for 4548 __cpp_lib_incomplete_container_elements. 4549 * include/bits/alloc_traits.h: Switch to using bits/version.h for 4550 __cpp_lib_constexpr_dynamic_alloc and 4551 __cpp_lib_allocator_traits_is_always_equal. 4552 * include/bits/align.h: Switch to bits/version.h for defining 4553 __cpp_lib_assume_aligned. 4554 (assume_aligned): Guard with __cpp_lib_assume_aligned. 4555 * include/bits/algorithmfwd.h: Switch to bits/version.h for 4556 defining __cpp_lib_constexpr_algorithms. 4557 * include/std/stacktrace: Switch to bits/version.h for 4558 __cpp_lib_stacktrace. Guard header behind that FTM. 4559 * testsuite/23_containers/array/tuple_interface/get_neg.cc: 4560 Update line numbers. 4561 4562 2023-08-16 Arsen Arsenovi <arsen (a] aarsen.me> 4563 4564 * include/Makefile.am (bits_freestanding): Add version.h. 4565 (allcreated): Add version.h. 4566 (${bits_srcdir}/version.h): New rule. Regenerates 4567 version.h out of version.{def,tpl}. 4568 * include/Makefile.in: Regenerate. 4569 * include/bits/version.def: New file. Declares a list of 4570 all feature test macros, their values and their preconditions. 4571 * include/bits/version.tpl: New file. Turns version.def 4572 into a sequence of #if blocks. 4573 * include/bits/version.h: New file. Generated from 4574 version.def. 4575 * include/std/version: Replace with a __glibcxx_want_all define 4576 and bits/version.h include. 4577 4578 2023-08-14 Paul Dreik <gccpatches (a] pauldreik.se> 4579 4580 PR libstdc++/110860 4581 * include/std/format (__formatter_fp::format): Use frexp instead 4582 of log10. 4583 4584 2023-08-12 Ken Matsui <kmatsui (a] gcc.gnu.org> 4585 4586 * include/std/type_traits (true_type): Use __bool_constant 4587 instead. 4588 (false_type): Likewise. 4589 (bool_constant): Likewise. 4590 4591 2023-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4592 4593 PR libstdc++/110990 4594 * include/std/format (_Seq_sink::get): Only call _M_overflow if 4595 its precondition is met. 4596 (_Iter_sink::_M_finish): Likewise. 4597 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the 4598 internal buffer after running out of space. 4599 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow. 4600 (_Counting_sink::count): Likewise. 4601 * testsuite/std/format/functions/format_to_n.cc: Check cases 4602 where the output fits into the buffer. 4603 4604 2023-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4605 4606 PR libstdc++/104167 4607 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept 4608 to _ChronoParts operators. 4609 (from_stream, parse): Define new functions. 4610 (__detail::_Parse, __detail::_Parser): New class templates. 4611 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for 4612 C++20. 4613 * include/std/version (__cpp_lib_chrono): Likewise. 4614 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: 4615 Adjust expected value of feature test macro. 4616 * testsuite/20_util/duration/io.cc: Test parsing. 4617 * testsuite/std/time/clock/file/io.cc: Likewise. 4618 * testsuite/std/time/clock/gps/io.cc: Likewise. 4619 * testsuite/std/time/clock/system/io.cc: Likewise. 4620 * testsuite/std/time/clock/tai/io.cc: Likewise. 4621 * testsuite/std/time/clock/utc/io.cc: Likewise. 4622 * testsuite/std/time/day/io.cc: Likewise. 4623 * testsuite/std/time/month/io.cc: Likewise. 4624 * testsuite/std/time/month_day/io.cc: Likewise. 4625 * testsuite/std/time/weekday/io.cc: Likewise. 4626 * testsuite/std/time/year/io.cc: Likewise. 4627 * testsuite/std/time/year_month/io.cc: Likewise. 4628 * testsuite/std/time/year_month_day/io.cc: Likewise. 4629 * testsuite/std/time/syn_c++20.cc: Check value of macro and for 4630 the existence of parse and from_stream in namespace chrono. 4631 * testsuite/std/time/clock/local/io.cc: New test. 4632 * testsuite/std/time/parse.cc: New test. 4633 4634 2023-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4635 4636 PR libstdc++/110860 4637 * include/std/format (__formatter_fp::format): Do not call log10 4638 with zero values. 4639 4640 2023-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4641 4642 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter): 4643 Check for out-of-range month an weekday indices. 4644 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid 4645 month and weekday values. 4646 4647 2023-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4648 4649 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove. 4650 4651 2023-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4652 4653 PR libstdc++/110974 4654 * include/std/format (_Spec::_S_parse_width_or_precision): Check 4655 for empty range before dereferencing iterator. 4656 * testsuite/std/format/string.cc: Check for expected exception. 4657 Fix expected exception message in test_pr110862() and actually 4658 call it. 4659 4660 2023-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4661 4662 PR libstdc++/110968 4663 * include/std/format (__formatter_fp::format): Check return 4664 value of _M_localize. 4665 * testsuite/std/format/functions/format.cc: Check classic 4666 locale. 4667 4668 2023-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4669 4670 PR libstdc++/110970 4671 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use 4672 __iter_category_t. 4673 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise. 4674 (__detail::__basic_const_iterator_iter_cat): Likewise. 4675 * include/bits/stl_iterator_base_types.h (__iterator_category_t): 4676 Rename to __iter_category_t. 4677 4678 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4679 4680 * include/bits/chrono.h (duration_cast): Do not use braces 4681 around statements for C++11 constexpr rules. 4682 * include/bits/stl_algobase.h (__lg): Rewrite as a single 4683 statement for C++11 constexpr rules. 4684 * include/experimental/bits/fs_path.h (path::string): Use 4685 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'. 4686 * include/std/charconv (__to_chars_8): Initialize variable for 4687 C++17 constexpr rules. 4688 4689 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4690 4691 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare 4692 warning for loop condition. 4693 4694 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4695 4696 * include/std/complex: Add diagnostic pragma for clang. 4697 4698 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4699 4700 * include/bits/shared_ptr_atomic.h (atomic): Change class-head 4701 to struct. 4702 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change 4703 class-head to struct in friend declaration. 4704 * include/std/chrono (tzdb_list::_Node): Likewise. 4705 * include/std/future (_Task_state_base, _Task_state): Likewise. 4706 * include/std/scoped_allocator (__inner_type_impl): Likewise. 4707 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) 4708 (_ValFunClos, _RefFunClos): Change class-head to struct. 4709 4710 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4711 4712 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]] 4713 attribute. 4714 * include/bits/regex_executor.tcc: Remove name of unused 4715 parameter. 4716 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free): 4717 Likewise. 4718 * include/bits/stl_uninitialized.h: Likewise. 4719 * include/bits/streambuf_iterator.h (operator==): Likewise. 4720 * include/bits/uses_allocator.h: Likewise. 4721 * include/c_global/cmath (isfinite, isinf, isnan): Likewise. 4722 * include/std/chrono (zoned_time): Likewise. 4723 * include/std/future (__future_base::_S_allocate_result): 4724 Likewise. 4725 (packaged_task): Likewise. 4726 * include/std/optional (_Optional_payload_base): Likewise. 4727 * include/std/scoped_allocator (__inner_type_impl): Likewise. 4728 * include/std/tuple (_Tuple_impl): Likewise. 4729 4730 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4731 4732 * include/bits/new_allocator.h (__new_allocator): Define copy 4733 assignment operator as defaulted. 4734 * include/std/complex (complex<float>, complex<double>) 4735 (complex<long double>): Define copy constructor as defaulted. 4736 4737 2023-08-09 Jonathan Wakely <jwakely (a] redhat.com> 4738 4739 * include/std/format: Fix some warnings. 4740 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove 4741 unused function template. 4742 4743 2023-08-07 Jonathan Wakely <jwakely (a] redhat.com> 4744 4745 PR libstdc++/110860 4746 * include/std/format (__formatter_fp::format): Do not use 4747 __builtin_abs and __builtin_log10 with arbitrary floating-point 4748 types. 4749 4750 2023-08-07 Jonathan Wakely <jwakely (a] redhat.com> 4751 4752 PR libstdc++/110917 4753 * include/std/format (__format::_Iter_sink<CharT, OutIter>): 4754 Constrain partial specialization for contiguous iterators to 4755 require the value type to be CharT. 4756 * testsuite/std/format/functions/format_to.cc: New test. 4757 4758 2023-08-07 Jonathan Wakely <jwakely (a] redhat.com> 4759 4760 PR libstdc++/110862 4761 * include/std/format (_Scanner::_M_on_replacement_field): 4762 Check for expected '}' before incrementing iterator. 4763 * testsuite/std/format/string.cc: Check "{0:{0}" format string. 4764 4765 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 4766 4767 * configure: Regenerate. 4768 4769 2023-08-07 Alan Modra <amodra (a] gmail.com> 4770 4771 * configure: Regenerate. 4772 4773 2023-08-07 Alexander von Gluck IV <kallisti5 (a] unixzen.com> 4774 4775 * configure: Regenerate. 4776 4777 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 4778 4779 * configure: Regenerate. 4780 4781 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 4782 4783 * configure: Regenerate. 4784 4785 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 4786 4787 * configure: Regenerate. 4788 4789 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 4790 4791 * configure: Regenerate. 4792 4793 2023-08-06 Franois Dumont <fdumont (a] gcc.gnu.org> 4794 4795 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate 4796 symbol export. 4797 4798 2023-07-30 Franois Dumont <fdumont (a] gcc.gnu.org> 4799 4800 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with 4801 proper #error. 4802 * src/c++11/locale-inst-monetary.h: Likewise. 4803 * src/c++11/locale-inst-numeric.h: Likewise. 4804 4805 2023-07-27 Jonathan Wakely <jwakely (a] redhat.com> 4806 4807 PR libstdc++/108046 4808 * include/std/format (__formatter_fp::format): Ensure __expc is 4809 always set for all presentation types. Set __z correctly for 4810 zero precision. 4811 * testsuite/std/format/functions/format.cc: Check problem cases. 4812 4813 2023-07-26 Jonathan Wakely <jwakely (a] redhat.com> 4814 4815 PR libstdc++/110807 4816 * testsuite/23_containers/vector/bool/110807.cc: Require c++11. 4817 4818 2023-07-26 Jonathan Wakely <jwakely (a] redhat.com> 4819 4820 PR libstdc++/110807 4821 * include/bits/stl_bvector.h (vector(const vector&)): Access 4822 iterators before allocating. 4823 * include/bits/vector.tcc (vector<bool>::_M_insert_range): 4824 Likewise. 4825 * testsuite/23_containers/vector/bool/110807.cc: New test. 4826 4827 2023-07-26 Jonathan Wakely <jwakely (a] redhat.com> 4828 4829 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated 4830 attribute. 4831 * include/bits/stl_algo.h (random_shuffle): Correct comments. 4832 * testsuite/25_algorithms/random_shuffle/1.cc: Disable 4833 deprecated warnings. 4834 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. 4835 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. 4836 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New 4837 test. 4838 4839 2023-07-26 Nathaniel Shead <nathanieloshead (a] gmail.com> 4840 4841 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic 4842 locations. 4843 * testsuite/26_numerics/gcd/105844.cc: Likewise. 4844 * testsuite/26_numerics/lcm/105844.cc: Likewise. 4845 4846 2023-07-24 Deev Patel <pateldeev (a] nevada.unr.edu> 4847 4848 * include/std/format (_Formatting_scanner::_M_on_chars): Add 4849 missing constexpr specifier. 4850 (_Formatting_scanner::_M_format_arg): Likewise. 4851 4852 2023-07-24 Jonathan Wakely <jwakely (a] redhat.com> 4853 4854 PR libstdc++/110653 4855 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not 4856 throw an exception for zero result. 4857 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold. 4858 4859 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4860 4861 PR libstdc++/110077 4862 * src/c++17/floating_from_chars.cc (from_chars): Only define 4863 _Float128 overload when using __strfromf128. 4864 4865 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4866 4867 PR libstdc++/110593 4868 * include/bits/chrono.h (duration): Improve static assert 4869 messages. 4870 (__is_ratio): Move to ... 4871 * include/std/ratio (__is_ratio): ... here. 4872 (__is_ratio_v): New variable template and partial 4873 specialization. 4874 (__are_both_ratios): New function template. 4875 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add): 4876 Add static assertion. 4877 * testsuite/20_util/ratio/requirements/type_constraints.cc: 4878 New test. 4879 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: 4880 Adjust expected error. 4881 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: 4882 Likewise. 4883 4884 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4885 4886 * include/bits/chrono_io.h (__formatter_chrono::_M_format): 4887 Do not set __is_neg for hh_mm_ss before calling 4888 _M_format_to_ostream. Change __print_sign lambda to only check 4889 __is_neg for durations and hh_mm_ss types. 4890 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg 4891 for duration types. 4892 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values. 4893 4894 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4895 4896 PR libstdc++/110719 4897 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds): 4898 Handle duration and hh_mm_ss. 4899 * testsuite/20_util/duration/io.cc: Check locale-specific 4900 formats. 4901 * testsuite/std/time/hh_mm_ss/io.cc: Likewise. 4902 4903 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4904 4905 * include/std/format (__write_padded): Initialize first element 4906 of array to avoid a -Wmaybe-uninitialized warning. 4907 4908 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4909 4910 PR libstdc++/110719 4911 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix 4912 allowed modifiers for %z and %Z. Fix -Wparentheses and 4913 -Wnarrowing warnings. 4914 (__formatter_chrono::_M_format): Call new functions for %d, %e, 4915 %H, %I, %m and %M. 4916 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove 4917 subsecond precision. 4918 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle 4919 modifiers. 4920 (__formatter_chrono::_M_e): Replace with _M_d_e and use 4921 _M_locale_fmt. 4922 (__formatter_chrono::_M_I): Replace with _M_H_I and use 4923 _M_locale_fmt. 4924 (__formatter_chrono::_M_m): New function. 4925 (__formatter_chrono::_M_M): New function. 4926 (__formatter_chrono::_M_r): Use _M_locale_fmt. 4927 (__formatter_chrono::_M_S): Likewise. 4928 (__formatter_chrono::_M_u_w): Likewise. 4929 (__formatter_chrono::_M_U_V_W): Likewise. 4930 (__formatter_chrono::_M_X): Use _S_floor_seconds. 4931 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t. 4932 (__formatter_chrono::_S_altnum): Remove function. 4933 (__formatter_chrono::_S_dd_zero_fill): Remove function. 4934 (__formatter_chrono::_S_floor_seconds): New function. 4935 (__formatter_chrono::_M_locale_fmt): New function. 4936 * testsuite/std/time/clock/system/io.cc: Adjust expected output 4937 for locale-specific formats and check modified formats. 4938 * testsuite/std/time/clock/utc/io.cc: Likewise. 4939 * testsuite/std/time/zoned_time/io.cc: New test. 4940 4941 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4942 4943 PR libstdc++/110708 4944 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only 4945 allow a single modifier. 4946 * testsuite/std/time/format.cc: Check multiple modifiers. 4947 4948 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4949 4950 PR libstdc++/110653 4951 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: 4952 Remove dg-require-string-conversions. 4953 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: 4954 Likewise. 4955 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: 4956 Likewise. 4957 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: 4958 Likewise. 4959 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: 4960 Likewise. 4961 4962 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4963 4964 PR libstdc++/110653 4965 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof): 4966 Define in terms of std::stod. 4967 4968 2023-07-19 Jonathan Wakely <jwakely (a] redhat.com> 4969 4970 PR libstdc++/110653 4971 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof): 4972 Define. 4973 [_GLIBCXX_HAVE_STRTOLD] (stold): Define. 4974 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof): 4975 Declare in namespace std. 4976 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise. 4977 4978 2023-07-13 Jonathan Wakely <jwakely (a] redhat.com> 4979 4980 PR libstdc++/110653 4981 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not 4982 depend on _GLIBCXX_USE_C99_STDLIB. 4983 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define 4984 in terms of stol and stoul respectively. 4985 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms 4986 of stod. 4987 4988 2023-07-12 Jonathan Wakely <jwakely (a] redhat.com> 4989 4990 PR libstdc++/95048 4991 * testsuite/27_io/filesystem/path/construct/95048.cc: Check 4992 conversions to wide strings. 4993 * testsuite/experimental/filesystem/path/construct/95048.cc: 4994 Likewise. 4995 4996 2023-07-12 Jonathan Wakely <jwakely (a] redhat.com> 4997 4998 * config/io/basic_file_stdio.cc: Define LFS macros. 4999 (__basic_file<char>::open): Use fopen unconditionally. 5000 (get_file_offset): Use lseek unconditionally. 5001 (__basic_file<char>::seekoff): Likewise. 5002 (__basic_file<char>::showmanyc): Use fstat unconditionally. 5003 5004 2023-07-12 Jonathan Wakely <jwakely (a] redhat.com> 5005 5006 PR libstdc++/110574 5007 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello 5008 and define _GLIBCXX_USE_FSEEKO_FTELLO. 5009 * config.h.in: Regenerate. 5010 * configure: Regenerate. 5011 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]: 5012 Check for fwrite error correctly. 5013 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for 5014 fread error correctly. 5015 (get_file_offset): New function. 5016 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use 5017 fseeko if available. Use get_file_offset instead of return value 5018 of fseek. 5019 (__basic_file<char>::showmanyc): Use get_file_offset. 5020 5021 2023-07-12 Ken Matsui <kmatsui (a] gcc.gnu.org> 5022 5023 * include/std/type_traits (__make_unsigned_selector): Use 5024 __is_enum built-in trait. 5025 (__make_signed_selector): Likewise. 5026 (__underlying_type_impl): Likewise. 5027 5028 2023-07-06 Tianqiang Shuai <1101282468 (a] qq.com> 5029 5030 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix 5031 first argument. 5032 5033 2023-07-06 Jonathan Wakely <jwakely (a] redhat.com> 5034 5035 PR libstdc++/110574 5036 * doc/xml/manual/configure.xml: Describe stdio_pure argument to 5037 --enable-cstdio. 5038 * doc/html/manual/configure.html: Regenerate. 5039 5040 2023-07-05 Thomas Rodgers <trodgers (a] redhat.com> 5041 5042 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete 5043 file. 5044 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: 5045 New file. 5046 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: 5047 Likewise. 5048 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: 5049 Likewise. 5050 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: 5051 Likewise. 5052 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: 5053 Likewise. 5054 5055 2023-07-05 Jonathan Wakely <jwakely (a] redhat.com> 5056 5057 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: 5058 Skip as UNSUPPORTED for C++98 mode. 5059 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: 5060 Likewise. 5061 5062 2023-07-05 Jonathan Wakely <jwakely (a] redhat.com> 5063 5064 PR libstdc++/110542 5065 * include/bits/stl_uninitialized.h (__uninitialized_default_n): 5066 Do not use std::fill_n during constant evaluation. 5067 5068 2023-07-05 Jonathan Wakely <jwakely (a] redhat.com> 5069 5070 * include/bits/vector.tcc (_M_default_append): Replace try-block 5071 with RAII types. 5072 5073 2023-07-05 Jonathan Wakely <jwakely (a] redhat.com> 5074 5075 * include/bits/iterator_concepts.h (projected): Add typename. 5076 5077 2023-07-03 Jonathan Wakely <jwakely (a] redhat.com> 5078 5079 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and 5080 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI. 5081 5082 2023-07-03 Jonathan Wakely <jwakely (a] redhat.com> 5083 5084 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, 5085 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): 5086 Define to OpenMP 5.0 pragmas even for GCC 10.0+. 5087 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. 5088 5089 2023-07-03 Jonathan Wakely <jwakely (a] redhat.com> 5090 5091 * include/bits/alloc_traits.h (_Destroy): Qualify call. 5092 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise. 5093 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test. 5094 5095 2023-07-03 Iain Sandoe <iain (a] sandoe.co.uk> 5096 5097 * testsuite/lib/libstdc++.exp: Remove additional flag handled 5098 by Darwin specs. 5099 5100 2023-06-30 Jonathan Wakely <jwakely (a] redhat.com> 5101 5102 PR libstdc++/110432 5103 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New. 5104 * config.h.in: Regenerate. 5105 * configure: Regenerate. 5106 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY. 5107 * include/std/iostream: Use new autoconf macro as well as 5108 __has_attribute. 5109 * src/c++98/ios_base_init.h: Use new autoconf macro instead of 5110 __has_attribute. 5111 5112 2023-06-30 Jonathan Wakely <jwakely (a] redhat.com> 5113 5114 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused 5115 attribute. 5116 5117 2023-06-30 Jonathan Wakely <jwakely (a] redhat.com> 5118 5119 PR libstdc++/105081 5120 * src/c++11/random.cc (random_device::_M_init): Throw 5121 std::system_error when the requested device is a valid token but 5122 not available at runtime. 5123 5124 2023-06-30 Hans-Peter Nilsson <hp (a] axis.com> 5125 5126 PR libstdc++/108672 5127 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using 5128 __INT32_TYPE__ instead of int32_t. 5129 5130 2023-06-29 Jonathan Wakely <jwakely (a] redhat.com> 5131 5132 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently 5133 with USE_ATOMIC_LIST_HEAD. 5134 (list_mutex): Replace global object with function. Use local 5135 static object when std::mutex constructor isn't constexpr. 5136 5137 2023-06-29 Jonathan Wakely <jwakely (a] redhat.com> 5138 5139 PR libstdc++/110462 5140 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that 5141 copy_file_range can be called with loff_t* arguments. 5142 * configure: Regenerate. 5143 * src/filesystem/ops-common.h (copy_file_copy_file_range): 5144 Use loff_t for offsets. 5145 5146 2023-06-29 Tom Tromey <tromey (a] adacore.com> 5147 5148 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer 5149 regexp. 5150 5151 2023-06-28 Jan Hubicka <jh (a] suse.cz> 5152 5153 PR middle-end/109849 5154 * include/bits/c++config (std::__terminate): Mark cold. 5155 * include/bits/functexcept.h: Mark everything as cold. 5156 * libsupc++/exception: Mark terminate and unexpected as cold. 5157 5158 2023-06-26 Thomas Rodgers <trodgers (a] redhat.com> 5159 5160 * include/pstl/algorithm_fwd.h: Synchronize with upstream. 5161 * include/pstl/algorithm_impl.h: Likewise. 5162 * include/pstl/execution_defs.h: Likewise. 5163 * include/pstl/execution_impl.h: Likewise. 5164 * include/pstl/glue_algorithm_impl.h: Likewise. 5165 * include/pstl/glue_execution_defs.h: Likewise. 5166 * include/pstl/glue_memory_impl.h: Likewise. 5167 * include/pstl/glue_numeric_impl.h: Likewise. 5168 * include/pstl/memory_impl.h: Likewise. 5169 * include/pstl/numeric_fwd.h: Likewise. 5170 * include/pstl/numeric_impl.h: Likewise. 5171 * include/pstl/parallel_backend.h: Likewise. 5172 * include/pstl/parallel_backend_serial.h: Likewise. 5173 * include/pstl/parallel_backend_tbb.h: Likewise. 5174 * include/pstl/parallel_impl.h: Likewise. 5175 * include/pstl/pstl_config.h: Likewise. 5176 * include/pstl/unseq_backend_simd.h: Likewise. 5177 * include/pstl/utils.h: Likewise. 5178 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: 5179 Likewise. 5180 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: 5181 Likewise. 5182 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: 5183 Likewise. 5184 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: 5185 Likewise. 5186 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. 5187 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: 5188 Likewise. 5189 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: 5190 Likewise. 5191 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: 5192 Likewise. 5193 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: 5194 Likewise. 5195 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: 5196 Likewise. 5197 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: 5198 Likewise. 5199 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: 5200 Likewise. 5201 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: 5202 Likewise. 5203 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: 5204 Likewise. 5205 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: 5206 Likewise. 5207 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: 5208 Likewise. 5209 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: 5210 Likewise. 5211 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: 5212 Likewise. 5213 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: 5214 Likewise. 5215 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: 5216 Likewise. 5217 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: 5218 Likewise. 5219 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: 5220 Likewise. 5221 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: 5222 Likewise. 5223 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: 5224 Likewise. 5225 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: 5226 Likewise. 5227 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: 5228 Likewise. 5229 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: 5230 Likewise. 5231 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: 5232 Likewise. 5233 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: 5234 Likewise. 5235 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: 5236 Likewise. 5237 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: 5238 Likewise. 5239 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: 5240 Likewise. 5241 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: 5242 Likewise. 5243 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: 5244 Likewise. 5245 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: 5246 Likewise. 5247 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: 5248 Likewise. 5249 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: 5250 Likewise. 5251 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: 5252 Likewise. 5253 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: 5254 Likewise. 5255 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: 5256 Likewise. 5257 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: 5258 Likewise. 5259 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: 5260 Likewise. 5261 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: 5262 Likewise. 5263 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: 5264 Likewise. 5265 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: 5266 Likewise. 5267 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: 5268 Likewise. 5269 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: 5270 Likewise. 5271 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: 5272 Likewise. 5273 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: 5274 Likewise. 5275 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: 5276 Likewise. 5277 * testsuite/26_numerics/pstl/numeric_ops/scan.cc: 5278 Likewise. 5279 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: 5280 Likewise. 5281 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: 5282 Likewise. 5283 * testsuite/util/pstl/test_utils.h: 5284 Likewise. 5285 5286 2023-06-26 Jonathan Wakely <jwakely (a] redhat.com> 5287 5288 PR libstdc++/110239 5289 * include/std/format (__format::__parse_integer): Fix buffer 5290 overflow for wide chars. 5291 (formatter<const void*, C>::format): Cast to uintptr_t instead 5292 of uint64_t. 5293 * testsuite/std/format/string.cc: Test too-large widths. 5294 5295 2023-06-26 Jonathan Wakely <jwakely (a] redhat.com> 5296 5297 * include/bits/iterator_concepts.h (projected): Replace class 5298 template with alias template denoting an ADL-proofed helper. 5299 (incremental_traits<projected<Iter, Proj>>): Remove. 5300 * testsuite/24_iterators/indirect_callable/projected-adl.cc: 5301 New test. 5302 5303 2023-06-26 Jonathan Wakely <jwakely (a] redhat.com> 5304 5305 * include/debug/helper_functions.h (__get_distance) 5306 (__check_singular, __valid_range_aux, __valid_range): Qualify 5307 calls to disable ADL. 5308 (__check_singular_aux(const _Safe_iterator_base*)): Declare 5309 overload that was previously found via ADL. 5310 5311 2023-06-23 Jonathan Wakely <jwakely (a] redhat.com> 5312 5313 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block 5314 with RAII types. 5315 5316 2023-06-20 Jonathan Wakely <jwakely (a] redhat.com> 5317 5318 * include/std/array (to_array(T(&)[N])): Remove redundant 5319 condition. 5320 (to_array(T(&&)[N])): Remove redundant std::move. 5321 5322 2023-06-16 Alexandre Oliva <oliva (a] adacore.com> 5323 5324 * testsuite/20_util/from_chars/4.cc: Skip long double on 5325 aarch64-rtems. 5326 5327 2023-06-16 Joel Brobecker <brobecker (a] adacore.com> 5328 5329 * configure.ac ["x${with_newlib}" = "xyes"]: Define 5330 HAVE_HYPOTF. Add compile-checks for various long double 5331 math functions as well. 5332 * configure: Regenerate. 5333 5334 2023-06-14 Jonny Grant <jg (a] jguk.org> 5335 5336 * doc/xml/manual/extensions.xml: Remove demangle exception 5337 description and include. 5338 * doc/html/manual/ext_demangling.html: Regenerate. 5339 5340 2023-06-10 Hans-Peter Nilsson <hp (a] axis.com> 5341 5342 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main) 5343 [! SIMULATOR_TEST]: Also exclude running test05. 5344 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto. 5345 5346 2023-06-09 Ken Matsui <kmatsui (a] cs.washington.edu> 5347 5348 * include/std/type_traits: Use using instead of typedef 5349 5350 2023-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5351 5352 PR libstdc++/110077 5353 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>: 5354 Only define if _Float128 and long double have different 5355 representations. 5356 5357 2023-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5358 5359 PR libstdc++/100285 5360 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP] 5361 (basic_endpoint, basic_resolver_entry, resolver_base) 5362 (basic_resolver_results, basic_resolver): Only define if the tcp 5363 or udp protocols will be defined. 5364 5365 2023-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5366 5367 * acinclude.m4 (libtool_VERSION): Update to 6.0.33. 5368 * configure: Regenerate. 5369 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33. 5370 * doc/html/manual/abi.html: Regenerate. 5371 5372 2023-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5373 5374 PR libstdc++/110149 5375 * include/std/format (formatter<const void*, charT>::parse): 5376 Only alow 0 and P for C++26 and non-strict modes. 5377 (formatter<const void*, charT>::format): Use toupper for P 5378 type, and insert zero-fill characters for 0 option. 5379 * testsuite/std/format/functions/format.cc: Check pointer 5380 formatting. Only check P2510R3 extensions conditionally. 5381 * testsuite/std/format/parse_ctx.cc: Only check P2510R3 5382 extensions conditionally. 5383 5384 2023-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5385 5386 PR libstdc++/110167 5387 * include/std/array (to_array): Initialize arrays of trivial 5388 types using memcpy. For non-trivial types, use lambda 5389 expressions instead of a separate helper function. 5390 (__to_array): Remove. 5391 * testsuite/23_containers/array/creation/110167.cc: New test. 5392 5393 2023-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5394 5395 * testsuite/23_containers/deque/modifiers/emplace/52799.cc: 5396 Removed. 5397 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: 5398 Removed. 5399 * testsuite/23_containers/list/modifiers/emplace/52799.cc: 5400 Removed. 5401 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: 5402 Removed. 5403 * testsuite/23_containers/vector/modifiers/emplace/52799.cc: 5404 Removed. 5405 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: 5406 Removed. 5407 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New 5408 test. 5409 * testsuite/23_containers/list/modifiers/emplace/1.cc: New 5410 test. 5411 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New 5412 test. 5413 5414 2023-06-07 Jakub Jelinek <jakub (a] redhat.com> 5415 5416 PR libstdc++/110145 5417 * testsuite/20_util/to_chars/double.cc: Include <cfloat>. 5418 (double_to_chars_test_cases, 5419 double_scientific_precision_to_chars_test_cases_2, 5420 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6 5421 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1. 5422 Add unconditional tests with corresponding double constants 5423 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and 5424 0x1.7440bbff418b9p-18. 5425 5426 2023-06-07 Jonathan Wakely <jwakely (a] redhat.com> 5427 5428 * testsuite/util/testsuite_abi.cc (check_version): Re-add 5429 CXXABI_1.3.14. 5430 5431 2023-06-07 Jonathan Wakely <jwakely (a] redhat.com> 5432 5433 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: 5434 Require effective target exceptions_enabled instead of using 5435 dg-skip-if. 5436 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect 5437 shrink_to_fit() to be a no-op without exceptions enabled. 5438 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: 5439 Likewise. 5440 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: 5441 Require effective target exceptions_enabled. 5442 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: 5443 Likewise. 5444 * testsuite/ext/mt_allocator/check_allocate_max_size.cc: 5445 Likewise. 5446 * testsuite/ext/new_allocator/check_allocate_max_size.cc: 5447 Likewise. 5448 * testsuite/ext/pool_allocator/check_allocate_max_size.cc: 5449 Likewise. 5450 * testsuite/ext/throw_allocator/check_allocate_max_size.cc: 5451 Likewise. 5452 5453 2023-06-07 Jonathan Wakely <jwakely (a] redhat.com> 5454 5455 * testsuite/20_util/duration/cons/2.cc: Use values that aren't 5456 affected by rounding. 5457 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to 5458 double before comparing for equality. 5459 * testsuite/20_util/from_chars/6.cc: Likewise. 5460 * testsuite/20_util/variant/86874.cc: Use values that aren't 5461 affected by rounding. 5462 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to 5463 original value instead of to floating-point-literal. 5464 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: 5465 Cast arithmetic result to double before comparing for equality. 5466 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc: 5467 Likewise. 5468 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc: 5469 Likewise. 5470 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that 5471 the absolute difference is less than 0.01 instead of comparing 5472 to two decimal places. 5473 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: 5474 Cast arithmetic result to double before comparing for equality. 5475 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: 5476 Likewise. 5477 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: 5478 Likewise. 5479 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: 5480 Likewise. 5481 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: 5482 Likewise. 5483 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: 5484 Likewise. 5485 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. 5486 5487 2023-06-07 Jonathan Wakely <jwakely (a] redhat.com> 5488 5489 Revert: 5490 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5491 5492 * configure.ac: Use AS_IF. 5493 * configure: Regenerate. 5494 5495 2023-06-07 Thomas Schwinge <thomas (a] codesourcery.com> 5496 5497 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support 5498 'UNSUPPORTED: [...]: exception handling disabled'. 5499 5500 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5501 5502 * testsuite/util/testsuite_abi.cc (check_version): Add 5503 CXXABI_1.3.15 symver and make it the latestp. Remove 5504 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp. 5505 5506 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5507 Jakub Jelinek <jakub (a] redhat.com> 5508 5509 PR libstdc++/104772 5510 * include/std/limits: (numeric_limits<__float128>): Define 5511 for __STRICT_ANSI__ as well. 5512 * testsuite/18_support/numeric_limits/128bit.cc: Remove 5513 check for __STRICT_ANSI__. 5514 5515 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5516 5517 * configure.ac: Use AS_IF. 5518 * configure: Regenerate. 5519 5520 2023-06-06 Matthias Kretz <m.kretz (a] gsi.de> 5521 5522 PR libstdc++/109822 5523 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite 5524 to avoid casts to other vector types. Implement store as 5525 succession of power-of-2 sized memcpy to avoid PR90424. 5526 5527 2023-06-06 Matthias Kretz <m.kretz (a] gsi.de> 5528 5529 PR libstdc++/110054 5530 * include/experimental/bits/simd_builtin.h (_S_masked_store): 5531 Call into deduced ABI's SimdImpl after conversion. 5532 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt): 5533 Don't use _mm_maskmoveu_si128. Use the generic fall-back 5534 implementation. Also fix masked stores without SSE2, which 5535 were not doing anything before. 5536 5537 2023-06-06 Matthias Kretz <m.kretz (a] gsi.de> 5538 5539 * include/experimental/bits/simd.h (__bit_cast): Use 5540 __gnu__::__vector_size__ instead of gnu::vector_size. 5541 5542 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5543 5544 PR libstdc++/110139 5545 * include/std/array (__array_traits<T, 0>::operator T*()): Make 5546 conversion operator explicit. 5547 (array::front): Use size_type as subscript operand. 5548 (array::data): Use static_cast to make conversion explicit. 5549 * testsuite/23_containers/array/element_access/110139.cc: New 5550 test. 5551 5552 2023-06-06 Joseph Faulls <Joseph.Faulls (a] imgtec.com> 5553 5554 * include/bits/locale_classes.tcc: Remove check for 5555 codecvt<char8_t, char, mbstate_t> facet. 5556 5557 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5558 5559 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set 5560 close-on-exec flag on file descriptors. 5561 5562 2023-06-06 Jonathan Wakely <jwakely (a] redhat.com> 5563 5564 PR libstdc++/108178 5565 * src/filesystem/ops-common.h (do_copy_file): Check for empty 5566 files by trying to read a character. 5567 * testsuite/27_io/filesystem/operations/copy_file_108178.cc: 5568 New test. 5569 5570 2023-06-06 Jannik Glckert <jannik.glueckert (a] gmail.com> 5571 5572 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define. 5573 * config.h.in: Regenerate. 5574 * configure: Regenerate. 5575 * src/filesystem/ops-common.h (copy_file_copy_file_range): 5576 Define new function. 5577 (do_copy_file): Use it. 5578 5579 2023-06-06 Jannik Glckert <jannik.glueckert (a] gmail.com> 5580 5581 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define. 5582 * config.h.in: Regenerate. 5583 * configure: Regenerate. 5584 * src/filesystem/ops-common.h (copy_file_sendfile): Define new 5585 function for sendfile logic. Loop to support large files. Skip 5586 zero-length files. 5587 (do_copy_file): Use it. 5588 5589 2023-06-04 Jason Merrill <jason (a] redhat.com> 5590 5591 PR c++/97720 5592 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*. 5593 * config/abi/pre/gnu.ver: Add it. 5594 5595 2023-06-02 Franois Dumont <fdumont (a] gcc.gnu.org> 5596 5597 * include/parallel/algobase.h: Include <parallel/search.h>. 5598 5599 2023-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5600 5601 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: 5602 Add const to equality operator. 5603 5604 2023-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5605 5606 * include/std/expected (expected::and_then, expected::or_else) 5607 (expected::transform_error): Use _M_val and _M_unex instead of 5608 calling value() and error(), as per LWG 3938. 5609 (expected::transform): Likewise. Remove incorrect std::move 5610 calls from lvalue overloads. 5611 (expected<void, E>::and_then, expected<void, E>::or_else) 5612 (expected<void, E>::transform): Use _M_unex instead of calling 5613 error(). 5614 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then 5615 and transform, and for std::expected<void, E>. 5616 * testsuite/20_util/expected/lwg3938.cc: New test. 5617 5618 2023-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5619 5620 PR libstdc++/110060 5621 * include/bits/stl_vector.h (_Vector_base::_M_invariant): 5622 Remove. 5623 (vector::size, vector::capacity): Remove calls to _M_invariant. 5624 * include/bits/vector.tcc (vector::_M_fill_assign): Add 5625 optimization hint to reallocating path. 5626 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)): 5627 Likewise. 5628 * testsuite/23_containers/vector/capacity/invariant.cc: Moved 5629 to... 5630 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc: 5631 ...here. Check assign(FwdIter, FwdIter) too. 5632 * testsuite/23_containers/vector/types/1.cc: Revert addition 5633 of -Wno-stringop-overread option. 5634 5635 2023-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5636 5637 * doc/xml/manual/evolution.xml: Document removal of implicit 5638 allocator rebinding extensions in strict mode and for C++20. 5639 * doc/html/*: Regenerate. 5640 5641 2023-06-01 Jason Merrill <jason (a] redhat.com> 5642 5643 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check 5644 handlers in the cleanup phase. 5645 5646 2023-06-01 Matthias Kretz <m.kretz (a] gsi.de> 5647 5648 PR libstdc++/110050 5649 * include/experimental/bits/simd.h (__vectorized_sizeof): With 5650 __have_neon_a32 only single-precision float works (in addition 5651 to integers). 5652 5653 2023-06-01 Franois Dumont <fdumont (a] gcc.gnu.org> 5654 5655 * include/bits/stl_algo.h 5656 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move... 5657 * include/bits/stl_algobase.h: ...here. 5658 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>. 5659 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>) 5660 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>): 5661 Move... 5662 * include/parallel/algobase.h: ...here. 5663 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm> 5664 includes. Include <bits/stl_algobase.h>. 5665 5666 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5667 5668 PR libstdc++/109818 5669 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for 5670 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES. 5671 * config.h.in: Regenerate. 5672 * configure: Regenerate. 5673 * include/c_global/cmath (float_t, double_t): Guard using new 5674 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro. 5675 5676 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5677 5678 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math 5679 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks 5680 for C99 rounding functions to here. 5681 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding 5682 functions from here. 5683 * config.h.in: Regenerate. 5684 * configure: Regenerate. 5685 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead 5686 of _GLIBCXX_USE_C99_MATH_TR1. 5687 * include/bits/random.tcc: Likewise. 5688 * include/c_compatibility/math.h: Likewise. 5689 * include/c_global/cmath: Likewise. 5690 * include/ext/random: Likewise. 5691 * include/ext/random.tcc: Likewise. 5692 * include/std/complex: Likewise. 5693 * testsuite/20_util/from_chars/4.cc: Likewise. 5694 * testsuite/20_util/from_chars/8.cc: Likewise. 5695 * testsuite/26_numerics/complex/proj.cc: Likewise. 5696 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise. 5697 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: 5698 Likewise. 5699 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): 5700 Likewise. 5701 * testsuite/util/testsuite_random.h: Likewise. 5702 5703 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5704 5705 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New 5706 function. 5707 (vector::size(), vector::capacity()): Call _M_invariant(). 5708 * testsuite/23_containers/vector/capacity/invariant.cc: New test. 5709 * testsuite/23_containers/vector/types/1.cc: Add suppression for 5710 false positive warning (PR110060). 5711 5712 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5713 5714 PR libstdc++/109921 5715 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is 5716 defined before trying to use _Float128. 5717 5718 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5719 5720 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers 5721 to check __INT_PTR_WIDTH__ instead of sizeof(void*). 5722 * configure: Regenerate. 5723 5724 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5725 5726 * include/bits/unique_lock.h: Include <bits/error_constants.h> 5727 here for std::errc constants. 5728 * include/std/mutex: Do not include <bits/error_constants.h> and 5729 <exception> here. 5730 5731 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5732 5733 * configure.ac: Replace use of -o operator for test. 5734 * configure: Regenerate. 5735 5736 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5737 5738 * include/std/scoped_allocator (scoped_allocator_adaptor): Add 5739 noexcept to all constructors except the default constructor. 5740 (scoped_allocator_adaptor::inner_allocator): Add noexcept. 5741 (scoped_allocator_adaptor::outer_allocator): Likewise. 5742 * testsuite/20_util/scoped_allocator/noexcept.cc: New test. 5743 5744 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5745 5746 PR libstdc++/104772 5747 * include/std/limits (numeric_limits<__float128>): Define. 5748 * testsuite/18_support/numeric_limits/128bit.cc: New test. 5749 5750 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5751 5752 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and 5753 msp430 to all 16-bit targets. 5754 * configure: Regenerate. 5755 5756 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5757 5758 PR libstdc++/109921 5759 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): 5760 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined. 5761 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is 5762 binary64. 5763 (from_chars(const char*, const char*, double&, chars_format)): 5764 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here. 5765 (from_chars(const char*, const char*, _Float128&, chars_format)) 5766 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is 5767 defined, otherwise parse a long double and convert to _Float128. 5768 5769 2023-05-31 Jonathan Wakely <jwakely (a] redhat.com> 5770 5771 PR libstdc++/109922 5772 * include/std/iomanip (operator>>(basic_istream&, _Setfill)): 5773 Add deprecated attribute to non-standard overload. 5774 * doc/xml/manual/evolution.xml: Document deprecation. 5775 * doc/html/*: Regenerate. 5776 * testsuite/27_io/manipulators/standard/char/1.cc: Add 5777 dg-warning for expected deprecated warning. 5778 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. 5779 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. 5780 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. 5781 5782 2023-05-30 Alexandre Oliva <oliva (a] adacore.com> 5783 5784 * testsuite/20_util/from_chars/4.cc: Skip long double test06 5785 on x86_64-vxworks. 5786 * testsuite/20_util/to_chars/long_double.cc: Xfail run on 5787 x86_64-vxworks. 5788 5789 2023-05-30 Matthias Kretz <m.kretz (a] gsi.de> 5790 5791 PR libstdc++/109822 5792 * include/experimental/bits/simd.h (to_native): Use int NTTP 5793 as specified in PTS2. 5794 (to_compatible): Likewise. Add missing tag to call mask 5795 generator ctor. 5796 * testsuite/experimental/simd/pr109822_cast_functions.cc: New 5797 test. 5798 5799 2023-05-30 Matthias Kretz <m.kretz (a] gsi.de> 5800 5801 * testsuite/experimental/simd/tests/integer_operators.cc: 5802 Compute expected value differently to avoid getting turned into 5803 a vector shift. 5804 5805 2023-05-30 Matthias Kretz <m.kretz (a] gsi.de> 5806 5807 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long 5808 double <-> (u)long conversion tests conditional on sizeof(long 5809 double) and sizeof(long). 5810 5811 2023-05-26 Matthias Kretz <m.kretz (a] gsi.de> 5812 5813 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left): 5814 Negative __y is UB, so prefer signed compare. 5815 5816 2023-05-25 Jonathan Wakely <jwakely (a] redhat.com> 5817 5818 * testsuite/util/testsuite_allocator.h (PointerBase): Add 5819 relational operators. 5820 5821 2023-05-25 Alexandre Oliva <oliva (a] adacore.com> 5822 5823 * testsuite/20_util/to_chars/long_double.cc: Expect execution 5824 fail on x86-vxworks. 5825 5826 2023-05-24 Matthias Kretz <m.kretz (a] gsi.de> 5827 5828 PR libstdc++/109949 5829 * include/experimental/bits/simd.h (__intrinsic_type): If 5830 __ALTIVEC__ is defined, map gnu::vector_size types to their 5831 corresponding __vector T types without losing unsignedness of 5832 integer types. Also prefer long long over long. 5833 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask 5834 object to the expected unsigned vector type. 5835 5836 2023-05-24 Matthias Kretz <m.kretz (a] gsi.de> 5837 5838 PR libstdc++/109261 5839 * include/experimental/bits/simd.h (__intrinsic_type): 5840 Specialize __intrinsic_type<double, 8> and 5841 __intrinsic_type<double, 16> in any case, but provide the member 5842 type only with __aarch64__. 5843 5844 2023-05-24 Matthias Kretz <m.kretz (a] gsi.de> 5845 5846 PR libstdc++/109261 5847 * include/experimental/bits/simd_neon.h (_S_reduce): Add 5848 constexpr and make NEON implementation conditional on 5849 not __builtin_is_constant_evaluated. 5850 5851 2023-05-23 Matthias Kretz <m.kretz (a] gsi.de> 5852 5853 PR libstdc++/109261 5854 * include/experimental/bits/simd.h (_SimdWrapper::_M_set): 5855 Avoid vector builtin subscripting in constant expressions. 5856 (resizing_simd_cast): Avoid memcpy if constant_evaluated. 5857 (const_where_expression, where_expression, where) 5858 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either 5859 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on 5860 internal APIs). 5861 * include/experimental/bits/simd_builtin.h (__vector_permute) 5862 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1) 5863 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin) 5864 (_MaskImplBuiltin::_S_store): Add constexpr. 5865 (_CommonImplBuiltin::_S_store_bool_array) 5866 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store) 5867 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add 5868 constant_evaluated case. 5869 * include/experimental/bits/simd_fixed_size.h 5870 (_S_masked_load): Reword comment. 5871 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r) 5872 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write) 5873 (__make_simd_tuple, __optimize_simd_tuple, __extract_part) 5874 (__autocvt_to_simd, _Fixed::__traits::_SimdBase) 5875 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add 5876 constexpr. 5877 (_SimdTuple::operator[], _M_set): Add constexpr and add 5878 constant_evaluated case. 5879 (_MaskImplFixedSize::_S_load): Add constant_evaluated case. 5880 * include/experimental/bits/simd_scalar.h: Add constexpr. 5881 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add 5882 constexpr and add constant_evaluated case. 5883 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less) 5884 (_S_less_equal): Value-initialize to satisfy constexpr 5885 evaluation. 5886 (_MaskImplX86::_S_load): Add constant_evaluated case. 5887 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated 5888 case. Value-initialize local variables. 5889 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not) 5890 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated 5891 case. 5892 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New 5893 test. 5894 5895 2023-05-22 Matthias Kretz <m.kretz (a] gsi.de> 5896 5897 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move 5898 __infn into #ifdef'ed block. 5899 * testsuite/experimental/simd/tests/fpclassify.cc: Declare 5900 constants only when used. 5901 * testsuite/experimental/simd/tests/frexp.cc: Likewise. 5902 * testsuite/experimental/simd/tests/logarithm.cc: Likewise. 5903 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: 5904 Likewise. 5905 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: 5906 Move totest and expect1 into #ifdef'ed block. 5907 5908 2023-05-19 Gerald Pfeifer <gerald (a] pfeifer.com> 5909 5910 * doc/xml/manual/strings.xml: Move lafstern.org reference to https. 5911 * doc/html/manual/strings.html: Regenerate. 5912 5913 2023-05-17 Jakub Jelinek <jakub (a] redhat.com> 5914 5915 PR libstdc++/109883 5916 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test. 5917 5918 2023-05-17 Jakub Jelinek <jakub (a] redhat.com> 5919 5920 PR libstdc++/109883 5921 * include/c_global/cmath (atan2, fmod, pow): Move 5922 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and 5923 __gnu_cxx::__bfloat16_t overloads. 5924 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo): 5925 Likewise. 5926 (fma): Move __gnu_cxx::__promote_3 using template after 5927 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. 5928 5929 2023-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5930 5931 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment 5932 checks for float_round_style and float_denorm_style. 5933 5934 2023-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5935 5936 * include/bits/c++config: Add system_header pragma. 5937 5938 2023-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5939 5940 * include/std/expected (expected::and_then, expected::or_else) 5941 (expected::transform, expected::transform_error): Fix exception 5942 specifications as per LWG 3877. 5943 (expected<void, E>::and_then, expected<void, E>::transform): 5944 Likewise. 5945 * testsuite/20_util/expected/lwg3877.cc: New test. 5946 5947 2023-05-17 Ken Matsui <kmatsui (a] cs.washington.edu> 5948 5949 * include/std/type_traits: Use __bool_constant instead of 5950 integral_constant. 5951 5952 2023-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5953 5954 * configure: Regenerate. 5955 5956 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 5957 5958 PR libstdc++/109741 5959 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define. 5960 * config.h.in: Regenerate. 5961 * configure: Regenerate. 5962 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE. 5963 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not 5964 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE 5965 instead of hardcoded 64. 5966 5967 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 5968 5969 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11 5970 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h> 5971 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV. 5972 * config.h.in: Regenerate. 5973 * configure: Regenerate. 5974 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV 5975 instead of _GLIBCXX_USE_C99_FENV_TR1. 5976 * include/c_global/cfenv: Likewise. 5977 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead 5978 of _GLIBCXX_USE_C99_CTYPE_TR1. 5979 5980 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 5981 5982 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in 5983 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for 5984 <inttypes.h> features in C++11 mode and define 5985 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T. 5986 * config.h.in: Regenerate. 5987 * configure: Regenerate. 5988 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. 5989 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead 5990 of _GLIBCXX_USE_C99_STDINT_TR1. 5991 * include/c_compatibility/inttypes.h: Check 5992 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T 5993 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and 5994 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. 5995 * include/c_compatibility/stdatomic.h: Check 5996 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1. 5997 * include/c_compatibility/stdint.h: Likewise. 5998 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES 5999 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of 6000 _GLIBCXX_USE_C99_INTTYPES_TR1 and 6001 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. 6002 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT 6003 instead of _GLIBCXX_USE_C99_STDINT_TR1. 6004 * include/std/atomic: Likewise. 6005 * src/c++11/cow-stdexcept.cc: Likewise. 6006 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: 6007 Likewise. 6008 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): 6009 Likewise. 6010 6011 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 6012 6013 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig 6014 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC. 6015 * config.h.in: Regenerate. 6016 * configure: Regenerate. 6017 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro. 6018 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC 6019 instead of _GLIBCXX_USE_C99_COMPLEX_TR1. 6020 6021 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 6022 6023 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add 6024 assertion to ensure expected exception is throw. 6025 6026 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 6027 6028 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test 6029 printer for chrono::zoned_time for cx11 ABI and tzdb effective 6030 target. 6031 6032 2023-05-16 Jonathan Wakely <jwakely (a] redhat.com> 6033 6034 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define 6035 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN. 6036 * configure: Regenerate. 6037 6038 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6039 6040 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer 6041 to check for nan, nanf, and nanl. 6042 * configure: Regenerate. 6043 6044 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6045 6046 * include/bits/char_traits.h (char_traits<char16_t>): Do not 6047 depend on _GLIBCXX_USE_C99_STDINT_TR1. 6048 (char_traits<char32_t>): Likewise. 6049 * include/experimental/source_location: Likewise. 6050 6051 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6052 6053 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t) 6054 (atomic_int_least16_t, atomic_uint_least16_t) 6055 (atomic_int_least32_t, atomic_uint_least32_t) 6056 (atomic_int_least64_t, atomic_uint_least64_t) 6057 (atomic_int_fast16_t, atomic_uint_fast16_t) 6058 (atomic_int_fast32_t, atomic_uint_fast32_t) 6059 (atomic_int_fast64_t, atomic_uint_fast64_t) 6060 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally. 6061 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust. 6062 6063 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6064 6065 * include/bits/algorithmfwd.h (shuffle): Do not depend on 6066 _GLIBCXX_USE_C99_STDINT_TR1. 6067 * include/bits/ranges_algo.h (shuffle): Likewise. 6068 * include/bits/stl_algo.h (shuffle): Likewise. 6069 * include/ext/random: Likewise. 6070 * include/ext/throw_allocator.h (random_condition): Likewise. 6071 * include/std/random: Likewise. 6072 * src/c++11/cow-string-inst.cc: Likewise. 6073 * src/c++11/random.cc: Likewise. 6074 6075 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6076 6077 * testsuite/experimental/feat-cxx14.cc: Remove dependency on 6078 _GLIBCXX_USE_C99_STDINT_TR1. 6079 6080 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6081 6082 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency 6083 on _GLIBCXX_USE_C99_STDINT_TR1. 6084 6085 2023-05-12 Jonathan Wakely <jwakely (a] redhat.com> 6086 6087 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove 6088 dependency on _GLIBCXX_USE_C99_STDINT_TR1. 6089 * testsuite/experimental/string_view/typedefs.cc: Likewise. 6090 6091 2023-05-11 Jonathan Wakely <jwakely (a] redhat.com> 6092 6093 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS] 6094 (auto_locale, auto_ferounding): New class types. 6095 (from_chars_impl): Use auto_locale and auto_ferounding. 6096 6097 2023-05-11 Jonathan Wakely <jwakely (a] redhat.com> 6098 6099 PR libstdc++/109772 6100 * include/std/chrono (hh_mm_ss::__fits): Remove variable 6101 template. 6102 (hh_mm_ss::__subseconds): Remove __fits from constraints. 6103 * testsuite/std/time/hh_mm_ss/109772.cc: New test. 6104 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for 6105 hh_mm_ss<duration<int, std::pico>>. 6106 6107 2023-05-11 Jonathan Wakely <jwakely (a] redhat.com> 6108 6109 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate. 6110 * include/bits/basic_ios.h: Add static assertion checking 6111 traits_type::value_type. 6112 * include/bits/basic_string.h: Likewise. Do not rebind 6113 allocator, and add static assertion checking its value_type. 6114 (basic_string::_Alloc_traits_impl): Remove class template. 6115 (basic_string::_S_allocate): New static member function. 6116 (basic_string::assign): Use _S_allocate. 6117 * include/bits/basic_string.tcc (basic_string::_M_create) 6118 (basic_string::reserve, basic_string::_M_replace): Likewise. 6119 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc: 6120 Disable for C++20 and later. 6121 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: 6122 Likweise. 6123 6124 2023-05-11 Jonathan Wakely <jwakely (a] redhat.com> 6125 6126 PR libstdc++/109758 6127 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN 6128 and negative zero correctly. 6129 * testsuite/26_numerics/headers/cmath/109758.cc: New test. 6130 6131 2023-05-10 Franois Dumont <fdumont (a] gcc.gnu.org> 6132 6133 * include/bits/hashtable_policy.h 6134 (_NodeBuilder<>::_S_build): Use __node_ptr. 6135 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*. 6136 (_AllocNode<>): Likewise. 6137 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved 6138 to call std::is_permutation in the non-unique key implementation. 6139 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture 6140 _M_begin() once. 6141 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline. 6142 (_Hashtable<>::_M_insert_bucket_begin): Likewise. 6143 (_Hashtable<>::_M_remove_bucket_begin): Likewise. 6144 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than 6145 const_iterator. 6146 (_Hashtable<>::find): Likewise. 6147 (_Hashtable<>::_M_emplace): Likewise. 6148 (_Hashtable<>::_M_insert_unique): Likewise. 6149 6150 2023-05-09 Jonathan Wakely <jwakely (a] redhat.com> 6151 6152 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter): 6153 Print floating-point durations correctly. 6154 (StdChronoTimePointPrinter): Support printing only the value, 6155 not the type name. Uncomment handling for known clocks. 6156 (StdChronoZonedTimePrinter): Remove type names from output. 6157 (StdChronoCalendarPrinter): Fix hh_mm_ss member access. 6158 (StdChronoTimeZonePrinter): Add equals sign to output. 6159 * testsuite/libstdc++-prettyprinters/chrono.cc: New test. 6160 6161 2023-05-05 Alexandre Oliva <oliva (a] adacore.com> 6162 6163 * testsuite/20_util/from_chars/4.cc: Skip long double test06 6164 on aarch64-vxworks. 6165 * testsuite/20_util/to_chars/long_double.cc: Xfail run on 6166 aarch64-vxworks. 6167 6168 2023-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6169 6170 * doc/xml/manual/abi.xml (abi.versioning.history): Document 6171 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version. 6172 * doc/html/manual/abi.html: Regenerate. 6173 6174 2023-05-04 Florian Weimer <fweimer (a] redhat.com> 6175 6176 * doc/xml/manual/abi.xml (abi.versioning.history): Add 6177 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for 6178 libgcc_s. 6179 6180 2023-05-03 Jakub Jelinek <jakub (a] redhat.com> 6181 6182 * src/c++17/floating_from_chars.cc 6183 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to 6184 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format. 6185 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to 6186 _ZSt8to_charsPcS_u9__ieee128. 6187 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to 6188 _ZSt8to_charsPcS_u9__ieee128St12chars_format. 6189 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to 6190 _ZSt8to_charsPcS_u9__ieee128St12chars_formati. 6191 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated. 6192 6193 2023-05-03 Jakub Jelinek <jakub (a] redhat.com> 6194 6195 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu 6196 rather than powerpc64-linux-gnu for powerpc64le*-linux*. 6197 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove 6198 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in 6199 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol 6200 versions. 6201 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New 6202 file. 6203 6204 2023-05-03 Kefu Chai <kefu.chai (a] scylladb.com> 6205 Jonathan Wakely <jwakely (a] redhat.com> 6206 6207 PR libstdc++/109703 6208 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)): 6209 Initialize _M_string_length. 6210 6211 2023-05-02 Jakub Jelinek <jakub (a] redhat.com> 6212 6213 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 6214 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 6215 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 6216 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 6217 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. 6218 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 6219 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 6220 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 6221 6222 2023-05-02 Jakub Jelinek <jakub (a] redhat.com> 6223 6224 PR libstdc++/109694 6225 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for 6226 -Wattribute-alias. 6227 6228 2023-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6229 6230 * include/bits/random.h (gamma_distribution): Add to the right 6231 doxygen group. 6232 (discrete_distribution, piecewise_constant_distribution) 6233 (piecewise_linear_distribution): Create a new doxygen group and 6234 fix the incomplete doxygen comments. 6235 * include/bits/uniform_int_dist.h (uniform_int_distribution): 6236 Add to doxygen group. 6237 6238 2023-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6239 6240 * include/bits/uses_allocator.h: Add missing @file comment. 6241 * include/bits/regex.tcc: Remove stray doxygen comments. 6242 * include/experimental/memory_resource: Likewise. 6243 * include/std/bit: Tweak doxygen @cond comments. 6244 * include/std/expected: Likewise. 6245 * include/std/numbers: Likewise. 6246 6247 2023-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6248 6249 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes 6250 from header paths. 6251 6252 2023-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6253 6254 * include/bits/move.h: Simplify opening/closing namespace std. 6255 6256 2023-04-28 Jakub Jelinek <jakub (a] redhat.com> 6257 6258 PR libstdc++/108969 6259 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export 6260 _ZSt21ios_base_library_initv. 6261 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32 6262 symver and make it the latestp. 6263 * src/c++98/ios_init.cc (ios_base_library_init): New alias. 6264 * acinclude.m4 (libtool_VERSION): Change to 6:32:0. 6265 * include/std/iostream: If init_priority attribute is supported 6266 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv 6267 symbol into the object. 6268 * configure: Regenerated. 6269 6270 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6271 6272 * include/bits/mofunc_impl.h: Fix typo in doxygen comment. 6273 * include/std/format: Likewise. 6274 6275 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6276 6277 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME) 6278 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options. 6279 6280 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6281 6282 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for 6283 HTML docs. 6284 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit 6285 from doxygen docs. 6286 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR): 6287 Likewise. 6288 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): 6289 Likewise. 6290 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): 6291 Likewise. 6292 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR) 6293 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT) 6294 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT) 6295 (_DEFINE_BINARY_OPERATOR): Likewise. 6296 6297 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6298 6299 * include/bits/memory_resource.h: Improve doxygen comments. 6300 * include/std/memory_resource: Likewise. 6301 6302 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6303 6304 PR libstdc++/40380 6305 * include/bits/basic_string.h: Improve doxygen comments. 6306 * include/bits/cow_string.h: Likewise. 6307 * include/bits/forward_list.h: Likewise. 6308 * include/bits/fs_dir.h: Likewise. 6309 * include/bits/fs_path.h: Likewise. 6310 * include/bits/quoted_string.h: Likewise. 6311 * include/bits/stl_bvector.h: Likewise. 6312 * include/bits/stl_map.h: Likewise. 6313 * include/bits/stl_multimap.h: Likewise. 6314 * include/bits/stl_multiset.h: Likewise. 6315 * include/bits/stl_set.h: Likewise. 6316 * include/bits/stl_vector.h: Likewise. 6317 * include/bits/unordered_map.h: Likewise. 6318 * include/bits/unordered_set.h: Likewise. 6319 * include/std/filesystem: Likewise. 6320 * include/std/iomanip: Likewise. 6321 6322 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6323 6324 PR libstdc++/105081 6325 * src/c++11/random.cc (__throw_syserr): New function. 6326 (random_device::_M_init, random_device::_M_init_pretr1): Use new 6327 function for bad tokens. 6328 (random_device::_M_getval): Use new function for read errors. 6329 * testsuite/util/testsuite_random.h (random_device_available): 6330 Change catch handler to use std::system_error. 6331 6332 2023-04-24 Patrick Palka <ppalka (a] redhat.com> 6333 6334 * include/bits/max_size_type.h (__max_diff_type::operator>>=): 6335 Fix propagation of sign bit. 6336 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the 6337 non-standard 'signed typedef-name'. Add some compile-time tests 6338 for right-shifting a negative __max_diff_type value by more than 6339 one. 6340 6341 2023-04-19 Patrick Palka <ppalka (a] redhat.com> 6342 Jonathan Wakely <jwakely (a] redhat.com> 6343 6344 PR c++/100157 6345 * include/bits/utility.h (_Nth_type): Conditionally define in 6346 terms of __type_pack_element if available. 6347 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune 6348 additional errors from the new built-in. 6349 6350 2023-04-19 Jonathan Wakely <jwakely (a] redhat.com> 6351 6352 Revert: 6353 2023-04-18 Jonathan Wakely <jwakely (a] redhat.com> 6354 6355 PR libstdc++/108969 6356 * src/Makefile.am: Move globals_io.cc to here. 6357 * src/Makefile.in: Regenerate. 6358 * src/c++98/Makefile.am: Remove globals_io.cc from here. 6359 * src/c++98/Makefile.in: Regenerate. 6360 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust 6361 symbol name and then export with GLIBCXX_3.4.31 symver. 6362 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. 6363 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: 6364 Regenerate. 6365 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: 6366 Regenerate. 6367 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: 6368 Regenerate. 6369 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: 6370 Regenerate. 6371 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: 6372 Regenerate. 6373 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: 6374 Regenerate. 6375 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: 6376 Regenerate. 6377 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: 6378 Regenerate. 6379 * config/abi/pre/gnu.ver: Add iostream objects to new symver. 6380 6381 2023-04-19 Jonathan Wakely <jwakely (a] redhat.com> 6382 6383 Revert: 6384 2023-04-18 Jonathan Wakely <jwakely (a] redhat.com> 6385 6386 PR libstdc++/108969 6387 * config/abi/pre/gnu.ver: Fix preprocessor condition. 6388 6389 2023-04-18 Jonathan Wakely <jwakely (a] redhat.com> 6390 6391 * doc/xml/manual/extensions.xml: Fix example to declare and 6392 qualify std::free, and use NULL instead of 0. 6393 * doc/html/manual/ext_demangling.html: Regenerate. 6394 * libsupc++/cxxabi.h: Adjust doxygen comments. 6395 6396 2023-04-18 Jonathan Wakely <jwakely (a] redhat.com> 6397 6398 PR libstdc++/108969 6399 * config/abi/pre/gnu.ver: Fix preprocessor condition. 6400 6401 2023-04-18 Jonathan Wakely <jwakely (a] redhat.com> 6402 6403 PR libstdc++/108969 6404 * src/Makefile.am: Move globals_io.cc to here. 6405 * src/Makefile.in: Regenerate. 6406 * src/c++98/Makefile.am: Remove globals_io.cc from here. 6407 * src/c++98/Makefile.in: Regenerate. 6408 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust 6409 symbol name and then export with GLIBCXX_3.4.31 symver. 6410 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. 6411 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: 6412 Regenerate. 6413 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: 6414 Regenerate. 6415 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: 6416 Regenerate. 6417 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: 6418 Regenerate. 6419 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: 6420 Regenerate. 6421 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: 6422 Regenerate. 6423 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: 6424 Regenerate. 6425 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: 6426 Regenerate. 6427 * config/abi/pre/gnu.ver: Add iostream objects to new symver. 6428 6429 2023-04-18 Patrick Palka <ppalka (a] redhat.com> 6430 6431 PR libstdc++/108827 6432 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value 6433 for C++23. 6434 * include/std/ranges (range_adaptor_closure): Define for C++23. 6435 * include/std/version (__cpp_lib_ranges): Bump value for 6436 C++23. 6437 * testsuite/std/ranges/version_c++23.cc: Bump expected value 6438 of __cpp_lib_ranges. 6439 * testsuite/std/ranges/range_adaptor_closure.cc: New test. 6440 6441 2023-04-18 Patrick Palka <ppalka (a] redhat.com> 6442 6443 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains): 6444 Define for C++23. 6445 (__cpp_lib_ranges_iota): Likewise. 6446 (__cpp_lib_ranges_find_last): Likewise. 6447 (__cpp_lib_fold): Rename to ... 6448 (__cpp_lib_ranges_fold): ... this. 6449 * include/std/version: As above. 6450 * testsuite/25_algorithms/fold_left/1.cc: Adjust after 6451 renaming __cpp_lib_fold. 6452 * testsuite/std/ranges/version_c++23.cc: Verify values 6453 of the above feature-test macros. 6454 6455 2023-04-18 Patrick Palka <ppalka (a] redhat.com> 6456 6457 PR libstdc++/109525 6458 * include/std/ranges (views::_AsConst::operator()): Add 6459 missing const to constant_range test. 6460 * testsuite/std/ranges/adaptors/as_const/1.cc (test02): 6461 Improve formatting. Adjust expected type of v2. 6462 (test03): New test. 6463 6464 2023-04-14 Patrick Palka <ppalka (a] redhat.com> 6465 6466 * include/bits/ranges_base.h (const_iterator_t): Define for C++23. 6467 (const_sentinel_t): Likewise. 6468 (range_const_reference_t): Likewise. 6469 (constant_range): Likewise. 6470 (__cust_access::__possibly_const_range): Likewise, replacing ... 6471 (__cust_access::__as_const): ... this. 6472 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4. 6473 (__cust_access::_CEnd::operator()): Likewise. 6474 (__cust_access::_CRBegin::operator()): Likewise. 6475 (__cust_access::_CREnd::operator()): Likewise. 6476 (__cust_access::_CData::operator()): Likewise. 6477 * include/bits/ranges_util.h (ranges::__detail::__different_from): 6478 Make it an alias of std::__detail::__different_from. 6479 (view_interface::cbegin): Define for C++23. 6480 (view_interface::cend): Likewise. 6481 * include/bits/stl_iterator.h (__detail::__different_from): Define. 6482 (iter_const_reference_t): Define for C++23. 6483 (__detail::__constant_iterator): Likewise. 6484 (__detail::__is_const_iterator): Likewise. 6485 (__detail::__not_a_const_iterator): Likewise. 6486 (__detail::__iter_const_rvalue_reference_t): Likewise. 6487 (__detail::__basic_const_iter_cat):: Likewise. 6488 (const_iterator): Likewise. 6489 (__detail::__const_sentinel): Likewise. 6490 (const_sentinel): Likewise. 6491 (basic_const_iterator): Likewise. 6492 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise. 6493 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise. 6494 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>): 6495 Likewise. 6496 (make_const_iterator): Define for C++23. 6497 (make_const_sentinel): Likewise. 6498 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise. 6499 (as_const_view): Likewise. 6500 (enable_borrowed_range<as_const_view>): Likewise. 6501 (views::__detail::__is_ref_view): Likewise. 6502 (views::__detail::__can_is_const_view): Likewise. 6503 (views::_AsConst, views::as_const): Likewise. 6504 * include/std/span (span::const_iterator): Likewise. 6505 (span::const_reverse_iterator): Likewise. 6506 (span::cbegin): Likewise. 6507 (span::cend): Likewise. 6508 (span::crbegin): Likewise. 6509 (span::crend): Likewise. 6510 * include/std/version (__cpp_lib_ranges_as_const): Likewise. 6511 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to 6512 behave independently of C++20 vs C++23. 6513 * testsuite/std/ranges/version_c++23.cc: Verify value of 6514 __cpp_lib_ranges_as_const macro. 6515 * testsuite/24_iterators/const_iterator/1.cc: New test. 6516 * testsuite/std/ranges/adaptors/as_const/1.cc: New test. 6517 6518 2023-04-14 Patrick Palka <ppalka (a] redhat.com> 6519 6520 * include/bits/ranges_base.h (__cust_access::__as_const) 6521 (__cust_access::_CBegin, __cust::cbegin) 6522 (__cust_access::_CEnd, __cust::cend) 6523 (__cust_access::_CRBegin, __cust::crbegin) 6524 (__cust_access::_CREnd, __cust::crend) 6525 (__cust_access::_CData, __cust::cdata): Move down definitions to 6526 shortly after the definition of input_range. 6527 6528 2023-04-14 Patrick Palka <ppalka (a] redhat.com> 6529 6530 * include/bits/ranges_algo.h: Include <optional> for C++23. 6531 (__cpp_lib_fold): Define for C++23. 6532 (in_value_result): Likewise. 6533 (__detail::__flipped): Likewise. 6534 (__detail::__indirectly_binary_left_foldable_impl): Likewise. 6535 (__detail::__indirectly_binary_left_foldable): Likewise. 6536 (___detail:__indirectly_binary_right_foldable): Likewise. 6537 (fold_left_with_iter_result): Likewise. 6538 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise. 6539 (__fold_left_fn, fold_left): Likewise. 6540 (__fold_left_first_with_iter_fn, fold_left_first_with_iter): 6541 Likewise. 6542 (__fold_left_first_fn, fold_left_first): Likewise. 6543 (__fold_right_fn, fold_right): Likewise. 6544 (__fold_right_last_fn, fold_right_last): Likewise. 6545 * include/std/version (__cpp_lib_fold): Likewise. 6546 * testsuite/25_algorithms/fold_left/1.cc: New test. 6547 * testsuite/25_algorithms/fold_right/1.cc: New test. 6548 6549 2023-04-14 Jonathan Wakely <jwakely (a] redhat.com> 6550 6551 * include/std/format (formatter): Add comment to deleted default 6552 constructor of primary template. 6553 (_Checking_scanner): Add static_assert. 6554 6555 2023-04-12 Jonathan Wakely <jwakely (a] redhat.com> 6556 6557 * doc/xml/manual/using.xml: Document libstdc++exp.a library. 6558 * doc/html/*: Regenerate. 6559 6560 2023-04-12 Jonathan Wakely <jwakely (a] redhat.com> 6561 6562 * testsuite/17_intro/names.cc [_AIX]: Do not define policy. 6563 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename 6564 namespace to avoid clashing with libc struct. 6565 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: 6566 Likewise. 6567 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX. 6568 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. 6569 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. 6570 * testsuite/23_containers/unordered_set/96088.cc: Likewise. 6571 * testsuite/experimental/synchronized_value.cc: Require gthreads 6572 and add missing option for pthreads targets. 6573 6574 2023-04-12 Patrick Palka <ppalka (a] redhat.com> 6575 6576 * include/std/ranges (__cpp_lib_ranges_enumerate): Define 6577 for C++23. 6578 (__detail::__range_with_movable_reference): Likewise. 6579 (enumerate_view): Likewise. 6580 (enumerate_view::_Iterator): Likewise. 6581 (enumerate_view::_Sentinel): Likewise. 6582 (views::__detail::__can_enumerate_view): Likewise. 6583 (views::_Enumerate, views::enumerate): Likewise. 6584 * include/std/version (__cpp_lib_ranges_enumerate): Likewise. 6585 * testsuite/std/ranges/version_c++23.cc: Verify value of 6586 __cpp_lib_ranges_enumerate. 6587 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test. 6588 6589 2023-04-12 Patrick Palka <ppalka (a] redhat.com> 6590 6591 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter): 6592 Propagate _M_trailing_empty in the const-converting constructor 6593 as per LWG 3904. 6594 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct 6595 assertion. 6596 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test. 6597 6598 2023-04-12 Patrick Palka <ppalka (a] redhat.com> 6599 6600 * src/c++17/floating_from_chars.cc: Include <algorithm>, 6601 <iterator>, <limits> and <cstdint>. 6602 6603 2023-04-12 Patrick Palka <ppalka (a] redhat.com> 6604 6605 PR libstdc++/108291 6606 * include/std/ranges (chunk_by_view::_M_find_next): Generalize 6607 parameter types of the lambda wrapper passed to adjacent_find. 6608 (chunk_by_view::_M_find_prev): Likewise. 6609 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05): 6610 New tests. 6611 6612 2023-04-12 Jonathan Wakely <jwakely (a] redhat.com> 6613 6614 PR libstdc++/109482 6615 * include/experimental/internet (basic_endpoint::basic_endpoint()): 6616 Ensure that the required union members are active. Only define 6617 as constexpr for C++20 and later. 6618 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)): 6619 Likewise. 6620 * testsuite/experimental/net/internet/endpoint/cons.cc: Only 6621 check constexpr default constructor for C++20 and later. 6622 * testsuite/experimental/net/internet/endpoint/extensible.cc: 6623 Likewise. 6624 6625 2023-04-12 Jonathan Wakely <jwakely (a] redhat.com> 6626 6627 * src/c++20/tzdata.zi: Import new file from 2023c release. 6628 6629 2023-04-05 Arsen Arsenovi <arsen (a] aarsen.me> 6630 6631 * include/precompiled/stdc++.h (C++17): Don't double-include 6632 <charconv>, once with wrong conditions. 6633 * testsuite/18_support/96817.cc: Require hosted. 6634 * testsuite/18_support/bad_exception/59392.cc: Ditto. 6635 * testsuite/20_util/scoped_allocator/108952.cc: Ditto. 6636 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto. 6637 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: 6638 Ditto. 6639 6640 2023-04-05 Arsen Arsenovi <arsen (a] aarsen.me> 6641 6642 * include/bits/c++config: When __STDC_HOSTED__ is zero, 6643 disable _GLIBCXX_DEBUG and, if it was set, enable 6644 _GLIBCXX_ASSERTIONS. 6645 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): 6646 Include <bits/c++config.h> when determining whether debug is 6647 set, in order to inherit the logic from above 6648 6649 2023-04-05 Arsen Arsenovi <arsen (a] aarsen.me> 6650 6651 * testsuite/17_intro/versionconflict.cc: New test. 6652 * include/std/version: Allow disabling the system_header pragma 6653 via _GLIBCXX_TESTING_SYSHDR. 6654 6655 2023-04-05 Arsen Arsenovi <arsen (a] aarsen.me> 6656 6657 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): 6658 Synchronize the definition block with... 6659 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): 6660 ... this one here. Also define the 202202L value, rather than 6661 leaving it up to purely unique_ptr.h, so that the value is 6662 synchronized across all headers. 6663 (__gnu_debug::_Safe_iterator_base): Move into new conditional 6664 block. 6665 * include/std/memory (__cpp_lib_atomic_value_initialization): 6666 Define on freestanding under the same conditions as in 6667 atomic_base.h. 6668 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops): 6669 Also define on freestanding. 6670 (__cpp_lib_to_chars): Ditto. 6671 (__cpp_lib_gcd): Ditto. 6672 (__cpp_lib_gcd_lcm): Ditto. 6673 (__cpp_lib_raw_memory_algorithms): Ditto. 6674 (__cpp_lib_array_constexpr): Ditto. 6675 (__cpp_lib_nonmember_container_access): Ditto. 6676 (__cpp_lib_clamp): Ditto. 6677 (__cpp_lib_constexpr_char_traits): Ditto. 6678 (__cpp_lib_constexpr_string): Ditto. 6679 (__cpp_lib_sample): Ditto. 6680 (__cpp_lib_lcm): Ditto. 6681 (__cpp_lib_constexpr_iterator): Ditto. 6682 (__cpp_lib_constexpr_char_traits): Ditto. 6683 (__cpp_lib_interpolate): Ditto. 6684 (__cpp_lib_constexpr_utility): Ditto. 6685 (__cpp_lib_shift): Ditto. 6686 (__cpp_lib_ranges): Ditto. 6687 (__cpp_lib_move_iterator_concept): Ditto. 6688 (__cpp_lib_constexpr_numeric): Ditto. 6689 (__cpp_lib_constexpr_functional): Ditto. 6690 (__cpp_lib_constexpr_algorithms): Ditto. 6691 (__cpp_lib_constexpr_tuple): Ditto. 6692 (__cpp_lib_constexpr_memory): Ditto. 6693 6694 2023-04-05 John David Anglin <danglin (a] gcc.gnu.org> 6695 6696 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double 6697 timeout factor on hppa*-*-*. 6698 6699 2023-04-05 Jonathan Wakely <jwakely (a] redhat.com> 6700 6701 * include/bits/regex.h (sub_match::swap): New function. 6702 * testsuite/28_regex/sub_match/lwg3204.cc: New test. 6703 6704 2023-04-04 Jonathan Wakely <jwakely (a] redhat.com> 6705 6706 * doc/xml/manual/extensions.xml: Remove std::bad_exception from 6707 example program. 6708 * doc/html/manual/ext_demangling.html: Regenerate. 6709 6710 2023-03-31 Jonathan Wakely <jwakely (a] redhat.com> 6711 6712 PR tree-optimization/107087 6713 * include/bits/cow_string.h (basic_string::size()): Add 6714 optimizer hint that _S_empty_rep()._M_length is always zero. 6715 (basic_string::length()): Call size(). 6716 6717 2023-03-31 Jonathan Wakely <jwakely (a] redhat.com> 6718 6719 PR libstdc++/109339 6720 * include/std/stop_token (_Stop_state_ptr(const stop_source&)): 6721 Add attribute access with access-mode 'none'. 6722 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test. 6723 6724 2023-03-31 Jonathan Wakely <jwakely (a] redhat.com> 6725 6726 * include/experimental/internet (ip::basic_endpoint::_M_if_v6): 6727 Revert change from member function to data member. Fix for 6728 constant evaluation by detecting which union member is active. 6729 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6 6730 flag. 6731 6732 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com> 6733 6734 PR libstdc++/109242 6735 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to... 6736 * testsuite/20_util/optional/monadic/pr109242.cc: ...here. 6737 6738 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com> 6739 6740 * include/experimental/internet (ip::make_address): Implement 6741 missing overload. 6742 (ip::address_v4::broadcast()): Avoid undefined shift. 6743 (ip::basic_endpoint): Fix member functions for constexpr. 6744 (ip::basic_endpoint::_M_is_v6): Replace member function with 6745 data member, adjust member functions using it. 6746 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr 6747 content. 6748 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix 6749 constexpr checks to work in C++14. 6750 * testsuite/experimental/net/internet/address/v4/creation.cc: 6751 Likewise. 6752 * testsuite/experimental/net/internet/endpoint/cons.cc: 6753 Likewise. 6754 * testsuite/experimental/net/internet/network/v4/cons.cc: 6755 Likewise. 6756 * testsuite/experimental/net/internet/network/v4/members.cc: 6757 Likewise. 6758 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test. 6759 6760 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com> 6761 6762 * include/std/expected (expected::value() &): Use const lvalue 6763 for unex member passed to bad_expected_access constructor, as 6764 per LWG 3843. 6765 6766 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com> 6767 6768 PR libstdc++/109340 6769 * include/std/expected (expected::transform): Use 6770 std::remove_cv_t instead of std::remove_cvref_t. 6771 (expected::transform_error): Likewise. 6772 (expected<cv void, E>::transform): Likewise. 6773 (expected<cv void, E>::transform_error): Likewise. 6774 * include/std/optional (transform): Use std::remove_cv_t. 6775 * testsuite/20_util/optional/monadic/pr109340.cc: New test. 6776 6777 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com> 6778 6779 * include/std/optional (optional): Adjust static assertion to 6780 reject arrays and functions as well as references. 6781 * testsuite/20_util/optional/requirements_neg.cc: New test. 6782 6783 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com> 6784 6785 PR libstdc++/103387 6786 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use 6787 std::use_facet instead of cached _M_num_get facet. 6788 (istream::operator>>(short&)): Likewise. 6789 (istream::operator>>(int&)): Likewise. 6790 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use 6791 std::use_facet instead of cached _M_num_put facet. 6792 6793 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com> 6794 6795 * include/bits/char_traits.h (char_traits::copy): Return without 6796 using memcpy if n==0. 6797 (char_traits::assign): Likewise for memset. 6798 6799 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com> 6800 6801 PR libstdc++/109299 6802 * include/bits/basic_string.h (basic_string::_M_is_local()): Add 6803 hint for compiler that local strings fit in the local buffer. 6804 6805 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com> 6806 6807 PR libstdc++/109288 6808 * include/std/chrono (__detail::__get_leap_second_info): Update 6809 expiry date of hardcoded leapseconds list. 6810 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()): 6811 Likewise. 6812 * src/c++20/tzdata.zi: Import new file from 2023a release. 6813 * testsuite/std/time/time_zone/get_info_local.cc: Only check 6814 transitions for Egypt up to 2014. 6815 6816 2023-03-28 Matthias Kretz <m.kretz (a] gsi.de> 6817 6818 * include/experimental/bits/simd.h (is_simd_flag_type): New. 6819 (_IsSimdFlagType): New. 6820 (copy_from, copy_to, load ctors): Constrain _Flags using 6821 _IsSimdFlagType. 6822 6823 2023-03-28 Matthias Kretz <m.kretz (a] gsi.de> 6824 6825 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use 6826 _Base::_S_divides if the optimized _S_divides function is hidden 6827 via the preprocessor. 6828 6829 2023-03-27 Jakub Jelinek <jakub (a] redhat.com> 6830 6831 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat 6832 warning if size_t is not unsigned long. 6833 6834 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6835 6836 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)): 6837 Add overload, as per LWG 3893. 6838 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: 6839 Check assignment from nullptr. 6840 6841 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6842 6843 * include/std/format (formatter<const charT[N], charT>): Do not 6844 define partial speclialization, as per LWG 3833. 6845 * testsuite/std/format/formatter/requirements.cc: Check it. 6846 6847 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6848 6849 * include/std/utility (__cpp_lib_constexpr_algorithms): Define, 6850 as per LWG 3792. 6851 * testsuite/20_util/exchange/constexpr.cc: Check for it. 6852 6853 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6854 6855 * include/std/version (__cpp_lib_format): Define. 6856 * testsuite/std/format/functions/format.cc: Check it. 6857 6858 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6859 6860 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): 6861 Pass rvalues to the callback, as now allowed by LWG 3645. 6862 Enforce preconditions on the return value. 6863 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: 6864 Adjust. 6865 6866 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6867 6868 * include/std/format: Add a comment noting that the resolution 6869 of LWG 3720 has been applied.. 6870 6871 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6872 6873 * include/bits/regex.h (match_results): Add allocator-extended 6874 copy and move constructors, as per LWG 2195. 6875 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test. 6876 6877 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com> 6878 6879 * include/bits/stream_iterator.h (istream_iterator): Add 6880 constexpr to copy constructor, as per LWG 3600. 6881 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc: 6882 Check copy construction. 6883 6884 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de> 6885 6886 * include/experimental/bits/simd_x86.h 6887 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0 6888 with __RECIPROCAL_MATH__. 6889 6890 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de> 6891 6892 * include/experimental/bits/simd_detail.h: Don't define 6893 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang. 6894 * include/experimental/bits/simd_x86.h (_S_divides): Remove 6895 check for __clang__. 6896 6897 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de> 6898 6899 * include/experimental/bits/simd_detail.h: Don't declare the 6900 simd API as constexpr with Clang. 6901 * include/experimental/bits/simd_x86.h (__movm): New. 6902 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm 6903 and ?:. 6904 (_SimdImplX86::_S_masked_unary): Clang does not implement the 6905 same builtins. Implement the function using __movm, ?:, and - 6906 operators on vector_size types instead. 6907 6908 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de> 6909 6910 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't 6911 define __GCC_IEC_559. Use __STDC_IEC_559__ instead. 6912 6913 2023-03-20 Jonathan Wakely <jwakely (a] redhat.com> 6914 6915 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix 6916 formatting. 6917 6918 2023-03-20 Marek Polacek <polacek (a] redhat.com> 6919 6920 PR c++/109159 6921 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error. 6922 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. 6923 * testsuite/23_containers/span/explicit.cc: Likewise. 6924 6925 2023-03-20 Jonathan Wakely <jwakely (a] redhat.com> 6926 6927 PR libstdc++/109182 6928 * include/std/expected (expected<void>::expected(in_place_t)): 6929 Remove template-head. 6930 6931 2023-03-18 Jonathan Wakely <jwakely (a] redhat.com> 6932 6933 PR libstdc++/109165 6934 * testsuite/18_support/coroutines/hash.cc: Use const object 6935 in second call. 6936 6937 2023-03-17 Jonathan Wakely <jwakely (a] redhat.com> 6938 6939 PR libstdc++/109165 6940 * include/std/coroutine (hash<>::operator()): Add const. 6941 * testsuite/18_support/coroutines/hash.cc: New test. 6942 6943 2023-03-14 Patrick Palka <ppalka (a] redhat.com> 6944 6945 PR libstdc++/109111 6946 * include/std/ranges (repeat_view): Remove redundant parentheses 6947 in requires-clause. 6948 (repeat_view::_Iterator): Correct the requires-clause. 6949 6950 2023-03-14 Patrick Palka <ppalka (a] redhat.com> 6951 6952 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept): 6953 Define. 6954 (__cpp_lib_move_iterator_concept): Define for C++20. 6955 (move_iterator::iterator_concept): Strengthen as per P2520R0. 6956 * include/std/version (__cpp_lib_move_iterator_concept): Define 6957 for C++20. 6958 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test. 6959 6960 2023-03-14 Patrick Palka <ppalka (a] redhat.com> 6961 6962 * include/bits/ranges_util.h (view_interface::empty): Add 6963 preferred overloads that use ranges::size when the range is 6964 sized as per LWG 3715. 6965 * testsuite/std/ranges/adaptors/lwg3715.cc: New test. 6966 6967 2023-03-14 Jonathan Wakely <jwakely (a] redhat.com> 6968 6969 * include/bits/chrono.h (__is_duration_v, __is_time_point_v): 6970 Only define for C++17 and later. 6971 6972 2023-03-14 Jonathan Wakely <jwakely (a] redhat.com> 6973 6974 * src/Makefile.am: Add comment about linker script fragments. 6975 * src/Makefile.in: Regenerate. 6976 6977 2023-03-14 Jonathan Wakely <jwakely (a] redhat.com> 6978 6979 PR libstdc++/62196 6980 * include/bits/mask_array.h (mask_array): Add assertions to 6981 assignment operators. 6982 * include/std/valarray (valarray::operator[](valarray<bool>)): 6983 Add assertions. 6984 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test. 6985 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test. 6986 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test. 6987 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test. 6988 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test. 6989 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test. 6990 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test. 6991 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test. 6992 * testsuite/26_numerics/valarray/mask.cc: New test. 6993 6994 2023-03-13 Jakub Jelinek <jakub (a] redhat.com> 6995 6996 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 6997 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 6998 6999 2023-03-13 Jonathan Wakely <jwakely (a] redhat.com> 7000 7001 * doc/Makefile.am: Add comment referring to documentation. 7002 * doc/Makefile.in: Regenerate. 7003 7004 2023-03-13 Jonathan Wakely <jwakely (a] redhat.com> 7005 7006 * doc/html/*: Regenerate. 7007 7008 2023-03-13 Jonny Grant <jg (a] jguk.org> 7009 7010 * doc/xml/faq.xml: Update copyright year. 7011 7012 2023-03-13 Jonathan Wakely <jwakely (a] redhat.com> 7013 7014 * include/bits/allocator.h: Fix typo in comment. 7015 7016 2023-03-12 Jakub Jelinek <jakub (a] redhat.com> 7017 7018 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos 7019 if it isn't mangled as DF16b but u6__bf16. 7020 7021 2023-03-12 Gerald Pfeifer <gerald (a] pfeifer.com> 7022 7023 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org 7024 to https. 7025 * doc/html/manual/documentation_hacking.html: Regenerate. 7026 7027 2023-03-10 Jonathan Wakely <jwakely (a] redhat.com> 7028 7029 PR libstdc++/109064 7030 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker): 7031 Remove self-recursion in __init__. Add missing _supports. 7032 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count() 7033 and unique(). 7034 7035 2023-03-09 Patrick Palka <ppalka (a] redhat.com> 7036 7037 * include/std/ranges 7038 (cartesian_product_view::_Iterator::_Iterator): Remove 7039 constraint on default constructor as per LWG 3849. 7040 (cartesian_product_view::_Iterator::_M_prev): Adjust position 7041 of _Nm > 0 test as per LWG 3820. 7042 (cartesian_product_view::_Iterator::_M_advance): Perform bounds 7043 checking only on sized cartesian products. 7044 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test. 7045 7046 2023-03-09 Patrick Palka <ppalka (a] redhat.com> 7047 7048 PR libstdc++/109024 7049 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per 7050 LWG 3796. 7051 (repeat_view::_M_pred): Likewise. 7052 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test. 7053 * testsuite/std/ranges/repeat/1.cc (test05): New test. 7054 7055 2023-03-09 Patrick Palka <ppalka (a] redhat.com> 7056 7057 PR libstdc++/108362 7058 * include/std/ranges (__detail::__can_single_view): New concept. 7059 (_Single::operator()): Constrain it. Move [[nodiscard]] to the 7060 end of the function declarator. 7061 (__detail::__can_iota_view): New concept. 7062 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the 7063 end of the function declarator. 7064 (__detail::__can_istream_view): New concept. 7065 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the 7066 end of the function declarator. 7067 * testsuite/std/ranges/iota/iota_view.cc (test07): New test. 7068 * testsuite/std/ranges/istream_view.cc (test08): New test. 7069 * testsuite/std/ranges/single_view.cc (test07): New test. 7070 7071 2023-03-09 Patrick Palka <ppalka (a] redhat.com> 7072 7073 PR libstdc++/107572 7074 * include/std/ranges (cartesian_product_view::end): When 7075 building the tuple of iterators, avoid calling ranges::begin on 7076 the first range if __empty_tail is false. 7077 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test. 7078 7079 2023-03-09 Jonathan Wakely <jwakely (a] redhat.com> 7080 7081 PR libstdc++/108882 7082 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect 7083 patterns. 7084 7085 2023-03-07 Jakub Jelinek <jakub (a] redhat.com> 7086 7087 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 7088 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 7089 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 7090 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 7091 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 7092 7093 2023-03-07 Jonathan Wakely <jwakely (a] redhat.com> 7094 7095 PR libstdc++/108882 7096 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to 7097 not match symbols in namespace std::__gnu_cxx11_ieee128. 7098 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for 7099 std::__gnu_cxx11_ieee128::money_{get,put}. 7100 7101 2023-03-07 Jonathan Wakely <jwakely (a] redhat.com> 7102 7103 * libsupc++/eh_personality.cc: Fix spelling in comment. 7104 7105 2023-03-03 Alexandre Oliva <oliva (a] adacore.com> 7106 7107 * testsuite/30_threads/async/async.cc (test04): Initialize 7108 steady_start, renamed from steady_begin, next to slow_start. 7109 Increase tolerance for final wait. 7110 7111 2023-03-03 Alexandre Oliva <oliva (a] adacore.com> 7112 7113 * testsuite/libstdc++-prettyprinters/80276.cc: Add 7114 std::string to debug info. 7115 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 7116 7117 2023-03-03 Alexandre Oliva <oliva (a] adacore.com> 7118 7119 PR libstdc++/104852 7120 PR libstdc++/95989 7121 PR libstdc++/52590 7122 * include/bits/std_thread.h (thread::_M_thread_deps): New 7123 static implicitly-inline member function. 7124 (std::thread template ctor): Pass it to _M_start_thread. 7125 * src/c++11/thread.cc (thread::_M_start_thread): Name depend 7126 parameter, force it live on entry. 7127 7128 2023-03-03 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 7129 7130 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. 7131 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: 7132 Likewise. 7133 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. 7134 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: 7135 Likewise. 7136 7137 2023-03-01 Jonathan Wakely <jwakely (a] redhat.com> 7138 7139 * include/bits/cow_string.h: Fix typo in comment. 7140 7141 2023-03-01 Jonathan Wakely <jwakely (a] redhat.com> 7142 7143 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if 7144 current time zone cannot be determined. 7145 * testsuite/std/time/tzdb/1.cc: Remove conditions based on 7146 HAVE_TZDB macro and test all members unconditionally. 7147 7148 2023-02-28 Jonathan Wakely <jwakely (a] redhat.com> 7149 7150 PR libstdc++/108952 7151 * include/bits/uses_allocator_args.h 7152 (uses_allocator_construction_args): Implement LWG 3527. 7153 * testsuite/20_util/pair/astuple/get-2.cc: New test. 7154 * testsuite/20_util/scoped_allocator/108952.cc: New test. 7155 * testsuite/20_util/uses_allocator/lwg3527.cc: New test. 7156 7157 2023-02-28 Jonathan Wakely <jwakely (a] redhat.com> 7158 7159 PR libstdc++/108846 7160 * include/bits/stl_algobase.h (__copy_move<false, false, RA>) 7161 Add __assign_one static member function. 7162 (__copy_move<true, false, RA>): Likewise. 7163 (__copy_move<IsMove, true, RA>): Do not use memmove for a single 7164 value. 7165 (__copy_move_backward<IsMove, true, RA>): Likewise. 7166 * testsuite/25_algorithms/copy/108846.cc: New test. 7167 * testsuite/25_algorithms/copy_backward/108846.cc: New test. 7168 * testsuite/25_algorithms/copy_n/108846.cc: New test. 7169 * testsuite/25_algorithms/move/108846.cc: New test. 7170 * testsuite/25_algorithms/move_backward/108846.cc: New test. 7171 7172 2023-02-28 Jonathan Wakely <jwakely (a] redhat.com> 7173 7174 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]] 7175 attributes. 7176 7177 2023-02-27 Jonathan Wakely <jwakely (a] redhat.com> 7178 7179 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add 7180 caveat to comment. 7181 * include/bits/basic_string.h (resize_and_overwrite): Add 7182 doxygen comment. 7183 7184 2023-02-24 Matthias Kretz <m.kretz (a] gsi.de> 7185 7186 * include/experimental/bits/simd.h: Line breaks and indenting 7187 fixed to follow the libstdc++ standard. 7188 * include/experimental/bits/simd_builtin.h: Likewise. 7189 * include/experimental/bits/simd_fixed_size.h: Likewise. 7190 * include/experimental/bits/simd_neon.h: Likewise. 7191 * include/experimental/bits/simd_ppc.h: Likewise. 7192 * include/experimental/bits/simd_scalar.h: Likewise. 7193 * include/experimental/bits/simd_x86.h: Likewise. 7194 7195 2023-02-24 Matthias Kretz <m.kretz (a] gsi.de> 7196 7197 PR libstdc++/108030 7198 * include/experimental/bits/simd_fixed_size.h 7199 (_SimdImplFixedSize::_S_broadcast): Replace inline with 7200 _GLIBCXX_SIMD_INTRINSIC. 7201 (_SimdImplFixedSize::_S_generate): Likewise. 7202 (_SimdImplFixedSize::_S_load): Likewise. 7203 (_SimdImplFixedSize::_S_masked_load): Likewise. 7204 (_SimdImplFixedSize::_S_store): Likewise. 7205 (_SimdImplFixedSize::_S_masked_store): Likewise. 7206 (_SimdImplFixedSize::_S_min): Likewise. 7207 (_SimdImplFixedSize::_S_max): Likewise. 7208 (_SimdImplFixedSize::_S_complement): Likewise. 7209 (_SimdImplFixedSize::_S_unary_minus): Likewise. 7210 (_SimdImplFixedSize::_S_plus): Likewise. 7211 (_SimdImplFixedSize::_S_minus): Likewise. 7212 (_SimdImplFixedSize::_S_multiplies): Likewise. 7213 (_SimdImplFixedSize::_S_divides): Likewise. 7214 (_SimdImplFixedSize::_S_modulus): Likewise. 7215 (_SimdImplFixedSize::_S_bit_and): Likewise. 7216 (_SimdImplFixedSize::_S_bit_or): Likewise. 7217 (_SimdImplFixedSize::_S_bit_xor): Likewise. 7218 (_SimdImplFixedSize::_S_bit_shift_left): Likewise. 7219 (_SimdImplFixedSize::_S_bit_shift_right): Likewise. 7220 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be 7221 explicit about not always-inline, yet). 7222 (_SimdImplFixedSize::_S_isinf): Likewise. 7223 (_SimdImplFixedSize::_S_isfinite): Likewise. 7224 (_SimdImplFixedSize::_S_isnan): Likewise. 7225 (_SimdImplFixedSize::_S_isnormal): Likewise. 7226 (_SimdImplFixedSize::_S_signbit): Likewise. 7227 7228 2023-02-24 Matthias Kretz <m.kretz (a] gsi.de> 7229 7230 PR libstdc++/108856 7231 * include/experimental/bits/simd_builtin.h 7232 (_SimdImplBuiltin::_S_masked_unary): More efficient 7233 implementation of masked inc-/decrement for integers and floats 7234 without AVX2. 7235 * include/experimental/bits/simd_x86.h 7236 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract 7237 builtins for masked inc-/decrement. 7238 7239 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7240 7241 * include/experimental/executor (executor): Constrain template 7242 constructors. 7243 7244 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7245 7246 * include/experimental/internet (basic_endpoint): Add missing 7247 constexpr to comparison operators. 7248 * testsuite/experimental/net/internet/endpoint/cons.cc: New test. 7249 7250 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7251 7252 * include/experimental/internet (network_v4::netmask()): Avoid 7253 undefined shift. 7254 (network_v4::broadcast()): Optimize and fix for targets with 7255 uint_least32_t wider than 32 bits. 7256 (network_v4::to_string(const Allocator&)): Fix for custom 7257 allocators and optimize using to_chars. 7258 (operator==(const network_v4&, const network_v4&)): Add missing 7259 constexpr. 7260 (operator==(const network_v6&, const network_v6&)): Likewise. 7261 * testsuite/experimental/net/internet/network/v4/cons.cc: New test. 7262 * testsuite/experimental/net/internet/network/v4/members.cc: New test. 7263 7264 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7265 7266 * include/experimental/internet (address_4(const bytes_type&)): 7267 Use __builtin_bit_cast if available, otherwise convert to 7268 network byte order. 7269 (address_v4::to_bytes()): Likewise, but convert from network 7270 byte order. 7271 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix 7272 incorrect tests. Check for constexpr too. 7273 * testsuite/experimental/net/internet/address/v4/creation.cc: 7274 Likewise. 7275 * testsuite/experimental/net/internet/address/v4/members.cc: 7276 Check that bytes_type is a standard-layout type. 7277 7278 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7279 7280 * include/experimental/internet (address_v4::to_string): 7281 Optimize. 7282 * testsuite/experimental/net/internet/address/v4/members.cc: 7283 Check more addresses. 7284 7285 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7286 7287 * include/ext/aligned_buffer.h (__aligned_buffer): Add 7288 diagnostic pragmas. 7289 7290 2023-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7291 7292 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options 7293 before dg-do. 7294 7295 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de> 7296 7297 * testsuite/experimental/simd/tests/reductions.cc: Introduce 7298 max_distance as the type-dependent max error. 7299 7300 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de> 7301 7302 * include/experimental/bits/simd_builtin.h (_S_set): Compare as 7303 int. The actual range of these indexes is very small. 7304 7305 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de> 7306 7307 * include/experimental/bits/simd_x86.h (_S_bit_shift_left) 7308 (_S_bit_shift_right): Declare constexpr. The implementation was 7309 already expecting constexpr evaluation. 7310 7311 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de> 7312 7313 PR libstdc++/108030 7314 * include/experimental/bits/simd_detail.h 7315 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for 7316 __clang__. 7317 7318 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de> 7319 7320 PR libstdc++/108030 7321 * include/experimental/bits/simd.h (__vector_broadcast): 7322 Implement via __vector_broadcast_impl instead of 7323 __call_with_n_evaluations + 2 lambdas. 7324 (__vector_broadcast_impl): New. 7325 7326 2023-02-22 Alexandre Oliva <oliva (a] adacore.com> 7327 7328 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): 7329 Avoid destruction of the mutex pool. 7330 7331 2023-02-22 Alexandre Oliva <oliva (a] adacore.com> 7332 7333 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail 7334 on vxworks. 7335 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: 7336 Likewise. 7337 7338 2023-02-22 Alexandre Oliva <oliva (a] adacore.com> 7339 7340 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in 7341 kernel mode. 7342 7343 2023-02-20 Andreas Schwab <schwab (a] linux-m68k.org> 7344 7345 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 7346 7347 2023-02-20 Matthias Kretz <m.kretz (a] gsi.de> 7348 7349 * include/experimental/bits/simd.h (__extract_part, split): 7350 Use reserved name for template parameter. 7351 7352 2023-02-20 Andreas Schwab <schwab (a] suse.de> 7353 7354 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. 7355 7356 2023-02-18 Gerald Pfeifer <gerald (a] pfeifer.com> 7357 7358 * doc/xml/faq.xml: Switch two links to www.open-std.org to https. 7359 * doc/html/faq.html: Regenerate. 7360 7361 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7362 7363 * include/experimental/bits/simd_math.h (__hypot): Bitcasting 7364 between scalars requires the __bit_cast helper function instead 7365 of simd_bit_cast. 7366 7367 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7368 7369 * include/experimental/bits/simd_x86.h 7370 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less) 7371 (_SimdImplX86::_S_less_equal): Do not call 7372 __builtin_is_constant_evaluated in constexpr-if. 7373 7374 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7375 7376 * testsuite/experimental/simd/tests/bits/verify.h 7377 (verify::verify): Use %zx for size_t in format string. 7378 7379 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7380 7381 * testsuite/experimental/simd/generate_makefile.sh: Generate and 7382 pre-compile pch.h, which includes all headers that do not depend 7383 on command-line macros. 7384 * testsuite/experimental/simd/tests/bits/main.h: New file. 7385 (iterate_abis, main): Moved from verify.h. 7386 * testsuite/experimental/simd/tests/bits/verify.h 7387 (iterate_abis, main): Moved to main.h. 7388 * testsuite/experimental/simd/tests/bits/conversions.h: Add 7389 include guard. 7390 (genHalfBits): Simplify. 7391 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include 7392 guard. 7393 (make_alternating_mask): Moved from mask_loadstore. 7394 * testsuite/experimental/simd/tests/bits/mathreference.h: Add 7395 include guard. 7396 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto. 7397 * testsuite/experimental/simd/tests/mask_loadstore.cc 7398 (make_mask, make_alternating_mask): Removed. 7399 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. 7400 * testsuite/experimental/simd/tests/operators.cc (genHalfBits): 7401 Removed. 7402 * testsuite/experimental/simd/tests/abs.cc: Only include 7403 bits/main.h. 7404 Ditto. 7405 * testsuite/experimental/simd/tests/algorithms.cc: Ditto. 7406 * testsuite/experimental/simd/tests/broadcast.cc: Ditto. 7407 * testsuite/experimental/simd/tests/casts.cc: Ditto. 7408 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. 7409 * testsuite/experimental/simd/tests/frexp.cc: Ditto. 7410 * testsuite/experimental/simd/tests/generator.cc: Ditto. 7411 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. 7412 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. 7413 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: 7414 * testsuite/experimental/simd/tests/loadstore.cc: Ditto. 7415 * testsuite/experimental/simd/tests/logarithm.cc: Ditto. 7416 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. 7417 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. 7418 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. 7419 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. 7420 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. 7421 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. 7422 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. 7423 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. 7424 * testsuite/experimental/simd/tests/reductions.cc: Ditto. 7425 * testsuite/experimental/simd/tests/remqo.cc: Ditto. 7426 * testsuite/experimental/simd/tests/simd.cc: Ditto. 7427 * testsuite/experimental/simd/tests/sincos.cc: Ditto. 7428 * testsuite/experimental/simd/tests/split_concat.cc: Ditto. 7429 * testsuite/experimental/simd/tests/splits.cc: Ditto. 7430 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. 7431 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. 7432 * testsuite/experimental/simd/tests/where.cc: Ditto. 7433 7434 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7435 7436 * testsuite/experimental/simd/README.md: Document the timeout 7437 and timeout-factor directives. Minor typo fixed. 7438 7439 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7440 7441 PR libstdc++/108030 7442 * include/experimental/bits/simd_detail.h: Define 7443 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. 7444 * include/experimental/bits/simd.h: Annotate lambdas with 7445 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. 7446 * include/experimental/bits/simd_builtin.h: Ditto. 7447 * include/experimental/bits/simd_converter.h: Ditto. 7448 * include/experimental/bits/simd_fixed_size.h: Ditto. 7449 * include/experimental/bits/simd_math.h: Ditto. 7450 * include/experimental/bits/simd_neon.h: Ditto. 7451 * include/experimental/bits/simd_x86.h: Ditto. 7452 7453 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de> 7454 7455 * include/experimental/bits/simd.h 7456 (_SimdWrapper::_M_is_constprop_none_of) 7457 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the 7458 computed result still satisfies __builtin_constant_p. 7459 7460 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7461 7462 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8 7463 ellipsis character. 7464 7465 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7466 7467 * include/Makefile.am: Add new header. 7468 * include/Makefile.in: Regenerate. 7469 * include/experimental/synchronized_value: New file. 7470 * testsuite/experimental/synchronized_value.cc: New test. 7471 7472 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7473 7474 * include/experimental/optional: Fix header name in comment. 7475 7476 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7477 7478 * include/std/format (__format::_Arg_store): New class template. 7479 (basic_format_args): Remove nested type _Store and add deduction 7480 guide from _Arg_store. 7481 (basic_format_arg, make_format_args): Adjust. 7482 * testsuite/std/format/arguments/lwg3810.cc: New test. 7483 7484 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7485 7486 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling 7487 constraints to constructors and add deleted overloads for the 7488 dangling cases, as per P2255R2. 7489 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to 7490 make dangling cases ill-formed. 7491 * testsuite/20_util/pair/dangling_ref.cc: New test. 7492 7493 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7494 7495 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend. 7496 7497 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7498 7499 * include/ext/throw_allocator.h: Use reserved names for 7500 parameters. 7501 7502 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7503 7504 * testsuite/17_intro/names_pstl.cc: Add space after effective 7505 target name. 7506 7507 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7508 7509 * include/pstl/algorithm_fwd.h (__pattern_search_n) 7510 (__brick_unique_copy, __brick_adjacent_find) 7511 (__brick_generate_n, __pattern_generate_n): Use reserved names 7512 for parameters. 7513 * include/pstl/algorithm_impl.h (__brick_unique_copy) 7514 (__pattern_reverse, __brick_generate_n): Likewise. 7515 * include/pstl/execution_impl.h (__prefer_unsequenced_tag) 7516 (__prefer_parallel_tag): Likewise. 7517 * include/pstl/glue_algorithm_impl.h (transform): Likewise. 7518 * include/pstl/glue_numeric_defs.h (adjacent_difference): 7519 Likewise. 7520 * include/pstl/numeric_impl.h (__brick_adjacent_difference): 7521 Likewise. 7522 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise. 7523 * include/pstl/unseq_backend_simd.h (_Combiner) 7524 (__simd_min_element, __simd_minmax_element): Likewise. 7525 * testsuite/17_intro/names_pstl.cc: New test. 7526 7527 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com> 7528 7529 * include/bits/fs_ops.h (create_directory): Use reserved name 7530 for parameter. 7531 * include/bits/ranges_algo.h (__contains_subrange_fn): 7532 Likewise. 7533 * include/bits/regex_automaton.h (_State_base::_M_print): 7534 Likewise. 7535 * include/bits/regex_automaton.tcc(_State_base::_M_print): 7536 Likewise. 7537 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise. 7538 * include/experimental/bits/fs_ops.h (create_directory): 7539 Likewise. 7540 * include/std/mutex (timed_mutex::_M_clocklock): Likewise. 7541 (recursive_timed_mutex:_M_clocklock): Likewise. 7542 * include/std/tuple (basic_common_reference): Likewise. 7543 * libsupc++/cxxabi_init_exception.h 7544 (__cxa_init_primary_exception): Likewise. 7545 * testsuite/17_intro/names.cc: Add checks. 7546 7547 2023-02-14 Gerald Pfeifer <gerald (a] pfeifer.com> 7548 7549 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link 7550 to www.open-std.org and https. 7551 * doc/html/manual/status.html: Regenerate. 7552 7553 2023-02-14 Thomas W Rodgers <rodgert (a] twrodgers.com> 7554 7555 PR libstdc++/103934 7556 * include/std/atomic (atomic_flag_wait): Add. 7557 (atomic_flag_wait_explicit): Add. 7558 (atomic_flag_notify): Add. 7559 (atomic_flag_notify_explicit): Add. 7560 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: 7561 Add test case to cover missing atomic_flag free functions. 7562 7563 2023-02-14 Thomas W Rodgers <rodgert (a] twrodgers.com> 7564 7565 PR libstdc++/103934 7566 * include/std/atomic (atomic_flag_test): Add. 7567 (atomic_flag_test_explicit): Add. 7568 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add 7569 test case to cover missing atomic_flag free functions. 7570 * testsuite/29_atomics/atomic_flag/test/implicit.cc: 7571 Likewise. 7572 7573 2023-02-13 Gerald Pfeifer <gerald (a] pfeifer.com> 7574 7575 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust 7576 "The Component Object Model" reference. 7577 * doc/html/manual/policy_data_structures.html: Regenerate. 7578 7579 2023-02-12 Gerald Pfeifer <gerald (a] pfeifer.com> 7580 7581 * doc/xml/manual/containers.xml: Tweak a link to N1780 7582 (C++ standard). 7583 * doc/html/manual/associative.html: Regenerate. 7584 7585 2023-02-12 Gerald Pfeifer <gerald (a] pfeifer.com> 7586 7587 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org. 7588 * doc/html/manual/facets.html: Regenerate. 7589 7590 2023-02-11 Gerald Pfeifer <gerald (a] pfeifer.com> 7591 7592 * doc/xml/manual/policy_data_structures_biblio.xml: Update 7593 link to "Worst-case efficient priority queues". 7594 * doc/html/manual/policy_data_structures.html: Regenerate. 7595 7596 2023-02-06 Arsen Arsenovi <arsen (a] aarsen.me> 7597 7598 * doc/xml/manual/using.xml: Document newly-freestanding 7599 headers and the effect of the -ffreestanding flag. 7600 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as 7601 completed. 7602 * doc/xml/manual/configure.xml: Document that hosted installs 7603 respect __STDC_HOSTED__. 7604 * doc/xml/manual/test.xml: Document how to run tests in 7605 freestanding mode. 7606 * doc/html/*: Regenerate. 7607 7608 2023-02-06 Jonathan Wakely <jwakely (a] redhat.com> 7609 7610 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp. 7611 (__find_last_if_fn): Likewise. 7612 7613 2023-02-06 Jonathan Wakely <jwakely (a] redhat.com> 7614 7615 * include/std/type_traits: Add diagnostic pragmas around 7616 references to deprecated std::aligned_storage and 7617 std::aligned_union traits. 7618 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc: 7619 Add dg-warning for et c++23. 7620 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc: 7621 Likewise. 7622 * testsuite/20_util/aligned_storage/value.cc: Likewise. 7623 * testsuite/20_util/aligned_union/1.cc: Likewise. 7624 * testsuite/20_util/aligned_union/requirements/alias_decl.cc: 7625 Likewise. 7626 7627 2023-02-06 Nathaniel Shead <nathanieloshead (a] gmail.com> 7628 7629 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. 7630 * include/bits/c++config (_GLIBCXX23_DEPRECATED) 7631 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros. 7632 * include/std/type_traits (aligned_storage, aligned_union) 7633 (aligned_storage_t, aligned_union_t): Deprecate for C++23. 7634 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test. 7635 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test. 7636 7637 2023-02-06 Nathaniel Shead <nathanieloshead (a] gmail.com> 7638 7639 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros. 7640 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make 7641 consistent with other 'deprecated' macros. 7642 * include/std/type_traits (is_pod, is_pod_v): Use 7643 _GLIBCXX20_DEPRECATED_SUGGEST instead. 7644 7645 2023-02-06 Arsen Arsenovi <arsen (a] aarsen.me> 7646 7647 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory. 7648 * Makefile.in: Regenerate. 7649 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files. 7650 There's no history to be compatible with. 7651 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only 7652 source files from the build. 7653 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. 7654 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. 7655 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. 7656 * src/Makefile.in: Regenerate. 7657 * src/c++11/Makefile.in: Regenerate. 7658 * src/c++17/Makefile.in: Regenerate. 7659 * src/c++20/Makefile.in: Regenerate. 7660 * src/c++98/Makefile.in: Regenerate. 7661 7662 2023-02-06 Jonathan Wakely <jwakely (a] redhat.com> 7663 7664 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add 7665 filesystem, libbacktrace and experimental. 7666 * src/Makefile.in: Regenerate. 7667 7668 2023-02-04 Hans-Peter Nilsson <hp (a] axis.com> 7669 7670 PR libstdc++/108672 7671 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__ 7672 instead of int32_t. 7673 7674 2023-02-04 Gerald Pfeifer <gerald (a] pfeifer.com> 7675 7676 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex. 7677 * doc/html/manual/documentation_hacking.html: Regenerate. 7678 7679 2023-02-04 Franois Dumont <fdumont (a] gcc.gnu.org> 7680 7681 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to 7682 storage to the move-from instance when allocators are equal. 7683 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04): 7684 New test case. 7685 7686 2023-02-03 Samuel Thibault <samuel.thibault (a] gnu.org> 7687 7688 * config/os/gnu-linux/os_defines.h [!__linux__] 7689 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define. 7690 7691 2023-02-03 Patrick Palka <ppalka (a] redhat.com> 7692 7693 * include/bits/ranges_algo.h (__find_last_fn, find_last): 7694 Define. 7695 (__find_last_if_fn, find_last_if): Define. 7696 (__find_last_if_not_fn, find_last_if_not): Define. 7697 * testsuite/25_algorithms/find_last/1.cc: New test. 7698 * testsuite/25_algorithms/find_last_if/1.cc: New test. 7699 * testsuite/25_algorithms/find_last_if_not/1.cc: New test. 7700 7701 2023-02-03 Patrick Palka <ppalka (a] redhat.com> 7702 7703 * include/bits/ranges_algo.h (out_value_result): Define. 7704 (iota_result): Define. 7705 (__iota_fn, iota): Define. 7706 * testsuite/25_algorithms/iota/1.cc: New test. 7707 7708 2023-02-03 Patrick Palka <ppalka (a] redhat.com> 7709 7710 * include/bits/ranges_algo.h (__contains_fn, contains): Define. 7711 (__contains_subrange_fn, contains_subrange): Define. 7712 * testsuite/25_algorithms/contains/1.cc: New test. 7713 * testsuite/25_algorithms/contains_subrange/1.cc: New test. 7714 7715 2023-02-02 Gerald Pfeifer <gerald (a] pfeifer.com> 7716 7717 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project. 7718 * doc/html/manual/abi.html: Regenerate. 7719 7720 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com> 7721 7722 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use 7723 errc::function_not_supported instead of errc::not_supported. 7724 7725 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com> 7726 7727 * include/std/sstream (basic_stringbuf::view): Define for old 7728 std::string ABI. 7729 (basic_istringstream::view, basic_0stringstream::view) 7730 (basic_stringstream::view): Likewise. 7731 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove 7732 { dg-require-effective-target cxx11_abi }. 7733 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: 7734 Likewise. 7735 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. 7736 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: 7737 Likewise. 7738 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. 7739 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. 7740 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. 7741 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: 7742 Likewise. 7743 7744 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com> 7745 7746 PR libstdc++/108636 7747 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr 7748 conversion operators for directory iterator comparisons with 7749 std::default_sentinel_t. 7750 * include/bits/fs_path.h (path::path(string_view, _Type)) 7751 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline 7752 definitions to ... 7753 * src/c++17/fs_path.cc: ... here. 7754 * testsuite/27_io/filesystem/path/108636.cc: New test. 7755 7756 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com> 7757 7758 * include/std/variant (variant::operator=): Implement resolution 7759 of LWG 3585. 7760 * testsuite/20_util/variant/lwg3585.cc: New test. 7761 7762 2023-02-02 Gerald Pfeifer <gerald (a] pfeifer.com> 7763 7764 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org 7765 link to https. 7766 * doc/html/manual/using_exceptions.html: Regenerate. 7767 7768 2023-02-02 Gerald Pfeifer <gerald (a] pfeifer.com> 7769 7770 * doc/xml/manual/debug.xml: Fix link to online GDB manual. 7771 * doc/html/manual/debug.html: Regenerate. 7772 7773 2023-02-01 Jonathan Wakely <jwakely (a] redhat.com> 7774 7775 * src/c++11/random.cc (random_device::_M_fini): Do not try to 7776 close the file handle if the target doesn't support the 7777 /dev/random and /dev/urandom files. 7778 7779 2023-02-01 Jonathan Wakely <jwakely (a] redhat.com> 7780 7781 * config/os/generic/error_constants.h (errc::value_too_large) 7782 [__AVR__]: Define. 7783 * src/c++11/system_error.cc 7784 (system_category::default_error_condition) [__AVR__]: Only match 7785 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR. 7786 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check 7787 for ENOENT etc. in switch. 7788 (fs::remove_all) [__AVR__]: Likewise. 7789 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open, 7790 close etc. 7791 7792 2023-02-01 Jonathan Wakely <jwakely (a] redhat.com> 7793 7794 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set 7795 embed_zoneinfo=no 7796 * configure: Regenerate. 7797 7798 2023-02-01 Hans-Peter Nilsson <hp (a] axis.com> 7799 7800 PR testsuite/108632 7801 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty 7802 struct at end of S0. 7803 7804 2023-01-30 Gerald Pfeifer <gerald (a] pfeifer.com> 7805 7806 * doc/xml/manual/shared_ptr.xml: Move links from both 7807 http://open-std.org and http://www.open-std.org to 7808 https://www.open-std.org. 7809 * doc/html/manual/memory.html: Regenerate. 7810 7811 2023-01-28 Gerald Pfeifer <gerald (a] pfeifer.com> 7812 7813 * doc/xml/manual/appendix_contributing.xml: Adjust link to 7814 ISO C++ standard at ANSI. 7815 Move link to www.open-std.org to https. 7816 * doc/html/manual/appendix_contributing.html: Regenerate. 7817 7818 2023-01-28 Gerald Pfeifer <gerald (a] pfeifer.com> 7819 7820 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net 7821 links to https. 7822 * doc/html/manual/documentation_hacking.html: Regenerate. 7823 7824 2023-01-28 Gerald Pfeifer <gerald (a] pfeifer.com> 7825 7826 * doc/xml/manual/abi.xml: Update www.open-std.org link to https. 7827 * doc/html/manual/abi.html: Regenerate. 7828 7829 2023-01-27 Jakub Jelinek <jakub (a] redhat.com> 7830 7831 PR libstdc++/108568 7832 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd 7833 include features.h if present and then check __GLIBC__ and 7834 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing 7835 __GLIBC_PREREQ which isn't defined yet. 7836 7837 2023-01-27 Jonathan Wakely <jwakely (a] redhat.com> 7838 7839 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of 7840 string literal. 7841 7842 2023-01-27 Jonathan Wakely <jwakely (a] redhat.com> 7843 7844 PR libstdc++/108554 7845 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus. 7846 7847 2023-01-26 Jonathan Wakely <jwakely (a] redhat.com> 7848 7849 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow 7850 rules named "+" for compatibility with older tzdata.zi files. 7851 7852 2023-01-26 Jonathan Wakely <jwakely (a] redhat.com> 7853 7854 PR libstdc++/108554 7855 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add 7856 nonnull attribute. 7857 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull 7858 attributes. 7859 * testsuite/23_containers/map/modifiers/108554.cc: New test. 7860 7861 2023-01-26 Jonathan Wakely <jwakely (a] redhat.com> 7862 7863 PR libstdc++/108530 7864 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in 7865 /etc/sysconfig/clock, not DEFAULT_TIMEZONE. 7866 7867 2023-01-26 Gerald Pfeifer <gerald (a] pfeifer.com> 7868 7869 * doc/xml/manual/intro.xml: Update links to www.open-std.org to 7870 use https. 7871 * doc/html/manual/bugs.html: Regenerate. 7872 7873 2023-01-24 Jonathan Wakely <jwakely (a] redhat.com> 7874 7875 PR libstdc++/108530 7876 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in 7877 /etc/sysconfig/clock. 7878 7879 2023-01-24 Jonathan Wakely <jwakely (a] redhat.com> 7880 7881 PR libstdc++/102301 7882 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for 7883 std::make_reverse_iterator. 7884 * include/std/tuple: Include <bits/ranges_util.h> for subrange. 7885 (make_from_tuple): Add static assertion from P2255 to diagnose 7886 dangling references. 7887 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test. 7888 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test. 7889 7890 2023-01-23 Franois Dumont <fdumont (a] gcc.gnu.org> 7891 7892 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New. 7893 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New. 7894 (_Safe_iterator::operator++(int)): Use latter. 7895 (_Safe_iterator::operator--(int)): Likewise. 7896 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular() 7897 check. 7898 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked): 7899 New. 7900 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New. 7901 (_Safe_local_iterator::operator++(int)): Use latter. 7902 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id 7903 entry associated to the array entry. 7904 7905 2023-01-18 Jonathan Wakely <jwakely (a] redhat.com> 7906 7907 * include/bits/fs_path.h (u8path): Add deprecated attribute. 7908 * testsuite/27_io/filesystem/path/construct/90281.cc: Add 7909 -Wno-deprecated-declarations for C++20 and later. 7910 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: 7911 Likewise. 7912 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. 7913 * testsuite/27_io/filesystem/path/native/string.cc: Likewise. 7914 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test. 7915 7916 2023-01-18 Jonathan Wakely <jwakely (a] redhat.com> 7917 7918 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]: 7919 Always call _M_fini and _M_getentropy. 7920 7921 2023-01-18 Gerald Pfeifer <gerald (a] pfeifer.com> 7922 7923 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links 7924 to www.open-std.org to use https. 7925 (COM: Component Model Object Technologies): Rename from... 7926 (The Component Object Model): ...to. 7927 * doc/html/manual/policy_data_structures.html: Regenerate. 7928 7929 2023-01-18 Dimitrij Mijoski <dmjpp (a] hotmail.com> 7930 7931 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify. 7932 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify. 7933 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify. 7934 7935 2023-01-17 Jonathan Wakely <jwakely (a] redhat.com> 7936 7937 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead 7938 of $host. Fix check for file being present during native build. 7939 * configure: Regenerate. 7940 7941 2023-01-17 Martin Liska <mliska (a] suse.cz> 7942 7943 * src/libbacktrace/Makefile.in: Regenerate. 7944 7945 2023-01-16 Jonathan Wakely <jwakely (a] redhat.com> 7946 7947 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1. 7948 7949 2023-01-16 Jonathan Wakely <jwakely (a] redhat.com> 7950 7951 PR libstdc++/108413 7952 * include/c_compatibility/stdatomic.h: Change copyright line to 7953 be consistent with other headers contributed under DCO terms. 7954 * include/std/expected: Add full stop to copyright line. 7955 * src/c++20/tzdb.cc: Likewise. 7956 7957 2023-01-15 Gerald Pfeifer <gerald (a] pfeifer.com> 7958 7959 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to 7960 https. 7961 * doc/xml/manual/status_cxx2017.xml: Ditto. 7962 * doc/xml/manual/status_cxx2020.xml: Ditto. 7963 * doc/xml/manual/status_cxx2023.xml: Ditto. 7964 * doc/html/manual/status.html: Regenerate. 7965 7966 2023-01-15 Jonathan Wakely <jwakely (a] redhat.com> 7967 7968 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if 7969 and fail gracefully if defining the weak symbol doesn't work. 7970 7971 2023-01-15 Franois Dumont <fdumont (a] gcc.gnu.org> 7972 7973 PR libstdc++/108288 7974 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock 7975 fix to other iterator category. 7976 (_Safe_iterator<>::operator--(int)): Likewise. 7977 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)): 7978 Fix deadlock. 7979 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New. 7980 (invalid_local_iterator_post_increment): New. 7981 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc: 7982 New test. 7983 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc: 7984 New test. 7985 7986 2023-01-15 Jonathan Wakely <jwakely (a] redhat.com> 7987 7988 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from 7989 dg-options. 7990 7991 2023-01-15 Jonathan Wakely <jwakely (a] redhat.com> 7992 7993 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char. 7994 7995 2023-01-14 Bjrn Schpers <bjoern (a] hazardy.de> 7996 7997 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for 7998 windows.h. Add pecoff as FORMAT_FILE. 7999 * config.h.in: Regenerate. 8000 * configure: Regenerate. 8001 * src/libbacktrace/Makefile.am: Regenerate. 8002 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE. 8003 8004 2023-01-14 Bjrn Schpers <bjoern (a] hazardy.de> 8005 8006 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use 8007 raw __name if __cxa_demangle could not demangle it. 8008 8009 2023-01-14 Jonathan Wakely <jwakely (a] redhat.com> 8010 8011 PR libstdc++/108409 8012 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment 8013 variable. 8014 8015 2023-01-14 Jonathan Wakely <jwakely (a] redhat.com> 8016 8017 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for 8018 loading tzdb. 8019 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb 8020 effective target. 8021 * testsuite/std/time/tzdb_list/1.cc: Likewise. 8022 8023 2023-01-14 Jonathan Wakely <jwakely (a] redhat.com> 8024 8025 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the 8026 --with-libstdcxx-zoneinfo-dir configure option with 8027 --with-libstdcxx-zoneinfo with yes/no/static choices as well as 8028 a directory. 8029 * config.h.in: Regenerate. 8030 * configure: Regenerate. 8031 * doc/xml/manual/configure.xml: Document configure option. 8032 * doc/html/manual/configure.html: Regenerate. 8033 * src/c++20/Makefile.am: Generate tzdata.zi.h header. 8034 * src/c++20/Makefile.in: Regenerate. 8035 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a 8036 null pointer if no directory is configured. 8037 (zoneinfo_dir): Replace with ... 8038 (zoneinfo_file): New function. 8039 (tzdata_stream): New istream class. 8040 (remote_version, reload_tzdb): Use tzdata_stream. 8041 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb): 8042 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of 8043 tzdata.zi file in default location. 8044 * src/c++20/tzdata.zi: New file. 8045 8046 2023-01-14 Jonathan Wakely <jwakely (a] redhat.com> 8047 8048 * include/bits/chrono_io.h (operator<<): Fix syntax errors. 8049 * testsuite/std/time/month_day/io.cc: New test. 8050 * testsuite/std/time/month_day_last/io.cc: New test. 8051 * testsuite/std/time/month_weekday/io.cc: New test. 8052 * testsuite/std/time/month_weekday_last/io.cc: New test. 8053 * testsuite/std/time/weekday_indexed/io.cc: New test. 8054 * testsuite/std/time/weekday_last/io.cc: New test. 8055 * testsuite/std/time/year_month/io.cc: New test. 8056 * testsuite/std/time/year_month_day_last/io.cc: New test. 8057 * testsuite/std/time/year_month_weekday/io.cc: New test. 8058 * testsuite/std/time/year_month_weekday_last/io.cc: New test. 8059 8060 2023-01-14 Franois Dumont <fdumont (a] gcc.gnu.org> 8061 8062 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol 8063 specifications. 8064 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols 8065 export. 8066 8067 2023-01-13 Jonathan Wakely <jwakely (a] redhat.com> 8068 8069 * include/bits/std_mutex.h: Include <errno.h>. 8070 8071 2023-01-13 Arsen Arsenovi <arsen (a] aarsen.me> 8072 8073 * testsuite/20_util/to_chars/version.cc: Mark hosted-only. 8074 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto. 8075 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto. 8076 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of 8077 std::make_unique with a freestanding-compatible wrapper around 8078 unique_ptr. 8079 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: 8080 Don't test for presence of __cpp_lib_string_contains on !HOSTED. 8081 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: 8082 Ditto. 8083 * testsuite/std/ranges/version_c++23.cc: Don't test for presence 8084 of __cpp_lib_ranges in !HOSTED. 8085 8086 2023-01-13 Arsen Arsenovi <arsen (a] aarsen.me> 8087 8088 * include/Makefile.am: Install bits/char_traits.h, 8089 std/string_view 8090 * include/Makefile.in: Regenerate. 8091 * include/bits/char_traits.h: Gate hosted-only, wchar-only and 8092 mbstate-only bits behind appropriate #ifs. 8093 * include/std/string_view: Gate <iostream> functionality behind 8094 HOSTED. 8095 * include/std/version: Enable __cpp_lib_constexpr_string_view 8096 and __cpp_lib_starts_ends_with in !HOSTED. 8097 * include/std/ranges: Re-enable __is_basic_string_view on 8098 freestanding, include <string_view> directly. 8099 * include/precompiled/stdc++.h: Include <string_view> when 8100 !HOSTED too. 8101 * testsuite/20_util/function_objects/searchers.cc: Skip testing 8102 boyer_moore searchers on freestanding 8103 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard 8104 <string>-related tests behind __STDC_HOSTED__. 8105 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto. 8106 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove 8107 unused <stdexcept> include. 8108 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove 8109 unused <vector> include. 8110 * testsuite/21_strings/basic_string_view/cons/char/range.cc: 8111 Guard <string> related testing behind __STDC_HOSTED__. 8112 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: 8113 Guard <stdexcept> related tests behind __STDC_HOSTED__. 8114 * testsuite/21_strings/basic_string_view/element_access/char/1.cc: 8115 Ditto. 8116 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: 8117 Guard <stdexcept> tests behind __STDC_HOSTED__. 8118 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: 8119 Enable test on freestanding, guard <stdexcept> bits behind 8120 __STDC_HOSTED__. 8121 * testsuite/21_strings/basic_string_view/operations/substr/char.cc: 8122 Guard <stdexcept> bits behind __STDC_HOSTED__. 8123 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: 8124 Ditto. 8125 8126 2023-01-13 Dimitrij Mijoski <dmjpp (a] hotmail.com> 8127 8128 PR libstdc++/86419 8129 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect 8130 errors in incomplete multibyte sequences. 8131 (utf16_in): Remove surrogates parameter. Fix conditions for 8132 returning partial. 8133 (utf16_out): Fix condition for returning partial. 8134 (ucs2_in): Do not pass surrogates argument to utf16_in. 8135 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test. 8136 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for 8137 tests. 8138 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New 8139 test. 8140 8141 2023-01-13 Jonathan Wakely <jwakely (a] redhat.com> 8142 8143 PR libstdc++/108331 8144 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for 8145 __GTHREAD_LEGACY_MUTEX_T if defined. 8146 8147 2023-01-13 Jonathan Wakely <jwakely (a] redhat.com> 8148 8149 PR libstdc++/108327 8150 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31): 8151 Export __try_use_facet specializations for facets in namespace 8152 __gnu_cxx_ldbl128. 8153 * config/os/gnu-linux/ldbl-ieee128-extra.ver 8154 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace 8155 __gnu_cxx_ieee128. 8156 * testsuite/util/testsuite_abi.cc: Add to lists of known and 8157 latest versions. 8158 8159 2023-01-13 Jonathan Wakely <jwakely (a] redhat.com> 8160 8161 * include/bits/std_mutex.h: Remove <system_error> include. 8162 * include/std/condition_variable: Add <bits/error_constants.h> 8163 include. 8164 * include/std/mutex: Likewise. 8165 * include/std/shared_mutex: Likewise. 8166 8167 2023-01-12 Jonathan Wakely <jwakely (a] redhat.com> 8168 8169 PR libstdc++/77691 8170 * include/experimental/memory_resource 8171 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define. 8172 (do_allocate, do_deallocate): Check it. 8173 * testsuite/experimental/memory_resource/new_delete_resource.cc: 8174 Relax expected behaviour for 64-bit hppa-hp-hpux11.11. 8175 8176 2023-01-12 Jonathan Wakely <jwakely (a] redhat.com> 8177 8178 * doc/xml/manual/abi.xml: Add latest library versions. 8179 * doc/html/manual/abi.html: Regenerate. 8180 8181 2023-01-12 Franois Dumont <fdumont (a] gcc.gnu.org> 8182 8183 PR libstdc++/107189 8184 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove 8185 unused _Alloc_node instance. 8186 8187 2023-01-12 Jonathan Wakely <jwakely (a] redhat.com> 8188 8189 * include/bits/atomic_wait.h (__detail::__platform_wait_t): 8190 Define as unsigned long if always lock-free, and unsigned int 8191 otherwise. 8192 8193 2023-01-10 Jonathan Wakely <jwakely (a] redhat.com> 8194 8195 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and 8196 __catch macros for exception handling. 8197 8198 2023-01-10 Jonathan Wakely <jwakely (a] redhat.com> 8199 8200 PR libstdc++/108221 8201 * include/bits/stl_algobase.h (__lg): Replace six overloads with 8202 a single function template for all integer types. 8203 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast 8204 arithmetic results back to _Distance. 8205 8206 2023-01-10 Jonathan Wakely <jwakely (a] redhat.com> 8207 8208 PR libstdc++/108221 8209 * include/std/span (span::span()): Un-simplify constraint to 8210 work for size_t of lesser rank than int. 8211 8212 2023-01-07 LIU Hao <lh_mouse (a] 126.com> 8213 8214 PR middle-end/108300 8215 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before 8216 <windows.h>. 8217 * src/c++11/thread.cc: Likewise. 8218 * src/c++17/fs_ops.cc: Likewise. 8219 * src/filesystem/ops.cc: Likewise. 8220 8221 2023-01-06 Jonathan Wakely <jwakely (a] redhat.com> 8222 8223 PR libstdc++/108228 8224 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma. 8225 8226 2023-01-06 Jonathan Wakely <jwakely (a] redhat.com> 8227 8228 PR libstdc++/108235 8229 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class 8230 template and partial specialization for synchronizing access to 8231 time_zone::_Impl::infos. 8232 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of 8233 rules_counter. 8234 8235 2023-01-06 Patrick Palka <ppalka (a] redhat.com> 8236 8237 PR libstdc++/108260 8238 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23. 8239 * include/std/ranges (__cpp_lib_ranges_zip): Likewise. 8240 (__cpp_lib_ranges_chunk): Likewise. 8241 (__cpp_lib_ranges_slide): Likewise. 8242 (__cpp_lib_ranges_chunk_by): Likewise. 8243 (__cpp_lib_ranges_join_with): Likewise. 8244 (__cpp_lib_ranges_repeat): Likewise. 8245 (__cpp_lib_ranges_stride): Likewise. 8246 (__cpp_lib_ranges_cartesian_product): Likewise. 8247 (__cpp_lib_ranges_as_rvalue): Likewise. 8248 * include/std/version: Ditto. 8249 * testsuite/20_util/tuple/p2321r2.cc: Verify value of 8250 feature-test macro. 8251 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. 8252 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. 8253 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. 8254 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. 8255 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. 8256 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. 8257 * testsuite/std/ranges/cartesian_product/1.cc: Likewise. 8258 * testsuite/std/ranges/repeat/1.cc: Likewise. 8259 * testsuite/std/ranges/zip/1.cc: Likewise. 8260 * testsuite/std/ranges/version_c++23.cc: New test. 8261 8262 2023-01-06 Jonathan Wakely <jwakely (a] redhat.com> 8263 8264 PR libstdc++/108214 8265 * include/std/bitset (operator>>): Use alloca in the right 8266 scope, not in a constructor. 8267 * testsuite/20_util/bitset/io/input.cc: Check case from PR. 8268 8269 2023-01-06 Jonathan Wakely <jwakely (a] redhat.com> 8270 8271 PR libstdc++/108221 8272 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]: 8273 Disable visiting floating-point types. 8274 8275 2023-01-06 Jonathan Wakely <jwakely (a] redhat.com> 8276 8277 PR libstdc++/108288 8278 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int)) 8279 (_Safe_iterator::operator--(int)): Do not hold lock around 8280 construction of return value. 8281 8282 2023-01-05 John David Anglin <danglin (a] gcc.gnu.org> 8283 8284 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define. 8285 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for 8286 lock release. Revise loop. 8287 (__atomic_add): Likewise. 8288 8289 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com> 8290 8291 PR libstdc++/108212 8292 * python/libstdcxx/v6/printers.py (_utc_timezone): New global 8293 variable. 8294 (StdChronoTimePointPrinter::to_string): Use it. 8295 8296 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com> 8297 8298 PR libstdc++/108290 8299 * include/std/functional (_Bind_front): Add no_unique_address 8300 attribute to data members. 8301 * testsuite/20_util/function_objects/bind_front/107784.cc: Check 8302 size of call wrappers with empty types for targets and bound 8303 arguments. 8304 8305 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com> 8306 8307 PR libstdc++/108211 8308 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone 8309 using only last component of the name. 8310 8311 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com> 8312 8313 PR libstdc++/108228 8314 PR libstdc++/108235 8315 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to 8316 the latest symbol version. 8317 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if 8318 atomic<_Node*> is not always lock free. 8319 (USE_ATOMIC_LIST_HEAD): New macro. 8320 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide 8321 definition of weak symbol. 8322 (tzdb_list::_Node::_S_head): Rename to _S_head_cache. 8323 (tzdb_list::_Node::_S_list_head): New function for accessing 8324 list head efficiently. 8325 (tzdb_list::_Node::_S_cache_list_head): New function for 8326 updating _S_list_head. 8327 8328 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com> 8329 8330 PR libstdc++/108265 8331 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if 8332 duration rep is unsigned. 8333 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. 8334 8335 2023-01-04 Iain Sandoe <iain (a] sandoe.co.uk> 8336 8337 PR libstdc++/108228 8338 * config/abi/pre/gnu.ver (GLIBCXX_3.4): 8339 Add __gnu_cxx::zoneinfo_dir_override(). 8340 8341 2023-01-04 Jonathan Wakely <jwakely (a] redhat.com> 8342 8343 PR libstdc++/108258 8344 * include/std/array (__array_traits<T, 0>::operator T*()): Add 8345 constexpr. 8346 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check 8347 std::array<T, 0>::data(). 8348 8349 8351 Copyright (C) 2023 Free Software Foundation, Inc. 8352 8353 Copying and distribution of this file, with or without modification, 8354 are permitted in any medium without royalty provided the copyright 8355 notice and this notice are preserved. 8356