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