12021-08-11 Jonathan Wakely <jwakely@redhat.com> 2 3 Backported from master: 4 2021-08-11 Jonathan Wakely <jwakely@redhat.com> 5 6 PR libstdc++/101866 7 * testsuite/experimental/random/randint.cc: Loop and retry if 8 reseed() produces the same sequence. 9 102021-08-11 Jonathan Wakely <jwakely@redhat.com> 11 12 Backported from master: 13 2021-07-20 Jonathan Wakely <jwakely@redhat.com> 14 15 PR libstdc++/101510 16 * src/c++17/fs_ops.cc (fs::create_directories): Use status 17 instead of symlink_status. 18 * src/filesystem/ops.cc (fs::create_directories): Likewise. 19 * testsuite/27_io/filesystem/operations/create_directories.cc: 20 Check symlink to existing directory. 21 * testsuite/27_io/filesystem/operations/create_directory.cc: Do 22 not test with symlinks on Windows. 23 * testsuite/experimental/filesystem/operations/create_directories.cc: 24 Check symlink to existing directory. 25 * testsuite/experimental/filesystem/operations/create_directory.cc: 26 Do not test with symlinks on Windows. 27 282021-08-11 Jonathan Wakely <jwakely@redhat.com> 29 30 Backported from master: 31 2021-07-20 Jonathan Wakely <jwakely@redhat.com> 32 33 PR libstdc++/101510 34 * src/c++17/fs_ops.cc (create_dir): Adjust whitespace. 35 * testsuite/27_io/filesystem/operations/create_directory.cc: 36 Test creating directory with name of existing symlink to 37 directory. 38 * testsuite/experimental/filesystem/operations/create_directory.cc: 39 Likewise. 40 412021-08-11 Jonathan Wakely <jwakely@redhat.com> 42 43 Backported from master: 44 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 45 46 PR libstdc++/101056 47 * libsupc++/compare (compare_partial_order_fallback): Add 48 constraint using reversed parameter order, as per LWG 3465. 49 * testsuite/18_support/comparisons/algorithms/fallback.cc: 50 Adjust expected result. 51 522021-08-11 Jonathan Wakely <jwakely@redhat.com> 53 54 Backported from master: 55 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 56 57 * libsupc++/compare (__decayed_same_as): New helper concept. 58 (strong_order, weak_order, partial_order): Constrain with new 59 concept instead of using static_assert. 60 (compare_strong_order_fallback, compare_weak_order_fallback) 61 (compare_partial_order_fallback): Likewise. Do not deduce return 62 types. Remove redundant if-constexpr checks. 63 * testsuite/18_support/comparisons/algorithms/fallback.cc: New test. 64 652021-08-11 Jonathan Wakely <jwakely@redhat.com> 66 67 Backported from master: 68 2021-07-01 Jonathan Wakely <jwakely@redhat.com> 69 70 * doc/doxygen/doxygroups.cc: Fix docs for std::literals. 71 * doc/doxygen/user.cfg.in: Exclude the Networking TS header. 72 Add some more predefined macros. 73 * include/bits/fs_fwd.h: Move @addtogroup commands inside 74 namespaces. Add better documentation. 75 * include/bits/fs_path.h: Likewise. 76 * include/experimental/bits/fs_fwd.h: Likewise. 77 * include/experimental/bits/fs_path.h: Likewise. 78 * include/ext/throw_allocator.h: Fix typo and improve docs. 79 * include/std/chrono: Move @addtogroup commands. 80 * include/std/system_error: Move @addtogroup commands. 81 * libsupc++/exception: Improve documentation. 82 * libsupc++/exception.h: Add @since documentation. 83 842021-08-11 Jonathan Wakely <jwakely@redhat.com> 85 86 Backported from master: 87 2021-06-30 Jonathan Wakely <jwakely@redhat.com> 88 89 PR libstdc++/101258 90 * doc/doxygen/user.cfg.in (INPUT): Add <experimental/simd>. 91 (COLS_IN_ALPHA_INDEX): Remove obsolete tag. 92 (PREDEFINED): Add/fix some more macros that need to be expanded. 93 * include/bits/random.h: Stop Doxygen from documenting internal 94 implementation details. 95 * include/bits/random.tcc: Likewise. 96 * include/bits/this_thread_sleep.h: Fix @file name. 97 * include/experimental/bits/simd.h: Add to Doxygen group. Do not 98 document internal implementation details. 99 * include/experimental/bits/simd_detail.h: Do not document 100 internal implementation details. 101 * include/experimental/simd: Define Doxygen groups. 102 * include/experimental/type_traits: Improve documentation for 103 the header file. Define groups. Use @since commands. 104 * include/std/scoped_allocator (scoped_allocator_adaptor): Move 105 declaration before undocumented region. 106 * include/std/type_traits (true_type, false_type): Use using 107 declaration instead of typedef. 108 (is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v) 109 (is_nothrow_invocable_r_v): Move definitions next to other C++17 110 variable templates. 111 Do not document internal implementation details. Move misplaced 112 group-end command. Define group for variable templates. 113 * include/std/variant: Do not document internal implementation 114 details. 115 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 116 line number. 117 1182021-07-28 Release Manager 119 120 * GCC 11.2.0 released. 121 1222021-07-19 Jonathan Wakely <jwakely@redhat.com> 123 124 Backported from master: 125 2021-05-12 Jonathan Wakely <jwakely@redhat.com> 126 127 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: 128 Increase dg-timeout-factor to 4. Fix -Wunused-parameter 129 warnings. Replace bitwise AND with logical AND in loop 130 condition. 131 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: 132 Replace bitwise AND with logical AND in loop condition. 133 * testsuite/util/pstl/test_utils.h: Remove unused parameter 134 names. 135 1362021-07-19 Jonathan Wakely <jwakely@redhat.com> 137 138 Backported from master: 139 2021-06-15 Jonathan Wakely <jwakely@redhat.com> 140 141 * include/bits/ranges_util.h (subrange): Add __size_type typedef 142 and use it to simplify declarations. 143 (subrange(i, s, n)): Remove assertion. 144 * testsuite/std/ranges/subrange/constexpr.cc: New test. 145 1462021-07-19 Jonathan Wakely <jwakely@redhat.com> 147 148 Backported from master: 149 2021-07-15 Jonathan Wakely <jwakely@redhat.com> 150 151 PR libstdc++/101427 152 * include/std/tuple (tuple_element): Improve static_assert text. 153 (__get_helper): Add deleted overload. 154 (get<i>(tuple<T...>&&), get<i>(const tuple<T...>&&)): Use 155 __get_helper directly. 156 (__get_helper2): Remove. 157 (__find_uniq_type_in_pack): New constexpr helper function. 158 (get<T>): Use __find_uniq_type_in_pack and __get_helper instead 159 of __get_helper2. 160 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust 161 expected errors. 162 * testsuite/20_util/tuple/element_access/101427.cc: New test. 163 1642021-07-16 Jonathan Wakely <jwakely@redhat.com> 165 166 Backported from master: 167 2021-06-15 Jonathan Wakely <jwakely@redhat.com> 168 169 * include/bits/iterator_concepts.h (__cust_access::__decay_copy): 170 Replace with function object. 171 (__cust_access::__member_begin, ___cust_access::_adl_begin): Use 172 __decay_copy unqualified. 173 * include/bits/ranges_base.h (__member_end, __adl_end): 174 Likewise. Use __range_iter_t for type of ranges::begin. 175 (__member_rend): Use correct value category for rbegin argument. 176 (__member_data): Use __decay_copy unqualified. 177 (__begin_data): Use __range_iter_t for type of ranges::begin. 178 1792021-07-15 Jonathan Wakely <jwakely@redhat.com> 180 181 Backported from master: 182 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 183 184 * include/bits/ranges_base.h (ranges::empty): Check whether 185 conversion to bool can throw. 186 * testsuite/std/ranges/access/empty.cc: Check for correct 187 noexcept-specifier. 188 1892021-07-15 Jonathan Wakely <jwakely@redhat.com> 190 191 Backported from master: 192 2021-06-30 Jonathan Wakely <jwakely@redhat.com> 193 194 * include/experimental/simd: Do not define anything pre-C++17. 195 1962021-07-14 Jonathan Wakely <jwakely@redhat.com> 197 198 Backported from master: 199 2021-07-13 Jonathan Wakely <jwakely@redhat.com> 200 201 PR c++/101361 202 * include/std/string_view (ends_with): Use traits_type::compare 203 directly. 204 2052021-07-14 Jonathan Wakely <jwakely@redhat.com> 206 207 Backported from master: 208 2021-07-13 Jonathan Wakely <jwakely@redhat.com> 209 210 * include/std/string_view: Only include <bits/ranges_base.h> 211 once, and only for C++20 and later. 212 2132021-07-14 Jonathan Wakely <jwakely@redhat.com> 214 215 Backported from master: 216 2021-07-12 Jonathan Wakely <jwakely@redhat.com> 217 218 PR libstdc++/101411 219 * include/std/span (as_writable_bytes): Add requires-clause. 220 * testsuite/23_containers/span/101411.cc: New test. 221 2222021-07-13 Patrick Palka <ppalka@redhat.com> 223 224 Backported from master: 225 2021-06-18 Patrick Palka <ppalka@redhat.com> 226 227 PR libstdc++/100387 228 * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite 229 to limit comparison complexity to 3*N/2. 230 (__minmax_element_fn::operator()): Likewise. 231 (shift_right): Avoid premature std::move of __result. 232 * testsuite/25_algorithms/minmax/constrained.cc (test04, test05): 233 New tests. 234 * testsuite/25_algorithms/minmax_element/constrained.cc (test02): 235 Likewise. 236 2372021-06-22 Thomas Rodgers <rodgert@appliantology.com> 238 239 Backported from master: 240 2021-06-22 Thomas Rodgers <rodgert@appliantology.com> 241 242 PR libstdc++/100806 243 * include/bits/semaphore_base.h (__atomic_semaphore::_M_release): 244 Force _M_release() to wake all waiting threads. 245 * testsuite/30_threads/semaphore/100806.cc: New test. 246 2472021-06-18 Jonathan Wakely <jwakely@redhat.com> 248 249 Backported from master: 250 2021-06-18 Jonathan Wakely <jwakely@redhat.com> 251 252 PR libstdc++/95833 253 * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace 254 incorrect static_assert with ones matching the 'Mandates' 255 conditions in the standard. 256 * testsuite/26_numerics/reduce/95833.cc: New test. 257 2582021-06-18 Jonathan Wakely <jwakely@redhat.com> 259 260 Backported from master: 261 2021-06-18 Jonathan Wakely <jwakely@redhat.com> 262 263 * testsuite/21_strings/basic_string/cons/char/1.cc: Use 264 diagnostic pragma to suppress -Wstringop-overread error. 265 2662021-06-18 Jonathan Wakely <jwakely@redhat.com> 267 268 Backported from master: 269 2021-06-17 Jonathan Wakely <jwakely@redhat.com> 270 271 PR libstdc++/91488 272 * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only 273 define C++20 value when std::is_constant_evaluated is available. 274 * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): 275 Likewise. 276 (__constant_string_p, __constant_array_p): Give external 277 linkage. 278 * include/std/version (__cpp_lib_constexpr_char_traits) 279 (__cpp_lib_constexpr_string): Only define C++20 values when 280 is_constant_evaluated is available. 281 2822021-06-18 Patrick Palka <ppalka@redhat.com> 283 284 Backported from master: 285 2021-06-17 Patrick Palka <ppalka@redhat.com> 286 287 PR libstdc++/100940 288 * include/std/ranges (__adaptor::_Partial): For the "simple" 289 forwarding partial specializations, also require that 290 the extra arguments are trivially copyable. 291 * testsuite/std/ranges/adaptors/100577.cc (test04): New test. 292 2932021-06-18 Patrick Palka <ppalka@redhat.com> 294 295 Backported from master: 296 2021-06-17 Patrick Palka <ppalka@redhat.com> 297 298 PR libstdc++/100940 299 * include/std/ranges (__adaptor::_RangeAdaptor): Document the 300 template form of _S_has_simple_extra_args. 301 (__adaptor::__adaptor_has_simple_extra_args): Add _Args template 302 parameter pack. Try to treat _S_has_simple_extra_args as a 303 variable template parameterized by _Args. 304 (__adaptor::_Partial): Pass _Arg/_Args to the constraint 305 __adaptor_has_simple_extra_args. 306 (views::_Take::_S_has_simple_extra_args): Templatize according 307 to the type of the extra argument. 308 (views::_Drop::_S_has_simple_extra_args): Likewise. 309 (views::_Split::_S_has_simple_extra_args): Define. 310 * testsuite/std/ranges/adaptors/100577.cc (test01, test02): 311 Adjust after changes to _S_has_simple_extra_args mechanism. 312 (test03): Define. 313 3142021-06-14 Jonathan Wakely <jwakely@redhat.com> 315 316 Backported from master: 317 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 318 319 PR libstdc++/100894 320 * include/std/type_traits (__common_ref_impl<X&, Y&>): Only 321 use the type if it's a reference. 322 * testsuite/20_util/common_reference/100894.cc: New test. 323 3242021-06-14 Jonathan Wakely <jwakely@redhat.com> 325 326 Backported from master: 327 2021-05-20 Jonathan Wakely <jwakely@redhat.com> 328 329 * include/bits/random.tcc (__representable_as_double) 330 (__p1_representable_as_double): Add "" to static asserts. 331 3322021-06-14 Jonathan Wakely <jwakely@redhat.com> 333 334 Backported from master: 335 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 336 337 * testsuite/experimental/filesystem/path/native/conv_c++23.cc: 338 Add dg-require-filesystem-ts directive. 339 3402021-06-14 Jonathan Wakely <jwakely@redhat.com> 341 342 Backported from master: 343 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 344 345 PR libstdc++/101034 346 * include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...)) 347 (any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint 348 to use lvalue. 349 * testsuite/20_util/any/cons/101034.cc: New test. 350 3512021-06-14 Jonathan Wakely <jwakely@redhat.com> 352 353 Backported from master: 354 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 355 356 * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add 357 -std=gnu++17 option. 358 3592021-06-14 Jonathan Wakely <jwakely@redhat.com> 360 361 Backported from master: 362 2021-06-14 Jonathan Wakely <jwakely@redhat.com> 363 364 PR libstdc++/101055 365 * include/std/tuple: Use reserved form of attribute name. 366 * testsuite/17_intro/headers/c++2011/all_attributes.cc: Add 367 check for no_unique_address. 368 * testsuite/17_intro/headers/c++2014/all_attributes.cc: 369 Likewise. 370 * testsuite/17_intro/headers/c++2017/all_attributes.cc: 371 Likewise. 372 3732021-06-14 Patrick Palka <ppalka@redhat.com> 374 375 Backported from master: 376 2021-05-18 Patrick Palka <ppalka@redhat.com> 377 378 PR libstdc++/100475 379 * include/std/ranges (__box::__box): Use non-list-initialization 380 in member initializer list of in-place constructor of the 381 partial specialization for semiregular types. 382 (__box::operator->): Use std::__addressof. 383 * testsuite/std/ranges/adaptors/detail/semiregular_box.cc 384 (test02): New test. 385 * testsuite/std/ranges/single_view.cc (test04): New test. 386 3872021-06-11 Jonathan Wakely <jwakely@redhat.com> 388 389 Backported from master: 390 2021-06-11 Jonathan Wakely <jwakely@redhat.com> 391 392 * include/bits/fs_path.h (operator==, operator<=>): Use new 393 _S_compare function. 394 (path::_S_compare): New function to call path::compare in a 395 context where path::iterator is complete. 396 * include/experimental/bits/fs_path.h (operator<, operator==): 397 Define after path::iterator is complete. 398 * testsuite/27_io/filesystem/path/native/conv_c++23.cc: New 399 test. 400 * testsuite/experimental/filesystem/path/native/conv_c++23.cc: 401 New test. 402 4032021-06-11 Jonathan Wakely <jwakely@redhat.com> 404 405 Backported from master: 406 2021-06-08 Jonathan Wakely <jwakely@redhat.com> 407 408 * include/experimental/propagate_const (swap): Constrain. 409 * testsuite/experimental/propagate_const/swap/lwg3413.cc: New test. 410 4112021-06-11 Jonathan Wakely <jwakely@redhat.com> 412 413 Backported from master: 414 2021-06-09 Jonathan Wakely <jwakely@redhat.com> 415 416 PR libstdc++/100982 417 * include/std/optional (optional::operator=(const optional<U>&)): 418 Fix value category used in is_assignable check. 419 * testsuite/20_util/optional/assignment/100982.cc: New test. 420 4212021-06-11 Jonathan Wakely <jwakely@redhat.com> 422 423 Backported from master: 424 2021-06-07 Jonathan Wakely <jwakely@redhat.com> 425 426 PR libstdc++/98842 427 * include/std/optional (operator<=>(const optional<T>& const U&)): 428 Add missing constraint and add workaround for template 429 recursion. 430 * testsuite/20_util/optional/relops/three_way.cc: Check that 431 type without equality comparison cannot be compared when wrapped 432 in std::optional. 433 4342021-06-11 Jonathan Wakely <jwakely@redhat.com> 435 436 Backported from master: 437 2021-06-05 Jonathan Wakely <jwakely@redhat.com> 438 439 PR libstdc++/100824 440 * include/bits/ranges_base.h (_SSize): Return signed type. 441 * testsuite/std/ranges/access/ssize.cc: Check with __int128. 442 4432021-06-11 Jonathan Wakely <jwakely@redhat.com> 444 445 Backported from master: 446 2021-06-04 Jonathan Wakely <jwakely@redhat.com> 447 448 * include/bits/ranges_base.h (_SSize): Return the result of 449 ranges::size converted to the wider of make-signed-like-t<S> and 450 ptrdiff_t, rather than the ranges different type. 451 * testsuite/std/ranges/access/ssize.cc: Adjust expected result 452 for an iota_view that uses an integer class type for its 453 difference_type. 454 4552021-06-11 Jonathan Wakely <jwakely@redhat.com> 456 457 Backported from master: 458 2021-06-04 Jonathan Wakely <jwakely@redhat.com> 459 460 PR libstdc++/100824 461 * include/bits/ranges_base.h (__member_data): Use __decay_copy. 462 * testsuite/std/ranges/access/data.cc: Add testcase from PR. 463 4642021-06-11 Jonathan Wakely <jwakely@redhat.com> 465 466 Backported from master: 467 2021-06-04 Jonathan Wakely <jwakely@redhat.com> 468 469 PR libstdc++/100824 470 * include/bits/iterator_concepts.h (__detail::__decay_copy) 471 (__detail::__member_begin, __detail::__adl_begin): Move to 472 namespace ranges::__cust_access. 473 (__detail::__ranges_begin): Likewise, and rename to __begin. 474 Remove redundant static assertion. 475 * include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd): 476 Use lvalue in noexcept specifier. 477 (__as_const): Add non-deduced parameter for value category. 478 (_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of 479 __as_const. 480 (__member_size, __adl_size, __member_empty, __size0_empty): 481 (__eq_iter_empty, __adl_data): Use lvalue objects in 482 requirements. 483 (__sentinel_size): Likewise. Add check for conversion to 484 unsigned-like. 485 (__member_data): Allow non-lvalue types to satisfy the concept, 486 but use lvalue object in requirements. 487 (_Size, _SSize): Remove forwarding to always use an lvalue. 488 (_Data): Likewise. Add static assertion for arrays. 489 * testsuite/std/ranges/access/cdata.cc: Adjust expected 490 behaviour for rvalues. Add negative tests for ill-formed 491 expressions. 492 * testsuite/std/ranges/access/data.cc: Likewise. 493 * testsuite/std/ranges/access/empty.cc: Adjust expected 494 behaviour for rvalues. 495 * testsuite/std/ranges/access/size.cc: Likewise. 496 4972021-06-11 Jonathan Wakely <jwakely@redhat.com> 498 499 Backported from master: 500 2021-06-04 Jonathan Wakely <jwakely@redhat.com> 501 502 * doc/xml/manual/status_cxx2020.xml: 503 * doc/html/*: Regenerate. 504 * include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup): 505 Define. 506 * include/std/version (__cpp_lib_generic_unordered_lookup): 507 Define. 508 * testsuite/23_containers/unordered_map/operations/1.cc: Check 509 feature test macro. 510 * testsuite/23_containers/unordered_set/operations/1.cc: 511 Likewise. 512 5132021-06-10 Patrick Palka <ppalka@redhat.com> 514 515 Backported from master: 516 2021-06-03 Patrick Palka <ppalka@redhat.com> 517 518 PR libstdc++/100577 519 * include/std/ranges (_RangeAdaptorClosure): Document 520 _S_has_simple_call_op mechanism. 521 (_RangeAdaptor): Document _S_has_simple_extra_args mechanism. 522 (__closure_has_simple_call_op): New concept. 523 (__adaptor_has_simple_extra_args): Likewise. 524 (_Partial<_Adaptor, _Args...>): New partial specialization. 525 (_Partial<_Adaptor, _Arg>): Likewise. 526 (_Pipe<_Lhs, _Rhs>): Likewise. 527 (views::_All::_S_has_simple_call_op): Define to true. 528 (views::_Filter::_S_has_simple_extra_args): Likewise. 529 (views::_Transform::_S_has_simple_extra_args): Likewise. 530 (views::_Take::_S_has_simple_extra_args): Likewise. 531 (views::_TakeWhile::_S_has_simple_extra_args): Likewise. 532 (views::_Drop::_S_has_simple_extra_args): Likewise. 533 (views::_DropWhile::_S_has_simple_extra_args): Likewise. 534 (views::_Join::_S_has_simple_call_op): Likewise. 535 (views::_Split): Document why we don't define 536 _S_has_simple_extra_args to true for this adaptor. 537 (views::_Common::_S_has_simple_call_op): Define to true. 538 (views::_Reverse::_S_has_simple_call_op): Likewise. 539 (views::_Elements::_S_has_simple_call_op): Likewise. 540 * testsuite/std/ranges/adaptors/100577.cc: New test. 541 5422021-06-10 Patrick Palka <ppalka@redhat.com> 543 544 Backported from master: 545 2021-06-03 Patrick Palka <ppalka@redhat.com> 546 547 PR libstdc++/100770 548 * include/bits/ranges_algo.h (__detail::__can_reread_output): 549 Factor out this concept from ... 550 (__unique_copy_fn::operator()): ... here. Use the concept 551 throughout. 552 * testsuite/std/ranges/range.cc: Remove now ill-formed use 553 of range_value_t on an output_range. 554 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): 555 Define value_type, pointer and reference member types to void. 556 5572021-06-10 Patrick Palka <ppalka@redhat.com> 558 559 Backported from master: 560 2021-05-21 Patrick Palka <ppalka@redhat.com> 561 562 PR libstdc++/100690 563 * include/std/ranges (iota_view::_Sentinel::_M_distance_from): 564 Split out this member function from ... 565 (iota_view::_Sentinel::operator-): ... here, for sake of access 566 control. 567 * testsuite/std/ranges/iota/iota_view.cc (test05): New test. 568 5692021-06-10 Patrick Palka <ppalka@redhat.com> 570 571 Backported from master: 572 2021-05-06 Patrick Palka <ppalka@redhat.com> 573 574 * include/std/ranges (filter_view::_Iterator::base): Make the 575 const& overload unconstrained and return a const reference as 576 per LWG 3533. Make unconditionally noexcept. 577 (transform_view::_Iterator::base): Likewise. 578 (elements_view::_Iterator::base): Likewise. 579 5802021-06-10 Patrick Palka <ppalka@redhat.com> 581 582 Backported from master: 583 2021-05-06 Patrick Palka <ppalka@redhat.com> 584 585 * include/bits/stl_iterator.h (move_iterator::base): Make the 586 const& overload unconstrained and return a const reference as 587 per LWG 3391. Make unconditionally noexcept. 588 (counted_iterator::base): Likewise. 589 * testsuite/24_iterators/move_iterator/lwg3391.cc: New test. 590 * testsuite/24_iterators/move_iterator/move_only.cc: Adjust 591 has_member_base concept to decay-copy the result of base(). 592 5932021-06-10 Patrick Palka <ppalka@redhat.com> 594 595 Backported from master: 596 2021-05-18 Patrick Palka <ppalka@redhat.com> 597 598 PR libstdc++/100631 599 * include/std/ranges (elements_view::_Sentinel::operator-): Use 600 _M_distance_from in the other operator- overload too. 601 * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test. 602 6032021-06-10 Patrick Palka <ppalka@redhat.com> 604 605 Backported from master: 606 2021-05-18 Patrick Palka <ppalka@redhat.com> 607 608 PR libstdc++/100631 609 * include/std/ranges (elements_view::_Iterator): Also befriend 610 _Sentinel<!_Const>. 611 (elements_view::_Sentinel::_M_equal): Templatize. 612 (elements_view::_Sentinel::_M_distance_from): Split out from ... 613 (elements_view::_Sentinel::operator-): ... here. Depend on 614 _Base2 instead of _Base in the return type. 615 * testsuite/std/ranges/adaptors/elements.cc (test06, test07): 616 New tests. 617 6182021-06-10 Patrick Palka <ppalka@redhat.com> 619 620 Backported from master: 621 2021-05-20 Patrick Palka <ppalka@redhat.com> 622 623 PR libstdc++/100639 624 * include/bits/stl_iterator.h (reverse_iterator::difference_type): 625 In C++20 mode, define in terms of iter_difference_t as per P0896R4. 626 (reverse_iterator::reference): Likewise, but with iter_reference_t. 627 (reverse_iterator::value_type): Likewise, but with iter_value_t. 628 * testsuite/std/ranges/adaptors/reverse.cc (test08): New test. 629 * testsuite/24_iterators/reverse_iterator/100639.cc: New test. 630 6312021-06-09 Thomas Rodgers <rodgert@appliantology.com> 632 633 Backported from master: 634 2021-06-09 Thomas Rodgers <rodgert@appliantology.com> 635 636 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard 637 test logic with constexpr check for is_always_lock_free. 638 6392021-06-08 Thomas Rodgers <rodgert@appliantology.com> 640 641 Backported from master: 642 2021-06-08 Thomas Rodgers <rodgert@appliantology.com> 643 644 PR libstdc++/100889 645 * include/bits/atomic_base.h (atomic_ref<_Tp*>::wait): 646 Change parameter type from _Tp to _Tp*. 647 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend 648 coverage of types tested. 649 6502021-06-08 Thomas Rodgers <rodgert@appliantology.com> 651 652 Backported from master: 653 2021-06-08 Thomas Rodgers <rodgert@appliantology.com> 654 655 * include/std/barrier (__tree_barrier::_M_arrive): Remove 656 unnecessary hasher instantiation. 657 6582021-06-07 Avi Kivity <avi@scylladb.com> 659 660 Backported from master: 661 2021-06-07 Avi Kivity <avi@scylladb.com> 662 663 PR libstdc++/100900 664 * include/std/ranges (elements_view::__iter_cat::_S_iter_cat): 665 Add missing typename. 666 6672021-06-02 Jonathan Wakely <jwakely@redhat.com> 668 669 Backported from master: 670 2021-05-20 Jonathan Wakely <jwakely@redhat.com> 671 672 PR libstdc++/100676 673 * include/bits/c++config (__glibcxx_assert_1): Rename to ... 674 (__glibcxx_constexpr_assert): ... this. 675 (__glibcxx_assert_impl): Use __glibcxx_constexpr_assert. 676 (__glibcxx_assert): Define as either __glibcxx_constexpr_assert 677 or __glibcxx_assert_impl. 678 (__glibcxx_assert_2): Remove 679 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use 680 __glibcxx_constexpr_assert instead of __glibcxx_assert_1. 681 * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 682 Adjust expected error. 683 * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: 684 Likewise. 685 * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 686 Likewise. 687 Likewise. 688 * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 689 Likewise. 690 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: 691 Likewise. 692 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 693 Likewise. 694 * testsuite/23_containers/span/back_neg.cc: Likewise. 695 * testsuite/23_containers/span/front_neg.cc: Likewise. 696 * testsuite/23_containers/span/index_op_neg.cc: Likewise. 697 6982021-06-02 Jonathan Wakely <jwakely@redhat.com> 699 700 Backported from master: 701 2021-06-01 Jonathan Wakely <jwakely@redhat.com> 702 703 PR libstdc++/100833 704 * include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)): 705 Fix return value for no-op case. 706 * testsuite/24_iterators/range_operations/advance.cc: Test 707 return values of three-argument overload. 708 7092021-06-02 Jonathan Wakely <jwakely@redhat.com> 710 711 Backported from master: 712 2021-05-26 Jonathan Wakely <jwakely@redhat.com> 713 714 PR libstdc++/100768 715 * include/bits/ranges_base.h (advance, distance, next, prev): 716 Replace function templates with function objects. 717 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: 718 Adjust for changes to function objects. 719 * testsuite/std/ranges/adaptors/elements.cc: Add using 720 declarations for names from namespace ranges. 721 * testsuite/std/ranges/adaptors/transform.cc: Likewise. 722 * testsuite/24_iterators/range_operations/100768.cc: New test. 723 7242021-06-02 Jonathan Wakely <jwakely@redhat.com> 725 726 Backported from master: 727 2021-06-01 Jonathan Wakely <jwakely@redhat.com> 728 729 PR libstdc++/99453 730 * python/Makefile.am: Use archive name for printer hook if no 731 dynamic library name is available. 732 * python/Makefile.in: Regenerate. 733 7342021-05-28 David Edelsohn <dje.gcc@gmail.com> 735 736 Backported from master: 737 2021-04-24 David Edelsohn <dje.gcc@gmail.com> 738 739 * testsuite/lib/dg-options.exp (atomic_link_flags): New. 740 (add_options_for_libatomic): Use atomic_link_flags. 741 7422021-05-28 Patrick Palka <ppalka@redhat.com> 743 744 Backported from master: 745 2021-04-30 Patrick Palka <ppalka@redhat.com> 746 747 * include/std/ranges (__detail::__non_propating_cache): Define 748 as per P2328. 749 (join_view): Remove constraints on the value and reference types 750 of the wrapped iterator type as per P2328. 751 (join_view::_Iterator::_M_satisfy): Adjust as per P2328. 752 (join_view::_Iterator::operator++): Likewise. 753 (join_view::_M_inner): Use __non_propating_cache as per P2328. 754 Remove now-redundant use of __maybe_present_t. 755 * testsuite/std/ranges/adaptors/join.cc: Include <array>. 756 (test10): New test. 757 7582021-05-28 Patrick Palka <ppalka@redhat.com> 759 760 Backported from master: 761 2021-05-24 Patrick Palka <ppalka@redhat.com> 762 763 PR libstdc++/100479 764 * include/std/ranges (__detail::__non_propagating_cache): Move 765 definition up to before that of _CachedPosition. Make base 766 class _Optional_base protected instead of private. Add const 767 overload for operator*. 768 (__detail::_CachedPosition): Rewrite the partial specialization 769 for forward ranges as a derived class of __non_propagating_cache. 770 Remove the size constraint on the partial specialization for 771 random access ranges. Add copy/move/copy-assignment/move-assignment 772 members to the offset partial specialization for random 773 access ranges that propagate the cached value but additionally 774 invalidate it in the source object on move. 775 * testsuite/std/ranges/adaptors/100479.cc: New test. 776 7772021-05-20 Joern Rennecke <joern.rennecke@riscy-ip.com> 778 779 PR libstdc++/100361 780 * include/std/charconv (to_chars): Hide the overloads for 781 floating-point types for 16 bit targets. 782 * src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets. 783 * testsuite/20_util/to_chars/double.cc: Run this test only on 784 size32plus targets. 785 * testsuite/20_util/to_chars/float.cc: Likewise. 786 * testsuite/20_util/to_chars/long_double.cc: Likewise. 787 7882021-05-17 Jonathan Wakely <jwakely@redhat.com> 789 790 Backported from master: 791 2021-05-17 Jonathan Wakely <jwakely@redhat.com> 792 793 PR libstdc++/100630 794 * include/experimental/bits/fs_path.h (__is_constructible_from): 795 Test construction from a const lvalue, not an rvalue. 796 * testsuite/27_io/filesystem/path/construct/100630.cc: New test. 797 * testsuite/experimental/filesystem/path/construct/100630.cc: 798 New test. 799 8002021-05-17 Thomas Rodgers <rodgert@twrodgers.com> 801 802 Backported from master: 803 2021-05-17 Thomas Rodgers <rodgert@twrodgers.com> 804 805 * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop 806 until value change observed. 807 (__waiter_base::_M_laundered): New member. 808 (__waiter_base::_M_notify): Check _M_laundered to determine 809 whether to wake one or all. 810 (__detail::__atomic_compare): Return true if call to 811 __builtin_memcmp() == 0. 812 (__waiter_base::_S_do_spin_v): Adjust predicate. 813 * testsuite/29_atomics/atomic/wait_notify/100334.cc: New 814 test. 815 8162021-05-12 Patrick Palka <ppalka@redhat.com> 817 818 Backported from master: 819 2021-04-30 Patrick Palka <ppalka@redhat.com> 820 821 * include/bits/ranges_util.h (subrange::subrange): Avoid 822 list-initialization in delegating constructor. 823 * include/std/ranges (single_view): Replace implicit guide 824 with explicit deduction guide that decays its argument. 825 (_Single::operator()): Avoid CTAD when constructing the 826 single_view object. 827 (_Iota::operator()): Avoid list-initialization. 828 (__detail::__can_filter_view, _Filter::operator()): Likewise. 829 (__detail::__can_transform_view, _Transform::operator()): Likewise. 830 (take_view::begin): Likewise. 831 (__detail::__can_take_view, _Take::operator()): Likewise. 832 (__detail::__can_take_while_view, _TakeWhile::operator()): Likewise. 833 (__detail::__can_drop_view, _Drop::operator()): Likewise. 834 (__detail::__can_drop_while_view, _DropWhile::operator()): Likewise. 835 (split_view::split_view): Use views::single when initializing 836 _M_pattern. 837 (__detail::__can_split_view, _Split::operator()): Avoid 838 list-initialization. 839 (_Counted::operator()): Likewise. 840 * testsuite/std/ranges/p2367.cc: New test. 841 8422021-05-11 Jonathan Wakely <jwakely@redhat.com> 843 844 Backported from master: 845 2021-05-11 Jonathan Wakely <jwakely@redhat.com> 846 847 * testsuite/20_util/headers/memory/synopsis.cc: Define C++98 848 alternative for macro. 849 * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective 850 target keyword. 851 * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11 852 syntax. 853 8542021-05-11 Jonathan Wakely <jwakely@redhat.com> 855 856 Backported from master: 857 2021-05-11 Jonathan Wakely <jwakely@redhat.com> 858 859 * include/bits/allocator.h (allocator<void>) [C++20]: Add 860 missing noexcept to constructor. Restore missing POCMA and 861 is_always_equal_traits. 862 [C++17]: Make construct and destroy members private and 863 declare allocator_traits as a friend. 864 * include/bits/memoryfwd.h (allocator_traits): Declare. 865 * include/ext/malloc_allocator.h (malloc_allocator::allocate): 866 Add nodiscard attribute. Add static assertion for LWG 3307. 867 * include/ext/new_allocator.h (new_allocator::allocate): Add 868 static assertion for LWG 3307. 869 * testsuite/20_util/allocator/void.cc: Check that converting 870 constructor is noexcept. Check for propagation traits and 871 size_type and difference_type. Check that pointer and 872 const_pointer are gone in C++20. 873 8742021-05-11 Jonathan Wakely <jwakely@redhat.com> 875 876 Backported from master: 877 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 878 879 * include/std/stop_token: Remove TODO comment. 880 8812021-05-11 Jonathan Wakely <jwakely@redhat.com> 882 883 Backported from master: 884 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 885 886 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): 887 Initialize a non-reference deleter from an rvalue, as per LWG 888 3548. 889 (__shared_ptr::_UniqCompatible): Add missing constraint. 890 * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test. 891 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check 892 constraints. 893 8942021-05-11 Jonathan Wakely <jwakely@redhat.com> 895 896 Backported from master: 897 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 898 899 * testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove 900 -std=gnu++17 from dg-options directive. 901 * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: 902 Likewise. 903 * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: 904 Likewise. 905 * testsuite/17_intro/headers/c++2017/operator_names.cc: 906 Likewise. 907 * testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise. 908 * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise. 909 * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: 910 Likewise. 911 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. 912 * testsuite/18_support/byte/81076.cc: Likewise. 913 * testsuite/18_support/byte/global_neg.cc: Likewise. 914 * testsuite/18_support/byte/ops.cc: Likewise. 915 * testsuite/18_support/byte/requirements.cc: Likewise. 916 * testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise. 917 * testsuite/18_support/launder/1.cc: Likewise. 918 * testsuite/18_support/launder/nodiscard.cc: Likewise. 919 * testsuite/18_support/launder/requirements.cc: Likewise. 920 * testsuite/18_support/launder/requirements_neg.cc: Likewise. 921 * testsuite/18_support/new_aligned.cc: Likewise. 922 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 923 Likewise. 924 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: 925 Likewise. 926 * testsuite/19_diagnostics/error_condition/hash.cc: Likewise. 927 * testsuite/20_util/addressof/requirements/constexpr.cc: 928 Likewise. 929 * testsuite/20_util/as_const/1.cc: Likewise. 930 * testsuite/20_util/as_const/rvalue_neg.cc: Likewise. 931 * testsuite/20_util/bind/83427.cc: Likewise. 932 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. 933 * testsuite/20_util/bool_constant/requirements.cc: Likewise. 934 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: 935 Likewise. 936 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: 937 Likewise. 938 * testsuite/20_util/duration_cast/rounding.cc: Likewise. 939 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: 940 Likewise. 941 * testsuite/20_util/from_chars/1_neg.cc: Likewise. 942 * testsuite/20_util/from_chars/requirements.cc: Likewise. 943 * testsuite/20_util/function/91456.cc: Likewise. 944 * testsuite/20_util/function/cons/deduction.cc: Likewise. 945 * testsuite/20_util/function_objects/83607.cc: Likewise. 946 * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. 947 * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. 948 * testsuite/20_util/function_objects/not_fn/1.cc: Likewise. 949 * testsuite/20_util/function_objects/not_fn/87538.cc: Likewise. 950 * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: 951 Likewise. 952 * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: 953 Likewise. 954 * testsuite/20_util/has_unique_object_representations/value.cc: 955 Likewise. 956 * testsuite/20_util/hash/nullptr.cc: Likewise. 957 * testsuite/20_util/in_place/requirements.cc: Likewise. 958 * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. 959 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: 960 Likewise. 961 * testsuite/20_util/is_aggregate/requirements/typedefs.cc: 962 Likewise. 963 * testsuite/20_util/is_aggregate/value.cc: Likewise. 964 * testsuite/20_util/is_invocable/83395.cc: Likewise. 965 * testsuite/20_util/is_invocable/91456.cc: Likewise. 966 * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc: 967 Likewise. 968 * testsuite/20_util/is_invocable/requirements/typedefs.cc: 969 Likewise. 970 * testsuite/20_util/is_invocable/value.cc: Likewise. 971 * testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise. 972 * testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise. 973 * testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise. 974 * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc: 975 Likewise. 976 * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise. 977 * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise. 978 * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: 979 Likewise. 980 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: 981 Likewise. 982 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. 983 * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: 984 Likewise. 985 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: 986 Likewise. 987 * testsuite/20_util/is_nothrow_swappable_with/value.cc: 988 Likewise. 989 * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: 990 Likewise. 991 * testsuite/20_util/is_swappable/requirements/typedefs.cc: 992 Likewise. 993 * testsuite/20_util/is_swappable/value.cc: Likewise. 994 * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: 995 Likewise. 996 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: 997 Likewise. 998 * testsuite/20_util/is_swappable_with/value.cc: Likewise. 999 * testsuite/20_util/logical_traits/83134.cc: Likewise. 1000 * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: 1001 Likewise. 1002 * testsuite/20_util/logical_traits/requirements/typedefs.cc: 1003 Likewise. 1004 * testsuite/20_util/logical_traits/value.cc: Likewise. 1005 * testsuite/20_util/pair/cons/deduction.cc: Likewise. 1006 * testsuite/20_util/pair/swap_cxx17.cc: Likewise. 1007 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: 1008 Likewise. 1009 * testsuite/20_util/reference_wrapper/83427.cc: Likewise. 1010 * testsuite/20_util/reference_wrapper/deduction.cc: Likewise. 1011 * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. 1012 * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. 1013 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: 1014 Likewise. 1015 * testsuite/20_util/time_point/arithmetic/constexpr.cc: 1016 Likewise. 1017 * testsuite/20_util/time_point_cast/rounding.cc: Likewise. 1018 * testsuite/20_util/to_chars/3.cc: Likewise. 1019 * testsuite/20_util/to_chars/chars_format.cc: Likewise. 1020 * testsuite/20_util/to_chars/lwg3266.cc: Likewise. 1021 * testsuite/20_util/to_chars/requirements.cc: Likewise. 1022 * testsuite/20_util/tuple/78939.cc: Likewise. 1023 * testsuite/20_util/tuple/apply/1.cc: Likewise. 1024 * testsuite/20_util/tuple/apply/2.cc: Likewise. 1025 * testsuite/20_util/tuple/cons/deduction.cc: Likewise. 1026 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. 1027 * testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise. 1028 * testsuite/20_util/tuple/swap_cxx17.cc: Likewise. 1029 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. 1030 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. 1031 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: 1032 Likewise. 1033 * testsuite/20_util/variable_templates_for_traits.cc: Likewise. 1034 * testsuite/20_util/void_t/1.cc: Likewise. 1035 * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. 1036 * testsuite/24_iterators/container_access.cc: Likewise. 1037 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: 1038 Likewise. 1039 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: 1040 Likewise. 1041 * testsuite/24_iterators/range_access/range_access_cpp17.cc: 1042 Likewise. 1043 * testsuite/24_iterators/range_access/range_access_cpp17_neg.cc: 1044 Likewise. 1045 * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. 1046 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: 1047 Likewise. 1048 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. 1049 * testsuite/26_numerics/headers/cmath/special_functions_global.cc: 1050 Likewise. 1051 * testsuite/26_numerics/lcm/1.cc: Likewise. 1052 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 1053 * testsuite/26_numerics/valarray/deduction.cc: Likewise. 1054 * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: 1055 Likewise. 1056 * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: 1057 Likewise. 1058 * testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc: 1059 Likewise. 1060 * testsuite/27_io/types/4.cc: Likewise. 1061 * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. 1062 * testsuite/libstdc++-prettyprinters/91997.cc: Likewise. 1063 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. 1064 10652021-05-11 Jonathan Wakely <jwakely@redhat.com> 1066 1067 Backported from master: 1068 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1069 1070 * testsuite/20_util/function_objects/searchers.cc: Remove 1071 -std=gnu++17 from dg-options directive. 1072 * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: 1073 Likewise. 1074 * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 1075 Likewise. 1076 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: 1077 Likewise. 1078 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc: 1079 Likewise. 1080 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: 1081 Likewise. 1082 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: 1083 Likewise. 1084 * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc: 1085 Likewise. 1086 * testsuite/25_algorithms/clamp/1.cc: Likewise. 1087 * testsuite/25_algorithms/clamp/2.cc: Likewise. 1088 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. 1089 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: 1090 Likewise. 1091 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc: 1092 Likewise. 1093 * testsuite/25_algorithms/for_each/for_each_n.cc: Likewise. 1094 * testsuite/25_algorithms/for_each/for_each_n_debug.cc: 1095 Likewise. 1096 * testsuite/25_algorithms/sample/1.cc: Likewise. 1097 * testsuite/25_algorithms/sample/2.cc: Likewise. 1098 * testsuite/25_algorithms/sample/3.cc: Likewise. 1099 * testsuite/25_algorithms/sample/81221.cc: Likewise. 1100 * testsuite/25_algorithms/search/searcher.cc: Likewise. 1101 * testsuite/26_numerics/exclusive_scan/1.cc: Likewise. 1102 * testsuite/26_numerics/inclusive_scan/1.cc: Likewise. 1103 * testsuite/26_numerics/reduce/1.cc: Likewise. 1104 * testsuite/26_numerics/reduce/2.cc: Likewise. 1105 * testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise. 1106 * testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise. 1107 * testsuite/26_numerics/transform_reduce/1.cc: Likewise. 1108 11092021-05-11 Jonathan Wakely <jwakely@redhat.com> 1110 1111 Backported from master: 1112 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1113 1114 * testsuite/23_containers/array/cons/deduction.cc: Remove 1115 -std=gnu++17 from dg-options directive. 1116 * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. 1117 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: 1118 Likewise. 1119 * testsuite/23_containers/array/requirements/constexpr_iter.cc: 1120 Likewise. 1121 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: 1122 Likewise. 1123 * testsuite/23_containers/deque/cons/deduction.cc: Likewise. 1124 * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: 1125 Likewise. 1126 * testsuite/23_containers/forward_list/cons/deduction.cc: 1127 Likewise. 1128 * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: 1129 Likewise. 1130 * testsuite/23_containers/list/cons/deduction.cc: Likewise. 1131 * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: 1132 Likewise. 1133 * testsuite/23_containers/map/cons/deduction.cc: Likewise. 1134 * testsuite/23_containers/map/modifiers/extract.cc: Likewise. 1135 * testsuite/23_containers/map/modifiers/insert/83226.cc: 1136 Likewise. 1137 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 1138 Likewise. 1139 * testsuite/23_containers/map/modifiers/merge.cc: Likewise. 1140 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: 1141 Likewise. 1142 * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. 1143 * testsuite/23_containers/multimap/modifiers/extract.cc: 1144 Likewise. 1145 * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise. 1146 * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. 1147 * testsuite/23_containers/multiset/modifiers/extract.cc: 1148 Likewise. 1149 * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise. 1150 * testsuite/23_containers/priority_queue/deduction.cc: Likewise. 1151 * testsuite/23_containers/queue/deduction.cc: Likewise. 1152 * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: 1153 Likewise. 1154 * testsuite/23_containers/set/cons/deduction.cc: Likewise. 1155 * testsuite/23_containers/set/modifiers/extract.cc: Likewise. 1156 * testsuite/23_containers/set/modifiers/merge.cc: Likewise. 1157 * testsuite/23_containers/set/modifiers/node_swap.cc: Likewise. 1158 * testsuite/23_containers/stack/deduction.cc: Likewise. 1159 * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: 1160 Likewise. 1161 * testsuite/23_containers/unordered_map/cons/deduction.cc: 1162 Likewise. 1163 * testsuite/23_containers/unordered_map/modifiers/extract.cc: 1164 Likewise. 1165 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 1166 Likewise. 1167 * testsuite/23_containers/unordered_map/modifiers/merge.cc: 1168 Likewise. 1169 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 1170 Likewise. 1171 * testsuite/23_containers/unordered_multimap/cons/deduction.cc: 1172 Likewise. 1173 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: 1174 Likewise. 1175 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: 1176 Likewise. 1177 * testsuite/23_containers/unordered_multiset/cons/deduction.cc: 1178 Likewise. 1179 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: 1180 Likewise. 1181 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: 1182 Likewise. 1183 * testsuite/23_containers/unordered_set/cons/deduction.cc: 1184 Likewise. 1185 * testsuite/23_containers/unordered_set/modifiers/extract.cc: 1186 Likewise. 1187 * testsuite/23_containers/unordered_set/modifiers/merge.cc: 1188 Likewise. 1189 * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: 1190 Likewise. 1191 * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise. 1192 * testsuite/23_containers/vector/cons/deduction.cc: Likewise. 1193 * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: 1194 Likewise. 1195 11962021-05-11 Jonathan Wakely <jwakely@redhat.com> 1197 1198 Backported from master: 1199 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1200 1201 * testsuite/21_strings/basic_string/79162.cc: Remove 1202 -std=gnu++17 from dg-options directive. 1203 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. 1204 * testsuite/21_strings/basic_string/cons/char/79162.cc: 1205 Likewise. 1206 * testsuite/21_strings/basic_string/cons/char/86138.cc: 1207 Likewise. 1208 * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. 1209 * testsuite/21_strings/basic_string/cons/char/deduction.cc: 1210 Likewise. 1211 * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: 1212 Likewise. 1213 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. 1214 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: 1215 Likewise. 1216 * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: 1217 Likewise. 1218 * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. 1219 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 1220 Likewise. 1221 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: 1222 Likewise. 1223 * testsuite/21_strings/basic_string/hash/hash.cc: Likewise. 1224 * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. 1225 * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. 1226 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: 1227 Likewise. 1228 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: 1229 Likewise. 1230 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: 1231 Likewise. 1232 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: 1233 Likewise. 1234 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: 1235 Likewise. 1236 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: 1237 Likewise. 1238 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: 1239 Likewise. 1240 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: 1241 Likewise. 1242 * testsuite/21_strings/basic_string/operations/compare/char/2.cc: 1243 Likewise. 1244 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: 1245 Likewise. 1246 * testsuite/21_strings/basic_string/operations/data/char/2.cc: 1247 Likewise. 1248 * testsuite/21_strings/basic_string/operations/data/char/86169.cc: 1249 Likewise. 1250 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: 1251 Likewise. 1252 * testsuite/21_strings/basic_string/operations/find/char/5.cc: 1253 Likewise. 1254 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: 1255 Likewise. 1256 * testsuite/21_strings/basic_string/operators/char/5.cc: 1257 Likewise. 1258 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: 1259 Likewise. 1260 * testsuite/21_strings/basic_string_view/capacity/1.cc: 1261 Likewise. 1262 * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: 1263 Likewise. 1264 * testsuite/21_strings/basic_string_view/cons/char/1.cc: 1265 Likewise. 1266 * testsuite/21_strings/basic_string_view/cons/char/2.cc: 1267 Likewise. 1268 * testsuite/21_strings/basic_string_view/cons/char/3.cc: 1269 Likewise. 1270 * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: 1271 Likewise. 1272 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: 1273 Likewise. 1274 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: 1275 Likewise. 1276 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: 1277 Likewise. 1278 * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: 1279 Likewise. 1280 * testsuite/21_strings/basic_string_view/element_access/char/1.cc: 1281 Likewise. 1282 * testsuite/21_strings/basic_string_view/element_access/char/2.cc: 1283 Likewise. 1284 * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 1285 Likewise. 1286 * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: 1287 Likewise. 1288 * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: 1289 Likewise. 1290 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: 1291 Likewise. 1292 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: 1293 Likewise. 1294 * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc: 1295 Likewise. 1296 * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 1297 Likewise. 1298 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: 1299 Likewise. 1300 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: 1301 Likewise. 1302 * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 1303 Likewise. 1304 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: 1305 Likewise. 1306 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: 1307 Likewise. 1308 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: 1309 Likewise. 1310 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: 1311 Likewise. 1312 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 1313 Likewise. 1314 * testsuite/21_strings/basic_string_view/include.cc: Likewise. 1315 * testsuite/21_strings/basic_string_view/inserters/94051.cc: 1316 Likewise. 1317 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: 1318 Likewise. 1319 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: 1320 Likewise. 1321 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: 1322 Likewise. 1323 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: 1324 Likewise. 1325 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: 1326 Likewise. 1327 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: 1328 Likewise. 1329 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: 1330 Likewise. 1331 * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc: 1332 Likewise. 1333 * testsuite/21_strings/basic_string_view/literals/types.cc: 1334 Likewise. 1335 * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc: 1336 Likewise. 1337 * testsuite/21_strings/basic_string_view/literals/values.cc: 1338 Likewise. 1339 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: 1340 Likewise. 1341 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: 1342 Likewise. 1343 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: 1344 Likewise. 1345 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: 1346 Likewise. 1347 * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 1348 Likewise. 1349 * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 1350 Likewise. 1351 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: 1352 Likewise. 1353 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: 1354 Likewise. 1355 * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: 1356 Likewise. 1357 * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: 1358 Likewise. 1359 * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: 1360 Likewise. 1361 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: 1362 Likewise. 1363 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: 1364 Likewise. 1365 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: 1366 Likewise. 1367 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: 1368 Likewise. 1369 * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc: 1370 Likewise. 1371 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: 1372 Likewise. 1373 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc: 1374 Likewise. 1375 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: 1376 Likewise. 1377 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: 1378 Likewise. 1379 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: 1380 Likewise. 1381 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: 1382 Likewise. 1383 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: 1384 Likewise. 1385 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: 1386 Likewise. 1387 * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: 1388 Likewise. 1389 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: 1390 Likewise. 1391 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: 1392 Likewise. 1393 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: 1394 Likewise. 1395 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: 1396 Likewise. 1397 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: 1398 Likewise. 1399 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: 1400 Likewise. 1401 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: 1402 Likewise. 1403 * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: 1404 Likewise. 1405 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: 1406 Likewise. 1407 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: 1408 Likewise. 1409 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: 1410 Likewise. 1411 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: 1412 Likewise. 1413 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: 1414 Likewise. 1415 * testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc: 1416 Likewise. 1417 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: 1418 Likewise. 1419 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc: 1420 Likewise. 1421 * testsuite/21_strings/basic_string_view/operators/char/2.cc: 1422 Likewise. 1423 * testsuite/21_strings/basic_string_view/operators/char/89446.cc: 1424 Likewise. 1425 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: 1426 Likewise. 1427 * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc: 1428 Likewise. 1429 * testsuite/21_strings/basic_string_view/range_access/char/1.cc: 1430 Likewise. 1431 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 1432 Likewise. 1433 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: 1434 Likewise. 1435 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: 1436 Likewise. 1437 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: 1438 Likewise. 1439 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: 1440 Likewise. 1441 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: 1442 Likewise. 1443 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: 1444 Likewise. 1445 * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc: 1446 Likewise. 1447 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: 1448 Likewise. 1449 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. 1450 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. 1451 * testsuite/21_strings/char_traits/requirements/char/99181.cc: 1452 Likewise. 1453 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 1454 14552021-05-11 Jonathan Wakely <jwakely@redhat.com> 1456 1457 Backported from master: 1458 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1459 1460 * testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17 1461 from dg-options directive. 1462 * testsuite/20_util/memory_resource/2.cc: Likewise. 1463 * testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise. 1464 * testsuite/20_util/monotonic_buffer_resource/93208.cc: 1465 Likewise. 1466 * testsuite/20_util/monotonic_buffer_resource/allocate.cc: 1467 Likewise. 1468 * testsuite/20_util/monotonic_buffer_resource/deallocate.cc: 1469 Likewise. 1470 * testsuite/20_util/monotonic_buffer_resource/release.cc: 1471 Likewise. 1472 * testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc: 1473 Likewise. 1474 * testsuite/20_util/polymorphic_allocator/1.cc: Likewise. 1475 * testsuite/20_util/polymorphic_allocator/construct_pair.cc: 1476 Likewise. 1477 * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise. 1478 * testsuite/20_util/polymorphic_allocator/select.cc: Likewise. 1479 * testsuite/20_util/synchronized_pool_resource/allocate.cc: 1480 Likewise. 1481 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: 1482 Likewise. 1483 * testsuite/20_util/synchronized_pool_resource/cons.cc: 1484 Likewise. 1485 * testsuite/20_util/synchronized_pool_resource/cons_single.cc: 1486 Likewise. 1487 * testsuite/20_util/synchronized_pool_resource/is_equal.cc: 1488 Likewise. 1489 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: 1490 Likewise. 1491 * testsuite/20_util/synchronized_pool_resource/options.cc: 1492 Likewise. 1493 * testsuite/20_util/synchronized_pool_resource/release.cc: 1494 Likewise. 1495 * testsuite/20_util/synchronized_pool_resource/release_single.cc: 1496 Likewise. 1497 * testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc: 1498 Likewise. 1499 * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: 1500 Likewise. 1501 * testsuite/20_util/unsynchronized_pool_resource/cons.cc: 1502 Likewise. 1503 * testsuite/20_util/unsynchronized_pool_resource/is_equal.cc: 1504 Likewise. 1505 * testsuite/20_util/unsynchronized_pool_resource/options.cc: 1506 Likewise. 1507 * testsuite/20_util/unsynchronized_pool_resource/release.cc: 1508 Likewise. 1509 * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: 1510 Likewise. 1511 * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. 1512 * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: 1513 Likewise. 1514 * testsuite/23_containers/forward_list/pmr_typedefs.cc: 1515 Likewise. 1516 * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: 1517 Likewise. 1518 * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. 1519 * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise. 1520 * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. 1521 * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise. 1522 * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. 1523 * testsuite/23_containers/multimap/pmr_typedefs_debug.cc: 1524 Likewise. 1525 * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. 1526 * testsuite/23_containers/multiset/pmr_typedefs_debug.cc: 1527 Likewise. 1528 * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. 1529 * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise. 1530 * testsuite/23_containers/unordered_map/pmr_typedefs.cc: 1531 Likewise. 1532 * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc: 1533 Likewise. 1534 * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: 1535 Likewise. 1536 * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc: 1537 Likewise. 1538 * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: 1539 Likewise. 1540 * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc: 1541 Likewise. 1542 * testsuite/23_containers/unordered_set/pmr_typedefs.cc: 1543 Likewise. 1544 * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc: 1545 Likewise. 1546 * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. 1547 * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: 1548 Likewise. 1549 * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. 1550 15512021-05-11 Jonathan Wakely <jwakely@redhat.com> 1552 1553 Backported from master: 1554 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1555 1556 * testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from 1557 dg-options. 1558 * testsuite/29_atomics/atomic/is_always_lock_free.cc: 1559 * testsuite/29_atomics/atomic/requirements/typedefs.cc: 1560 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: 1561 * testsuite/29_atomics/atomic_integral/requirements/typedefs.cc: 1562 * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. 1563 * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. 1564 * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. 1565 * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: 1566 Likewise. 1567 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: 1568 Likewise. 1569 * testsuite/30_threads/shared_lock/70766.cc: Likewise. 1570 * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. 1571 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: 1572 Likewise. 1573 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise. 1574 * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: 1575 Likewise. 1576 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. 1577 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. 1578 * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. 1579 * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. 1580 15812021-05-11 Jonathan Wakely <jwakely@redhat.com> 1582 1583 Backported from master: 1584 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1585 1586 * testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from 1587 dg-options directive. 1588 * testsuite/20_util/any/assign/2.cc: Likewise. 1589 * testsuite/20_util/any/assign/emplace.cc: Likewise. 1590 * testsuite/20_util/any/assign/exception.cc: Likewise. 1591 * testsuite/20_util/any/assign/self.cc: Likewise. 1592 * testsuite/20_util/any/cons/1.cc: Likewise. 1593 * testsuite/20_util/any/cons/2.cc: Likewise. 1594 * testsuite/20_util/any/cons/90415.cc: Likewise. 1595 * testsuite/20_util/any/cons/92156.cc: Likewise. 1596 * testsuite/20_util/any/cons/aligned.cc: Likewise. 1597 * testsuite/20_util/any/cons/explicit.cc: Likewise. 1598 * testsuite/20_util/any/cons/in_place.cc: Likewise. 1599 * testsuite/20_util/any/cons/nontrivial.cc: Likewise. 1600 * testsuite/20_util/any/make_any.cc: Likewise. 1601 * testsuite/20_util/any/misc/any_cast.cc: Likewise. 1602 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise. 1603 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. 1604 * testsuite/20_util/any/misc/swap.cc: Likewise. 1605 * testsuite/20_util/any/modifiers/1.cc: Likewise. 1606 * testsuite/20_util/any/modifiers/83658.cc: Likewise. 1607 * testsuite/20_util/any/modifiers/92156.cc: Likewise. 1608 * testsuite/20_util/any/observers/type.cc: Likewise. 1609 * testsuite/20_util/any/requirements.cc: Likewise. 1610 * testsuite/20_util/any/typedefs.cc: Likewise. 1611 * testsuite/20_util/optional/77288.cc: Likewise. 1612 * testsuite/20_util/optional/84601.cc: Likewise. 1613 * testsuite/20_util/optional/assignment/1.cc: Likewise. 1614 * testsuite/20_util/optional/assignment/2.cc: Likewise. 1615 * testsuite/20_util/optional/assignment/3.cc: Likewise. 1616 * testsuite/20_util/optional/assignment/4.cc: Likewise. 1617 * testsuite/20_util/optional/assignment/5.cc: Likewise. 1618 * testsuite/20_util/optional/assignment/6.cc: Likewise. 1619 * testsuite/20_util/optional/assignment/7.cc: Likewise. 1620 * testsuite/20_util/optional/assignment/8.cc: Likewise. 1621 * testsuite/20_util/optional/assignment/9.cc: Likewise. 1622 * testsuite/20_util/optional/bad_access.cc: Likewise. 1623 * testsuite/20_util/optional/cons/77727.cc: Likewise. 1624 * testsuite/20_util/optional/cons/85642.cc: Likewise. 1625 * testsuite/20_util/optional/cons/copy.cc: Likewise. 1626 * testsuite/20_util/optional/cons/deduction.cc: Likewise. 1627 * testsuite/20_util/optional/cons/default.cc: Likewise. 1628 * testsuite/20_util/optional/cons/move.cc: Likewise. 1629 * testsuite/20_util/optional/cons/trivial.cc: Likewise. 1630 * testsuite/20_util/optional/cons/value.cc: Likewise. 1631 * testsuite/20_util/optional/cons/value_neg.cc: Likewise. 1632 * testsuite/20_util/optional/constexpr/cons/default.cc: 1633 Likewise. 1634 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. 1635 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise. 1636 * testsuite/20_util/optional/constexpr/make_optional.cc: 1637 Likewise. 1638 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise. 1639 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. 1640 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. 1641 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. 1642 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. 1643 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. 1644 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. 1645 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. 1646 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. 1647 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. 1648 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. 1649 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. 1650 * testsuite/20_util/optional/hash.cc: Likewise. 1651 * testsuite/20_util/optional/in_place.cc: Likewise. 1652 * testsuite/20_util/optional/make_optional.cc: Likewise. 1653 * testsuite/20_util/optional/nullopt.cc: Likewise. 1654 * testsuite/20_util/optional/observers/1.cc: Likewise. 1655 * testsuite/20_util/optional/observers/2.cc: Likewise. 1656 * testsuite/20_util/optional/observers/3.cc: Likewise. 1657 * testsuite/20_util/optional/observers/4.cc: Likewise. 1658 * testsuite/20_util/optional/observers/5.cc: Likewise. 1659 * testsuite/20_util/optional/observers/6.cc: Likewise. 1660 * testsuite/20_util/optional/relops/1.cc: Likewise. 1661 * testsuite/20_util/optional/relops/2.cc: Likewise. 1662 * testsuite/20_util/optional/relops/3.cc: Likewise. 1663 * testsuite/20_util/optional/relops/4.cc: Likewise. 1664 * testsuite/20_util/optional/relops/5.cc: Likewise. 1665 * testsuite/20_util/optional/relops/6.cc: Likewise. 1666 * testsuite/20_util/optional/relops/7.cc: Likewise. 1667 * testsuite/20_util/optional/requirements.cc: Likewise. 1668 * testsuite/20_util/optional/swap/1.cc: Likewise. 1669 * testsuite/20_util/optional/swap/2.cc: Likewise. 1670 * testsuite/20_util/optional/typedefs.cc: Likewise. 1671 * testsuite/20_util/variant/80165.cc: Likewise. 1672 * testsuite/20_util/variant/85183.cc: Likewise. 1673 * testsuite/20_util/variant/86874.cc: Likewise. 1674 * testsuite/20_util/variant/87431.cc: Likewise. 1675 * testsuite/20_util/variant/87619.cc: Likewise. 1676 * testsuite/20_util/variant/91807.cc: Likewise. 1677 * testsuite/20_util/variant/any.cc: Likewise. 1678 * testsuite/20_util/variant/compile.cc: Likewise. 1679 * testsuite/20_util/variant/deduction.cc: Likewise. 1680 * testsuite/20_util/variant/exception_safety.cc: Likewise. 1681 * testsuite/20_util/variant/hash.cc: Likewise. 1682 * testsuite/20_util/variant/index_type.cc: Likewise. 1683 * testsuite/20_util/variant/relops/89851.cc: Likewise. 1684 * testsuite/20_util/variant/relops/90008.cc: Likewise. 1685 * testsuite/20_util/variant/run.cc: Likewise. 1686 * testsuite/20_util/variant/visit.cc: Likewise. 1687 16882021-05-11 Jonathan Wakely <jwakely@redhat.com> 1689 1690 Backported from master: 1691 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1692 1693 * testsuite/27_io/basic_filebuf/open/char/path.cc: Remove 1694 -std=gnu++17 from dg-options directive. 1695 * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. 1696 * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. 1697 * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. 1698 * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. 1699 * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise. 1700 * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise. 1701 * testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise. 1702 * testsuite/27_io/filesystem/directory_entry/lwg3171.cc: 1703 Likewise. 1704 * testsuite/27_io/filesystem/file_status/1.cc: Likewise. 1705 * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise. 1706 * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise. 1707 * testsuite/27_io/filesystem/iterators/91067.cc: Likewise. 1708 * testsuite/27_io/filesystem/iterators/caching.cc: Likewise. 1709 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: 1710 Likewise. 1711 * testsuite/27_io/filesystem/iterators/pop.cc: Likewise. 1712 * testsuite/27_io/filesystem/iterators/recursion_pending.cc: 1713 Likewise. 1714 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 1715 Likewise. 1716 * testsuite/27_io/filesystem/operations/absolute.cc: Likewise. 1717 * testsuite/27_io/filesystem/operations/all.cc: Likewise. 1718 * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. 1719 * testsuite/27_io/filesystem/operations/copy.cc: Likewise. 1720 * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise. 1721 * testsuite/27_io/filesystem/operations/create_directories.cc: 1722 Likewise. 1723 * testsuite/27_io/filesystem/operations/create_directory.cc: 1724 Likewise. 1725 * testsuite/27_io/filesystem/operations/create_symlink.cc: 1726 Likewise. 1727 * testsuite/27_io/filesystem/operations/current_path.cc: 1728 Likewise. 1729 * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise. 1730 * testsuite/27_io/filesystem/operations/exists.cc: Likewise. 1731 * testsuite/27_io/filesystem/operations/file_size.cc: Likewise. 1732 * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. 1733 * testsuite/27_io/filesystem/operations/last_write_time.cc: 1734 Likewise. 1735 * testsuite/27_io/filesystem/operations/permissions.cc: 1736 Likewise. 1737 * testsuite/27_io/filesystem/operations/proximate.cc: Likewise. 1738 * testsuite/27_io/filesystem/operations/read_symlink.cc: 1739 Likewise. 1740 * testsuite/27_io/filesystem/operations/relative.cc: Likewise. 1741 * testsuite/27_io/filesystem/operations/remove.cc: Likewise. 1742 * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise. 1743 * testsuite/27_io/filesystem/operations/rename.cc: Likewise. 1744 * testsuite/27_io/filesystem/operations/resize_file.cc: 1745 Likewise. 1746 * testsuite/27_io/filesystem/operations/space.cc: Likewise. 1747 * testsuite/27_io/filesystem/operations/status.cc: Likewise. 1748 * testsuite/27_io/filesystem/operations/symlink_status.cc: 1749 Likewise. 1750 * testsuite/27_io/filesystem/operations/temp_directory_path.cc: 1751 Likewise. 1752 * testsuite/27_io/filesystem/operations/weakly_canonical.cc: 1753 Likewise. 1754 * testsuite/27_io/filesystem/path/append/path.cc: Likewise. 1755 * testsuite/27_io/filesystem/path/append/source.cc: Likewise. 1756 * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise. 1757 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. 1758 * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise. 1759 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. 1760 * testsuite/27_io/filesystem/path/compare/path.cc: Likewise. 1761 * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise. 1762 * testsuite/27_io/filesystem/path/concat/92853.cc: Likewise. 1763 * testsuite/27_io/filesystem/path/concat/94063.cc: Likewise. 1764 * testsuite/27_io/filesystem/path/concat/path.cc: Likewise. 1765 * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise. 1766 * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise. 1767 * testsuite/27_io/filesystem/path/construct/90281.cc: Likewise. 1768 * testsuite/27_io/filesystem/path/construct/90634.cc: Likewise. 1769 * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise. 1770 * testsuite/27_io/filesystem/path/construct/default.cc: 1771 Likewise. 1772 * testsuite/27_io/filesystem/path/construct/format.cc: Likewise. 1773 * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise. 1774 * testsuite/27_io/filesystem/path/construct/range.cc: Likewise. 1775 * testsuite/27_io/filesystem/path/construct/string_view.cc: 1776 Likewise. 1777 * testsuite/27_io/filesystem/path/decompose/extension.cc: 1778 Likewise. 1779 * testsuite/27_io/filesystem/path/decompose/filename.cc: 1780 Likewise. 1781 * testsuite/27_io/filesystem/path/decompose/parent_path.cc: 1782 Likewise. 1783 * testsuite/27_io/filesystem/path/decompose/relative_path.cc: 1784 Likewise. 1785 * testsuite/27_io/filesystem/path/decompose/root_directory.cc: 1786 Likewise. 1787 * testsuite/27_io/filesystem/path/decompose/root_name.cc: 1788 Likewise. 1789 * testsuite/27_io/filesystem/path/decompose/root_path.cc: 1790 Likewise. 1791 * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise. 1792 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: 1793 Likewise. 1794 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. 1795 * testsuite/27_io/filesystem/path/generation/normal.cc: 1796 Likewise. 1797 * testsuite/27_io/filesystem/path/generation/normal2.cc: 1798 Likewise. 1799 * testsuite/27_io/filesystem/path/generation/proximate.cc: 1800 Likewise. 1801 * testsuite/27_io/filesystem/path/generation/relative.cc: 1802 Likewise. 1803 * testsuite/27_io/filesystem/path/generic/94242.cc: Likewise. 1804 * testsuite/27_io/filesystem/path/generic/generic_string.cc: 1805 Likewise. 1806 * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise. 1807 * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise. 1808 * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. 1809 * testsuite/27_io/filesystem/path/itr/components.cc: Likewise. 1810 * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise. 1811 * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise. 1812 * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: 1813 Likewise. 1814 * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: 1815 Likewise. 1816 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: 1817 Likewise. 1818 * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: 1819 Likewise. 1820 * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise. 1821 * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise. 1822 * testsuite/27_io/filesystem/path/native/string-char8_t.cc: 1823 Likewise. 1824 * testsuite/27_io/filesystem/path/native/string.cc: Likewise. 1825 * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise. 1826 * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise. 1827 * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: 1828 Likewise. 1829 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise. 1830 * testsuite/27_io/filesystem/path/query/empty_neg.cc: 1831 * testsuite/27_io/filesystem/path/query/has_extension.cc: 1832 Likewise. 1833 * testsuite/27_io/filesystem/path/query/has_filename.cc: 1834 Likewise. 1835 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: 1836 Likewise. 1837 * testsuite/27_io/filesystem/path/query/has_relative_path.cc: 1838 Likewise. 1839 * testsuite/27_io/filesystem/path/query/has_root_directory.cc: 1840 Likewise. 1841 * testsuite/27_io/filesystem/path/query/has_root_name.cc: 1842 Likewise. 1843 * testsuite/27_io/filesystem/path/query/has_root_path.cc: 1844 Likewise. 1845 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise. 1846 * testsuite/27_io/filesystem/path/query/is_absolute.cc: 1847 Likewise. 1848 * testsuite/27_io/filesystem/path/query/is_relative.cc: 1849 Likewise. 1850 * testsuite/experimental/filesystem/path/construct/string_view.cc: 1851 Likewise. 1852 18532021-05-11 Jonathan Wakely <jwakely@redhat.com> 1854 1855 Backported from master: 1856 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1857 1858 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: 1859 Remove -std=gnu++17 from dg-options. 1860 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: 1861 Likewise. 1862 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: 1863 Likewise. 1864 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: 1865 Likewise. 1866 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. 1867 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: 1868 Likewise. 1869 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: 1870 Likewise. 1871 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: 1872 Likewise. 1873 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: 1874 Likewise. 1875 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: 1876 Likewise. 1877 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: 1878 Likewise. 1879 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: 1880 Likewise. 1881 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: 1882 Likewise. 1883 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: 1884 Likewise. 1885 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: 1886 Likewise. 1887 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: 1888 Likewise. 1889 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: 1890 Likewise. 1891 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: 1892 Likewise. 1893 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: 1894 Likewise. 1895 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: 1896 Likewise. 1897 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: 1898 Likewise. 1899 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: 1900 Likewise. 1901 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: 1902 Likewise. 1903 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: 1904 Likewise. 1905 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: 1906 Likewise. 1907 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: 1908 Likewise. 1909 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: 1910 Likewise. 1911 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: 1912 Likewise. 1913 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: 1914 Likewise. 1915 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: 1916 Likewise. 1917 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: 1918 Likewise. 1919 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: 1920 Likewise. 1921 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: 1922 Likewise. 1923 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: 1924 Likewise. 1925 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: 1926 Likewise. 1927 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: 1928 Likewise. 1929 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: 1930 Likewise. 1931 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: 1932 Likewise. 1933 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: 1934 Likewise. 1935 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: 1936 Likewise. 1937 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise. 1938 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: 1939 Likewise. 1940 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: 1941 Likewise. 1942 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: 1943 Likewise. 1944 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: 1945 Likewise. 1946 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: 1947 Likewise. 1948 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise. 1949 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise. 1950 * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. 1951 * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. 1952 * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. 1953 * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. 1954 * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. 1955 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: 1956 Likewise. 1957 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise. 1958 * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise. 1959 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: 1960 Likewise. 1961 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: 1962 Likewise. 1963 19642021-05-11 Jonathan Wakely <jwakely@redhat.com> 1965 1966 Backported from master: 1967 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1968 1969 * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error 1970 for additional errors in C++20. 1971 * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 1972 Likewise. 1973 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. 1974 * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. 1975 19762021-05-11 Jonathan Wakely <jwakely@redhat.com> 1977 1978 Backported from master: 1979 2021-05-10 Jonathan Wakely <jwakely@redhat.com> 1980 1981 * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid 1982 clash with std::any. 1983 19842021-05-11 Jonathan Wakely <jwakely@redhat.com> 1985 1986 Backported from master: 1987 2021-05-06 Jonathan Wakely <jwakely@redhat.com> 1988 1989 * include/std/type_traits (remove_cvref_t): Define in terms of 1990 remove_cvref. 1991 * testsuite/20_util/remove_cvref/value.cc: Check alias. 1992 19932021-05-11 Jonathan Wakely <jwakely@redhat.com> 1994 1995 Backported from master: 1996 2021-04-22 Jonathan Wakely <jwakely@redhat.com> 1997 1998 PR libstdc++/99006 1999 * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp 2000 is not an array type. 2001 * include/bits/shared_ptr_base.h (__allocate_shared): Likewise. 2002 * testsuite/20_util/shared_ptr/creation/99006.cc: New test. 2003 20042021-05-11 Philippe Blain <levraiphilippeblain@gmail.com> 2005 2006 Backported from master: 2007 2021-04-21 Philippe Blain <levraiphilippeblain@gmail.com> 2008 Jonathan Wakely <jwakely@redhat.com> 2009 2010 PR libstdc++/99453 2011 * python/Makefile.am: Install libstdc++*-gdb.py more robustly. 2012 * python/Makefile.in: Regenerate. 2013 20142021-05-11 Patrick Palka <ppalka@redhat.com> 2015 2016 Backported from master: 2017 2021-05-11 Patrick Palka <ppalka@redhat.com> 2018 2019 * src/c++17/ryu/LOCAL_PATCHES: Update. 2020 * src/c++17/ryu/ryu_generic_128.h: Remove extern "C". 2021 Remove declarations for never-defined functions. 2022 * testsuite/20_util/to_chars/4.cc: New test. 2023 20242021-05-07 Jonathan Wakely <jwakely@redhat.com> 2025 2026 Backported from master: 2027 2021-05-07 Jonathan Wakely <jwakely@redhat.com> 2028 2029 * include/std/istream (__rvalue_stream_extraction_t): Replace 2030 use of __rval_streamable. 2031 * include/std/ostream (__rvalue_stream_insertion_t): Likewise. 2032 (__rval_streamable): Remove. 2033 (_Require_derived_from_ios_base, __derived_from_ios_base): New 2034 helper for checking constraints. 2035 * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix 2036 reference to the wrong subclause of the standard. 2037 * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: 2038 Likewise. 2039 * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: 2040 Likewise. 2041 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: 2042 Likewise. 2043 * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc: 2044 New test. 2045 * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned 2046 errors. 2047 20482021-05-06 Jonathan Wakely <jwakely@redhat.com> 2049 2050 Backported from master: 2051 2021-04-30 Jonathan Wakely <jwakely@redhat.com> 2052 2053 * include/std/istream (operator>>(Istream&&, x&)): Simplify, as 2054 per LWG 1203. 2055 * include/std/ostream (operator<<(Ostream&&, const x&)): 2056 Likewise. 2057 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: 2058 Adjust dg-error pattern. 2059 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: 2060 Likewise. 2061 * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define 2062 is_extractable trait to replace std::__is_extractable. Make it 2063 work with rvalue streams as well as lvalues, to replace f() and 2064 g() helper functions. 2065 * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: 2066 Likewise. 2067 * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: 2068 Define is_insertable trait to replace std::__is_insertable. Make 2069 it work with rvalue streams as well as lvalues, to replace f() 2070 and g() helper functions. 2071 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: 2072 Likewise. 2073 * testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional 2074 errors from new constraints. 2075 * testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks, 2076 which are no longer expected to compile. 2077 * testsuite/27_io/rvalue_streams.cc: Adjust existing test. 2078 Verify LWG 1203 changes. 2079 20802021-05-06 Jonathan Wakely <jwakely@redhat.com> 2081 2082 Backported from master: 2083 2021-05-05 Jonathan Wakely <jwakely@redhat.com> 2084 2085 * testsuite/20_util/function_objects/invoke/3.cc: Check feature 2086 test macro. 2087 * testsuite/20_util/function_objects/invoke/version.cc: New test. 2088 20892021-05-06 Jonathan Wakely <jwakely@redhat.com> 2090 2091 Backported from master: 2092 2021-05-04 Jonathan Wakely <jwakely@redhat.com> 2093 2094 * include/std/future (promise::set_value): Check for existence 2095 of shared state before dereferncing it. 2096 (promise::set_exception, promise::set_value_at_thread_exit) 2097 (promise::set_exception_at_thread_exit): Likewise. 2098 (promise<R&>::set_value, promise<R&>::set_exception) 2099 (promise<R&>::set_value_at_thread_exit) 2100 (promise<R&>::set_exception_at_thread_exit): Likewise. 2101 (promise<void>::set_value, promise<void>::set_exception) 2102 (promise<void>::set_value_at_thread_exit) 2103 (promise<void>::set_exception_at_thread_exit): Likewise. 2104 * testsuite/30_threads/promise/members/at_thread_exit2.cc: 2105 Remove unused variable. 2106 21072021-05-06 Jonathan Wakely <jwakely@redhat.com> 2108 2109 Backported from master: 2110 2021-05-04 Jonathan Wakely <jwakely@redhat.com> 2111 2112 * include/bits/basic_string.h (basic_string(const CharT*, const A&)): 2113 Do not do arithmetic on null pointer. 2114 21152021-05-06 Jonathan Wakely <jwakely@redhat.com> 2116 2117 Backported from master: 2118 2021-05-04 Jonathan Wakely <jwakely@redhat.com> 2119 2120 * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp 2121 (find_key_pointer(key_const_reference, false_type)) 2122 (find_key_pointer(key_const_reference, true_type)): Do not 2123 dereference null pointer. 2124 21252021-05-06 Jonathan Wakely <jwakely@redhat.com> 2126 2127 Backported from master: 2128 2021-05-04 Jonathan Wakely <jwakely@redhat.com> 2129 2130 * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid 2131 overflow. 2132 * testsuite/24_iterators/reverse_iterator/2.cc: Do not add 2133 non-zero value to null pointer. 2134 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: 2135 Use past-the-end iterator for result. 2136 * testsuite/25_algorithms/move_backward/69478.cc: Likewise. 2137 * testsuite/25_algorithms/move_backward/93872.cc: Likewise. 2138 21392021-05-06 Jonathan Wakely <jwakely@redhat.com> 2140 2141 Backported from master: 2142 2021-05-04 Jonathan Wakely <jwakely@redhat.com> 2143 2144 PR libstdc++/100384 2145 * include/std/variant (__get_t): New alias template yielding the 2146 return type of std::get<N> on a variant. 2147 (__visit_result_t): New alias template yielding the result of 2148 std::visit. 2149 (__same_types): Move into namespace __detail::__variant. 2150 (__check_visitor_results): Likewise. Use __invoke_result_t and 2151 __get_t. 2152 (__check_visitor_result): Remove. 2153 (visit): Use __visit_result_t for return type. 2154 * testsuite/20_util/variant/100384.cc: New test. 2155 21562021-05-05 Patrick Palka <ppalka@redhat.com> 2157 2158 Backported from master: 2159 2021-05-05 Patrick Palka <ppalka@redhat.com> 2160 2161 * include/std/ranges (transform_view::_Iterator::iter_swap): 2162 Remove as per LWG 3520. 2163 (join_view::_Iterator::iter_swap): Add indirectly_swappable 2164 constraint as per LWG 3517. 2165 21662021-05-04 Patrick Palka <ppalka@redhat.com> 2167 2168 Backported from master: 2169 2021-04-30 Patrick Palka <ppalka@redhat.com> 2170 2171 * include/std/ranges (split_view::_InnerIter::operator++): 2172 Depend on _Base instead of _Vp directly, as per LWG 3532. 2173 21742021-04-30 Jonathan Wakely <jwakely@redhat.com> 2175 2176 Backported from master: 2177 2021-04-30 Jonathan Wakely <jwakely@redhat.com> 2178 2179 * include/bits/basic_string.h (__cpp_lib_constexpr_string): 2180 Only define for C++17 and later. 2181 * include/std/version (__cpp_lib_semaphore): Fix condition 2182 to match the one in <semaphore>. 2183 21842021-04-29 Jonathan Wakely <jwakely@redhat.com> 2185 2186 Backported from master: 2187 2021-04-26 Jonathan Wakely <jwakely@redhat.com> 2188 2189 PR libstdc++/100259 2190 * include/experimental/internet (net::ip::make_error_code) 2191 (net::ip::make_error_condition, net::ip::make_network_v4) 2192 (net::ip::operator==(const udp&, const udp&)): Add 'inline'. 2193 21942021-04-29 Jonathan Wakely <jwakely@redhat.com> 2195 2196 Backported from master: 2197 2021-04-28 Jonathan Wakely <jwakely@redhat.com> 2198 2199 * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define. 2200 * include/std/version (__cpp_lib_constexpr_string): Define. 2201 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 2202 Check for __cpp_lib_constexpr_string. 2203 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 2204 Likewise. 2205 * testsuite/21_strings/char_traits/requirements/version.cc: New test. 2206 22072021-04-28 Jonathan Wakely <jwakely@redhat.com> 2208 2209 Backported from master: 2210 2021-04-28 Jonathan Wakely <jwakely@redhat.com> 2211 2212 PR libstdc++/100298 2213 * include/bits/std_thread.h (thread::hardware_concurrency): Add 2214 missing noexcept to inline definition for non-gthreads targets. 2215 22162021-04-28 Jakub Jelinek <jakub@redhat.com> 2217 2218 Revert: 2219 2021-04-22 Jakub Jelinek <jakub@redhat.com> 2220 2221 PR target/100182 2222 * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for 2223 ia32. 2224 * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for 2225 ia32. 2226 22272021-04-27 Patrick Palka <ppalka@redhat.com> 2228 2229 Backported from master: 2230 2021-04-27 Patrick Palka <ppalka@redhat.com> 2231 2232 PR libstdc++/100290 2233 * include/std/ranges (join_view::_Iterator::operator++): Correct 2234 the return type of the lambda to avoid returning a copy of 2235 _M_parent->_M_inner. 2236 * testsuite/std/ranges/adaptors/join.cc (test10): New test. 2237 22382021-04-27 Release Manager 2239 2240 * GCC 11.1.0 released. 2241 22422021-04-23 Jonathan Wakely <jwakely@redhat.com> 2243 2244 Backported from master: 2245 2021-04-22 Jonathan Wakely <jwakely@redhat.com> 2246 2247 * include/bits/atomic_timed_wait.h (__cond_wait_until_impl): 2248 Handle system_clock as well as steady_clock. 2249 * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable. 2250 * testsuite/30_threads/semaphore/try_acquire_until.cc: 2251 Re-enable. 2252 22532021-04-23 Jonathan Wakely <jwakely@redhat.com> 2254 2255 Backported from master: 2256 2021-04-22 Jonathan Wakely <jwakely@redhat.com> 2257 2258 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add 2259 options for libatomic. 2260 22612021-04-22 Thomas Rodgers <rodgert@twrodgers.com> 2262 2263 Backported from master: 2264 2021-04-22 Thomas Rodgers <rodgert@twrodgers.com> 2265 2266 * include/bits/atomic_wait.h: Always notify waiters in the 2267 case of 'bare' address notification. 2268 22692021-04-22 Jonathan Wakely <jwakely@redhat.com> 2270 2271 Backported from master: 2272 2021-04-22 Jonathan Wakely <jwakely@redhat.com> 2273 2274 PR libstdc++/100179 2275 * include/bits/semaphore_base.h: Remove #error. 2276 * include/std/semaphore: Do not define anything unless one of 2277 the implementations is available. 2278 22792021-04-22 Jakub Jelinek <jakub@redhat.com> 2280 2281 Backported from master: 2282 2021-04-22 Jakub Jelinek <jakub@redhat.com> 2283 2284 PR target/100182 2285 * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for 2286 ia32. 2287 * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for 2288 ia32. 2289 22902021-04-22 Thomas Rodgers <rodgert@twrodgers.com> 2291 2292 Backported from master: 2293 2021-04-21 Thomas Rodgers <rodgert@twrodgers.com> 2294 2295 * include/bits/semaphore_base.h: Always reload __old in 2296 __atomic_semaphore::_S_do_try_acquire(). 2297 * testsuite/30_threads/stop_token/stop_callback/destroy.cc: 2298 re-enable testcase. 2299 23002021-04-21 Thomas Rodgers <rodgert@twrodgers.com> 2301 2302 Backported from master: 2303 2021-04-21 Thomas Rodgers <rodgert@twrodgers.com> 2304 2305 * include/bits/semaphore_base.h: Add missing _M_try_acquire() 2306 member to __platform_wait. 2307 23082021-04-21 Jonathan Wakely <jwakely@redhat.com> 2309 2310 Backported from master: 2311 2021-04-21 Jonathan Wakely <jwakely@redhat.com> 2312 2313 * include/std/latch: Replace tab characters in license text. 2314 * include/std/semaphore: Likewise. 2315 23162021-04-21 Jakub Jelinek <jakub@redhat.com> 2317 2318 Backported from master: 2319 2021-04-21 Jakub Jelinek <jakub@redhat.com> 2320 2321 PR libstdc++/100164 2322 * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE 2323 rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE. 2324 * configure: Regenerated. 2325 * config.h.in: Regenerated. 2326 23272021-04-20 Jonathan Wakely <jwakely@redhat.com> 2328 2329 Backported from master: 2330 2021-04-20 Jonathan Wakely <jwakely@redhat.com> 2331 2332 * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable 2333 test for targets not using futexes for semaphores. 2334 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 2335 * testsuite/30_threads/stop_token/stop_callback/destroy.cc: 2336 Disable for all targets. 2337 23382021-04-20 Thomas Rodgers <trodgers@redhat.com> 2339 2340 Backported from master: 2341 2021-04-20 Thomas Rodgers <trodgers@redhat.com> 2342 2343 * include/Makefile.am: Add new <bits/this_thread_sleep.h> header. 2344 * include/Makefile.in: Regenerate. 2345 * include/bits/this_thread_sleep.h: New file. 2346 * include/bits/atomic_base.h: Adjust all calls 2347 to __atomic_wait/__atomic_notify for new call signatures. 2348 * include/bits/atomic_timed_wait.h: Extensive rewrite. 2349 * include/bits/atomic_wait.h: Likewise. 2350 * include/bits/semaphore_base.h: Adjust all calls 2351 to __atomic_wait/__atomic_notify for new call signatures. 2352 * include/std/atomic: Likewise. 2353 * include/std/barrier: Likewise. 2354 * include/std/latch: Likewise. 2355 * include/std/semaphore: Likewise. 2356 * include/std/thread (this_thread::sleep_for) 2357 (this_thread::sleep_until): Move to new header. 2358 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify 2359 test. 2360 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 2361 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 2362 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 2363 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. 2364 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. 2365 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. 2366 23672021-04-20 Patrick Palka <ppalka@redhat.com> 2368 2369 Backported from master: 2370 2021-04-20 Patrick Palka <ppalka@redhat.com> 2371 2372 PR libstdc++/95983 2373 * include/bits/stl_iterator.h (__detail::__move_iter_cat): 2374 Define. 2375 (move_iterator): Derive from the above in C++20 in order to 2376 conditionally define iterator_category as per P2259. 2377 (move_iterator::__base_cat): No longer used, so remove. 2378 (move_iterator::iterator_category): Remove in C++20. 2379 (__detail::__common_iter_use_postfix_proxy): Define. 2380 (common_iterator::_Proxy): Rename to ... 2381 (common_iterator:__arrow_proxy): ... this. 2382 (common_iterator::__postfix_proxy): Define as per P2259. 2383 (common_iterator::operator->): Adjust. 2384 (common_iterator::operator++): Adjust as per P2259. 2385 (iterator_traits<common_iterator>::_S_iter_cat): Define. 2386 (iterator_traits<common_iterator>::iterator_category): Change as 2387 per P2259. 2388 (__detail::__counted_iter_value_type): Define. 2389 (__detail::__counted_iter_concept): Define. 2390 (__detail::__counted_iter_cat): Define. 2391 (counted_iterator): Derive from the above three classes in order 2392 to conditionally define value_type, iterator_concept and 2393 iterator category respectively as per P2259. 2394 (counted_iterator::operator->): Define as per P2259. 2395 (incrementable_traits<counted_iterator>): Remove as per P2259. 2396 (iterator_traits<counted_iterator>): Adjust as per P2259. 2397 * include/std/ranges (__detail::__iota_view_iter_cat): Define. 2398 (iota_view::_Iterator): Derive from the above in order to 2399 conditionally define iterator_category as per P2259. 2400 (iota_view::_S_iter_cat): Rename to ... 2401 (iota_view::_S_iter_concept): ... this. 2402 (iota_view::iterator_concept): Use it to apply LWG 3291 changes. 2403 (iota_view::iterator_category): Remove. 2404 (__detail::__filter_view_iter_cat): Define. 2405 (filter_view::_Iterator): Derive from the above in order to 2406 conditionally define iterator_category as per P2259. 2407 (filter_view::_Iterator): Move to struct __filter_view_iter_cat. 2408 (filter_view::_Iterator::iterator_category): Remove. 2409 (transform_view::_Base): Define. 2410 (transform_view::__iter_cat): Define. 2411 (transform_view::_Iterator): Derive from the above in order to 2412 conditionally define iterator_category as per P2259. 2413 (transform_view::_Iterator::_Base): Just alias 2414 transform_view::_Base. 2415 (transform_view::_Iterator::_S_iter_cat): Move to struct 2416 transform_view::__iter_cat. 2417 (transform_view::_Iterator::iterator_category): Remove. 2418 (transform_view::_Sentinel::_Base): Just alias 2419 transform_view::_Base. 2420 (join_view::_Base): Define. 2421 (join_view::_Outer_iter): Define. 2422 (join_view::_Inner_iter): Define. 2423 (join_view::_S_ref_is_glvalue): Define. 2424 (join_view::__iter_cat): Define. 2425 (join_view::_Iterator): Derive from it in order to conditionally 2426 define iterator_category as per P2259. 2427 (join_view::_Iterator::_Base): Just alias join_view::_Base. 2428 (join_view::_Iterator::_S_ref_is_glvalue): Just alias 2429 join_view::_S_ref_is_glvalue. 2430 (join_view::_Iterator::_S_iter_cat): Move to struct 2431 transform_view::__iter_cat. 2432 (join_view::_Iterator::_Outer_iter): Just alias 2433 join_view::_Outer_iter. 2434 (join_view::_Iterator::_Inner_iter): Just alias 2435 join_view::_Inner_iter. 2436 (join_view::_Iterator::iterator_category): Remove. 2437 (join_view::_Sentinel::_Base): Just alias join_view::_Base. 2438 (__detail::__split_view_outer_iter_cat): Define. 2439 (__detail::__split_view_inner_iter_cat): Define. 2440 (split_view::_Base): Define. 2441 (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat 2442 in order to conditionally define iterator_category as per P2259. 2443 (split_view::_Outer_iter::iterator_category): Remove. 2444 (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat 2445 in order to conditionally define iterator_category as per P2259. 2446 (split_view::_Inner_iter::_S_iter_cat): Move to 2447 __split_view_inner_iter_cat. 2448 (split_view::_Inner_iter::iterator_category): Remove. 2449 (elements_view::_Base): Define. 2450 (elements_view::__iter_cat): Define. 2451 (elements_view::_Iterator): Derive from the above in order to 2452 conditionall define iterator_category as per P2259. 2453 (elements_view::_Iterator::_Base): Just alias 2454 elements_view::_Base. 2455 (elements_view::_Iterator::_S_iter_concept) 2456 (elements_view::_Iterator::iterator_concept): Define as per 2457 P2259. 2458 (elements_view::_Iterator::iterator_category): Remove. 2459 (elements_view::_Sentinel::_Base): Just alias 2460 elements_view::_Base. 2461 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: 2462 Adjust constraints on iterator_traits<counted_iterator>. 2463 * testsuite/std/ranges/p2259.cc: New test. 2464 24652021-04-20 Jonathan Wakely <jwakely@redhat.com> 2466 2467 Backported from master: 2468 2021-04-20 Jonathan Wakely <jwakely@redhat.com> 2469 2470 PR libstdc++/100146 2471 * include/std/charconv (__cpp_lib_to_chars): Define 2472 conditionally. 2473 * include/std/version (__cpp_lib_to_chars): Likewise.. 2474 * testsuite/20_util/from_chars/4.cc: Only check feature test 2475 macro, not _GLIBCXX_HAVE_USELOCALE. 2476 * testsuite/20_util/from_chars/5.cc: Likewise. 2477 * testsuite/20_util/from_chars/6.cc: Likewise. 2478 * testsuite/20_util/to_chars/long_double.cc: Likewise. 2479 24802021-04-20 Jakub Jelinek <jakub@redhat.com> 2481 2482 Backported from master: 2483 2021-04-20 Jakub Jelinek <jakub@redhat.com> 2484 2485 * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol 2486 versions with _IEEE128_ substring are found, set ieee_version_found 2487 to true. Ignore missing symbols with _IEEE128_ in version name if 2488 !ieee_version_found. Use i->first as version_name instead of 2489 i->second.version_name if the latter is empty. 2490 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 2491 24922021-04-19 H.J. Lu <hjl.tools@gmail.com> 2493 2494 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: 2495 Updated. 2496 24972021-04-17 Jakub Jelinek <jakub@redhat.com> 2498 2499 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 2500 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 2501 25022021-04-17 Jakub Jelinek <jakub@redhat.com> 2503 2504 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 2505 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 2506 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 2507 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 2508 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 2509 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 2510 25112021-04-15 Jonathan Wakely <jwakely@redhat.com> 2512 2513 * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also 2514 add libatomic options for 32-bit sparc*-*-linux-gnu. 2515 25162021-04-15 Jonathan Wakely <jwakely@redhat.com> 2517 2518 PR libstdc++/96657 2519 * libsupc++/Makefile.am: Add atomicity.cc here. 2520 * src/c++98/Makefile.am: Remove it from here. 2521 * libsupc++/Makefile.in: Regenerate. 2522 * src/c++98/Makefile.in: Regenerate. 2523 * testsuite/18_support/exception_ptr/96657.cc: New test. 2524 25252021-04-13 Jonathan Wakely <jwakely@redhat.com> 2526 2527 PR libstdc++/100060 2528 * include/std/bit: Only include <ext/numeric_traits.h> for 2529 hosted build, use <limits> otherwise. 2530 25312021-04-13 Jonathan Wakely <jwakely@redhat.com> 2532 2533 * doc/xml/manual/backwards_compatibility.xml: Remove porting 2534 notes for libg++ and libstdc++-v2, and bibliography. 2535 * doc/html/*: Regenerated. 2536 25372021-04-12 Jonathan Wakely <jwakely@redhat.com> 2538 2539 PR libstdc++/100044 2540 * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair): 2541 Remove helper concept. 2542 (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove 2543 deduction guides, as per LWG 3404. 2544 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class 2545 template argument deduction fails. 2546 25472021-04-12 Jonathan Wakely <jwakely@redhat.com> 2548 2549 * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc: 2550 Adjust expected error for C++20 mode. 2551 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc: 2552 Likewise. 2553 25542021-04-12 Jonathan Wakely <jwakely@redhat.com> 2555 2556 PR libstdc++/99995 2557 * testsuite/17_intro/headers/c++1998/49745.cc: Include all 2558 standard headers and XFAIL for effective-target c++20. 2559 25602021-04-09 François Dumont <fdumont@gcc.gnu.org> 2561 2562 PR libstdc++/99402 2563 * include/debug/helper_functions.h (__can_advance(_InputIterator, 2564 const std::pair<_Diff, _Distance_precision>&, int)): New. 2565 (__can_advance(const _Safe_iterator<>&, 2566 const std::pair<_Diff, _Distance_precision>&, int)): New. 2567 * include/debug/macros.h (__glibcxx_check_can_increment_dist): New, 2568 use latter. 2569 (__glibcxx_check_can_increment_range): Adapt to use latter. 2570 (__glibcxx_check_can_decrement_range): Likewise. 2571 * include/debug/safe_iterator.h 2572 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&, 2573 int)): New. 2574 (__can_advance(const _Safe_iterator<>&, 2575 const std::pair<_Diff, _Distance_precision>&, int)): New. 2576 * include/debug/safe_iterator.tcc 2577 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&, 2578 int)): New. 2579 (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&, 2580 std::pair<difference_type, _Distance_precision>&, bool)): Adapt for 2581 __dp_sign_max_size. 2582 (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist. 2583 (__copy_move_backward_a): Likewise. 2584 (__equal_aux): Likewise. 2585 * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&, 2586 const std::pair<_Diff, _Distance_precision>&, int)): New. 2587 (__can_advance(const std::move_iterator<>&, 2588 const std::pair<_Diff, _Distance_precision>&, int)): New. 2589 * testsuite/25_algorithms/copy/debug/99402.cc: New test. 2590 25912021-04-09 Jonathan Wakely <jwakely@redhat.com> 2592 2593 PR libstdc++/99985 2594 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix 2595 to be a valid constexpr function in C++11. 2596 * testsuite/23_containers/unordered_set/cons/99985.cc: New test. 2597 25982021-04-09 Jonathan Wakely <jwakely@redhat.com> 2599 2600 * include/bits/fs_fwd.h: Fix doxygen group command. 2601 * include/bits/streambuf_iterator.h: Likewise. 2602 * include/bits/uses_allocator_args.h: Likewise. 2603 * include/std/memory: Likewise. 2604 * include/tr1/complex: Likewise. 2605 26062021-04-08 Jonathan Wakely <jwakely@redhat.com> 2607 2608 * include/bits/basic_string.h: Tweak doxygen comment. 2609 26102021-04-08 Patrick Palka <ppalka@redhat.com> 2611 2612 * include/std/ranges (__detail::find): Define. 2613 (split_view::_OuterIter::operator++): Apply proposed resolution 2614 of LWG 3505. 2615 * testsuite/std/ranges/adaptors/split.cc (test10): New test. 2616 26172021-04-08 Patrick Palka <ppalka@redhat.com> 2618 2619 * include/std/ranges (__detail::find_if): Simplify. 2620 (__detail::find_if_not): Likewise. 2621 (__detail::min): Remove. 2622 (__detail::mismatch): Simplify. 2623 (take_view::size): Use std::min instead of __detail::min. 2624 26252021-04-08 Patrick Palka <ppalka@redhat.com> 2626 2627 * include/std/ranges (__detail::__returnable_element): New 2628 concept. 2629 (elements_view): Use this concept in its constraints. Add 2630 missing private access specifier. 2631 (elements_view::_S_get_element): Define as per LWG 3502. 2632 (elements_view::operator*, elements_view::operator[]): Use 2633 _S_get_element. 2634 (elements_view::operator++): Remove unnecessary constraint 2635 as per LWG 3492. 2636 * testsuite/std/ranges/adaptors/elements.cc (test05): New test. 2637 26382021-04-08 Jonathan Wakely <jwakely@redhat.com> 2639 2640 * doc/Makefile.am (stamp-pdf-doxygen): Also grep for 2641 out-of-memory error in log file. 2642 * doc/Makefile.in: Regenerate. 2643 26442021-04-08 Jonathan Wakely <jwakely@redhat.com> 2645 2646 * configure: Regenerate. 2647 26482021-04-08 Jonathan Wakely <jwakely@redhat.com> 2649 2650 * include/bits/random.h: Fix doxygen group commands. 2651 * include/bits/regex_constants.h: Likewise. 2652 * include/tr1/random.h: Likewise. 2653 26542021-04-08 Jonathan Wakely <jwakely@redhat.com> 2655 2656 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): 2657 New function to determine noexcept-specifier for move 2658 constructors. 2659 (_Hashtable): Use _S_nothrow_move() on move constructors. 2660 * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc: 2661 Correct static assertion message. 2662 * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc: 2663 Likewise. 2664 * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc: 2665 Likewise. 2666 * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc: 2667 Likewise. 2668 26692021-04-08 Patrick Palka <ppalka@redhat.com> 2670 2671 PR libstdc++/98384 2672 * testsuite/20_util/to_chars/long_double.cc: Don't run the test 2673 on targets without a large long double. XFAIL the execution on 2674 targets with a non-conforming printf. 2675 26762021-04-08 Patrick Palka <ppalka@redhat.com> 2677 2678 PR libstdc++/99433 2679 * include/std/ranges (__adaptor::__maybe_refwrap): Remove. 2680 (__adaptor::__adaptor_invocable): New concept. 2681 (__adaptor::__adaptor_partial_app_viable): New concept. 2682 (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a 2683 non-template base class. 2684 (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base 2685 class template. 2686 (__adaptor::_Partial): New class template that represents 2687 partial application of a range adaptor non-closure. 2688 (__adaptor::__pipe_invocable): New concept. 2689 (__adaptor::_Pipe): New class template. 2690 (__detail::__can_ref_view): New concept. 2691 (__detail::__can_subrange): New concept. 2692 (all): Replace the lambda here with ... 2693 (_All): ... this functor. Add appropriate constraints. 2694 (__detail::__can_filter_view): New concept. 2695 (filter, _Filter): As in all/_All. 2696 (__detail::__can_transform): New concept. 2697 (transform, _Transform): As in all/_All. 2698 (__detail::__can_take_view): New concept. 2699 (take, _Take): As in all/_All. 2700 (__detail::__can_take_while_view): New concept. 2701 (take_while, _TakeWhile): As in all/_All. 2702 (__detail::__can_drop_view): New concept. 2703 (drop, _Drop): As in all/_All. 2704 (__detail::__can_drop_while_view): New concept. 2705 (drop_while, _DropWhile): As in all/_All. 2706 (__detail::__can_join_view): New concept. 2707 (join, _Join): As in all/_All. 2708 (__detail::__can_split_view): New concept. 2709 (split, _Split): As in all/_All. Rename template parameter 2710 _Fp to _Pattern. 2711 (__detail::__already_common): New concept. 2712 (__detail::__can_common_view): New concept. 2713 (common, _Common): As in all/_All. 2714 (__detail::__can_reverse_view): New concept. 2715 (reverse, _Reverse): As in all/_All. 2716 (__detail::__can_elements_view): New concept. 2717 (elements, _Elements): As in all/_All. 2718 (keys, values): Adjust. 2719 * testsuite/std/ranges/adaptors/99433.cc: New test. 2720 * testsuite/std/ranges/adaptors/all.cc: No longer expect that 2721 adding empty range adaptor closure objects to a pipeline doesn't 2722 increase the size of the pipeline. 2723 (test05): New test. 2724 * testsuite/std/ranges/adaptors/common.cc (test03): New test. 2725 * testsuite/std/ranges/adaptors/drop.cc (test09): New test. 2726 * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test. 2727 * testsuite/std/ranges/adaptors/elements.cc (test04): New test. 2728 * testsuite/std/ranges/adaptors/filter.cc (test06): New test. 2729 * testsuite/std/ranges/adaptors/join.cc (test09): New test. 2730 * testsuite/std/ranges/adaptors/p2281.cc: New test. 2731 * testsuite/std/ranges/adaptors/reverse.cc (test07): New test. 2732 * testsuite/std/ranges/adaptors/split.cc (test01, test04): 2733 Adjust. 2734 (test09): New test. 2735 * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust 2736 expected error message. 2737 (test02): Likewise. Extend test. 2738 * testsuite/std/ranges/adaptors/take.cc (test06): New test. 2739 * testsuite/std/ranges/adaptors/take_while.cc (test05): New test. 2740 * testsuite/std/ranges/adaptors/transform.cc (test07, test08): 2741 New test. 2742 27432021-04-08 Jonathan Wakely <jwakely@redhat.com> 2744 2745 * include/std/string_view: Adjust Doxygen @file comment. 2746 27472021-04-08 Jonathan Wakely <jwakely@redhat.com> 2748 2749 * include/std/type_traits (is_scoped_enum<T>): Constrain partial 2750 specialization to not match incomplete enum types. Use a 2751 requires-expression instead of instantiating is_convertible. 2752 (is_scoped_enum<const T>): Add as workaround for PR c++/99968. 2753 * testsuite/20_util/is_scoped_enum/value.cc: Check with 2754 incomplete types and opaque-enum-declarations. 2755 27562021-04-07 Jonathan Wakely <jwakely@redhat.com> 2757 2758 PR libstdc++/99805 2759 * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call 2760 non-const member on _M_pathname, to avoid copy-on-write. 2761 * testsuite/27_io/filesystem/path/decompose/parent_path.cc: 2762 Check construction from strings that might be shared. 2763 27642021-04-06 Jonathan Wakely <jwakely@redhat.com> 2765 2766 * include/bits/move.h (forward, move, move_if_noexcept) 2767 (addressof): Add _GLIBCXX_NODISCARD. 2768 * include/bits/ranges_cmp.h (identity::operator()): Add 2769 nodiscard attribute. 2770 * include/c_global/cstddef (to_integer): Likewise. 2771 * include/std/bit (bit_cast): Likewise. 2772 * include/std/utility (as_const, to_underlying): Likewise. 2773 27742021-04-06 Jonathan Wakely <jwakely@redhat.com> 2775 2776 * include/bits/move.h (forward): Change static_assert message 2777 to be unambiguous about what must be true. 2778 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error. 2779 * testsuite/20_util/forward/f_neg.cc: Likewise. 2780 27812021-04-06 Jonathan Wakely <jwakely@redhat.com> 2782 2783 * include/bits/alloc_traits.h: Use markdown for code font. 2784 * include/bits/basic_string.h: Fix @param names. 2785 * include/bits/max_size_type.h: Remove period after @file. 2786 * include/bits/regex.h: Fix duplicate @retval names, and rename. 2787 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add 2788 group open to match existing group close. 2789 * include/ext/pb_ds/priority_queue.hpp: Add blank line before group 2790 open. 2791 27922021-04-06 Jonathan Wakely <jwakely@redhat.com> 2793 2794 * include/bits/atomic_base.h: Fix doxygen group close. 2795 * include/bits/basic_ios.h: Likewise. 2796 * include/bits/forward_list.h: Likewise. 2797 * include/bits/fs_dir.h: Likewise. 2798 * include/bits/fs_ops.h: Likewise. 2799 * include/bits/fs_path.h: Likewise. 2800 * include/bits/functional_hash.h: Likewise. 2801 * include/bits/gslice.h: Likewise. 2802 * include/bits/gslice_array.h: Likewise. 2803 * include/bits/hashtable_policy.h: Likewise. 2804 * include/bits/indirect_array.h: Likewise. 2805 * include/bits/locale_classes.h: Likewise. 2806 * include/bits/locale_facets.h: Likewise. 2807 * include/bits/locale_facets_nonio.h: Likewise. 2808 * include/bits/mask_array.h: Likewise. 2809 * include/bits/refwrap.h: Likewise. 2810 * include/bits/regex.h: Likewise. 2811 * include/bits/regex_automaton.h: Likewise. 2812 * include/bits/regex_compiler.h: Likewise. 2813 * include/bits/regex_constants.h: Likewise. 2814 * include/bits/regex_error.h: Likewise. 2815 * include/bits/regex_executor.h: Likewise. 2816 * include/bits/regex_scanner.h: Likewise. 2817 * include/bits/shared_ptr.h: Likewise. 2818 * include/bits/shared_ptr_atomic.h: Likewise. 2819 * include/bits/shared_ptr_base.h: Likewise. 2820 * include/bits/slice_array.h: Likewise. 2821 * include/bits/specfun.h: Likewise. 2822 * include/bits/std_function.h: Likewise. 2823 * include/bits/std_mutex.h: Likewise. 2824 * include/bits/stl_deque.h: Likewise. 2825 * include/bits/stl_iterator.h: Likewise. 2826 * include/bits/stl_iterator_base_types.h: Likewise. 2827 * include/bits/stl_map.h: Likewise. 2828 * include/bits/stl_multimap.h: Likewise. 2829 * include/bits/stl_multiset.h: Likewise. 2830 * include/bits/stl_numeric.h: Likewise. 2831 * include/bits/stl_pair.h: Likewise. 2832 * include/bits/stl_set.h: Likewise. 2833 * include/bits/stl_uninitialized.h: Likewise. 2834 * include/bits/stream_iterator.h: Likewise. 2835 * include/bits/streambuf_iterator.h: Likewise. 2836 * include/bits/unique_ptr.h: Likewise. 2837 * include/bits/unordered_map.h: Likewise. 2838 * include/bits/unordered_set.h: Likewise. 2839 * include/decimal/decimal: Likewise. 2840 * include/experimental/any: Likewise. 2841 * include/experimental/array: Likewise. 2842 * include/experimental/bits/fs_dir.h: Likewise. 2843 * include/experimental/bits/fs_fwd.h: Likewise. 2844 * include/experimental/bits/fs_ops.h: Likewise. 2845 * include/experimental/bits/fs_path.h: Likewise. 2846 * include/experimental/buffer: Likewise. 2847 * include/experimental/internet: Likewise. 2848 * include/experimental/optional: Likewise. 2849 * include/experimental/propagate_const: Likewise. 2850 * include/experimental/socket: Likewise. 2851 * include/ext/pb_ds/assoc_container.hpp: Likewise. 2852 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: 2853 Likewise. 2854 * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise. 2855 * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise. 2856 * include/ext/pb_ds/detail/types_traits.hpp: Likewise. 2857 * include/ext/pb_ds/exception.hpp: Likewise. 2858 * include/ext/pb_ds/priority_queue.hpp: Likewise. 2859 * include/ext/pb_ds/tag_and_trait.hpp: Likewise. 2860 * include/ext/random: Likewise. 2861 * include/std/any: Likewise. 2862 * include/std/atomic: Likewise. 2863 * include/std/bitset: Likewise. 2864 * include/std/chrono: Likewise. 2865 * include/std/complex: Likewise. 2866 * include/std/condition_variable: Likewise. 2867 * include/std/fstream: Likewise. 2868 * include/std/future: Likewise. 2869 * include/std/iostream: Likewise. 2870 * include/std/istream: Likewise. 2871 * include/std/mutex: Likewise. 2872 * include/std/numeric: Likewise. 2873 * include/std/ostream: Likewise. 2874 * include/std/ratio: Likewise. 2875 * include/std/shared_mutex: Likewise. 2876 * include/std/stdexcept: Likewise. 2877 * include/std/streambuf: Likewise. 2878 * include/std/system_error: Likewise. 2879 * include/std/thread: Likewise. 2880 * include/std/valarray: Likewise. 2881 * include/std/variant: Likewise. 2882 * include/tr1/cmath: Likewise. 2883 * include/tr1/regex: Likewise. 2884 * include/tr2/dynamic_bitset: Likewise. 2885 * libsupc++/atomic_lockfree_defines.h: Likewise. 2886 * libsupc++/exception: Likewise. 2887 * libsupc++/exception.h: Likewise. 2888 * libsupc++/exception_ptr.h: Likewise. 2889 * libsupc++/nested_exception.h: Likewise. 2890 28912021-03-31 Alexandre Oliva <oliva@adacore.com> 2892 2893 * testsuite/30_threads/future/members/poll.cc: Use faster 2894 after-ready call in the calibration loop. 2895 28962021-03-29 Jonathan Wakely <jwakely@redhat.com> 2897 2898 * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL. 2899 * doc/html/manual/status.html: Regenerate. 2900 29012021-03-28 François Dumont <fdumont@gcc.gnu.org> 2902 2903 * include/debug/forward_list 2904 (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification. 2905 * include/debug/list (list(list&&, const allocator_type&)): Likewise and add 2906 call to safe container allocator aware move constructor. 2907 * include/debug/vector (vector(vector&&, const allocator_type&)): 2908 Fix noexcept qualification. 2909 * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc: 2910 Add allocator-extended move constructor noexceot qualification check. 2911 * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise. 2912 29132021-03-26 Jonathan Wakely <jwakely@redhat.com> 2914 2915 * src/c++11/random.cc (USE_LCG): Define when a pseudo-random 2916 fallback is needed. 2917 [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg): 2918 New helper functions and callback. 2919 (random_device::_M_init): Add 'prng' and 'all' enumerators. 2920 Replace switch with fallthrough with a series of 'if' statements. 2921 [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid 2922 checks fail. 2923 (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng" 2924 token. 2925 (random_device::_M_getval): Check for callback unconditionally 2926 and always pass _M_file pointer. 2927 * testsuite/26_numerics/random/random_device/85494.cc: Remove 2928 effective-target check. Use new random_device_available helper. 2929 * testsuite/26_numerics/random/random_device/94087.cc: Likewise. 2930 * testsuite/26_numerics/random/random_device/cons/default-cow.cc: 2931 Remove effective-target check. 2932 * testsuite/26_numerics/random/random_device/cons/default.cc: 2933 Likewise. 2934 * testsuite/26_numerics/random/random_device/cons/token.cc: Use 2935 new random_device_available helper. Test "prng" token. 2936 * testsuite/util/testsuite_random.h (random_device_available): 2937 New helper function. 2938 29392021-03-25 François Dumont <fdumont@gcc.gnu.org> 2940 2941 * include/debug/string 2942 (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI. 2943 (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification. 2944 (basic_string<>::erase): Adapt to take __const_iterator. 2945 (basic_string(const _CharT*, const _Allocator&)): Remove assign call. 2946 (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to 2947 remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI. 2948 [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New. 2949 (__gnu_debug::u16string, __gnu_debug::u32string): New. 2950 (std::hash<__gnu_debug::basic_string<>>): New partial specialization. 2951 (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise. 2952 * testsuite/util/exception/safety.h 2953 (erase_base<__gnu_debug::basic_string<>>): New partial specialization. 2954 (insert_base<__gnu_debug::basic_string<>>): Likewise. 2955 * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>): 2956 New partial specialization. 2957 * testsuite/21_strings/basic_string/hash/debug.cc: New test. 2958 * testsuite/21_strings/basic_string/requirements/citerators.cc: 2959 Add test on __gnu_debug::string. 2960 * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise. 2961 * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise. 2962 * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc: 2963 Likewise. 2964 * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc: 2965 Likewise. 2966 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc: 2967 Likewise. 2968 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc: 2969 Likewise. 2970 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc: 2971 Likewise. 2972 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc: 2973 Likewise. 2974 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc: 2975 Likewise. 2976 * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise. 2977 29782021-03-25 Jakub Jelinek <jakub@redhat.com> 2979 2980 PR c++/99672 2981 * testsuite/18_support/source_location/consteval.cc (main): Adjust 2982 expected column numbers. 2983 * testsuite/18_support/source_location/1.cc (main): Likewise. 2984 29852021-03-25 Jonathan Wakely <jwakely@redhat.com> 2986 2987 * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc. 2988 29892021-03-25 Jonathan Wakely <jwakely@redhat.com> 2990 2991 * testsuite/util/exception/safety.h (setup_base::generate): 2992 Support seeding random engine. 2993 (erase_point, erase_range): Adjust range of random numbers to 2994 ensure dereferenceable iterators are used where required. 2995 (generation_prohibited::run): Do not try to erase from empty 2996 containers. 2997 * testsuite/util/testsuite_containergen.h (test_containers): 2998 Support seeding random engine. 2999 30002021-03-23 Jonathan Wakely <jwakely@redhat.com> 3001 3002 * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated 3003 line with a check that uses the const being/end overloads. 3004 30052021-03-23 Moritz Sichert <sichert@in.tum.de> 3006 3007 * include/std/ranges (reverse_view::begin, reverse_view::end): 3008 Qualify make_reverse_iterator calls to avoid ADL. 3009 * testsuite/std/ranges/adaptors/reverse.cc: Test that 3010 views::reverse works when make_reverse_iterator is defined 3011 in an associated namespace. 3012 30132021-03-23 Jonathan Wakely <jwakely@redhat.com> 3014 3015 * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT): 3016 Do not define when compiling with Clang. 3017 30182021-03-22 Jonathan Wakely <jwakely@redhat.com> 3019 3020 * include/std/string_view (basic_string_view(Range&&)): Define new 3021 constructor and deduction guide. 3022 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test. 3023 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test. 3024 30252021-03-22 Jonathan Wakely <jwakely@redhat.com> 3026 3027 * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])): 3028 Add missing 'noexcept' as per LWG 2280. 3029 (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>)) 3030 (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537. 3031 * testsuite/24_iterators/range_access/range_access.cc: Check for 3032 expected noexcept specifiers. Check result types of generic 3033 std::begin and std::end overloads. 3034 * testsuite/24_iterators/range_access/range_access_cpp14.cc: 3035 Check for expected noexcept specifiers. 3036 * testsuite/24_iterators/range_access/range_access_cpp17.cc: 3037 Likewise. 3038 30392021-03-19 Jonathan Wakely <jwakely@redhat.com> 3040 3041 * include/std/type_traits (is_scoped_enum): Define. 3042 * include/std/version (__cpp_lib_is_scoped_enum): Define. 3043 * testsuite/20_util/is_scoped_enum/value.cc: New test. 3044 * testsuite/20_util/is_scoped_enum/version.cc: New test. 3045 30462021-03-16 Jonathan Wakely <jwakely@redhat.com> 3047 3048 PR libstdc++/99341 3049 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove 3050 std::once_flag symbols. 3051 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise. 3052 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. 3053 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: 3054 Likewise. 3055 * config/abi/pre/gnu.ver: Likewise. 3056 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX] 3057 (struct __once_flag_compat): Remove. 3058 (_ZNSt9once_flag11_M_activateEv): Remove. 3059 (_ZNSt9once_flag9_M_finishEb): Remove. 3060 30612021-03-16 Jonathan Wakely <jwakely@redhat.com> 3062 3063 PR libstdc++/99341 3064 * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag): 3065 Revert to pthread_once_t implementation. 3066 [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise. 3067 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX] 3068 (struct __once_flag_compat): New type matching the reverted 3069 implementation of once_flag using futexes. 3070 (once_flag::_M_activate): Remove, replace with ... 3071 (_ZNSt9once_flag11_M_activateEv): ... alias symbol. 3072 (once_flag::_M_finish): Remove, replace with ... 3073 (_ZNSt9once_flag9_M_finishEb): ... alias symbol. 3074 * testsuite/30_threads/call_once/66146.cc: Removed. 3075 30762021-03-15 Iain Sandoe <iain@sandoe.co.uk> 3077 3078 * testsuite/17_intro/names.cc: Exclude j from the list 3079 of test symbols for Darwin. 3080 30812021-03-15 Iain Sandoe <iain@sandoe.co.uk> 3082 3083 * config/os/bsd/darwin/ppc-extra.ver: Add matching for 3084 to_chars and from_chars for long double. 3085 30862021-03-15 Patrick Palka <ppalka@redhat.com> 3087 3088 * include/bits/max_size_type.h (__max_size_type::operator _Tp): 3089 Fix formatting. 3090 (__max_size_type::operator++): Define. 3091 (__max_size_type::operator--): Likewise. 3092 (__max_size_type::operator<=>): Conditionally define (in place 3093 of the other comparison operators). 3094 (__max_diff_type::operator _Tp): Fix formatting. 3095 (__max_diff_type::operator++): Define. 3096 (__max_diff_type::operator--): Likewise. 3097 (__max_diff_type::operator<=>): Conditionally define (in place 3098 of the other comparison operators). 3099 * testsuite/std/ranges/iota/max_size_type.cc (test01): Test 3100 these operator overloads. 3101 31022021-03-15 Caroline Tice <cmtice@google.com> 3103 3104 PR libstdc++/99172 3105 * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add 3106 AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make 3107 AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std' 3108 filtered out. 3109 * src/Makefile.in: Regenerate. 3110 31112021-03-11 Patrick Palka <ppalka@redhat.com> 3112 3113 * src/c++17/floating_to_chars.cc: Simplify the file as if 3114 __SIZEOF_INT128__ is always defined. 3115 [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define 3116 a base-10 to_chars overload for the uint128_t class type. 3117 * src/c++17/uint128_t.h: New file. 3118 * testsuite/20_util/to_chars/long_double.cc: No longer expect an 3119 execution FAIL on targets that have a large long double type 3120 but lack __int128. 3121 31222021-03-11 Patrick Palka <ppalka@redhat.com> 3123 3124 * src/c++17/ryu/LOCAL_PATCHES: Update. 3125 * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t. 3126 * src/c++17/ryu/generic_128.h: Likewise. 3127 * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128): 3128 Use uint128_t instead of __uint128_t. 3129 (generic_binary_to_decimal): Likewise. 3130 31312021-03-11 Patrick Palka <ppalka@redhat.com> 3132 3133 * src/c++17/ryu/LOCAL_PATCHES: New file. 3134 31352021-03-11 Patrick Palka <ppalka@redhat.com> 3136 3137 * src/c++17/floating_to_chars.cc (uint128_t): New conditionally 3138 defined alias of unsigned __int128. 3139 (floating_type_traits_binary128::mantissa_t): Use uint128_t 3140 instead of unsigned __int128. 3141 (floating_type_traits<long double>::mantissa_t) 3142 [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise. 3143 (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t 3144 and uint32_t explicit. Simplify the extraction of mantissa, 3145 exponent and sign bit. 3146 31472021-03-11 Jonathan Wakely <jwakely@redhat.com> 3148 3149 * include/std/barrier (barrier::arrival_token): New move-only 3150 class that encapsulates the underlying token value. 3151 31522021-03-11 Jonathan Wakely <jwakely@redhat.com> 3153 3154 * python/libstdcxx/v6/printers.py (find_type): Use tag attribute 3155 instead of unqualified() method. 3156 31572021-03-11 Jonathan Wakely <jwakely@redhat.com> 3158 3159 PR libstdc++/99537 3160 * include/std/stop_token (_Stop_state_t::_M_release_ownership): 3161 Use acq_rel memory ordering. 3162 31632021-03-11 Jonathan Wakely <jwakely@redhat.com> 3164 3165 PR libstdc++/99533 3166 * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new 3167 helper function to check for permission denied errors. 3168 * src/filesystem/dir.cc (recursive_directory_iterator): 3169 Likewise. 3170 * src/filesystem/dir-common.h (is_permission_denied_error): New 3171 helper function. 3172 31732021-03-11 Jonathan Wakely <jwakely@redhat.com> 3174 3175 PR libstdc++/99536 3176 * include/bits/random.h (normal_distribution): Use 3177 default-initializer for _M_saved and _M_saved_available. 3178 31792021-03-10 John David Anglin <danglin@gcc.gnu.org> 3180 3181 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to 3182 link with libatomic. 3183 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 3184 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 3185 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 3186 * testsuite/30_threads/barrier/arrive.cc: Likewise. 3187 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 3188 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 3189 * testsuite/30_threads/barrier/completion.cc: Likewise. 3190 * testsuite/30_threads/latch/3.cc: Likewise. 3191 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. 3192 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. 3193 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 3194 31952021-03-10 Jonathan Wakely <jwakely@redhat.com> 3196 3197 PR libstdc++/99413 3198 * include/bits/align.h: Include debug/assertions.h. 3199 * include/bits/codecvt.h: Include bits/c++config.h. 3200 * include/bits/enable_special_members.h: Likewise. 3201 * include/bits/erase_if.h: Likewise. 3202 * include/bits/functional_hash.h: Include <type_traits>. 3203 * include/bits/invoke.h: Include bits/move.h. 3204 * include/bits/ostream_insert.h: Include bits/exception_defines.h. 3205 * include/bits/parse_numbers.h: Include <type_traits>. 3206 * include/bits/predefined_ops.h: Include bits/c++config.h. 3207 * include/bits/range_access.h: Include bits/stl_iterator.h. 3208 * include/bits/stl_bvector.h: Do not include bits/stl_vector.h. 3209 * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h. 3210 * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h. 3211 * include/bits/uniform_int_dist.h: Include bits/concept_check.h. 3212 * include/bits/unique_lock.h: Include bits/std_mutex.h. 3213 * include/debug/assertions.h: Include bits/c++config.h. 3214 32152021-03-10 Jonathan Wakely <jwakely@redhat.com> 3216 3217 * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove. 3218 (ranges::equal_to, ranges::not_equal_to): Do not constrain 3219 with __eq_builtin_ptr_cmp. 3220 (ranges::less, ranges::greater, ranges::less_equal) 3221 (ranges::greater_equal): Do not constrain with 3222 __less_builtin_ptr_cmp. 3223 * libsupc++/compare (compare_three_way): Do not constrain with 3224 __3way_builtin_ptr_cmp. 3225 * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to... 3226 * testsuite/18_support/comparisons/object/lwg3530.cc: ...here. 3227 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test. 3228 32292021-03-10 Jonathan Wakely <jwakely@redhat.com> 3230 3231 * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for 3232 C++20 calendar types. 3233 32342021-03-06 Jakub Jelinek <jakub@redhat.com> 3235 3236 PR libstdc++/99396 3237 * include/std/bit (__rotl, __rotr): Add optimized variants for power of 3238 two _Nd which the compiler can pattern match the rotates. 3239 32402021-03-04 Jonathan Wakely <jwakely@redhat.com> 3241 3242 PR libstdc++/99382 3243 * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: 3244 Make storage larger than required. Verify no write to the last 3245 element. 3246 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: 3247 Likewise. 3248 32492021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3250 3251 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. 3252 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: 3253 Likewise. 3254 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. 3255 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: 3256 Likewise. 3257 32582021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3259 3260 * include/experimental/bits/simd.h: Replace reserved _X, _B by 3261 _Xp, _Bp. 3262 * include/experimental/bits/simd_builtin.h: Likewise. 3263 * include/experimental/bits/simd_x86.h: Likewise. 3264 32652021-02-27 Jonathan Wakely <jwakely@redhat.com> 3266 3267 PR libstdc++/99301 3268 * include/std/chrono (year_month_day::_M_days_since_epoch()): 3269 Convert chrono::month and chrono::day to unsigned before 3270 converting to uint32_t. 3271 32722021-02-25 Jonathan Wakely <jwakely@redhat.com> 3273 3274 * include/std/chrono (year_month_day::_S_from_days): Perform 3275 all calculations with type uint32_t. 3276 32772021-02-25 Jonathan Wakely <jwakely@redhat.com> 3278 3279 * doc/xml/manual/abi.xml: Document versioning for GCC 11. 3280 * doc/html/manual/abi.html: Regenerate. 3281 32822021-02-25 Jonathan Wakely <jwakely@redhat.com> 3283 3284 PR libstdc++/99270 3285 * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to 3286 FILE instead of FILE. 3287 32882021-02-25 Andreas Schwab <schwab@suse.de> 3289 3290 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 3291 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 3292 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 3293 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. 3294 32952021-02-25 Jonathan Wakely <jwakely@redhat.com> 3296 3297 PR libstdc++/99265 3298 * include/std/chrono (year_month_day::_S_from_days): Cast long 3299 to int explicitly. 3300 33012021-02-25 Jonathan Wakely <jwakely@redhat.com> 3302 3303 * include/std/utility (to_underlying): Define. 3304 * include/std/version (__cpp_lib_to_underlying): Define. 3305 * testsuite/20_util/to_underlying/1.cc: New test. 3306 * testsuite/20_util/to_underlying/version.cc: New test. 3307 33082021-02-24 Jonathan Wakely <jwakely@redhat.com> 3309 3310 PR libstdc++/99261 3311 * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args 3312 before value to be printed. 3313 33142021-02-24 Patrick Palka <ppalka@redhat.com> 3315 3316 * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): 3317 Relax the condition that guards the printf code path to accept 3318 F128_type as well as long double. 3319 33202021-02-24 Cassio Neri <cassio.neri@gmail.com> 3321 3322 * include/std/chrono (year_month_day_last:day): New 3323 implementation. 3324 33252021-02-24 Cassio Neri <cassio.neri@gmail.com> 3326 3327 * include/std/chrono (year::is_leap): New implementation. 3328 * testsuite/std/time/year/2.cc: New test. 3329 33302021-02-24 Cassio Neri <cassio.neri@gmail.com> 3331 3332 * include/std/chrono (year_month_day::_M_days_since_epoch): 3333 New implementation. 3334 * testsuite/std/time/year_month_day/4.cc: New test. 3335 33362021-02-24 Cassio Neri <cassio.neri@gmail.com> 3337 3338 * include/std/chrono (year_month_day::_S_from_days): New 3339 implementation. 3340 * testsuite/std/time/year_month_day/3.cc: New test. 3341 33422021-02-24 Patrick Palka <ppalka@redhat.com> 3343 3344 PR libstdc++/98384 3345 * testsuite/20_util/to_chars/long_double.cc: Include <optional>. 3346 (test01): Simplify verifying the nearby values by using a 3347 2-iteration loop and a dedicated output buffer to check that the 3348 nearby values are different. Factor out the printf-based 3349 verification into a local function, and check that the leading 3350 hex digits agree before comparing to the output of printf. Also 3351 verify the output by round-tripping it through from_chars. 3352 33532021-02-24 Jonathan Wakely <jwakely@redhat.com> 3354 3355 PR libstdc++/98389 3356 * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars 3357 symbols for long double arguments mangled as 'g'. 3358 * config/os/gnu-linux/ldbl-extra.ver: Likewise. 3359 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise. 3360 * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]: 3361 Use -mabi=ibmlongdouble for floating_to_chars.cc. 3362 * src/c++17/Makefile.in: Regenerate. 3363 * src/c++17/floating_to_chars.cc (floating_type_traits_binary128): 3364 New type defining type traits of IEEE binary128 format. 3365 (floating_type_traits<__float128>): Define specialization. 3366 (floating_type_traits<long double>): Define in terms of 3367 floating_type_traits_binary128 when appropriate. 3368 (floating_to_shortest_scientific): Handle __float128. 3369 (sprintf_ld): New function template for printing a long double 3370 or __ieee128 value using sprintf. 3371 (__floating_to_chars_shortest, __floating_to_chars_precision): 3372 Use sprintf_ld. 3373 (to_chars): Define overloads for __float128. 3374 33752021-02-24 Jonathan Wakely <jwakely@redhat.com> 3376 3377 * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*. 3378 33792021-02-23 Martin Sebor <msebor@redhat.com> 3380 3381 PR c++/99074 3382 * libsupc++/dyncast.cc (__dynamic_cast): Return null when 3383 first argument is null. 3384 33852021-02-23 Jakub Jelinek <jakub@redhat.com> 3386 3387 PR libstdc++/99181 3388 * testsuite/21_strings/char_traits/requirements/char/99181.cc: New 3389 test. 3390 33912021-02-23 Jakub Jelinek <jakub@redhat.com> 3392 3393 PR libstdc++/99181 3394 * include/bits/char_traits.h (char_traits<char>::compare): For 3395 constexpr evaluation don't call 3396 __gnu_cxx::char_traits<char_type>::compare but do the comparison loop 3397 directly. 3398 33992021-02-23 Jakub Jelinek <jakub@redhat.com> 3400 3401 PR libstdc++/97549 3402 * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend. 3403 34042021-02-23 Patrick Palka <ppalka@redhat.com> 3405 3406 PR libstdc++/98384 3407 * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract 3408 the high- and low-order parts from an IBM long double value 3409 in an endian-agnostic way. 3410 34112021-02-19 Jonathan Wakely <jwakely@redhat.com> 3412 3413 * include/bits/atomic_wait.h (__thread_relax()): Call 3414 __thread_yield() not __gthread_yield(). 3415 34162021-02-15 Jonathan Wakely <jwakely@redhat.com> 3417 3418 * include/bits/atomic_wait.h (__thread_yield()): Check 3419 _GLIBCXX_HAS_GTHREADS before using __gthread_yield. 3420 (__thread_relax()): Use __thread_yield() instead of repeating 3421 the preprocessor checks for __gthread_yield. 3422 34232021-02-15 Jonathan Wakely <jwakely@redhat.com> 3424 3425 * include/std/mutex (once_flag::_M_activate()): Add explicit 3426 return statement for passive case. 3427 (once_flag::_M_finish(bool)): Use reserved name for parameter. 3428 34292021-02-14 Jonathan Wakely <jwakely@redhat.com> 3430 3431 PR libstdc++/99096 3432 * testsuite/util/testsuite_fs.h: Always include <unistd.h>. 3433 34342021-02-12 Jonathan Wakely <jwakely@redhat.com> 3435 3436 PR libstdc++/88881 3437 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround. 3438 34392021-02-12 Jonathan Wakely <jwakely@redhat.com> 3440 3441 * doc/xml/manual/status_cxx2014.xml: Document implementation 3442 specific properties of std::experimental::filesystem::rename. 3443 * doc/xml/manual/status_cxx2017.xml: Document implementation 3444 specific properties of std::filesystem::rename. 3445 * doc/html/*: Regenerate. 3446 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour 3447 for directories on Windows. 3448 * src/filesystem/ops-common.h (__gnu_posix::rename): Use 3449 MoveFileExW on Windows. 3450 * testsuite/27_io/filesystem/operations/rename.cc: New test. 3451 * testsuite/experimental/filesystem/operations/rename.cc: New test. 3452 34532021-02-12 Jonathan Wakely <jwakely@redhat.com> 3454 3455 * testsuite/util/testsuite_fs.h (nonexistent_path): Add 3456 random number to the path. 3457 34582021-02-12 Jonathan Wakely <jwakely@redhat.com> 3459 3460 * include/experimental/internet (address_v6::to_string): Include 3461 scope ID in string. 3462 * testsuite/experimental/net/internet/address/v6/members.cc: 3463 Test to_string() results. 3464 34652021-02-12 Jonathan Wakely <jwakely@redhat.com> 3466 3467 * include/experimental/internet (address_v6::any): Avoid using 3468 memcpy in constexpr function. 3469 (address_v6::loopback): Likewise. 3470 (make_address_v6): Fix missing return statements on error paths. 3471 * include/experimental/io_context: Avoid -Wdangling-else 3472 warning. 3473 * testsuite/experimental/net/internet/address/v4/members.cc: 3474 Remove unused variables. 3475 * testsuite/experimental/net/internet/address/v6/members.cc: 3476 New test. 3477 34782021-02-12 Jonathan Wakely <jwakely@redhat.com> 3479 3480 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter): 3481 Add unused attribute to parameter. 3482 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq): 3483 Likewise. 3484 34852021-02-12 Jonathan Wakely <jwakely@redhat.com> 3486 3487 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail 3488 if -fno-rtti is used. 3489 * testsuite/30_threads/async/forced_unwind.cc: Expect test 3490 to abort if -fno-rtti is used. 3491 34922021-02-12 Jonathan Wakely <jwakely@redhat.com> 3493 3494 * testsuite/util/testsuite_allocator.h (memory_resource): 3495 Remove requirement for RTTI and exceptions to be enabled. 3496 34972021-02-12 Jonathan Wakely <jwakely@redhat.com> 3498 3499 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use 3500 static_cast when RTTI is disabled. 3501 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: 3502 Likewise. 3503 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: 3504 Likewise. 3505 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: 3506 Likewise. 3507 * testsuite/27_io/basic_stringstream/str/char/2.cc: 3508 Likewise. 3509 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: 3510 Likewise. 3511 35122021-02-12 Jonathan Wakely <jwakely@redhat.com> 3513 3514 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter 3515 as unused and only use dynamic_cast when RTTI is enabled. 3516 35172021-02-12 Jonathan Wakely <jwakely@redhat.com> 3518 3519 PR libstdc++/99077 3520 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)): 3521 Change int parameter to error_code, to match std::ios_failure. 3522 (__throw_ios_failure(const char*, int)): Construct error_code 3523 from int parameter. 3524 35252021-02-11 Jonathan Wakely <jwakely@redhat.com> 3526 3527 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define 3528 new macro. 3529 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new 3530 macro instead of _GLIBCXX_EH_PTR_COMPAT. 3531 (operator==): Likewise. 3532 35332021-02-11 Jonathan Wakely <jwakely@redhat.com> 3534 3535 PR libstdc++/99058 3536 * doc/xml/manual/status_cxx2011.xml: Document when support 3537 became stable. 3538 * doc/xml/manual/status_cxx2014.xml: Likewise. 3539 * doc/xml/manual/status_cxx2017.xml: Likewise. 3540 * doc/html/manual/status.html: Regenerate. 3541 35422021-02-10 Jonathan Wakely <jwakely@redhat.com> 3543 3544 PR libstdc++/88881 3545 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround. 3546 35472021-02-10 Jonathan Wakely <jwakely@redhat.com> 3548 3549 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent) 3550 (fs::remove): Use std::system_category() for error codes from 3551 GetLastError(). 3552 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove): 3553 Likewise. 3554 35552021-02-10 Jonathan Wakely <jwakely@redhat.com> 3556 3557 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo 3558 in __MINGW32__ macro name. 3559 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. 3560 * testsuite/27_io/filesystem/path/generation/proximate.cc: 3561 Likewise. 3562 * testsuite/27_io/filesystem/path/generation/relative.cc: 3563 Likewise. 3564 * testsuite/util/testsuite_fs.h: Likewise. 3565 35662021-02-09 François Dumont <fdumont@gcc.gnu.org> 3567 3568 * include/bits/stl_tree.h 3569 (__has_is_transparent, __has_is_transparent_t): Move... 3570 * include/bits/stl_function.h: ...here. 3571 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New.. 3572 (_Hashtable_base<>::_M_equals_tr): New. 3573 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr, 3574 _Hashtable<>::_M_equal_range_tr): New member function templates to perform 3575 heterogeneous lookup. 3576 (_Hashtable<>::_M_find_before_node_tr): New. 3577 (_Hashtable<>::_M_find_node_tr): New. 3578 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>, 3579 unordered_map::contains<>, unordered_map::equal_range<>): New member function 3580 templates to perform heterogeneous lookup. 3581 (unordered_multimap::find<>, unordered_multimap::count<>, 3582 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise. 3583 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>, 3584 unordered_set::contains<>, unordered_set::equal_range<>): Likewise. 3585 (unordered_multiset::find<>, unordered_multiset::count<>, 3586 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise. 3587 * include/debug/unordered_map 3588 (unordered_map::find<>, unordered_map::equal_range<>): Likewise. 3589 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise. 3590 * include/debug/unordered_set 3591 (unordered_set::find<>, unordered_set::equal_range<>): Likewise. 3592 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise. 3593 * testsuite/23_containers/unordered_map/operations/1.cc: New test. 3594 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test. 3595 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test. 3596 * testsuite/23_containers/unordered_set/operations/1.cc: New test. 3597 35982021-02-09 François Dumont <fdumont@gcc.gnu.org> 3599 3600 * include/bits/stl_deque.h 3601 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with 3602 a null pointer test. 3603 36042021-02-09 Jonathan Wakely <jwakely@redhat.com> 3605 3606 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove 3607 test directory after making it writable again. 3608 * testsuite/experimental/filesystem/operations/remove_all.cc: 3609 Likewise. 3610 36112021-02-09 Jonathan Wakely <jwakely@redhat.com> 3612 3613 PR libstdc++/99021 3614 * include/std/coroutine (coroutine_handle<P>::from_address): Add 3615 noexcept. 3616 36172021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com> 3618 3619 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>. 3620 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t. 3621 36222021-02-09 Jakub Jelinek <jakub@redhat.com> 3623 3624 PR middle-end/98465 3625 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s 3626 points to the characters moved by earlier _S_move, compute the source 3627 address using expression based on the __p pointer rather than __s 3628 pointer. 3629 36302021-02-03 Jonathan Wakely <jwakely@redhat.com> 3631 3632 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: 3633 Add comparison with same category and different values. 3634 * testsuite/19_diagnostics/error_code/operators/less.cc: 3635 Likewise. Fix comparison involving different categories. 3636 * testsuite/19_diagnostics/error_code/operators/three_way.cc: 3637 Likewise. 3638 * testsuite/19_diagnostics/error_condition/operators/less.cc: 3639 Add comment. 3640 * testsuite/19_diagnostics/error_condition/operators/three_way.cc: 3641 Likewise. 3642 36432021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com> 3644 3645 * include/experimental/bits/simd_neon.h: Replace repeated vpadd 3646 calls with a single vaddv for aarch64. 3647 36482021-02-03 Matthias Kretz <kretz@kde.org> 3649 3650 * testsuite/Makefile.am: Warn about the workaround. Add 3651 -fno-tree-vrp to CXXFLAGS passed to the check_simd script. 3652 Improve initial user feedback from make check-simd. 3653 * testsuite/Makefile.in: Regenerated. 3654 36552021-02-03 Matthias Kretz <kretz@kde.org> 3656 3657 * include/experimental/bits/simd.h: Add __detail::_Minimum and 3658 __detail::_Maximum to use them as _BinaryOperation to _S_reduce. 3659 Add hmin and hmax overloads for simd and const_where_expression. 3660 * include/experimental/bits/simd_scalar.h 3661 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation 3662 parameter const-ref to allow calling _S_reduce with an rvalue. 3663 * testsuite/experimental/simd/tests/reductions.cc: Add tests for 3664 hmin and hmax. Since the compiler statically determined that all 3665 tests pass, repeat the test after a call to make_value_unknown. 3666 36672021-02-03 Matthias Kretz <kretz@kde.org> 3668 3669 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add 3670 instruction pointer data member. Ensure that the `if (m_failed)` 3671 branch is always inlined into the calling code. The body of the 3672 conditional can still be a function call. Move the get_ip call 3673 into the verify ctor to simplify the ctor calls. 3674 (COMPARE): Don't mention the use of all_of for reduction of a 3675 simd_mask. It only distracts from the real issue. 3676 36772021-02-03 Matthias Kretz <kretz@kde.org> 3678 3679 * testsuite/experimental/simd/driver.sh: Abstract reading test 3680 options into read_src_option function. Read skip, only, 3681 expensive, and xfail via read_src_option. Add timeout and 3682 timeout-factor options and adjust timeout variable accordingly. 3683 * testsuite/experimental/simd/tests/loadstore.cc: Set 3684 timeout-factor 2. 3685 36862021-02-03 Matthias Kretz <kretz@kde.org> 3687 3688 * testsuite/experimental/simd/driver.sh: When handling the pipe 3689 to log (and on verbose to stdout) count the lines. If it exceeds 3690 1000 log the issue and exit 125, which is then handled as a 3691 failure. 3692 36932021-02-03 Matthias Kretz <kretz@kde.org> 3694 3695 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip: 3696 markup for long double on powerpc64*. 3697 36982021-02-03 Matthias Kretz <kretz@kde.org> 3699 3700 * include/experimental/bits/simd.h: Add __have_power10vec 3701 conditional on _ARCH_PWR10. 3702 * include/experimental/bits/simd_builtin.h: Forward declare 3703 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is 3704 defined. 3705 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the 3706 _SuperImpl for optimizations and correctness. 3707 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc. 3708 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10. 3709 Otherwise, for >=int use -vec_sums divided by a sizeof factor. 3710 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries. 3711 37122021-02-03 Matthias Kretz <kretz@kde.org> 3713 3714 * testsuite/experimental/simd/driver.sh: Remove executable on 3715 SIGINT. Process compiler and test executable output: In verbose 3716 mode print messages immediately, limited to 1000 lines and 3717 breaking long lines to below $COLUMNS (or 1024 if not set). 3718 Communicating the exit status of the compiler / test with the 3719 necessary pipe is done via a message through stdout/-in. 3720 37212021-02-03 Matthias Kretz <kretz@kde.org> 3722 3723 * testsuite/Makefile.am: Ensure .simd.summary is empty before 3724 collecting a new summary. 3725 * testsuite/Makefile.in: Regenerate. 3726 37272021-02-03 Matthias Kretz <kretz@kde.org> 3728 3729 * testsuite/experimental/simd/generate_makefile.sh: Use 3730 different variables internally than documented for user 3731 overrides. This makes internal append/prepend work as intended. 3732 37332021-02-03 Matthias Kretz <kretz@kde.org> 3734 3735 * testsuite/experimental/simd/driver.sh (verify_test): Print 3736 test output on run xfail. Do not repeat lines from the log that 3737 were already printed on stdout. 3738 (test_selector): Make the compiler flags pattern usable as a 3739 substring selector. 3740 (toplevel): Trap on SIGINT and remove the log and sum files. 3741 Call timout with --foreground to quickly terminate on SIGINT. 3742 * testsuite/experimental/simd/generate_makefile.sh: Simplify run 3743 targets via target patterns. Default DRIVEROPTS to -v for run 3744 targets. Remove log and sum files after completion of the run 3745 target (so that it's always recompiled). 3746 Place help text into text file for reasonable 'make help' 3747 performance. 3748 37492021-02-03 Matthias Kretz <kretz@kde.org> 3750 3751 * include/experimental/bits/simd.h: Remove unnecessary static 3752 assertion. Allow sizeof(8) integer __intrinsic_type to enable 3753 the necessary mask type. 3754 37552021-02-03 Matthias Kretz <kretz@kde.org> 3756 3757 * include/experimental/bits/simd.h: Let __intrinsic_type<long 3758 double, N> be valid if sizeof(long double) == sizeof(double) and 3759 use a __vector double as member type. 3760 37612021-02-03 Matthias Kretz <kretz@kde.org> 3762 3763 * include/experimental/bits/simd.h (__is_intrinsic_type): New 3764 internal type trait. Alias for __is_vector_type on x86. 3765 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for 3766 __vector_type. 3767 (__intrin_bitcast): Allow casting to & from vector & intrinsic 3768 types. 3769 (__intrinsic_type): Explicitly specialize for NEON intrinsic 3770 vector types. 3771 37722021-02-03 Matthias Kretz <kretz@kde.org> 3773 3774 * testsuite/experimental/simd/driver.sh: Implement skip, only, 3775 expensive, and xfail markers. They can select on type, ABI tag 3776 subset number, target-triplet, and compiler flags. 3777 * testsuite/experimental/simd/generate_makefile.sh: The summary 3778 now includes lines for unexpected passes and expected failures. 3779 If the skip or only markers are only conditional on the type, do 3780 not generate rules for those types. 3781 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive 3782 for ABI tag subsets 1-9. 3783 * testsuite/experimental/simd/tests/algorithms.cc: Ditto. 3784 * testsuite/experimental/simd/tests/broadcast.cc: Ditto. 3785 * testsuite/experimental/simd/tests/casts.cc: Ditto. 3786 * testsuite/experimental/simd/tests/generator.cc: Ditto. 3787 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. 3788 * testsuite/experimental/simd/tests/loadstore.cc: Ditto. 3789 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. 3790 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. 3791 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. 3792 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto. 3793 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. 3794 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. 3795 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. 3796 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. 3797 * testsuite/experimental/simd/tests/operators.cc: Ditto. 3798 * testsuite/experimental/simd/tests/reductions.cc: Ditto. 3799 * testsuite/experimental/simd/tests/simd.cc: Ditto. 3800 * testsuite/experimental/simd/tests/split_concat.cc: Ditto. 3801 * testsuite/experimental/simd/tests/splits.cc: Ditto. 3802 * testsuite/experimental/simd/tests/where.cc: Ditto. 3803 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In 3804 addition replace "test only floattypes" marker by unconditional 3805 "float|double|ldouble" only marker. 3806 * testsuite/experimental/simd/tests/frexp.cc: Ditto. 3807 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. 3808 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: 3809 Ditto. 3810 * testsuite/experimental/simd/tests/logarithm.cc: Ditto. 3811 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. 3812 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. 3813 * testsuite/experimental/simd/tests/remqo.cc: Ditto. 3814 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. 3815 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. 3816 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In 3817 addition, xfail on run because the reference data is missing. 3818 38192021-02-02 Jonathan Wakely <jwakely@redhat.com> 3820 3821 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell. 3822 * doc/xml/manual/status_cxx2014.xml: Likewise. 3823 * doc/xml/manual/status_cxx2017.xml: Likewise. 3824 * doc/html/manual/status.html: Regenerate. 3825 38262021-02-01 François Dumont <fdumont@gcc.gnu.org> 3827 3828 PR libstdc++/70303 3829 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)): 3830 Return 0 if both iterators are value-initialized. 3831 * testsuite/23_containers/deque/70303.cc: New test. 3832 * testsuite/23_containers/vector/70303.cc: New test. 3833 38342021-02-01 Jonathan Wakely <jwakely@redhat.com> 3835 3836 * doc/xml/manual/status_cxx2011.xml: Update std::call_once 3837 status. 3838 * doc/xml/manual/status_cxx2014.xml: Likewise. 3839 * doc/xml/manual/status_cxx2017.xml: Likewise. Update 3840 std::from_chars and std::to_chars status. Fix formatting. 3841 * doc/html/manual/status.html: Regenerate. 3842 38432021-01-28 Jonathan Wakely <jwakely@redhat.com> 3844 3845 * include/experimental/bits/numeric_traits.h: Update copyright 3846 dates. 3847 * include/experimental/bits/simd.h: Likewise. 3848 * include/experimental/bits/simd_builtin.h: Likewise. 3849 * include/experimental/bits/simd_converter.h: Likewise. 3850 * include/experimental/bits/simd_detail.h: Likewise. 3851 * include/experimental/bits/simd_fixed_size.h: Likewise. 3852 * include/experimental/bits/simd_math.h: Likewise. 3853 * include/experimental/bits/simd_neon.h: Likewise. 3854 * include/experimental/bits/simd_ppc.h: Likewise. 3855 * include/experimental/bits/simd_scalar.h: Likewise. 3856 * include/experimental/bits/simd_x86.h: Likewise. 3857 * include/experimental/bits/simd_x86_conversions.h: Likewise. 3858 * include/experimental/simd: Likewise. 3859 * testsuite/experimental/simd/*: Likewise. 3860 38612021-01-27 Jonathan Wakely <jwakely@redhat.com> 3862 3863 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity. 3864 * doc/html/*: Regenerate. 3865 38662021-01-27 Jonathan Wakely <jwakely@redhat.com> 3867 3868 * testsuite/experimental/simd/generate_makefile.sh: Use printf 3869 instead of echo when printing escape characters. 3870 38712021-01-27 Matthias Kretz <kretz@kde.org> 3872 3873 * scripts/check_simd: New file. This script is called from the 3874 the check-simd target. It determines a set of compiler flags and 3875 simulator setups for calling generate_makefile.sh and passes the 3876 information back to the check-simd target, which recurses to the 3877 generated Makefiles. 3878 * scripts/create_testsuite_files: Remove files below simd/tests/ 3879 from testsuite_files and place them in testsuite_files_simd. 3880 * testsuite/Makefile.am: Add testsuite_files_simd. Add 3881 check-simd target. 3882 * testsuite/Makefile.in: Regenerate. 3883 * testsuite/experimental/simd/driver.sh: New file. This script 3884 compiles and runs a given simd test, logging its output and 3885 status. It uses the timeout command to implement compile and 3886 test timeouts. 3887 * testsuite/experimental/simd/generate_makefile.sh: New file. 3888 This script generates a Makefile which uses driver.sh to compile 3889 and run the tests and collect the logs into a single log file. 3890 * testsuite/experimental/simd/tests/abs.cc: New file. Tests 3891 abs(simd). 3892 * testsuite/experimental/simd/tests/algorithms.cc: New file. 3893 Tests min/max(simd, simd). 3894 * testsuite/experimental/simd/tests/bits/conversions.h: New 3895 file. Contains functions to support tests involving conversions. 3896 * testsuite/experimental/simd/tests/bits/make_vec.h: New file. 3897 Support functions make_mask and make_vec. 3898 * testsuite/experimental/simd/tests/bits/mathreference.h: New 3899 file. Support functions to supply precomputed math function 3900 reference data. 3901 * testsuite/experimental/simd/tests/bits/metahelpers.h: New 3902 file. Support code for SFINAE testing. 3903 * testsuite/experimental/simd/tests/bits/simd_view.h: New file. 3904 * testsuite/experimental/simd/tests/bits/test_values.h: New 3905 file. Test functions to easily drive a test with simd objects 3906 initialized from a given list of values and a range of random 3907 values. 3908 * testsuite/experimental/simd/tests/bits/ulp.h: New file. 3909 Support code to determine the ULP distance of simd objects. 3910 * testsuite/experimental/simd/tests/bits/verify.h: New file. 3911 Test framework for COMPARE'ing simd objects and instantiating 3912 the test templates with value_type and ABI tag. 3913 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test 3914 simd broadcasts. 3915 * testsuite/experimental/simd/tests/casts.cc: New file. Test 3916 simd casts. 3917 * testsuite/experimental/simd/tests/fpclassify.cc: New file. 3918 Test floating-point classification functions. 3919 * testsuite/experimental/simd/tests/frexp.cc: New file. Test 3920 frexp(simd). 3921 * testsuite/experimental/simd/tests/generator.cc: New file. Test 3922 simd generator constructor. 3923 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file. 3924 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim). 3925 * testsuite/experimental/simd/tests/integer_operators.cc: New 3926 file. Test integer operators. 3927 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: 3928 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and 3929 modf(simd). 3930 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test 3931 (converting) simd loads and stores. 3932 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test 3933 log*(simd). 3934 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file. 3935 Test simd_mask broadcasts. 3936 * testsuite/experimental/simd/tests/mask_conversions.cc: New 3937 file. Test simd_mask conversions. 3938 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New 3939 file. Test simd_mask implicit conversions. 3940 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file. 3941 Test simd_mask loads and stores. 3942 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New 3943 file. Test simd_mask operators convert as specified. 3944 * testsuite/experimental/simd/tests/mask_operators.cc: New file. 3945 Test simd_mask compares, subscripts, and negation. 3946 * testsuite/experimental/simd/tests/mask_reductions.cc: New 3947 file. Test simd_mask reductions. 3948 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test 3949 1-arg math functions on simd. 3950 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test 3951 2-arg math functions on simd. 3952 * testsuite/experimental/simd/tests/operator_cvt.cc: New file. 3953 Test implicit conversions on simd binary operators behave as 3954 specified. 3955 * testsuite/experimental/simd/tests/operators.cc: New file. Test 3956 simd compares, subscripts, not, unary minus, plus, minus, 3957 multiplies, divides, increment, and decrement. 3958 * testsuite/experimental/simd/tests/reductions.cc: New file. 3959 Test reduce(simd). 3960 * testsuite/experimental/simd/tests/remqo.cc: New file. Test 3961 remqo(simd). 3962 * testsuite/experimental/simd/tests/simd.cc: New file. Basic 3963 sanity checks of simd types. 3964 * testsuite/experimental/simd/tests/sincos.cc: New file. Test 3965 sin(simd) and cos(simd). 3966 * testsuite/experimental/simd/tests/split_concat.cc: New file. 3967 Test split(simd) and concat(simd, simd). 3968 * testsuite/experimental/simd/tests/splits.cc: New file. Test 3969 split(simd_mask). 3970 * testsuite/experimental/simd/tests/trigonometric.cc: New file. 3971 Test remaining trigonometric functions on simd. 3972 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New 3973 file. Test trunc(simd), ceil(simd), and floor(simd). 3974 * testsuite/experimental/simd/tests/where.cc: New file. Test 3975 masked operations using where. 3976 39772021-01-27 Matthias Kretz <kretz@kde.org> 3978 3979 * doc/xml/manual/status_cxx2017.xml: Add implementation status 3980 of the Parallelism TS 2. Document implementation-defined types 3981 and behavior. 3982 * include/Makefile.am: Add new headers. 3983 * include/Makefile.in: Regenerate. 3984 * include/experimental/simd: New file. New header for 3985 Parallelism TS 2. 3986 * include/experimental/bits/numeric_traits.h: New file. 3987 Implementation of P1841R1 using internal naming. Addition of 3988 missing IEC559 functionality query. 3989 * include/experimental/bits/simd.h: New file. Definition of the 3990 public simd interfaces and general implementation helpers. 3991 * include/experimental/bits/simd_builtin.h: New file. 3992 Implementation of the _VecBuiltin simd_abi. 3993 * include/experimental/bits/simd_converter.h: New file. Generic 3994 simd conversions. 3995 * include/experimental/bits/simd_detail.h: New file. Internal 3996 macros for the simd implementation. 3997 * include/experimental/bits/simd_fixed_size.h: New file. Simd 3998 fixed_size ABI specific implementations. 3999 * include/experimental/bits/simd_math.h: New file. Math 4000 overloads for simd. 4001 * include/experimental/bits/simd_neon.h: New file. Simd NEON 4002 specific implementations. 4003 * include/experimental/bits/simd_ppc.h: New file. Implement bit 4004 shifts to avoid invalid results for integral types smaller than 4005 int. 4006 * include/experimental/bits/simd_scalar.h: New file. Simd scalar 4007 ABI specific implementations. 4008 * include/experimental/bits/simd_x86.h: New file. Simd x86 4009 specific implementations. 4010 * include/experimental/bits/simd_x86_conversions.h: New file. 4011 x86 specific conversion optimizations. The conversion patterns 4012 work around missing conversion patterns in the compiler and 4013 should be removed as soon as PR85048 is resolved. 4014 * testsuite/experimental/simd/standard_abi_usable.cc: New file. 4015 Test that all (not all fixed_size<N>, though) standard simd and 4016 simd_mask types are usable. 4017 * testsuite/experimental/simd/standard_abi_usable_2.cc: New 4018 file. As above but with -ffast-math. 4019 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests 4020 from the standard test loop. Instead use 4021 check_vect_support_and_set_flags to build simd tests with the 4022 relevant machine flags. 4023 40242021-01-27 Jonathan Wakely <jwakely@redhat.com> 4025 4026 PR libstdc++/66414 4027 * include/bits/string_view.tcc 4028 (basic_string_view::find(const CharT*, size_type, size_type)): 4029 Optimize. 4030 40312021-01-27 Paul Fee <paul.f.fee@gmail.com> 4032 4033 * include/bits/basic_string.h (basic_string::contains): New 4034 member functions. 4035 * include/std/string_view (basic_string_view::contains): 4036 Likewise. 4037 * include/std/version (__cpp_lib_string_contains): Define. 4038 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc: 4039 Remove trailing whitespace. 4040 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc: 4041 Likewise. 4042 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test. 4043 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test. 4044 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test. 4045 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test. 4046 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test. 4047 40482021-01-21 Jonathan Wakely <jwakely@redhat.com> 4049 4050 * src/c++17/Makefile.in: Regenerate. 4051 40522021-01-20 David Edelsohn <dje.gcc@gmail.com> 4053 4054 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast 4055 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to 4056 __lc_type. 4057 (const char* ctype<char>:: is): Same. 4058 40592021-01-18 Jonathan Wakely <jwakely@redhat.com> 4060 4061 PR libstdc++/98725 4062 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to 4063 write to a wide character stream if wide character support is 4064 disabled in the library. 4065 40662021-01-18 Jonathan Wakely <jwakely@redhat.com> 4067 4068 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use 4069 stringbuf not wstringbuf. 4070 40712021-01-18 Jakub Jelinek <jakub@redhat.com> 4072 4073 PR debug/98708 4074 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s): 4075 Compile with -gno-as-loc-support. 4076 * src/c++11/Makefile.in: Regenerated. 4077 40782021-01-16 H.J. Lu <hjl.tools@gmail.com> 4079 4080 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: 4081 Add -fcf-protection=none to -march=i486. 4082 40832021-01-14 François Dumont <fdumont@gcc.gnu.org> 4084 4085 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11 4086 compliant. 4087 40882021-01-14 Alexandre Oliva <oliva@adacore.com> 4089 4090 * testsuite/30_threads/future/members/poll.cc: Calibrate 4091 iteration count. 4092 40932021-01-14 François Dumont <fdumont@gcc.gnu.org> 4094 4095 PR libstdc++/98466 4096 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr. 4097 (_Node_iterator()): Make default. 4098 (_Node_const_iterator()): Make default. 4099 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular 4100 iterator checks. 4101 * include/debug/safe_iterator.h 4102 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized. 4103 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): 4104 Likewise. 4105 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add 4106 _M_singular checks on input iterators. 4107 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular 4108 checks. 4109 * testsuite/23_containers/deque/debug/98466.cc: New test. 4110 * testsuite/23_containers/unordered_map/debug/98466.cc: New test. 4111 41122021-01-14 Jonathan Wakely <jwakely@redhat.com> 4113 4114 PR libstdc++/98471 4115 * include/bits/fs_path.h (__throw_conversion_error): New 4116 function to throw or abort on character conversion errors. 4117 (__wstr_from_utf8): Move definition after filesystem_error has 4118 been defined. Use __throw_conversion_error. 4119 (path::_S_convert<_EcharT>): Use __throw_conversion_error. 4120 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise. 4121 (path::u8string): Likewise. 4122 41232021-01-14 Jonathan Wakely <jwakely@redhat.com> 4124 4125 * include/std/barrier: Update copyright years. Fix whitespace. 4126 * include/std/version: Fix whitespace. 4127 * testsuite/30_threads/barrier/1.cc: Update copyright years. 4128 * testsuite/30_threads/barrier/2.cc: Likewise. 4129 * testsuite/30_threads/barrier/arrive.cc: Likewise. 4130 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 4131 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 4132 * testsuite/30_threads/barrier/completion.cc: Likewise. 4133 41342021-01-13 Jonathan Wakely <jwakely@redhat.com> 4135 4136 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array. 4137 41382021-01-10 David Edelsohn <dje.gcc@gmail.com> 4139 4140 PR libstdc++/98613 4141 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive 4142 warning. 4143 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same. 4144 41452021-01-08 Olivier Hainque <hainque@adacore.com> 4146 4147 * testsuite/20_util/bind/ref_neg.cc: Tweak the 4148 dg-prune-output regex for out-of-build-tree contexts. 4149 41502021-01-07 Thomas Rodgers <trodgers@redhat.com> 4151 4152 * doc/doxygen/user.cfg.in: Add new header. 4153 * include/Makefile.am (std_headers): likewise. 4154 * include/Makefile.in: Regenerate. 4155 * include/precompiled/stdc++.h: Add new header. 4156 * include/std/barrier: New file. 4157 * include/std/version: Add __cpp_lib_barrier feature test macro. 4158 * testsuite/30_threads/barrier/1.cc: New test. 4159 * testsuite/30_threads/barrier/2.cc: Likewise. 4160 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 4161 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 4162 * testsuite/30_threads/barrier/arrive.cc: Likewise. 4163 * testsuite/30_threads/barrier/completion.cc: Likewise. 4164 41652021-01-07 Patrick Palka <ppalka@redhat.com> 4166 4167 PR libstdc++/98384 4168 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl 4169 instead of the non-standard nextupl and nextdownl. 4170 41712021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org> 4172 4173 * configure: Re-generate. 4174 41752021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net> 4176 4177 * include/precompiled/stdc++.h: Add <source_location> to C++20 section. 4178 41792021-01-01 Jakub Jelinek <jakub@redhat.com> 4180 4181 * ChangeLog-2020: Rotate ChangeLog. New file. 4182 4183 4184Copyright (C) 2021 Free Software Foundation, Inc. 4185 4186Copying and distribution of this file, with or without modification, 4187are permitted in any medium without royalty provided the copyright 4188notice and this notice are preserved. 4189