Home | History | Annotate | Line # | Download | only in libstdc++-v3
ChangeLog revision 1.1.1.25
      1 2025-07-11  Release Manager
      2 
      3 	* GCC 12.5.0 released.
      4 
      5 2025-07-07  Iain Sandoe  <iain (a] sandoe.co.uk>
      6 
      7 	Backported from master:
      8 	2023-07-03  Iain Sandoe  <iain (a] sandoe.co.uk>
      9 
     10 	* testsuite/lib/libstdc++.exp: Remove additional flag handled
     11 	by Darwin specs.
     12 
     13 2025-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
     14 
     15 	Backported from master:
     16 	2024-10-16  Jonathan Wakely  <jwakely (a] redhat.com>
     17 
     18 	* python/libstdcxx/v6/printers.py (strip_fundts_namespace): New.
     19 	(StdExpAnyPrinter, StdExpOptionalPrinter): Use it.
     20 
     21 2025-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
     22 
     23 	Backported from master:
     24 	2025-06-04  Jonathan Wakely  <jwakely (a] redhat.com>
     25 
     26 	PR libstdc++/99832
     27 	* include/bits/chrono.h (system_clock::to_time_t): Add
     28 	always_inline attribute to be agnostic to the underlying type of
     29 	time_t.
     30 	(system_clock::from_time_t): Add always_inline for consistency
     31 	with to_time_t.
     32 	* testsuite/20_util/system_clock/99832.cc: New test.
     33 
     34 2025-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
     35 
     36 	Backported from master:
     37 	2025-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
     38 
     39 	* doc/xml/faq.xml: Update URL for archived SGI STL docs.
     40 	* doc/xml/manual/containers.xml: Likewise.
     41 	* doc/xml/manual/extensions.xml: Likewise.
     42 	* doc/xml/manual/using.xml: Likewise.
     43 	* doc/xml/manual/utilities.xml: Likewise.
     44 	* doc/html/*: Regenerate.
     45 
     46 2025-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
     47 
     48 	Backported from master:
     49 	2023-06-26  Jonathan Wakely  <jwakely (a] redhat.com>
     50 
     51 	* include/debug/helper_functions.h (__get_distance)
     52 	(__check_singular, __valid_range_aux, __valid_range): Qualify
     53 	calls to disable ADL.
     54 	(__check_singular_aux(const _Safe_iterator_base*)): Declare
     55 	overload that was previously found via ADL.
     56 
     57 2025-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
     58 
     59 	Backported from master:
     60 	2024-04-15  Jonathan Wakely  <jwakely (a] redhat.com>
     61 
     62 	PR libstdc++/93672
     63 	* src/c++98/istream.cc (istream::ignore(streamsize, int_type)):
     64 	Treat all negative delimiter values as eof().
     65 	* testsuite/27_io/basic_istream/ignore/char/93672.cc: New test.
     66 	* testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New
     67 	test.
     68 
     69 2025-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
     70 
     71 	Backported from master:
     72 	2025-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
     73 
     74 	PR libstdc++/117983
     75 	* include/bits/vector.tcc (vector::_M_range_insert): Add
     76 	unreachable condition to tell the compiler begin() <= end().
     77 	* testsuite/23_containers/vector/modifiers/insert/117983.cc: New
     78 	test.
     79 
     80 2025-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
     81 
     82 	Backported from master:
     83 	2024-12-17  Jonathan Wakely  <jwakely (a] redhat.com>
     84 
     85 	PR libstdc++/118035
     86 	* include/bits/deque.tcc (_M_range_insert_aux): Return
     87 	immediately if inserting an empty range.
     88 	* testsuite/23_containers/deque/modifiers/insert/118035.cc: New
     89 	test.
     90 
     91 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
     92 
     93 	Backported from master:
     94 	2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
     95 
     96 	* testsuite/20_util/integer_sequence/112473.cc: Compile with
     97 	-std=gnu++20.
     98 	* testsuite/21_strings/char_traits/requirements/113200.cc:
     99 	Likewise.
    100 	* testsuite/23_containers/array/comparison_operators/106212.cc:
    101 	Likewise.
    102 	* testsuite/23_containers/span/117966.cc: Likewise.
    103 	* testsuite/23_containers/vector/cons/113841.cc: Compile with
    104 	-std=gnu++20.
    105 	* testsuite/24_iterators/move_iterator/lwg3736.cc: Likewise.
    106 	* testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
    107 	Likewise.
    108 	* testsuite/27_io/filesystem/iterators/lwg3480.cc: Likewise.
    109 	* testsuite/29_atomics/headers/stdatomic.h/115807.cc: Compile
    110 	with -std=gnu++23.
    111 	* testsuite/std/ranges/subrange/lwg3589.cc: Likewise.
    112 	* testsuite/std/time/month/2.cc: Likewise.
    113 	* testsuite/std/time/weekday/2.cc: Likewise.
    114 
    115 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
    116 
    117 	Backported from master:
    118 	2024-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
    119 
    120 	* include/bits/ranges_util.h (subrange::begin): Fix constraint,
    121 	as per LWG 3589.
    122 	* testsuite/std/ranges/subrange/lwg3589.cc: New test.
    123 
    124 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
    125 
    126 	Backported from master:
    127 	2024-12-11  Jonathan Wakely  <jwakely (a] redhat.com>
    128 
    129 	PR libstdc++/106212
    130 	* include/std/array (operator==): Use std::__equal_aux1 instead
    131 	of std::equal.
    132 	* testsuite/23_containers/array/comparison_operators/106212.cc:
    133 	New test.
    134 
    135 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
    136 
    137 	Backported from master:
    138 	2024-12-11  Jonathan Wakely  <jwakely (a] redhat.com>
    139 
    140 	PR libstdc++/117966
    141 	* include/std/span (span(T (&)[N])): Do not delegate to
    142 	constructor that performs redundant checks.
    143 	(span(array<T, N>&), span(const array<T, N>&)): Likewise.
    144 	(span(Range&&), span(const span<T, N>&)): Likewise.
    145 	* testsuite/23_containers/span/117966.cc: New test.
    146 
    147 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
    148 
    149 	Backported from master:
    150 	2024-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
    151 
    152 	PR libstdc++/113841
    153 	* include/bits/allocator.h (allocator<cv T>): Add default
    154 	constructor to partial specializations for cv-qualified types.
    155 	* include/bits/stl_vector.h (_Vector_impl::_Vector_impl()):
    156 	Constrain so that it's only present if the allocator is default
    157 	constructible.
    158 	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
    159 	Likewise.
    160 	* testsuite/23_containers/vector/cons/113841.cc: New test.
    161 
    162 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
    163 
    164 	Backported from master:
    165 	2024-09-03  Jonathan Wakely  <jwakely (a] redhat.com>
    166 
    167 	PR libstdc++/116549
    168 	* include/bits/stl_iterator.h (disable_sized_sentinel_for):
    169 	Define specialization for two move_iterator types, as per LWG
    170 	3736.
    171 	* testsuite/24_iterators/move_iterator/lwg3736.cc: New test.
    172 
    173 2025-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
    174 
    175 	Backported from master:
    176 	2024-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
    177 
    178 	PR libstdc++/117560
    179 	* include/bits/fs_dir.h (enable_borrowed_range, enable_view):
    180 	Define specializations for directory iterators, as per LWG 3480.
    181 	* testsuite/27_io/filesystem/iterators/lwg3480.cc: New test.
    182 
    183 2025-04-15  Jonathan Wakely  <jwakely (a] redhat.com>
    184 
    185 	Backported from master:
    186 	2025-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
    187 
    188 	PR libstdc++/21334
    189 	* doc/xml/manual/using.xml: Document that container data race
    190 	avoidance rules do not apply to COW std::string.
    191 	* doc/html/*: Regenerate.
    192 
    193 2025-04-02  Jonathan Wakely  <jwakely (a] redhat.com>
    194 
    195 	Backported from master:
    196 	2023-03-31  Jonathan Wakely  <jwakely (a] redhat.com>
    197 
    198 	PR tree-optimization/107087
    199 	* include/bits/cow_string.h (basic_string::size()): Add
    200 	optimizer hint that _S_empty_rep()._M_length is always zero.
    201 	(basic_string::length()): Call size().
    202 
    203 2025-04-02  Jonathan Wakely  <jwakely (a] redhat.com>
    204 
    205 	Backported from master:
    206 	2024-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
    207 
    208 	PR libstdc++/99117
    209 	* include/std/valarray (valarray::operator=(const _Expr&)):
    210 	Use loop to copy instead of __valarray_copy with _Array.
    211 	* testsuite/26_numerics/valarray/99117.cc: New test.
    212 
    213 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    214 
    215 	* include/std/string_view (basic_string_view::copy) Use explicit
    216 	template argument for call to std::min<size_t>.
    217 	(basic_string_view::substr): Likewise.
    218 
    219 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    220 
    221 	Backported from master:
    222 	2024-06-21  Jonathan Wakely  <jwakely (a] redhat.com>
    223 
    224 	* testsuite/util/testsuite_allocator.h (tracker_allocator):
    225 	Initialize base class in copy constructor.
    226 
    227 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    228 
    229 	* src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]:
    230 	Check for EMLINK as well as ELOOP.
    231 	[__NetBSD__]: Check for EFTYPE as well as ELOOP.
    232 
    233 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    234 
    235 	Backported from master:
    236 	2024-06-12  Jonathan Wakely  <jwakely (a] redhat.com>
    237 
    238 	PR libstdc++/115399
    239 	* include/tr2/dynamic_bitset (operator>>=): Remove redundant
    240 	call to _M_do_sanitize.
    241 	* include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out
    242 	low bits in words that should no longer be populated.
    243 	(_M_do_right_shift): Likewise for high bits.
    244 	* testsuite/tr2/dynamic_bitset/pr115399.cc: New test.
    245 
    246 2024-10-07  Kim Grsman  <kim.grasman (a] gmail.com>
    247 
    248 	Backported from master:
    249 	2024-08-28  Kim Grsman  <kim.grasman (a] gmail.com>
    250 
    251 	* include/bits/cpp_type_traits.h: Improve doxygen file docs.
    252 
    253 2024-10-07  Kim Grsman  <kim.grasman (a] gmail.com>
    254 
    255 	Backported from master:
    256 	2024-08-28  Kim Grsman  <kim.grasman (a] gmail.com>
    257 
    258 	* config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file
    259 	docs.
    260 	* config/cpu/i486/opt/ext/opt_random.h: Likewise.
    261 
    262 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    263 
    264 	Backported from master:
    265 	2024-07-06  Jonathan Wakely  <jwakely (a] redhat.com>
    266 
    267 	* include/std/variant (_Variant_storage::_M_reset): Use
    268 	__unlikely__ form of attribute instead of unlikely.
    269 
    270 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    271 
    272 	Backported from master:
    273 	2024-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
    274 
    275 	* configure.ac: Fix check for O_NONBLOCK.
    276 	* config.h.in: Regenerate.
    277 	* configure: Regenerate.
    278 
    279 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    280 
    281 	Backported from master:
    282 	2024-09-10  Jonathan Wakely  <jwakely (a] redhat.com>
    283 
    284 	PR libstdc++/116641
    285 	* include/bits/basic_string.h (operator=(basic_string&&)): Call
    286 	_M_assign instead of assign.
    287 	* testsuite/21_strings/basic_string/allocator/116641.cc: New
    288 	test.
    289 
    290 2024-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
    291 
    292 	Backported from master:
    293 	2024-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
    294 
    295 	PR libstdc++/115585
    296 	* src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add
    297 	definition for non-verbose builds.
    298 
    299 2024-07-09  Jonathan Wakely  <jwakely (a] redhat.com>
    300 
    301 	Backported from master:
    302 	2024-07-08  Jonathan Wakely  <jwakely (a] redhat.com>
    303 
    304 	PR libstdc++/115807
    305 	* include/c_compatibility/stdatomic.h (_Atomic): Ensure it
    306 	refers to std::atomic in the global namespace.
    307 	* testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test.
    308 
    309 2024-06-27  Alexandre Oliva  <oliva (a] adacore.com>
    310 
    311 	Backported from master:
    312 	2024-06-27  Alexandre Oliva  <oliva (a] adacore.com>
    313 
    314 	PR libstdc++/115454
    315 	* testsuite/experimental/simd/pr115454_find_last_set.cc: Defer
    316 	to check_vect_support_and_set_flags's default dg-do action.
    317 
    318 2024-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
    319 
    320 	* doc/xml/manual/status_cxx2023.xml: Change reference from
    321 	mainline GCC to the release branch.
    322 	* doc/xml/manual/status_cxx1998.xml: Remove confusing "not in
    323 	any particular release" text.
    324 	* doc/xml/manual/status_cxx2011.xml: Likewise.
    325 	* doc/xml/manual/status_cxx2014.xml: Likewise.
    326 	* doc/xml/manual/status_cxx2017.xml: Likewise.
    327 	* doc/xml/manual/status_cxx2020.xml: Likewise.
    328 	* doc/xml/manual/status_cxxtr1.xml: Likewise.
    329 	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
    330 	* doc/html/manual/status.html: Regenerate.
    331 
    332 2024-06-21  Matthias Kretz  <m.kretz (a] gsi.de>
    333 
    334 	Backported from master:
    335 	2024-06-21  Matthias Kretz  <m.kretz (a] gsi.de>
    336 
    337 	PR libstdc++/115575
    338 	* testsuite/experimental/simd/pr115454_find_last_set.cc: Require
    339 	avx512f_runtime. Don't memcpy fixed_size masks.
    340 
    341 2024-06-21  Matthias Kretz  <m.kretz (a] gsi.de>
    342 
    343 	Backported from master:
    344 	2024-06-20  Matthias Kretz  <m.kretz (a] gsi.de>
    345 
    346 	PR libstdc++/115454
    347 	* include/experimental/bits/simd_x86.h (_S_not_equal_to): Use
    348 	neq comparison instead of bitwise negation after eq.
    349 	(_S_find_last_set): Clear unused high bits before computing
    350 	bit_width.
    351 	* testsuite/experimental/simd/pr115454_find_last_set.cc: New
    352 	test.
    353 
    354 2024-06-20  Matthias Kretz  <m.kretz (a] gsi.de>
    355 
    356 	Backported from master:
    357 	2024-06-04  Matthias Kretz  <m.kretz (a] gsi.de>
    358 
    359 	PR libstdc++/115308
    360 	* include/experimental/bits/simd.h (__int_for_sizeof): Remove
    361 	special cases for __clang__.
    362 	(_SimdWrapper): Change constructor overload set to allow
    363 	conversion from vector types with integral conversions via bit
    364 	reinterpretation.
    365 
    366 2024-06-20  Matthias Kretz  <m.kretz (a] gsi.de>
    367 
    368 	Backported from master:
    369 	2024-05-29  Matthias Kretz  <m.kretz (a] gsi.de>
    370 
    371 	PR libstdc++/115247
    372 	* include/experimental/bits/simd.h (__as_vector): Don't use
    373 	vector_size(8) on __i386__.
    374 	(__vec_shuffle): Never return MMX vectors, widen to 16 bytes
    375 	instead.
    376 	(concat): Fix padding calculation to pick up widening logic from
    377 	__as_vector.
    378 
    379 2024-06-20  Matthias Kretz  <m.kretz (a] gsi.de>
    380 
    381 	Backported from master:
    382 	2024-05-13  Matthias Kretz  <m.kretz (a] gsi.de>
    383 
    384 	PR libstdc++/114958
    385 	* include/experimental/bits/simd.h (__as_vector): Return scalar
    386 	simd as one-element vector. Return vector from single-vector
    387 	fixed_size simd.
    388 	(__vec_shuffle): New.
    389 	(__extract_part): Adjust return type signature.
    390 	(split): Use __extract_part for any split into non-fixed_size
    391 	simds.
    392 	(concat): If the return type stores a single vector, use
    393 	__vec_shuffle (which calls __builtin_shufflevector) to produce
    394 	the return value.
    395 	* include/experimental/bits/simd_builtin.h
    396 	(__shift_elements_right): Removed.
    397 	(__extract_part): Return single elements directly. Use
    398 	__vec_shuffle (which calls __builtin_shufflevector) to for all
    399 	non-trivial cases.
    400 	* include/experimental/bits/simd_fixed_size.h (__extract_part):
    401 	Return single elements directly.
    402 	* testsuite/experimental/simd/pr114958.cc: New test.
    403 
    404 2024-06-20  Release Manager
    405 
    406 	* GCC 12.4.0 released.
    407 
    408 2024-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
    409 
    410 	Backported from master:
    411 	2024-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    412 
    413 	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of
    414 	posix_memalign.
    415 
    416 2024-06-11  Tianqiang Shuai  <1101282468 (a] qq.com>
    417 
    418 	Backported from master:
    419 	2023-07-06  Tianqiang Shuai  <1101282468 (a] qq.com>
    420 
    421 	* config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
    422 	first argument.
    423 
    424 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    425 
    426 	Backported from master:
    427 	2023-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
    428 
    429 	* include/std/utility (__cpp_lib_constexpr_algorithms): Define,
    430 	as per LWG 3792.
    431 	* testsuite/20_util/exchange/constexpr.cc: Check for it.
    432 
    433 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    434 
    435 	Backported from master:
    436 	2023-02-16  Jonathan Wakely  <jwakely (a] redhat.com>
    437 
    438 	* include/bits/fs_ops.h (create_directory): Use reserved name
    439 	for parameter.
    440 	* include/bits/regex_automaton.h (_State_base::_M_print):
    441 	Likewise.
    442 	* include/bits/regex_automaton.tcc(_State_base::_M_print):
    443 	Likewise.
    444 	* include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
    445 	* include/experimental/bits/fs_ops.h (create_directory):
    446 	Likewise.
    447 	* include/std/mutex (timed_mutex::_M_clocklock): Likewise.
    448 	(recursive_timed_mutex:_M_clocklock): Likewise.
    449 	* libsupc++/cxxabi_init_exception.h
    450 	(__cxa_init_primary_exception): Likewise.
    451 	* testsuite/17_intro/names.cc: Add checks.
    452 
    453 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    454 
    455 	Backported from master:
    456 	2024-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
    457 
    458 	* include/experimental/internet (network_v6::network): Define.
    459 	(network_v6::hosts): Finish implementing.
    460 	(network_v6::to_string): Do not concatenate std::string to
    461 	arbitrary std::basic_string specialization.
    462 	* testsuite/experimental/net/internet/network/v6/cons.cc: New
    463 	test.
    464 
    465 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    466 
    467 	Backported from master:
    468 	2023-06-09  Jonathan Wakely  <jwakely (a] redhat.com>
    469 
    470 	PR libstdc++/100285
    471 	* include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
    472 	(basic_endpoint, basic_resolver_entry, resolver_base)
    473 	(basic_resolver_results, basic_resolver): Only define if the tcp
    474 	or udp protocols will be defined.
    475 
    476 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    477 
    478 	Backported from master:
    479 	2023-07-05  Jonathan Wakely  <jwakely (a] redhat.com>
    480 
    481 	PR libstdc++/110542
    482 	* include/bits/stl_uninitialized.h (__uninitialized_default_n):
    483 	Do not use std::fill_n during constant evaluation.
    484 
    485 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    486 
    487 	Backported from master:
    488 	2024-04-10  Jonathan Wakely  <jwakely (a] redhat.com>
    489 
    490 	* testsuite/27_io/manipulators/extended/get_time/char/2.cc:
    491 	Adjust input string so that it matches %a with or without a
    492 	trailing period.
    493 
    494 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    495 
    496 	Backported from master:
    497 	2024-03-19  Jonathan Wakely  <jwakely (a] redhat.com>
    498 
    499 	PR libstdc++/114359
    500 	* include/bits/random.tcc (binomial_distribution::param_type):
    501 	Ensure arithmetic is done as type double.
    502 	* testsuite/26_numerics/random/binomial_distribution/114359.cc: New test.
    503 
    504 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    505 
    506 	Backported from master:
    507 	2024-03-19  Jonathan Wakely  <jwakely (a] redhat.com>
    508 
    509 	PR libstdc++/114367
    510 	* include/bits/stl_bvector.h (_M_allocate): Use allocator's
    511 	construct function to begin lifetime of words.
    512 
    513 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    514 
    515 	Backported from master:
    516 	2024-04-03  Jonathan Wakely  <jwakely (a] redhat.com>
    517 
    518 	PR libstdc++/104606
    519 	* include/std/optional (operator<=>(const optional<T>&, const U&)):
    520 	Reverse order of three_way_comparable_with template arguments.
    521 	* testsuite/20_util/optional/relops/104606.cc: New test.
    522 
    523 2024-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
    524 
    525 	Backported from master:
    526 	2024-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
    527 
    528 	PR libstdc++/114401
    529 	* include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call
    530 	release() on node handle instead of just zeroing its pointer.
    531 	(_Hashtable::_M_reinsert_node_multi): Likewise.
    532 	(_Hashtable::_M_merge_unique): Likewise.
    533 	(_Hashtable::_M_merge_multi): Likewise.
    534 	* include/bits/node_handle.h (_Node_handle_common::release()):
    535 	New member function.
    536 	(_Node_handle_common::_Optional_alloc::_M_empty): Remove
    537 	unnecessary union member.
    538 	(_Node_handle_common): Declare _Hashtable as a friend.
    539 	* include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique):
    540 	Call release() on node handle instead of just zeroing its
    541 	pointer.
    542 	(_Rb_tree::_M_reinsert_node_equal): Likewise.
    543 	(_Rb_tree::_M_reinsert_node_hint_unique): Likewise.
    544 	(_Rb_tree::_M_reinsert_node_hint_equal): Likewise.
    545 	* testsuite/23_containers/multiset/modifiers/114401.cc: New test.
    546 	* testsuite/23_containers/set/modifiers/114401.cc: New test.
    547 	* testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test.
    548 	* testsuite/23_containers/unordered_set/modifiers/114401.cc: New test.
    549 
    550 2024-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
    551 
    552 	Backported from master:
    553 	2024-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
    554 
    555 	PR libstdc++/115269
    556 	* doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs.
    557 	Replace list of -std=... options with a single entry for -std.
    558 	* doc/html/manual/using.html: Regenerate.
    559 
    560 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    561 
    562 	Backported from master:
    563 	2024-04-22  Matthias Kretz  <m.kretz (a] gsi.de>
    564 
    565 	PR libstdc++/114803
    566 	* include/experimental/bits/simd_builtin.h
    567 	(_SimdBase2::operator __vector_type_t): There is no __builtin()
    568 	function in _SimdWrapper, instead use its conversion operator.
    569 	* testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New
    570 	test.
    571 
    572 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    573 
    574 	Backported from master:
    575 	2024-04-22  Matthias Kretz  <m.kretz (a] gsi.de>
    576 
    577 	* include/experimental/bits/simd.h: Ignore -Wnarrowing for
    578 	arm_neon.h.
    579 	(__int_for_sizeof): Replace tautological compare with checking
    580 	for invalid template parameter value.
    581 	* include/experimental/bits/simd_builtin.h (__extract_part):
    582 	Remove tautological compare by combining two static_assert.
    583 
    584 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    585 
    586 	Backported from master:
    587 	2024-04-17  Matthias Kretz  <m.kretz (a] gsi.de>
    588 
    589 	* include/experimental/bits/numeric_traits.h: Add include guard.
    590 
    591 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    592 
    593 	Backported from master:
    594 	2024-04-17  Matthias Kretz  <m.kretz (a] gsi.de>
    595 
    596 	PR libstdc++/114750
    597 	* include/experimental/bits/simd_builtin.h
    598 	(_SimdImplBuiltin::_S_load, _S_store): Fall back to copying
    599 	scalars if the memory type cannot be vectorized for the target.
    600 
    601 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    602 
    603 	Backported from master:
    604 	2024-03-27  Matthias Kretz  <m.kretz (a] gsi.de>
    605 
    606 	* include/experimental/bits/simd_x86.h (_S_masked_unary):
    607 	Cast inputs < 16 bytes to 16 byte vectors before calling the
    608 	right subtraction builtin. Before returning, truncate to the
    609 	return vector type.
    610 
    611 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    612 
    613 	Backported from master:
    614 	2024-03-27  Matthias Kretz  <m.kretz (a] gsi.de>
    615 
    616 	* include/experimental/bits/simd_x86.h (_S_masked_unary): Call
    617 	the 4- and 8-byte variants of __builtin_ia32_subp[ds] without
    618 	rounding direction argument.
    619 
    620 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    621 
    622 	Backported from master:
    623 	2023-06-06  Matthias Kretz  <m.kretz (a] gsi.de>
    624 
    625 	PR libstdc++/109822
    626 	* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
    627 	to avoid casts to other vector types. Implement store as
    628 	succession of power-of-2 sized memcpy to avoid PR90424.
    629 
    630 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    631 
    632 	Backported from master:
    633 	2023-06-06  Matthias Kretz  <m.kretz (a] gsi.de>
    634 
    635 	PR libstdc++/110054
    636 	* include/experimental/bits/simd_builtin.h (_S_masked_store):
    637 	Call into deduced ABI's SimdImpl after conversion.
    638 	* include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
    639 	Don't use _mm_maskmoveu_si128. Use the generic fall-back
    640 	implementation. Also fix masked stores without SSE2, which
    641 	were not doing anything before.
    642 
    643 2024-05-08  Matthias Kretz  <m.kretz (a] gsi.de>
    644 
    645 	Backported from master:
    646 	2023-06-06  Matthias Kretz  <m.kretz (a] gsi.de>
    647 
    648 	* include/experimental/bits/simd.h (__bit_cast): Use
    649 	__gnu__::__vector_size__ instead of gnu::vector_size.
    650 
    651 2024-04-21  Iain Sandoe  <iain (a] sandoe.co.uk>
    652 
    653 	Backported from master:
    654 	2024-02-19  Iain Sandoe  <iain (a] sandoe.co.uk>
    655 		    Jonathan Wakely  <jwakely (a] redhat.com>
    656 
    657 	PR target/112397
    658 	* configure: Regenerate.
    659 	* configure.ac: Detect if we are building for Darwin.
    660 	* libsupc++/Makefile.am: If we are building for Darwin, then
    661 	suppress hot/cold partitioning for the array allocators.
    662 	* libsupc++/Makefile.in: Regenerated.
    663 
    664 2024-04-21  Iain Sandoe  <iain (a] sandoe.co.uk>
    665 
    666 	Backported from master:
    667 	2024-03-19  Iain Sandoe  <iain (a] sandoe.co.uk>
    668 
    669 	* testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B
    670 	option for the path to the uninstalled libatomic.
    671 
    672 2024-04-21  Iain Sandoe  <iain (a] sandoe.co.uk>
    673 
    674 	Backported from master:
    675 	2024-03-19  Iain Sandoe  <iain (a] sandoe.co.uk>
    676 
    677 	* testsuite/lib/libstdc++.exp (v3_target_compile): Instead of
    678 	/dev/null, use a temporary file for test executables on Darwin.
    679 
    680 2024-04-18  Iain Sandoe  <iain (a] sandoe.co.uk>
    681 
    682 	Backported from master:
    683 	2022-12-04  Iain Sandoe  <iain (a] sandoe.co.uk>
    684 
    685 	* config/os/bsd/darwin/os_defines.h
    686 	(_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro
    687 	to OS versions that need it.
    688 
    689 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    690 
    691 	Backported from master:
    692 	2023-05-12  Jonathan Wakely  <jwakely (a] redhat.com>
    693 
    694 	* testsuite/experimental/feat-cxx14.cc: Remove dependency on
    695 	_GLIBCXX_USE_C99_STDINT_TR1.
    696 
    697 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    698 
    699 	Backported from master:
    700 	2023-05-12  Jonathan Wakely  <jwakely (a] redhat.com>
    701 
    702 	* testsuite/21_strings/basic_string_view/typedefs.cc: Remove
    703 	dependency on _GLIBCXX_USE_C99_STDINT_TR1.
    704 	* testsuite/experimental/string_view/typedefs.cc: Likewise.
    705 
    706 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    707 
    708 	Backported from master:
    709 	2023-09-11  Jonathan Wakely  <jwakely (a] redhat.com>
    710 
    711 	* src/c++11/Makefile.am: Add new file.
    712 	* src/c++11/Makefile.in: Regenerate.
    713 	* src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
    714 	* src/c++11/assert_fail.cc: New file.
    715 
    716 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    717 
    718 	Backported from master:
    719 	2023-06-26  Jonathan Wakely  <jwakely (a] redhat.com>
    720 
    721 	* include/bits/iterator_concepts.h (projected): Replace class
    722 	template with alias template denoting an ADL-proofed helper.
    723 	(incremental_traits<projected<Iter, Proj>>): Remove.
    724 	* testsuite/24_iterators/indirect_callable/projected-adl.cc:
    725 	New test.
    726 
    727 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    728 
    729 	Backported from master:
    730 	2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    731 
    732 	PR libstdc++/40380
    733 	* include/bits/basic_string.h: Improve doxygen comments.
    734 	* include/bits/cow_string.h: Likewise.
    735 	* include/bits/forward_list.h: Likewise.
    736 	* include/bits/fs_dir.h: Likewise.
    737 	* include/bits/fs_path.h: Likewise.
    738 	* include/bits/quoted_string.h: Likewise.
    739 	* include/bits/stl_bvector.h: Likewise.
    740 	* include/bits/stl_map.h: Likewise.
    741 	* include/bits/stl_multimap.h: Likewise.
    742 	* include/bits/stl_multiset.h: Likewise.
    743 	* include/bits/stl_set.h: Likewise.
    744 	* include/bits/stl_vector.h: Likewise.
    745 	* include/bits/unordered_map.h: Likewise.
    746 	* include/bits/unordered_set.h: Likewise.
    747 	* include/std/filesystem: Likewise.
    748 	* include/std/iomanip: Likewise.
    749 
    750 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    751 
    752 	Backported from master:
    753 	2022-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    754 
    755 	* include/bits/ptr_traits.h (pointer_traits::pointer_to): Rename
    756 	parameter.
    757 
    758 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    759 
    760 	Backported from master:
    761 	2022-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
    762 
    763 	* include/std/tuple: Add better Doxygen comments.
    764 
    765 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    766 
    767 	Backported from master:
    768 	2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
    769 
    770 	* testsuite/18_support/new_nothrow.cc: Add missing noexcept
    771 	to operator delete replacements.
    772 	* testsuite/20_util/any/cons/92156.cc: Disable
    773 	-Winit-list-lifetime warnings from instantiating invalid
    774 	specialization of manager function.
    775 	* testsuite/20_util/any/modifiers/92156.cc: Likewise.
    776 	* testsuite/20_util/default_delete/void_neg.cc: Prune additional
    777 	diagnostics.
    778 	* testsuite/20_util/headers/memory/synopsis.cc: Add missing
    779 	noexcept.
    780 	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune
    781 	additional diagnostic.
    782 	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add
    783 	missing noexcept to operator delete replacements.
    784 	* testsuite/21_strings/basic_string/cons/char/103919.cc:
    785 	Likewise.
    786 	* testsuite/23_containers/map/modifiers/emplace/92300.cc:
    787 	Likewise.
    788 	* testsuite/23_containers/map/modifiers/insert/92300.cc:
    789 	Likewise.
    790 	* testsuite/24_iterators/headers/iterator/range_access_c++11.cc:
    791 	Add missing noexcept to synopsis declarations.
    792 	* testsuite/24_iterators/headers/iterator/range_access_c++14.cc:
    793 	Likewise.
    794 	* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
    795 	Likewise.
    796 
    797 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    798 
    799 	Backported from master:
    800 	2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
    801 
    802 	* testsuite/20_util/headers/memory/synopsis.cc: Add declarations
    803 	from C++11 and later.
    804 
    805 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    806 
    807 	Backported from master:
    808 	2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
    809 
    810 	* include/bits/stl_tempbuf.h (_Temporary_buffer): Disable
    811 	warnings about get_temporary_buffer being deprecated.
    812 	* include/ext/functional (mem_fun1, mem_fun1_ref): Disable
    813 	warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and
    814 	const_mem_fun1_ref_t being deprecated.
    815 	* include/std/spanstream (basic_spanbuf::setbuf): Add assertion
    816 	and adjust to avoid narrowing warning.
    817 	* libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions]
    818 	(make_exception_ptr): Add missing inline specifier.
    819 
    820 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    821 
    822 	Backported from master:
    823 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    824 
    825 	* doc/doxygen/user.cfg.in (PREDEFINED): Define
    826 	_GTHREAD_USE_MUTEX_TIMEDLOCK macro.
    827 	* include/bits/std_mutex.h (mutex, lock_guard): Use @since and
    828 	@headerfile.
    829 	* include/bits/unique_lock.h (unique_lock): Likewise.
    830 	* include/std/mutex (recursive_mutex, timed_mutex)
    831 	(recursive_timed_mutex, scoped_lock): Likewise.
    832 
    833 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    834 
    835 	Backported from master:
    836 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    837 
    838 	* doc/doxygen/user.cfg.in (PREDEFINED): Define
    839 	_GLIBCXX23_CONSTEXPR macro.
    840 	* include/backward/auto_ptr.h (auto_ptr): Use @deprecated.
    841 	* include/bits/unique_ptr.h (default_delete): Use @since and
    842 	@headerfile.
    843 	* include/std/scoped_allocator: Remove @ingroup from @file
    844 	block.
    845 
    846 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    847 
    848 	Backported from master:
    849 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    850 
    851 	* include/bits/ostream_insert.h: Mark helper functions as
    852 	undocumented by Doxygen.
    853 	* include/bits/stl_algo.h: Use markdown for formatting and mark
    854 	helper functions as undocumented.
    855 	* include/bits/stl_numeric.h:  Likewise.
    856 	* include/bits/stl_pair.h (pair): Add @headerfile.
    857 
    858 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    859 
    860 	Backported from master:
    861 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    862 
    863 	* doc/doxygen/user.cfg.in (PREDEFINED): Define __allocator_base
    864 	so that Doxygen shows the right base-class for std::allocator.
    865 	* include/bits/alloc_traits.h: Improve doxygen docs.
    866 	* include/bits/allocator.h: Likewise.
    867 	* include/bits/new_allocator.h: Likewise.
    868 	* include/ext/new_allocator.h: Likewise.
    869 
    870 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    871 
    872 	Backported from master:
    873 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    874 
    875 	* doc/doxygen/user.cfg.in (PREDEFINED): Define macro
    876 	_GLIBCXX_DOXYGEN_ONLY to expand its argument.
    877 	* include/bits/c++config (_GLIBCXX_DOXYGEN_ONLY): Define.
    878 	* include/bits/regex.h: Improve doxygen docs.
    879 	* include/bits/regex_constants.h: Likewise.
    880 	* include/bits/regex_error.h: Likewise.
    881 
    882 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    883 
    884 	Backported from master:
    885 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    886 
    887 	* include/std/atomic: Suppress doxygen docs for
    888 	implementation details.
    889 	* include/bits/atomic_base.h: Likewise.
    890 	* include/bits/shared_ptr_atomic.h: Use markdown. Fix grouping
    891 	so that std::atomic is not added to the pointer abstractions
    892 	group.
    893 
    894 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    895 
    896 	Backported from master:
    897 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
    898 
    899 	* src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE] (cxx11_sources):
    900 	Do not build the compatibility*-c++0x.cc objects.
    901 	* src/Makefile.in: Regenerate.
    902 	* src/c++11/compatibility-c++0x.cc [_GLIBCXX_INLINE_VERSION]:
    903 	Refuse to build for the versioned namespace.
    904 	* src/c++11/compatibility-chrono.cc: Likewise.
    905 	* src/c++11/compatibility-condvar.cc: Likewise.
    906 	* src/c++11/compatibility-thread-c++0x.cc: Likewise.
    907 	* src/c++11/chrono.cc (system_clock, steady_clock):
    908 	Use macros to define in inline namespace _V2, matching the
    909 	declarations in <system_error>.
    910 	* src/c++11/system_error.cc (system_category, generic_category):
    911 	Likewise.
    912 
    913 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    914 
    915 	Backported from master:
    916 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    917 
    918 	* doc/doxygen/user.cfg.in (PREDEFINED): Expand new macros to
    919 	nothing.
    920 	* include/bits/c++config (_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE)
    921 	(_GLIBCXX_END_INLINE_ABI_NAMESPACE): Define new macros.
    922 	* include/bits/algorithmfwd.h (_V2::__rotate): Use new macros
    923 	for the namespace.
    924 	* include/bits/chrono.h (chrono::_V2::system_clock): Likewise.
    925 	* include/bits/stl_algo.h (_V2::__rotate): Likewise.
    926 	* include/std/condition_variable (_V2::condition_variable_any):
    927 	Likewise.
    928 	* include/std/system_error (_V2::error_category): Likewise.
    929 
    930 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    931 
    932 	Backported from master:
    933 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    934 
    935 	* doc/doxygen/user.cfg.in (GROUP_NESTED_COMPOUNDS): Set to NO.
    936 	(CLASS_DIAGRAMS): Remove obsolete option.
    937 
    938 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    939 
    940 	Backported from master:
    941 	2022-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
    942 
    943 	* include/bits/fs_path.h (__is_path_iter_src): Replace class
    944 	template with variable template.
    945 
    946 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    947 
    948 	Backported from master:
    949 	2022-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
    950 
    951 	* include/bits/ptr_traits.h (__ptr_traits_elem) [__cpp_concepts]:
    952 	Also define the __ptr_traits_elem class template for the
    953 	concepts case.
    954 	(pointer_traits<Ptr>): Remove constrained partial
    955 	specialization.
    956 	* testsuite/20_util/pointer_traits/lwg3545.cc: Check for
    957 	ambiguitiy with program-defined partial specialization.
    958 
    959 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    960 
    961 	Backported from master:
    962 	2022-09-24  Jonathan Wakely  <jwakely (a] redhat.com>
    963 
    964 	* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
    965 	Only instantiate is_empty if needed.
    966 	* include/bits/ptr_traits.h (__ptr_traits_impl::difference_type)
    967 	(__ptr_traits_impl::rebind): Use __detected_or.
    968 	* include/experimental/type_traits (is_same_v): Add a partial
    969 	specialization instead of instantiating the std::is_same class
    970 	template.
    971 	(detected_t): Redefine in terms of detected_or_t.
    972 	(is_detected, is_detected_v): Redefine in terms of detected_t.
    973 	* include/std/type_traits [__cpp_concepts] (__detected_or): Add
    974 	new definition using concepts.
    975 	(__detector::value_t): Rename to __is_detected.
    976 	* testsuite/17_intro/names.cc: Check value_t isn't used.
    977 
    978 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    979 
    980 	Backported from master:
    981 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    982 
    983 	* include/bits/ptr_traits.h: Add some doxygen comments.
    984 
    985 2024-03-18  Xi Ruoyao  <xry111 (a] xry111.site>
    986 
    987 	Backported from master:
    988 	2022-06-24  Xi Ruoyao  <xry111 (a] xry111.site>
    989 
    990 	* scripts/extract_symvers.in: Use grep -E instead of egrep.
    991 	* scripts/run_doxygen: Likewise.
    992 
    993 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
    994 
    995 	Backported from master:
    996 	2022-10-28  Jonathan Wakely  <jwakely (a] redhat.com>
    997 
    998 	PR libstdc++/107376
    999 	* include/bits/regex_executor.h (_Executor::_Executor): Use same
   1000 	allocator for _M_cur_results and _M_results.
   1001 	* include/bits/regex_executor.tcc (_Executor::_M_main_dispatch):
   1002 	Prevent possibly incorrect allocator propagating to
   1003 	_M_cur_results.
   1004 	* testsuite/28_regex/algorithms/regex_match/107376.cc: New test.
   1005 
   1006 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1007 
   1008 	Backported from master:
   1009 	2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1010 
   1011 	* include/std/sstream  (basic_stringbuf::view): Define for old
   1012 	std::string ABI.
   1013 	(basic_istringstream::view, basic_stringstream::view)
   1014 	(basic_stringstream::view): Likewise.
   1015 	* testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
   1016 	{ dg-require-effective-target cxx11_abi }.
   1017 	* testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
   1018 	Likewise.
   1019 	* testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
   1020 	* testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
   1021 	Likewise.
   1022 	* testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
   1023 	* testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
   1024 	* testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
   1025 	* testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
   1026 	Likewise.
   1027 
   1028 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1029 
   1030 	Backported from master:
   1031 	2023-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1032 
   1033 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
   1034 	chmod, chdir, and getcwd.
   1035 	* config.h.in: Regenerate.
   1036 	* configure: Regenerate.
   1037 	* src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
   1038 	(fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
   1039 	(fs::permissions): Use USE_CHMOD macro.
   1040 	* src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
   1041 	(chmod, mkdir, getcwd, chdir): Define new macros.
   1042 	[FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
   1043 	new macros.
   1044 	* src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
   1045 	(fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
   1046 	(fs::permissions): Use USE_CHMOD macro.
   1047 
   1048 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1049 
   1050 	Backported from master:
   1051 	2023-08-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1052 
   1053 	* include/bits/new_allocator.h (__new_allocator): Define copy
   1054 	assignment operator as defaulted.
   1055 	* include/std/complex (complex<float>, complex<double>)
   1056 	(complex<long double>): Define copy constructor as defaulted.
   1057 
   1058 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1059 
   1060 	Backported from master:
   1061 	2023-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1062 
   1063 	PR libstdc++/112473
   1064 	* include/bits/utility.h (integer_sequence): Add static_assert.
   1065 	* testsuite/20_util/integer_sequence/112473.cc: New test.
   1066 
   1067 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1068 
   1069 	Backported from master:
   1070 	2023-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1071 
   1072 	PR libstdc++/111172
   1073 	* include/std/variant (get<T>): Remove !is_void static
   1074 	assertions.
   1075 
   1076 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1077 
   1078 	Backported from master:
   1079 	2023-10-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1080 
   1081 	PR libstdc++/112089
   1082 	* include/std/shared_mutex (shared_lock::unlock): Change errc
   1083 	constant to operation_not_permitted.
   1084 	* testsuite/30_threads/shared_lock/locking/112089.cc: New test.
   1085 
   1086 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1087 
   1088 	Backported from master:
   1089 	2024-02-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1090 
   1091 	PR libstdc++/113960
   1092 	* include/bits/stl_algobase.h (__is_byte_iter): Replace with ...
   1093 	(__memcmp_ordered_with): New concept.
   1094 	(lexicographical_compare_three_way): Use __memcmp_ordered_with
   1095 	instead of __is_byte_iter. Use correct length for memcmp.
   1096 	* testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
   1097 	New test.
   1098 
   1099 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1100 
   1101 	Backported from master:
   1102 	2023-02-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1103 
   1104 	PR libstdc++/108846
   1105 	* include/bits/stl_algobase.h (__copy_move<false, false, RA>)
   1106 	Add __assign_one static member function.
   1107 	(__copy_move<true, false, RA>): Likewise.
   1108 	(__copy_move<IsMove, true, RA>): Do not use memmove for a single
   1109 	value.
   1110 	(__copy_move_backward<IsMove, true, RA>): Likewise.
   1111 	* testsuite/25_algorithms/copy/108846.cc: New test.
   1112 	* testsuite/25_algorithms/copy_backward/108846.cc: New test.
   1113 	* testsuite/25_algorithms/copy_n/108846.cc: New test.
   1114 	* testsuite/25_algorithms/move/108846.cc: New test.
   1115 	* testsuite/25_algorithms/move_backward/108846.cc: New test.
   1116 
   1117 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1118 
   1119 	Backported from master:
   1120 	2023-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1121 
   1122 	* include/bits/stream_iterator.h (istream_iterator): Add
   1123 	constexpr to copy constructor, as per LWG 3600.
   1124 	* testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
   1125 	Check copy construction.
   1126 
   1127 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1128 
   1129 	Backported from master:
   1130 	2023-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1131 
   1132 	* include/bits/regex.h (match_results): Add allocator-extended
   1133 	copy and move constructors, as per LWG 2195.
   1134 	* testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
   1135 
   1136 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1137 
   1138 	Backported from master:
   1139 	2023-02-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1140 
   1141 	* src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
   1142 	attributes.
   1143 
   1144 2024-03-18  Dimitrij Mijoski  <dmjpp (a] hotmail.com>
   1145 
   1146 	Backported from master:
   1147 	2023-01-13  Dimitrij Mijoski  <dmjpp (a] hotmail.com>
   1148 
   1149 	PR libstdc++/86419
   1150 	* src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
   1151 	errors in incomplete multibyte sequences.
   1152 	(utf16_in): Remove surrogates parameter. Fix conditions for
   1153 	returning partial.
   1154 	(utf16_out): Fix condition for returning partial.
   1155 	(ucs2_in): Do not pass surrogates argument to utf16_in.
   1156 	* testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
   1157 	* testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
   1158 	tests.
   1159 	* testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
   1160 	test.
   1161 
   1162 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1163 
   1164 	Backported from master:
   1165 	2023-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1166 
   1167 	* include/bits/algorithmfwd.h (random_shuffle): Add deprecated
   1168 	attribute.
   1169 	* include/bits/stl_algo.h (random_shuffle): Correct comments.
   1170 	* testsuite/25_algorithms/random_shuffle/1.cc: Disable
   1171 	deprecated warnings.
   1172 	* testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
   1173 	* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
   1174 	* testsuite/25_algorithms/random_shuffle/deprecated.cc: New
   1175 	test.
   1176 
   1177 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1178 
   1179 	Backported from master:
   1180 	2023-05-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1181 
   1182 	PR libstdc++/109758
   1183 	* include/bits/std_abs.h (abs(__float128)): Handle negative NaN
   1184 	and negative zero correctly.
   1185 	* testsuite/26_numerics/headers/cmath/109758.cc: New test.
   1186 
   1187 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1188 
   1189 	Backported from master:
   1190 	2023-05-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1191 
   1192 	* acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
   1193 	to check for nan, nanf, and nanl.
   1194 	* configure: Regenerate.
   1195 
   1196 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1197 
   1198 	Backported from master:
   1199 	2023-05-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1200 
   1201 	* include/std/scoped_allocator (scoped_allocator_adaptor): Add
   1202 	noexcept to all constructors except the default constructor.
   1203 	(scoped_allocator_adaptor::inner_allocator): Add noexcept.
   1204 	(scoped_allocator_adaptor::outer_allocator): Likewise.
   1205 	* testsuite/20_util/scoped_allocator/noexcept.cc: New test.
   1206 
   1207 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1208 
   1209 	Backported from master:
   1210 	2023-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1211 
   1212 	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
   1213 	Add const to equality operator.
   1214 
   1215 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1216 
   1217 	Backported from master:
   1218 	2023-06-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1219 
   1220 	* testsuite/23_containers/deque/modifiers/emplace/52799.cc:
   1221 	Removed.
   1222 	* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
   1223 	Removed.
   1224 	* testsuite/23_containers/list/modifiers/emplace/52799.cc:
   1225 	Removed.
   1226 	* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
   1227 	Removed.
   1228 	* testsuite/23_containers/vector/modifiers/emplace/52799.cc:
   1229 	Removed.
   1230 	* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
   1231 	Removed.
   1232 	* testsuite/23_containers/deque/modifiers/emplace/1.cc: New
   1233 	test.
   1234 	* testsuite/23_containers/list/modifiers/emplace/1.cc: New
   1235 	test.
   1236 	* testsuite/23_containers/vector/modifiers/emplace/1.cc: New
   1237 	test.
   1238 
   1239 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1240 
   1241 	Backported from master:
   1242 	2023-07-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1243 
   1244 	* include/bits/alloc_traits.h (_Destroy): Qualify call.
   1245 	* include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
   1246 	* testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
   1247 
   1248 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1249 
   1250 	Backported from master:
   1251 	2023-07-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1252 
   1253 	PR libstdc++/110593
   1254 	* include/bits/chrono.h (duration): Improve static assert
   1255 	messages.
   1256 	(__is_ratio): Move to ...
   1257 	* include/std/ratio (__is_ratio): ... here.
   1258 	(__is_ratio_v): New variable template and partial
   1259 	specialization.
   1260 	(__are_both_ratios): New function template.
   1261 	(__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
   1262 	Add static assertion.
   1263 	* testsuite/20_util/ratio/requirements/type_constraints.cc:
   1264 	New test.
   1265 	* testsuite/20_util/duration/requirements/typedefs_neg1.cc:
   1266 	Adjust expected error.
   1267 	* testsuite/20_util/duration/requirements/typedefs_neg2.cc:
   1268 	Likewise.
   1269 
   1270 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1271 
   1272 	Backported from master:
   1273 	2023-09-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1274 
   1275 	* src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
   1276 	function.
   1277 	(reset_sequence_ptr): New function.
   1278 	(_Safe_iterator_base::_M_detach)
   1279 	(_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
   1280 	with acquire_sequence_ptr_for_lock.
   1281 	(_Safe_iterator_base::_M_reset): Replace bare atomic_store with
   1282 	reset_sequence_ptr.
   1283 
   1284 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1285 
   1286 	Backported from master:
   1287 	2023-08-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1288 
   1289 	* include/bits/basic_string.tcc (resize_and_overwrite): Invoke
   1290 	the callable with the same size as resize_and_overwrite was
   1291 	called with.
   1292 	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
   1293 	Check with small values for the new size.
   1294 
   1295 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1296 
   1297 	Backported from master:
   1298 	2023-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1299 
   1300 	* include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
   1301 	Pass rvalues to the callback, as now allowed by LWG 3645.
   1302 	Enforce preconditions on the return value.
   1303 	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
   1304 	Adjust.
   1305 
   1306 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1307 
   1308 	Backported from master:
   1309 	2023-08-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1310 
   1311 	* include/bits/shared_ptr_atomic.h (atomic): Change class-head
   1312 	to struct.
   1313 	* include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
   1314 	class-head to struct in friend declaration.
   1315 	* include/std/future (_Task_state_base, _Task_state): Likewise.
   1316 	* include/std/scoped_allocator (__inner_type_impl): Likewise.
   1317 	* include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
   1318 	(_ValFunClos, _RefFunClos): Change class-head to struct.
   1319 
   1320 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1321 
   1322 	Backported from master:
   1323 	2023-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1324 
   1325 	* doc/xml/manual/test.xml: Update reference to -std=gnu++14 as
   1326 	the default.
   1327 	* doc/html/manual/test.html: Regenerate.
   1328 
   1329 2024-03-18  Alexey Lapshin  <alexey.lapshin (a] espressif.com>
   1330 
   1331 	Backported from master:
   1332 	2023-09-08  Alexey Lapshin  <alexey.lapshin (a] espressif.com>
   1333 
   1334 	* src/libbacktrace/Makefile.am: Remove -Werror.
   1335 	* src/libbacktrace/Makefile.in: Regenerate.
   1336 
   1337 2024-03-18  Nathaniel Shead  <nathanieloshead (a] gmail.com>
   1338 
   1339 	Backported from master:
   1340 	2023-09-29  Nathaniel Shead  <nathanieloshead (a] gmail.com>
   1341 
   1342 	* include/bits/basic_string.h: (basic_string(basic_string&&)):
   1343 	Activate _M_local_buf when needed.
   1344 	(basic_string(basic_string&&, const _Alloc&)): Likewise.
   1345 	* include/bits/basic_string.tcc: (basic_string::swap): Likewise.
   1346 	* include/std/variant: (__detail::__variant::__construct_n): New.
   1347 	(__detail::__variant::__emplace): Use __construct_n.
   1348 
   1349 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1350 
   1351 	Backported from master:
   1352 	2023-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1353 
   1354 	* acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
   1355 	* configure: Regenerate.
   1356 
   1357 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1358 
   1359 	Backported from master:
   1360 	2023-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1361 
   1362 	* include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one
   1363 	characters to _M_copy_from_string.
   1364 	* testsuite/tr2/dynamic_bitset/string.cc: New test.
   1365 
   1366 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1367 
   1368 	Backported from master:
   1369 	2023-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1370 
   1371 	* include/std/charconv (__from_chars_pow2_base): Convert base to
   1372 	unsigned for call to __countr_zero.
   1373 	(__from_chars_alnum): Likewise for call to __bit_width.
   1374 
   1375 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1376 
   1377 	Backported from master:
   1378 	2023-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1379 
   1380 	* testsuite/util/testsuite_allocator.h (uneq_allocator): Fix
   1381 	equality operator for heterogeneous comparisons.
   1382 
   1383 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1384 
   1385 	Backported from master:
   1386 	2024-03-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1387 
   1388 	PR libstdc++/66146
   1389 	* doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in
   1390 	note about std::call_once.
   1391 	* doc/xml/manual/status_cxx2014.xml: Likewise.
   1392 	* doc/xml/manual/status_cxx2017.xml: Likewise.
   1393 	* doc/html/manual/status.html: Regenerate.
   1394 
   1395 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1396 
   1397 	Backported from master:
   1398 	2024-03-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1399 
   1400 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat
   1401 	to namespace scope.
   1402 
   1403 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1404 
   1405 	Backported from master:
   1406 	2024-02-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1407 
   1408 	* doc/xml/manual/appendix_contributing.xml: Change URLs to use
   1409 	https.
   1410 	* doc/html/manual/*: Regenerate.
   1411 
   1412 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1413 
   1414 	Backported from master:
   1415 	2024-02-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1416 
   1417 	* doc/xml/manual/appendix_contributing.xml: Replace outdated
   1418 	info on ChangeLog entries.
   1419 	* doc/html/manual/appendix_contributing.html: Regenerate.
   1420 
   1421 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1422 
   1423 	Backported from master:
   1424 	2022-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1425 
   1426 	PR libstdc++/107500
   1427 	* libsupc++/eh_globals.cc (eh_globals): Remove immortalizing
   1428 	wrapper.
   1429 	(__cxxabiv1::__cxa_get_globals_fast): Adjust.
   1430 	(__cxxabiv1::__cxa_get_globals): Adjust.
   1431 
   1432 2024-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1433 
   1434 	Backported from master:
   1435 	2024-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1436 
   1437 	PR libstdc++/114147
   1438 	* include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)):
   1439 	Add missing overload of allocator-extended default constructor.
   1440 	(tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise.
   1441 	* testsuite/20_util/tuple/cons/114147.cc: New test.
   1442 
   1443 2024-03-13  Cassio Neri  <cassio.neri (a] gmail.com>
   1444 
   1445 	Backported from master:
   1446 	2024-01-05  Cassio Neri  <cassio.neri (a] gmail.com>
   1447 
   1448 	* include/std/chrono: Fix + and - for months and weekdays.
   1449 	* testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
   1450 	* testsuite/std/time/month/2.cc: New test for extreme values.
   1451 	* testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
   1452 	* testsuite/std/time/weekday/2.cc: New test for extreme values.
   1453 
   1454 2024-03-13  Cassio Neri  <cassio.neri (a] gmail.com>
   1455 
   1456 	Backported from master:
   1457 	2023-11-14  Cassio Neri  <cassio.neri (a] gmail.com>
   1458 
   1459 	* include/std/chrono (operator-(const weekday&, const weekday&)):
   1460 	Optimize.
   1461 
   1462 2024-03-13  Cassio Neri  <cassio.neri (a] gmail.com>
   1463 
   1464 	Backported from master:
   1465 	2023-11-14  Cassio Neri  <cassio.neri (a] gmail.com>
   1466 
   1467 	* include/std/chrono (year::is_leap): Clear code.
   1468 
   1469 2024-03-13  Cassio Neri  <cassio.neri (a] gmail.com>
   1470 
   1471 	Backported from master:
   1472 	2023-11-14  Cassio Neri  <cassio.neri (a] gmail.com>
   1473 
   1474 	* include/std/chrono (year_month_day_last::day): Remove &1.
   1475 
   1476 2024-03-13  Cassio Neri  <cassio.neri (a] gmail.com>
   1477 
   1478 	Backported from master:
   1479 	2023-11-14  Cassio Neri  <cassio.neri (a] gmail.com>
   1480 
   1481 	* include/std/chrono (weekday::_S_from_days): Fix UB.
   1482 	* testsuite/std/time/weekday/1.cc: Add test for overflow.
   1483 
   1484 2024-03-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1485 
   1486 	Backported from master:
   1487 	2023-08-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1488 
   1489 	* include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
   1490 	warning for loop condition.
   1491 
   1492 2024-03-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1493 
   1494 	Backported from master:
   1495 	2023-06-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1496 
   1497 	PR libstdc++/110167
   1498 	* include/std/array (to_array): Initialize arrays of trivial
   1499 	types using memcpy. For non-trivial types, use lambda
   1500 	expressions instead of a separate helper function.
   1501 	(__to_array): Remove.
   1502 	* testsuite/23_containers/array/creation/110167.cc: New test.
   1503 
   1504 2024-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1505 
   1506 	Backported from master:
   1507 	2024-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1508 
   1509 	* include/std/string_view (basic_string_view(R&&)): Remove
   1510 	constraint that traits_type must be the same, as per LWG 3857.
   1511 	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
   1512 	Explicit conversion between different specializations should be
   1513 	allowed.
   1514 	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
   1515 	Likewise.
   1516 
   1517 2024-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1518 
   1519 	Backported from master:
   1520 	2024-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1521 
   1522 	PR libstdc++/90276
   1523 	* testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
   1524 	perfect forwarding for iterator arguments.
   1525 
   1526 2024-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1527 
   1528 	Backported from master:
   1529 	2024-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1530 
   1531 	* include/std/syncstream (basic_osyncstream::operator=): Remove
   1532 	noexcept, as per LWG 3867.
   1533 
   1534 2024-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1535 
   1536 	Backported from master:
   1537 	2024-01-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1538 
   1539 	PR libstdc++/107466
   1540 	* include/bits/random.tcc (subtract_with_carry_engine::seed):
   1541 	Implement proposed resolution of LWG 4014.
   1542 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   1543 	line number.
   1544 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
   1545 	Check for expected result of 64-bit engine with seed that
   1546 	doesn't fit in 32-bits.
   1547 
   1548 2024-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1549 
   1550 	Backported from master:
   1551 	2024-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1552 
   1553 	PR libstdc++/113258
   1554 	* libsupc++/new_opa.cc: Prefer to use posix_memalign if
   1555 	available.
   1556 
   1557 2024-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1558 
   1559 	PR libstdc++/108636
   1560 	* include/bits/shared_ptr_base.h (__shared_ptr::operator bool):
   1561 	Add always_inline attribute for C++20 and later.
   1562 
   1563 2024-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1564 
   1565 	Backported from master:
   1566 	2024-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1567 
   1568 	PR libstdc++/113200
   1569 	* include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
   1570 	__builtin_constant_p to check for unrelated pointers that cannot
   1571 	be compared during constant evaluation.
   1572 	* testsuite/21_strings/char_traits/requirements/113200.cc: New
   1573 	test.
   1574 
   1575 2024-01-11  Ken Matsui  <kmatsui (a] gcc.gnu.org>
   1576 
   1577 	Backported from master:
   1578 	2024-01-11  Ken Matsui  <kmatsui (a] gcc.gnu.org>
   1579 
   1580 	PR libstdc++/113250
   1581 	* src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
   1582 	* src/filesystem/ops.cc (fs::equivalent): Likewise.
   1583 	* testsuite/27_io/filesystem/operations/equivalent.cc: Handle
   1584 	error codes.
   1585 	* testsuite/experimental/filesystem/operations/equivalent.cc:
   1586 	Likewise.
   1587 
   1588 2024-01-03  Patrick Palka  <ppalka (a] redhat.com>
   1589 
   1590 	Backported from master:
   1591 	2024-01-03  Patrick Palka  <ppalka (a] redhat.com>
   1592 
   1593 	PR testsuite/113175
   1594 	* testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
   1595 	'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
   1596 	(test03): Likewise.
   1597 
   1598 2023-12-16  Jakub Jelinek  <jakub (a] redhat.com>
   1599 
   1600 	Backported from master:
   1601 	2023-10-13  Jakub Jelinek  <jakub (a] redhat.com>
   1602 
   1603 	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
   1604 	Initialize stream to va_arg(ap, FILE*) rather than 0.
   1605 	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
   1606 	Likewise.
   1607 
   1608 2023-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1609 
   1610 	Backported from master:
   1611 	2023-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1612 
   1613 	PR libstdc++/112314
   1614 	* include/std/string_view (string_view::remove_suffix): Add
   1615 	debug assertion.
   1616 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
   1617 	New test.
   1618 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
   1619 	New test.
   1620 
   1621 2023-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1622 
   1623 	Backported from master:
   1624 	2023-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1625 
   1626 	* include/std/utility (in_range): Rename _Up parameter to _Res.
   1627 
   1628 2023-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1629 
   1630 	Backported from master:
   1631 	2023-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1632 
   1633 	PR libstdc++/112491
   1634 	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
   1635 	Correctly handle unused capacity at the start of the first node.
   1636 	* testsuite/libstdc++-xmethods/deque.cc: Check index operator
   1637 	when elements have been removed from the front.
   1638 
   1639 2023-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1640 
   1641 	Backported from master:
   1642 	2023-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1643 
   1644 	* include/std/stacktrace (basic_stacktrace::at): Fix class name
   1645 	in exception message.
   1646 	* testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if
   1647 	current() returns a non-empty stacktrace.
   1648 
   1649 2023-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1650 
   1651 	Backported from master:
   1652 	2023-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1653 
   1654 	PR libstdc++/112348
   1655 	* include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix
   1656 	type of hash function for entries.
   1657 	* testsuite/19_diagnostics/stacktrace/hash.cc: New test.
   1658 
   1659 2023-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1660 
   1661 	Backported from master:
   1662 	2023-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1663 
   1664 	PR libstdc++/112491
   1665 	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
   1666 	calculation to use _M_start._M_cur.
   1667 	* testsuite/libstdc++-xmethods/deque.cc: Check failing cases.
   1668 
   1669 2023-11-13  Tom Tromey  <tromey (a] adacore.com>
   1670 
   1671 	Backported from master:
   1672 	2023-10-04  Tom Tromey  <tromey (a] adacore.com>
   1673 
   1674 	* python/libstdcxx/v6/printers.py
   1675 	(StdExpAnyPrinter.__init__): Qualify call to
   1676 	_string_types.
   1677 
   1678 2023-11-13  Tom Tromey  <tromey (a] adacore.com>
   1679 
   1680 	Backported from master:
   1681 	2023-10-04  Tom Tromey  <tromey (a] adacore.com>
   1682 
   1683 	* python/libstdcxx/v6/printers.py: Assume that
   1684 	_versioned_namespace is non-None.
   1685 	* python/libstdcxx/v6/xmethods.py (is_specialization_of):
   1686 	Assume that _versioned_namespace is non-None.
   1687 
   1688 2023-11-13  Tom Tromey  <tromey (a] adacore.com>
   1689 
   1690 	Backported from master:
   1691 	2023-09-28  Tom Tromey  <tromey (a] adacore.com>
   1692 
   1693 	* python/libstdcxx/v6/printers.py (Printer.add_version)
   1694 	(add_one_template_type_printer)
   1695 	(FilteringTypePrinter.add_one_type_printer): Use Python
   1696 	"not in" operator.
   1697 
   1698 2023-11-13  Tom Tromey  <tromey (a] adacore.com>
   1699 
   1700 	Backported from master:
   1701 	2023-10-04  Tom Tromey  <tromey (a] adacore.com>
   1702 
   1703 	* python/libstdcxx/v6/xmethods.py (_versioned_namespace):
   1704 	Define.
   1705 
   1706 2023-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1707 
   1708 	Backported from master:
   1709 	2023-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1710 
   1711 	* python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
   1712 	new function.
   1713 	(ArrayMethodsMatcher, DequeMethodsMatcher)
   1714 	(ForwardListMethodsMatcher, ListMethodsMatcher)
   1715 	(VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
   1716 	(UniquePtrGetWorker, UniquePtrMethodsMatcher)
   1717 	(SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
   1718 	is_specialization_of instead of re.match.
   1719 
   1720 2023-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1721 
   1722 	Backported from master:
   1723 	2023-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1724 
   1725 	* python/libstdcxx/v6/printers.py: Break long lines. Use raw
   1726 	strings for regular expressions. Add whitespace around
   1727 	operators.
   1728 	(is_member_of_namespace): Use isinstance to check type.
   1729 	(is_specialization_of): Likewise. Adjust template_name
   1730 	for versioned namespace instead of duplicating the re.match
   1731 	call.
   1732 	(StdExpAnyPrinter._string_types): New static method.
   1733 	(StdExpAnyPrinter.to_string): Use _string_types.
   1734 
   1735 2023-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1736 
   1737 	Backported from master:
   1738 	2023-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1739 
   1740 	* python/libstdcxx/v6/printers.py: Format docstrings according
   1741 	to PEP 257.
   1742 	* python/libstdcxx/v6/xmethods.py: Likewise.
   1743 
   1744 2023-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1745 
   1746 	Backported from master:
   1747 	2023-09-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1748 
   1749 	* python/libstdcxx/v6/printers.py: Reformat.
   1750 	* python/libstdcxx/v6/xmethods.py: Likewise.
   1751 
   1752 2023-11-06  Ian Lance Taylor  <iant (a] golang.org>
   1753 
   1754 	PR libbacktrace/111315
   1755 	PR libbacktrace/112263
   1756 	* acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
   1757 	grepping link.h for dl_iterate_phdr.
   1758 	* configure: Regenerate.
   1759 
   1760 2023-10-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1761 
   1762 	Backported from master:
   1763 	2023-10-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1764 
   1765 	PR libstdc++/111936
   1766 	* src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
   1767 	compile commands.
   1768 	* src/libbacktrace/Makefile.in: Regenerate.
   1769 
   1770 2023-10-23  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1771 
   1772 	* include/bits/hashtable_policy.h
   1773 	(_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
   1774 	(_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
   1775 	* include/bits/hashtable.h
   1776 	(_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
   1777 	(_M_merge_unique<>, _M_merge_multi<>): Use latter.
   1778 	* testsuite/23_containers/unordered_map/modifiers/merge.cc
   1779 	(test04, test05, test06): New test cases.
   1780 
   1781 2023-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1782 
   1783 	* include/bits/fs_dir.h (directory_iterator::operator==):
   1784 	Define without using a non-exported shared_ptr symbol.
   1785 	(recursive_directory_iterator::operator==): Likewise.
   1786 
   1787 2023-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1788 
   1789 	Backported from master:
   1790 	2023-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1791 
   1792 	* testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
   1793 	filesystem support.
   1794 
   1795 2023-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1796 
   1797 	Backported from master:
   1798 	2023-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1799 
   1800 	PR libstdc++/108178
   1801 	* src/filesystem/ops-common.h (do_copy_file): Check for empty
   1802 	files by trying to read a character.
   1803 	* testsuite/27_io/filesystem/operations/copy_file_108178.cc:
   1804 	New test.
   1805 
   1806 2023-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1807 
   1808 	Backported from master:
   1809 	2023-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1810 
   1811 	* src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
   1812 	close-on-exec flag on file descriptors.
   1813 
   1814 2023-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1815 
   1816 	Backported from master:
   1817 	2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1818 
   1819 	* src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
   1820 	formatting.
   1821 
   1822 2023-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1823 
   1824 	Backported from master:
   1825 	2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1826 
   1827 	* src/filesystem/ops-common.h [AVR] (__unsupported): Always use
   1828 	errc::function_not_supported instead of errc::not_supported.
   1829 
   1830 2023-10-02  Tim Song  <t.canens.cpp (a] gmail.com>
   1831 
   1832 	Backported from master:
   1833 	2023-09-28  Tim Song  <t.canens.cpp (a] gmail.com>
   1834 
   1835 	PR libstdc++/111050
   1836 	* include/bits/hashtable_policy.h
   1837 	(_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
   1838 	Add [[__gnu__::__always_inline__]].
   1839 
   1840 2023-09-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1841 
   1842 	Backported from master:
   1843 	2023-08-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1844 
   1845 	* include/experimental/bits/fs_path.h (path::string): Use
   1846 	_GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
   1847 	* include/std/charconv (__to_chars_8): Initialize variable for
   1848 	C++17 constexpr rules.
   1849 
   1850 2023-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1851 
   1852 	Backported from master:
   1853 	2023-09-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1854 
   1855 	PR libstdc++/111511
   1856 	PR c++/111512
   1857 	* include/std/array (to_array): Qualify calls to __to_array.
   1858 	* testsuite/23_containers/array/creation/111512.cc: New test.
   1859 
   1860 2023-09-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1861 
   1862 	Backported from master:
   1863 	2023-09-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1864 
   1865 	* doc/xml/manual/configure.xml: Use conventional option name.
   1866 	* doc/xml/manual/status_cxx2020.xml: Update.
   1867 	* doc/html/*: Regenerate.
   1868 
   1869 2023-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1870 
   1871 	Backported from master:
   1872 	2023-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1873 
   1874 	PR c++/111357
   1875 	* include/bits/utility.h (make_integer_sequence): Add cast.
   1876 	* testsuite/20_util/integer_sequence/pr111357.cc: New test.
   1877 
   1878 2023-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1879 
   1880 	Backported from master:
   1881 	2023-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1882 
   1883 	PR libstdc++/95048
   1884 	* testsuite/27_io/filesystem/path/construct/95048.cc: Check
   1885 	conversions to wide strings.
   1886 	* testsuite/experimental/filesystem/path/construct/95048.cc:
   1887 	Likewise.
   1888 
   1889 2023-07-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1890 
   1891 	Backported from master:
   1892 	2023-07-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1893 
   1894 	PR libstdc++/104299
   1895 	* doc/xml/manual/configure.xml: Describe stdio_pure argument to
   1896 	--enable-cstdio.
   1897 	* doc/html/manual/configure.html: Regenerate.
   1898 
   1899 2023-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1900 
   1901 	Backported from master:
   1902 	2023-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1903 
   1904 	* doc/xml/manual/evolution.xml: Document removal of implicit
   1905 	allocator rebinding extensions in strict mode and for C++20.
   1906 	* doc/html/*: Regenerate.
   1907 
   1908 2023-06-21  Jason Merrill  <jason (a] redhat.com>
   1909 
   1910 	PR tree-optimization/105651
   1911 	* include/bits/basic_string.tcc (_M_replace): Add an assert
   1912 	to avoid -Wrestrict false positive.
   1913 
   1914 2023-05-30  Alexandre Oliva  <oliva (a] adacore.com>
   1915 
   1916 	Backported from master:
   1917 	2023-05-30  Alexandre Oliva  <oliva (a] adacore.com>
   1918 
   1919 	* testsuite/20_util/from_chars/4.cc: Skip long double test06
   1920 	on x86_64-vxworks.
   1921 	* testsuite/20_util/to_chars/long_double.cc: Xfail run on
   1922 	x86_64-vxworks.
   1923 
   1924 2023-05-30  Alexandre Oliva  <oliva (a] adacore.com>
   1925 
   1926 	Backported from master:
   1927 	2023-05-25  Alexandre Oliva  <oliva (a] adacore.com>
   1928 
   1929 	* testsuite/20_util/to_chars/long_double.cc: Expect execution
   1930 	fail on x86-vxworks.
   1931 
   1932 2023-05-30  Alexandre Oliva  <oliva (a] adacore.com>
   1933 
   1934 	Backported from master:
   1935 	2023-05-05  Alexandre Oliva  <oliva (a] adacore.com>
   1936 
   1937 	* testsuite/20_util/from_chars/4.cc: Skip long double test06
   1938 	on aarch64-vxworks.
   1939 	* testsuite/20_util/to_chars/long_double.cc: Xfail run on
   1940 	aarch64-vxworks.
   1941 
   1942 2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1943 
   1944 	Backported from master:
   1945 	2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1946 
   1947 	PR libstdc++/109822
   1948 	* include/experimental/bits/simd.h (to_native): Use int NTTP
   1949 	as specified in PTS2.
   1950 	(to_compatible): Likewise. Add missing tag to call mask
   1951 	generator ctor.
   1952 	* testsuite/experimental/simd/pr109822_cast_functions.cc: New
   1953 	test.
   1954 
   1955 2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1956 
   1957 	Backported from master:
   1958 	2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1959 
   1960 	* testsuite/experimental/simd/tests/integer_operators.cc:
   1961 	Compute expected value differently to avoid getting turned into
   1962 	a vector shift.
   1963 
   1964 2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1965 
   1966 	Backported from master:
   1967 	2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1968 
   1969 	* testsuite/experimental/simd/tests/operator_cvt.cc: Make long
   1970 	double <-> (u)long conversion tests conditional on sizeof(long
   1971 	double) and sizeof(long).
   1972 
   1973 2023-05-30  Matthias Kretz  <m.kretz (a] gsi.de>
   1974 
   1975 	Backported from master:
   1976 	2023-05-26  Matthias Kretz  <m.kretz (a] gsi.de>
   1977 
   1978 	* include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
   1979 	Negative __y is UB, so prefer signed compare.
   1980 
   1981 2023-05-24  Matthias Kretz  <m.kretz (a] gsi.de>
   1982 
   1983 	Backported from master:
   1984 	2023-05-24  Matthias Kretz  <m.kretz (a] gsi.de>
   1985 
   1986 	PR libstdc++/109949
   1987 	* include/experimental/bits/simd.h (__intrinsic_type): If
   1988 	__ALTIVEC__ is defined, map gnu::vector_size types to their
   1989 	corresponding __vector T types without losing unsignedness of
   1990 	integer types. Also prefer long long over long.
   1991 	* include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
   1992 	object to the expected unsigned vector type.
   1993 
   1994 2023-05-24  Matthias Kretz  <m.kretz (a] gsi.de>
   1995 
   1996 	Backported from master:
   1997 	2023-05-24  Matthias Kretz  <m.kretz (a] gsi.de>
   1998 
   1999 	PR libstdc++/109261
   2000 	* include/experimental/bits/simd.h (__intrinsic_type):
   2001 	Specialize __intrinsic_type<double, 8> and
   2002 	__intrinsic_type<double, 16> in any case, but provide the member
   2003 	type only with __aarch64__.
   2004 
   2005 2023-05-24  Matthias Kretz  <m.kretz (a] gsi.de>
   2006 
   2007 	Backported from master:
   2008 	2023-05-24  Matthias Kretz  <m.kretz (a] gsi.de>
   2009 
   2010 	PR libstdc++/109261
   2011 	* include/experimental/bits/simd_neon.h (_S_reduce): Add
   2012 	constexpr and make NEON implementation conditional on
   2013 	not __builtin_is_constant_evaluated.
   2014 
   2015 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2016 
   2017 	Backported from master:
   2018 	2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2019 
   2020 	PR libstdc++/109261
   2021 	* include/experimental/bits/simd.h (_SimdWrapper::_M_set):
   2022 	Avoid vector builtin subscripting in constant expressions.
   2023 	(resizing_simd_cast): Avoid memcpy if constant_evaluated.
   2024 	(const_where_expression, where_expression, where)
   2025 	(__extract_part, simd_mask, _SimdIntOperators, simd): Add either
   2026 	_GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
   2027 	internal APIs).
   2028 	* include/experimental/bits/simd_builtin.h (__vector_permute)
   2029 	(__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
   2030 	(_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
   2031 	(_MaskImplBuiltin::_S_store): Add constexpr.
   2032 	(_CommonImplBuiltin::_S_store_bool_array)
   2033 	(_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
   2034 	(_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
   2035 	constant_evaluated case.
   2036 	* include/experimental/bits/simd_fixed_size.h
   2037 	(_S_masked_load): Reword comment.
   2038 	(__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
   2039 	(_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
   2040 	(__make_simd_tuple, __optimize_simd_tuple, __extract_part)
   2041 	(__autocvt_to_simd, _Fixed::__traits::_SimdBase)
   2042 	(_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
   2043 	constexpr.
   2044 	(_SimdTuple::operator[], _M_set): Add constexpr and add
   2045 	constant_evaluated case.
   2046 	(_MaskImplFixedSize::_S_load): Add constant_evaluated case.
   2047 	* include/experimental/bits/simd_scalar.h: Add constexpr.
   2048 	* include/experimental/bits/simd_x86.h (_CommonImplX86): Add
   2049 	constexpr and add constant_evaluated case.
   2050 	(_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
   2051 	(_S_less_equal): Value-initialize to satisfy constexpr
   2052 	evaluation.
   2053 	(_MaskImplX86::_S_load): Add constant_evaluated case.
   2054 	(_MaskImplX86::_S_store): Add constexpr and constant_evaluated
   2055 	case. Value-initialize local variables.
   2056 	(_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
   2057 	(_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
   2058 	case.
   2059 	* testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
   2060 	test.
   2061 
   2062 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2063 
   2064 	Backported from master:
   2065 	2023-05-22  Matthias Kretz  <m.kretz (a] gsi.de>
   2066 
   2067 	* include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
   2068 	__infn into #ifdef'ed block.
   2069 	* testsuite/experimental/simd/tests/fpclassify.cc: Declare
   2070 	constants only when used.
   2071 	* testsuite/experimental/simd/tests/frexp.cc: Likewise.
   2072 	* testsuite/experimental/simd/tests/logarithm.cc: Likewise.
   2073 	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
   2074 	Likewise.
   2075 	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
   2076 	Move totest and expect1 into #ifdef'ed block.
   2077 
   2078 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2079 
   2080 	Backported from master:
   2081 	2023-03-28  Matthias Kretz  <m.kretz (a] gsi.de>
   2082 
   2083 	* include/experimental/bits/simd.h (is_simd_flag_type): New.
   2084 	(_IsSimdFlagType): New.
   2085 	(copy_from, copy_to, load ctors): Constrain _Flags using
   2086 	_IsSimdFlagType.
   2087 
   2088 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2089 
   2090 	Backported from master:
   2091 	2023-03-28  Matthias Kretz  <m.kretz (a] gsi.de>
   2092 
   2093 	* include/experimental/bits/simd_x86.h (_SimdImplX86): Use
   2094 	_Base::_S_divides if the optimized _S_divides function is hidden
   2095 	via the preprocessor.
   2096 
   2097 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2098 
   2099 	Backported from master:
   2100 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2101 
   2102 	* include/experimental/bits/simd_detail.h: Don't declare the
   2103 	simd API as constexpr with Clang.
   2104 	* include/experimental/bits/simd_x86.h (__movm): New.
   2105 	(_S_blend_avx512): Resolve FIXME. Implement blend using __movm
   2106 	and ?:.
   2107 	(_SimdImplX86::_S_masked_unary): Clang does not implement the
   2108 	same builtins. Implement the function using __movm, ?:, and -
   2109 	operators on vector_size types instead.
   2110 
   2111 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2112 
   2113 	Backported from master:
   2114 	2023-02-24  Matthias Kretz  <m.kretz (a] gsi.de>
   2115 
   2116 	* include/experimental/bits/simd.h: Line breaks and indenting
   2117 	fixed to follow the libstdc++ standard.
   2118 	* include/experimental/bits/simd_builtin.h: Likewise.
   2119 	* include/experimental/bits/simd_fixed_size.h: Likewise.
   2120 	* include/experimental/bits/simd_neon.h: Likewise.
   2121 	* include/experimental/bits/simd_ppc.h: Likewise.
   2122 	* include/experimental/bits/simd_scalar.h: Likewise.
   2123 	* include/experimental/bits/simd_x86.h: Likewise.
   2124 
   2125 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2126 
   2127 	Backported from master:
   2128 	2023-02-24  Matthias Kretz  <m.kretz (a] gsi.de>
   2129 
   2130 	PR libstdc++/108030
   2131 	* include/experimental/bits/simd_fixed_size.h
   2132 	(_SimdImplFixedSize::_S_broadcast): Replace inline with
   2133 	_GLIBCXX_SIMD_INTRINSIC.
   2134 	(_SimdImplFixedSize::_S_generate): Likewise.
   2135 	(_SimdImplFixedSize::_S_load): Likewise.
   2136 	(_SimdImplFixedSize::_S_masked_load): Likewise.
   2137 	(_SimdImplFixedSize::_S_store): Likewise.
   2138 	(_SimdImplFixedSize::_S_masked_store): Likewise.
   2139 	(_SimdImplFixedSize::_S_min): Likewise.
   2140 	(_SimdImplFixedSize::_S_max): Likewise.
   2141 	(_SimdImplFixedSize::_S_complement): Likewise.
   2142 	(_SimdImplFixedSize::_S_unary_minus): Likewise.
   2143 	(_SimdImplFixedSize::_S_plus): Likewise.
   2144 	(_SimdImplFixedSize::_S_minus): Likewise.
   2145 	(_SimdImplFixedSize::_S_multiplies): Likewise.
   2146 	(_SimdImplFixedSize::_S_divides): Likewise.
   2147 	(_SimdImplFixedSize::_S_modulus): Likewise.
   2148 	(_SimdImplFixedSize::_S_bit_and): Likewise.
   2149 	(_SimdImplFixedSize::_S_bit_or): Likewise.
   2150 	(_SimdImplFixedSize::_S_bit_xor): Likewise.
   2151 	(_SimdImplFixedSize::_S_bit_shift_left): Likewise.
   2152 	(_SimdImplFixedSize::_S_bit_shift_right): Likewise.
   2153 	(_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
   2154 	explicit about not always-inline, yet).
   2155 	(_SimdImplFixedSize::_S_isinf): Likewise.
   2156 	(_SimdImplFixedSize::_S_isfinite): Likewise.
   2157 	(_SimdImplFixedSize::_S_isnan): Likewise.
   2158 	(_SimdImplFixedSize::_S_isnormal): Likewise.
   2159 	(_SimdImplFixedSize::_S_signbit): Likewise.
   2160 
   2161 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2162 
   2163 	Backported from master:
   2164 	2023-02-24  Matthias Kretz  <m.kretz (a] gsi.de>
   2165 
   2166 	PR libstdc++/108856
   2167 	* include/experimental/bits/simd_builtin.h
   2168 	(_SimdImplBuiltin::_S_masked_unary): More efficient
   2169 	implementation of masked inc-/decrement for integers and floats
   2170 	without AVX2.
   2171 	* include/experimental/bits/simd_x86.h
   2172 	(_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
   2173 	builtins for masked inc-/decrement.
   2174 
   2175 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2176 
   2177 	Backported from master:
   2178 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2179 
   2180 	* testsuite/experimental/simd/tests/reductions.cc: Introduce
   2181 	max_distance as the type-dependent max error.
   2182 
   2183 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2184 
   2185 	Backported from master:
   2186 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2187 
   2188 	PR libstdc++/108030
   2189 	* include/experimental/bits/simd_detail.h
   2190 	(_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
   2191 	__clang__.
   2192 
   2193 2023-05-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2194 
   2195 	Backported from master:
   2196 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2197 
   2198 	PR libstdc++/108030
   2199 	* include/experimental/bits/simd_detail.h: Define
   2200 	_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
   2201 	* include/experimental/bits/simd.h: Annotate lambdas with
   2202 	_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
   2203 	* include/experimental/bits/simd_builtin.h: Ditto.
   2204 	* include/experimental/bits/simd_converter.h: Ditto.
   2205 	* include/experimental/bits/simd_fixed_size.h: Ditto.
   2206 	* include/experimental/bits/simd_math.h: Ditto.
   2207 	* include/experimental/bits/simd_neon.h: Ditto.
   2208 	* include/experimental/bits/simd_x86.h: Ditto.
   2209 
   2210 2023-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2211 
   2212 	Backported from master:
   2213 	2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2214 
   2215 	PR libstdc++/107801
   2216 	* src/c++17/memory_resource.cc (chunk::_M_bytes): Change type
   2217 	from uint32_t to bitset::size_type. Adjust static assertion.
   2218 	(__pool_resource::_Pool::replenish): Cast to size_t after
   2219 	multiplication instead of before.
   2220 	(__pool_resource::_M_alloc_pools): Ensure both arguments to
   2221 	std::max have type size_t.
   2222 
   2223 2023-05-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2224 
   2225 	Backported from master:
   2226 	2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2227 
   2228 	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Make
   2229 	expansion of std::string in manager name more robust.
   2230 
   2231 2023-05-08  Release Manager
   2232 
   2233 	* GCC 12.3.0 released.
   2234 
   2235 2023-05-03  Kefu Chai  <kefu.chai (a] scylladb.com>
   2236 
   2237 	Backported from master:
   2238 	2023-05-03  Kefu Chai  <kefu.chai (a] scylladb.com>
   2239 		    Jonathan Wakely  <jwakely (a] redhat.com>
   2240 
   2241 	PR libstdc++/109703
   2242 	* include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
   2243 	Initialize _M_string_length.
   2244 
   2245 2023-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2246 
   2247 	Backported from master:
   2248 	2023-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2249 
   2250 	* doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
   2251 	from header paths.
   2252 
   2253 2023-04-29  Patrick Palka  <ppalka (a] redhat.com>
   2254 
   2255 	Backported from master:
   2256 	2023-04-12  Patrick Palka  <ppalka (a] redhat.com>
   2257 
   2258 	* include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
   2259 	Propagate _M_trailing_empty in the const-converting constructor
   2260 	as per LWG 3904.
   2261 	* testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
   2262 
   2263 2023-04-29  Patrick Palka  <ppalka (a] redhat.com>
   2264 
   2265 	Backported from master:
   2266 	2023-03-14  Patrick Palka  <ppalka (a] redhat.com>
   2267 
   2268 	* include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
   2269 	Define.
   2270 	(__cpp_lib_move_iterator_concept): Define for C++20.
   2271 	(move_iterator::iterator_concept): Strengthen as per P2520R0.
   2272 	* include/std/version (__cpp_lib_move_iterator_concept): Define
   2273 	for C++20.
   2274 	* testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
   2275 
   2276 2023-04-29  Patrick Palka  <ppalka (a] redhat.com>
   2277 
   2278 	Backported from master:
   2279 	2023-03-09  Patrick Palka  <ppalka (a] redhat.com>
   2280 
   2281 	PR libstdc++/108362
   2282 	* include/std/ranges (__detail::__can_single_view): New concept.
   2283 	(_Single::operator()): Constrain it.  Move [[nodiscard]] to the
   2284 	end of the function declarator.
   2285 	(__detail::__can_iota_view): New concept.
   2286 	(_Iota::operator()): Constrain it.  Move [[nodiscard]] to the
   2287 	end of the function declarator.
   2288 	(__detail::__can_istream_view): New concept.
   2289 	(_Istream::operator()): Constrain it.  Move [[nodiscard]] to the
   2290 	end of the function declarator.
   2291 	* testsuite/std/ranges/iota/lwg3292_neg.cc: Prune "in
   2292 	requirements" diagnostic.
   2293 	* testsuite/std/ranges/iota/iota_view.cc (test07): New test.
   2294 	* testsuite/std/ranges/istream_view.cc (test08): New test.
   2295 	* testsuite/std/ranges/single_view.cc (test07): New test.
   2296 
   2297 2023-04-28  Patrick Palka  <ppalka (a] redhat.com>
   2298 
   2299 	Backported from master:
   2300 	2023-04-24  Patrick Palka  <ppalka (a] redhat.com>
   2301 
   2302 	* include/bits/max_size_type.h (__max_diff_type::operator>>=):
   2303 	Fix propagation of sign bit.
   2304 	* testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
   2305 	non-standard 'signed typedef-name'.  Add some compile-time tests
   2306 	for right-shifting a negative __max_diff_type value by more than
   2307 	one.
   2308 
   2309 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2310 
   2311 	* include/std/atomic: Add missing @endcond doxygen comment.
   2312 
   2313 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2314 
   2315 	Backported from master:
   2316 	2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2317 
   2318 	PR libstdc++/107850
   2319 	* include/bits/erase_if.h (__erase_nodes_if): Use non-const
   2320 	reference to the container.
   2321 	* include/experimental/map (erase_if): Likewise.
   2322 	* include/experimental/set (erase_if): Likewise.
   2323 	* include/experimental/unordered_map (erase_if): Likewise.
   2324 	* include/experimental/unordered_set (erase_if): Likewise.
   2325 	* include/std/map (erase_if): Likewise.
   2326 	* include/std/set (erase_if): Likewise.
   2327 	* include/std/unordered_map (erase_if): Likewise.
   2328 	* include/std/unordered_set (erase_if): Likewise.
   2329 	* testsuite/23_containers/map/erasure.cc: Check with
   2330 	const-incorrect predicate.
   2331 	* testsuite/23_containers/set/erasure.cc: Likewise.
   2332 	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
   2333 	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
   2334 	* testsuite/experimental/map/erasure.cc: Likewise.
   2335 	* testsuite/experimental/set/erasure.cc: Likewise.
   2336 	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
   2337 	* testsuite/experimental/unordered_set/erasure.cc: Likewise.
   2338 
   2339 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2340 
   2341 	Backported from master:
   2342 	2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2343 
   2344 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
   2345 	Replace non-ASCII character.
   2346 
   2347 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2348 
   2349 	Backported from master:
   2350 	2023-02-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2351 
   2352 	PR libstdc++/108952
   2353 	* include/bits/uses_allocator_args.h
   2354 	(uses_allocator_construction_args): Implement LWG 3527.
   2355 	* testsuite/20_util/pair/astuple/get-2.cc: New test.
   2356 	* testsuite/20_util/scoped_allocator/108952.cc: New test.
   2357 	* testsuite/20_util/uses_allocator/lwg3527.cc: New test.
   2358 
   2359 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2360 
   2361 	Backported from master:
   2362 	2023-03-31  Jonathan Wakely  <jwakely (a] redhat.com>
   2363 
   2364 	PR libstdc++/109339
   2365 	* include/std/stop_token (_Stop_state_ptr(const stop_source&)):
   2366 	Add attribute access with access-mode 'none'.
   2367 	* testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
   2368 
   2369 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2370 
   2371 	Backported from master:
   2372 	2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2373 
   2374 	PR libstdc++/107466
   2375 	* include/bits/random.h (subtract_with_carry_engine): Use 32-bit
   2376 	type for default seed. Use 0u as default argument for
   2377 	subtract_with_carry_engine(result_type) constructor and
   2378 	seed(result_type) member function.
   2379 	* include/bits/random.tcc (subtract_with_carry_engine): Use
   2380 	32-bit type for default seed and engine used for initial state.
   2381 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
   2382 	New test.
   2383 
   2384 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2385 
   2386 	Backported from master:
   2387 	2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2388 
   2389 	* include/bits/mofunc_impl.h: Fix typo in doxygen comment.
   2390 
   2391 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2392 
   2393 	Backported from master:
   2394 	2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2395 
   2396 	* doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
   2397 	HTML docs.
   2398 	* include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
   2399 	from doxygen docs.
   2400 	* include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
   2401 	Likewise.
   2402 	* include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
   2403 	Likewise.
   2404 	* include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
   2405 	Likewise.
   2406 	* include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
   2407 	(_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
   2408 	(_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
   2409 	(_DEFINE_BINARY_OPERATOR): Likewise.
   2410 
   2411 2023-04-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2412 
   2413 	PR libstdc++/103755
   2414 	* include/bits/locale_classes.tcc (try_facet, use_facet): Do not
   2415 	check array index or dynamic type when accessing required
   2416 	specializations of std::ctype, std::num_get, or std::num_put.
   2417 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
   2418 	expected errors.
   2419 
   2420 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2421 
   2422 	Backported from master:
   2423 	2022-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2424 
   2425 	PR libstdc++/107852
   2426 	PR libstdc++/106199
   2427 	PR libstdc++/100366
   2428 	* include/bits/vector.tcc (vector::_M_fill_insert): Copy
   2429 	_M_start and _M_finish members before allocating.
   2430 	(vector::_M_default_append): Likewise.
   2431 	(vector::_M_range_insert): Likewise.
   2432 
   2433 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2434 
   2435 	Backported from master:
   2436 	2023-04-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2437 
   2438 	* doc/xml/manual/extensions.xml: Remove std::bad_exception from
   2439 	example program.
   2440 	* doc/html/manual/ext_demangling.html: Regenerate.
   2441 
   2442 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2443 
   2444 	Backported from master:
   2445 	2023-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2446 
   2447 	* include/bits/regex.h (sub_match::swap): New function.
   2448 	* testsuite/28_regex/sub_match/lwg3204.cc: New test.
   2449 
   2450 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2451 
   2452 	Backported from master:
   2453 	2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2454 
   2455 	PR libstdc++/103387
   2456 	* include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
   2457 	std::use_facet instead of cached _M_num_get facet.
   2458 	(istream::operator>>(short&)): Likewise.
   2459 	(istream::operator>>(int&)): Likewise.
   2460 	* include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
   2461 	std::use_facet instead of cached _M_num_put facet.
   2462 
   2463 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2464 
   2465 	Backported from master:
   2466 	2023-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2467 
   2468 	* testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
   2469 	dg-options.
   2470 
   2471 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2472 
   2473 	Backported from master:
   2474 	2023-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   2475 
   2476 	* include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
   2477 	Add overload, as per LWG 3893.
   2478 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   2479 	Check assignment from nullptr.
   2480 
   2481 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2482 
   2483 	Backported from master:
   2484 	2023-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2485 
   2486 	* include/std/expected (expected::value() &): Use const lvalue
   2487 	for unex member passed to bad_expected_access constructor, as
   2488 	per LWG 3843.
   2489 
   2490 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2491 
   2492 	Backported from master:
   2493 	2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2494 
   2495 	* include/std/variant (variant::operator=): Implement resolution
   2496 	of LWG 3585.
   2497 	* testsuite/20_util/variant/lwg3585.cc: New test.
   2498 
   2499 2023-04-12  Patrick Palka  <ppalka (a] redhat.com>
   2500 
   2501 	Backported from master:
   2502 	2023-04-12  Patrick Palka  <ppalka (a] redhat.com>
   2503 
   2504 	* src/c++17/floating_from_chars.cc: Include <algorithm>,
   2505 	<iterator>, <limits> and <cstdint>.
   2506 
   2507 2023-03-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2508 
   2509 	Backported from master:
   2510 	2023-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2511 
   2512 	PR libstdc++/109242
   2513 	* include/std/optional (transform): Use std::remove_cv_t.
   2514 	* testsuite/20_util/optional/monadic/pr109242.cc: New test.
   2515 
   2516 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2517 
   2518 	Backported from master:
   2519 	2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2520 
   2521 	PR libstdc++/108118
   2522 	* include/bits/shared_ptr_base.h (weak_ptr::operator=):
   2523 	Implement as move-and-swap exactly as specified in the standard.
   2524 	* testsuite/20_util/weak_ptr/cons/self_move.cc: New test.
   2525 
   2526 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2527 
   2528 	Backported from master:
   2529 	2022-11-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2530 
   2531 	* include/bits/ranges_algobase.h (__detail::__copy_or_move):
   2532 	Move output iterator.
   2533 	* testsuite/25_algorithms/copy/constrained.cc: Check copying to
   2534 	move-only output iterator.
   2535 
   2536 2023-03-28  Bjrn Schpers  <bjoern (a] hazardy.de>
   2537 
   2538 	Backported from master:
   2539 	2023-01-14  Bjrn Schpers  <bjoern (a] hazardy.de>
   2540 
   2541 	* include/std/stacktrace (stacktrace_entry::_S_demangle): Use
   2542 	raw __name if __cxa_demangle could not demangle it.
   2543 
   2544 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2545 
   2546 	Backported from master:
   2547 	2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2548 
   2549 	* include/std/stacktrace (operator<<): Only output to narrow
   2550 	ostreams (LWG 3515).
   2551 	* testsuite/19_diagnostics/stacktrace/synopsis.cc:
   2552 
   2553 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2554 
   2555 	Backported from master:
   2556 	2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
   2557 
   2558 	* include/bits/chrono.h (duration_cast, floor, round, abs, ceil)
   2559 	(time_point_cast): Add [[nodiscard]] attribute and doxygen
   2560 	comments.
   2561 	(treat_as_floating_point): Add doxygen commen.
   2562 
   2563 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2564 
   2565 	Backported from master:
   2566 	2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
   2567 
   2568 	* include/bits/chrono.h (duration, time_point): Change 'struct'
   2569 	to 'class'.
   2570 
   2571 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2572 
   2573 	Backported from master:
   2574 	2023-01-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2575 
   2576 	PR libstdc++/108554
   2577 	* include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
   2578 	nonnull attribute.
   2579 	(_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
   2580 	attributes.
   2581 	* testsuite/23_containers/map/modifiers/108554.cc: New test.
   2582 
   2583 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2584 
   2585 	Backported from master:
   2586 	2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2587 
   2588 	* include/std/bitset (bitset::_M_copy_to_string): Find set bits
   2589 	instead of iterating over individual bits.
   2590 
   2591 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2592 
   2593 	Backported from master:
   2594 	2022-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2595 
   2596 	* include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK):
   2597 	Replace with ...
   2598 	(_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag.
   2599 	(_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using
   2600 	try_lock_failed flag
   2601 	(_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ...
   2602 	(_GLIBCXX_TSAN_MUTEX_LOCKED): ... this.
   2603 	(_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag.
   2604 	(_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag.
   2605 	(_Sp_atomic::_Atomic_count::lock): Use new macros.
   2606 
   2607 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2608 
   2609 	Backported from master:
   2610 	2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2611 
   2612 	* include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY)
   2613 	(_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK)
   2614 	(_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK)
   2615 	(_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL):
   2616 	Define macros for TSan annotation functions.
   2617 	(_Sp_atomic::_Atomic_count): Add annotations.
   2618 
   2619 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2620 
   2621 	Backported from master:
   2622 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2623 
   2624 	* include/std/memory_resource (new_delete_resource): Add
   2625 	nodiscard, returns_nonnull and const attributes.
   2626 	(null_memory_resource): Likewise.
   2627 	(set_default_resource, get_default_resource): Add returns_nonnull
   2628 	attribute.
   2629 	(memory_resource::is_equal): Add nodiscard attribute.
   2630 	(operator==, operator!=): Likewise.
   2631 
   2632 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2633 
   2634 	Backported from master:
   2635 	2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2636 
   2637 	* include/std/future
   2638 	(_State_baseV2::__setter(exception_ptr&, promise&)): Add
   2639 	assertion for LWG 2276 precondition.
   2640 	* testsuite/30_threads/promise/members/set_exception_neg.cc:
   2641 	New test.
   2642 
   2643 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2644 
   2645 	Backported from master:
   2646 	2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2647 
   2648 	* include/c_global/cstddef (byte): Add always_inline attribute
   2649 	to all operator overloads.
   2650 	(to_integer): Add always_inline attribute.
   2651 
   2652 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2653 
   2654 	Backported from master:
   2655 	2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2656 
   2657 	* include/std/system_error (__adl_only::make_error_code): Add
   2658 	deleted function.
   2659 	(__adl_only::make_error_condition): Likewise.
   2660 	(error_code::error_code(ErrorCodeEnum)): Add using-declaration
   2661 	for deleted function.
   2662 	(error_condition::error_condition(ErrorConditionEnum)):
   2663 	Likewise.
   2664 	* testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test.
   2665 	* testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test.
   2666 
   2667 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2668 
   2669 	Backported from master:
   2670 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2671 
   2672 	* include/bits/ios_base.h (io_category): Add const and nodiscard
   2673 	attributes.
   2674 	(make_error_code, make_error_condition): Add nodiscard.
   2675 	* include/std/future (future_category): Add const and nodiscard.
   2676 	(make_error_code, make_error_condition): Add nodiscard.
   2677 	* include/std/system_error (generic_category system_category):
   2678 	Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute.
   2679 	(error_code::value, error_code::category, error_code::operator bool)
   2680 	(error_condition::value, error_condition::category)
   2681 	(error_condition::operator bool, make_error_code)
   2682 	(make_error_condition, operator==, operator!=, operator<=>): Add
   2683 	nodiscard.
   2684 
   2685 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2686 
   2687 	Backported from master:
   2688 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   2689 
   2690 	* include/bits/std_thread.h (thread, thread::id): Improve
   2691 	doxygen docs.
   2692 	* include/std/future: Likewise.
   2693 	* include/std/thread (jthread): Likewise.
   2694 
   2695 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2696 
   2697 	Backported from master:
   2698 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   2699 
   2700 	* include/std/system_error: Improve doxygen comments.
   2701 
   2702 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2703 
   2704 	Backported from master:
   2705 	2023-02-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2706 
   2707 	* include/ext/throw_allocator.h: Use reserved names for
   2708 	parameters.
   2709 
   2710 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2711 
   2712 	Backported from master:
   2713 	2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2714 
   2715 	* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT
   2716 	unless the AC_MSG_CHECKING happened.
   2717 	* configure: Regenerate.
   2718 
   2719 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2720 
   2721 	Backported from master:
   2722 	2023-01-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2723 
   2724 	* doc/xml/manual/abi.xml: Add latest library versions.
   2725 	* doc/html/manual/abi.html: Regenerate.
   2726 
   2727 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2728 
   2729 	Backported from master:
   2730 	2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2731 
   2732 	* include/bits/char_traits.h (char_traits::copy): Return without
   2733 	using memcpy if n==0.
   2734 	(char_traits::assign): Likewise for memset.
   2735 
   2736 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2737 
   2738 	Backported from master:
   2739 	2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2740 
   2741 	PR libstdc++/109299
   2742 	* include/bits/basic_string.h (basic_string::_M_is_local()): Add
   2743 	hint for compiler that local strings fit in the local buffer.
   2744 
   2745 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2746 
   2747 	Backported from master:
   2748 	2023-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2749 
   2750 	* include/bits/cow_string.h: Fix typo in comment.
   2751 
   2752 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2753 
   2754 	Backported from master:
   2755 	2023-02-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2756 
   2757 	* include/experimental/optional: Fix header name in comment.
   2758 
   2759 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2760 
   2761 	Backported from master:
   2762 	2023-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2763 
   2764 	PR libstdc++/108413
   2765 	* include/c_compatibility/stdatomic.h: Change copyright line to
   2766 	be consistent with other headers contributed under DCO terms.
   2767 	* include/std/expected: Add full stop to copyright line.
   2768 
   2769 2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2770 
   2771 	Backported from master:
   2772 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2773 
   2774 	* include/experimental/bits/simd_x86.h
   2775 	(_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
   2776 	with __RECIPROCAL_MATH__.
   2777 
   2778 2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2779 
   2780 	Backported from master:
   2781 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2782 
   2783 	* include/experimental/bits/simd_detail.h: Don't define
   2784 	_GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
   2785 	* include/experimental/bits/simd_x86.h (_S_divides): Remove
   2786 	check for __clang__.
   2787 
   2788 2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2789 
   2790 	Backported from master:
   2791 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
   2792 
   2793 	* testsuite/experimental/simd/tests/operators.cc: Clang doesn't
   2794 	define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
   2795 
   2796 2023-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2797 
   2798 	Backported from master:
   2799 	2022-11-16  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2800 
   2801 	* python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field
   2802 	'template'. Add self.targ1 to specify the first template parameter of the instantiation
   2803 	to match.
   2804 	(add_one_type_printer): Add targ1 optional parameter, default to None.
   2805 	Use gdb.types.get_basic_type to compare the type to recognize and the type
   2806 	returned from the typedef lookup.
   2807 	(register_type_printers): Adapt calls to add_one_type_printers.
   2808 
   2809 2023-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2810 
   2811 	Backported from master:
   2812 	2022-10-03  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2813 
   2814 	* python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version
   2815 	namespace for __cxx11 symbols.
   2816 	(add_one_template_type_printer): Likewise.
   2817 	(add_one_type_printer): Likewise.
   2818 	(FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al
   2819 	ambiguous typedef matching both std:: and std::__cxx11:: symbols.
   2820 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete
   2821 	\#define _GLIBCXX_USE_CXX11_ABI 0.
   2822 	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept
   2823 	std::__cxx11::list.
   2824 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   2825 	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
   2826 	* testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20
   2827 	and debug mode.
   2828 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
   2829 
   2830 2023-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2831 
   2832 	Backported from master:
   2833 	2022-09-22  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2834 
   2835 	* python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing
   2836 	types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue,
   2837 	std::__debug::priority_queue.
   2838 
   2839 2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2840 
   2841 	Backported from master:
   2842 	2023-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2843 
   2844 	PR libstdc++/109064
   2845 	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
   2846 	Remove self-recursion in __init__. Add missing _supports.
   2847 	* testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
   2848 	and unique().
   2849 
   2850 2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2851 
   2852 	PR libstdc++/109182
   2853 	* include/std/expected (expected<void>::expected(in_place_t)):
   2854 	Remove template-head.
   2855 
   2856 2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2857 
   2858 	PR libstdc++/109165
   2859 	* include/std/coroutine (hash<>::operator()): Add const.
   2860 	* testsuite/18_support/coroutines/hash.cc: New test.
   2861 
   2862 2023-03-10  Thomas W Rodgers  <rodgert (a] twrodgers.com>
   2863 
   2864 	Backported from master:
   2865 	2023-02-14  Thomas W Rodgers  <rodgert (a] twrodgers.com>
   2866 
   2867 	PR libstdc++/103934
   2868 	* include/std/atomic (atomic_flag_wait): Add.
   2869 	(atomic_flag_wait_explicit): Add.
   2870 	(atomic_flag_notify): Add.
   2871 	(atomic_flag_notify_explicit): Add.
   2872 	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
   2873 	Add test case to cover missing atomic_flag free functions.
   2874 
   2875 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2876 
   2877 	Backported from master:
   2878 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2879 
   2880 	PR libstdc++/108030
   2881 	* include/experimental/bits/simd.h (__vector_broadcast):
   2882 	Implement via __vector_broadcast_impl instead of
   2883 	__call_with_n_evaluations + 2 lambdas.
   2884 	(__vector_broadcast_impl): New.
   2885 
   2886 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2887 
   2888 	Backported from master:
   2889 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2890 
   2891 	* include/experimental/bits/simd_builtin.h (_S_set): Compare as
   2892 	int. The actual range of these indexes is very small.
   2893 
   2894 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2895 
   2896 	Backported from master:
   2897 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2898 
   2899 	* include/experimental/bits/simd_x86.h (_S_bit_shift_left)
   2900 	(_S_bit_shift_right): Declare constexpr. The implementation was
   2901 	already expecting constexpr evaluation.
   2902 
   2903 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
   2904 
   2905 	Backported from master:
   2906 	2023-02-20  Matthias Kretz  <m.kretz (a] gsi.de>
   2907 
   2908 	* include/experimental/bits/simd.h (__extract_part, split):
   2909 	Use reserved name for template parameter.
   2910 
   2911 2023-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2912 
   2913 	Backported from master:
   2914 	2022-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   2915 
   2916 	* include/bits/refwrap.h (reference_wrapper::operator()): Add
   2917 	noexcept-specifier and use __invoke_result instead of result_of.
   2918 	* testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test.
   2919 
   2920 2023-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2921 
   2922 	Backported from master:
   2923 	2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2924 
   2925 	PR libstdc++/108636
   2926 	* include/bits/fs_path.h (path::path(string_view, _Type))
   2927 	(path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
   2928 	definitions to ...
   2929 	* src/c++17/fs_path.cc: ... here.
   2930 	* testsuite/27_io/filesystem/path/108636.cc: New test.
   2931 
   2932 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2933 
   2934 	Backported from master:
   2935 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2936 
   2937 	* include/experimental/bits/simd_math.h (__hypot): Bitcasting
   2938 	between scalars requires the __bit_cast helper function instead
   2939 	of simd_bit_cast.
   2940 
   2941 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2942 
   2943 	Backported from master:
   2944 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2945 
   2946 	* include/experimental/bits/simd_x86.h
   2947 	(_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
   2948 	(_SimdImplX86::_S_less_equal): Do not call
   2949 	__builtin_is_constant_evaluated in constexpr-if.
   2950 
   2951 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2952 
   2953 	Backported from master:
   2954 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2955 
   2956 	* testsuite/experimental/simd/tests/bits/verify.h
   2957 	(verify::verify): Use %zx for size_t in format string.
   2958 
   2959 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2960 
   2961 	Backported from master:
   2962 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2963 
   2964 	* testsuite/experimental/simd/README.md: Document the timeout
   2965 	and timeout-factor directives. Minor typo fixed.
   2966 
   2967 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2968 
   2969 	Backported from master:
   2970 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
   2971 
   2972 	* include/experimental/bits/simd.h
   2973 	(_SimdWrapper::_M_is_constprop_none_of)
   2974 	(_SimdWrapper::_M_is_constprop_all_of): Return false unless the
   2975 	computed result still satisfies __builtin_constant_p.
   2976 
   2977 2023-02-14  Thomas W Rodgers  <rodgert (a] twrodgers.com>
   2978 
   2979 	Backported from master:
   2980 	2023-02-14  Thomas W Rodgers  <rodgert (a] twrodgers.com>
   2981 
   2982 	PR libstdc++/103934
   2983 	* include/std/atomic (atomic_flag_test): Add.
   2984 	(atomic_flag_test_explicit): Add.
   2985 	* testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
   2986 	test case to cover missing atomic_flag free functions.
   2987 	* testsuite/29_atomics/atomic_flag/test/implicit.cc:
   2988 	Likewise.
   2989 
   2990 2023-02-10  Jakub Jelinek  <jakub (a] redhat.com>
   2991 
   2992 	Backported from master:
   2993 	2022-11-24  Jakub Jelinek  <jakub (a] redhat.com>
   2994 
   2995 	PR libstdc++/107468
   2996 	* src/c++17/fast_float/fast_float.h: Partial merge from fast_float
   2997 	2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit.
   2998 
   2999 2023-02-10  Jakub Jelinek  <jakub (a] redhat.com>
   3000 
   3001 	Backported from master:
   3002 	2022-11-07  Jakub Jelinek  <jakub (a] redhat.com>
   3003 
   3004 	PR libstdc++/107468
   3005 	* src/c++17/fast_float/fast_float.h: Partial merge from fast_float
   3006 	662497742fea7055f0e0ee27e5a7ddc382c2c38e commit.
   3007 	* testsuite/20_util/from_chars/pr107468.cc: New test.
   3008 
   3009 2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3010 
   3011 	Backported from master:
   3012 	2023-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3013 
   3014 	* src/c++11/random.cc (random_device::_M_fini): Do not try to
   3015 	close the file handle if the target doesn't support the
   3016 	/dev/random and /dev/urandom files.
   3017 
   3018 2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3019 
   3020 	Backported from master:
   3021 	2023-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3022 
   3023 	* config/os/generic/error_constants.h (errc::value_too_large)
   3024 	[__AVR__]: Define.
   3025 	* src/c++11/system_error.cc
   3026 	(system_category::default_error_condition) [__AVR__]: Only match
   3027 	recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
   3028 	* src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
   3029 	for ENOENT etc. in switch.
   3030 	(fs::remove_all) [__AVR__]: Likewise.
   3031 	* src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
   3032 	close etc.
   3033 
   3034 2023-02-02  Patrick Palka  <ppalka (a] redhat.com>
   3035 
   3036 	Backported from master:
   3037 	2022-11-06  Patrick Palka  <ppalka (a] redhat.com>
   3038 
   3039 	* include/bits/atomic_wait.h (_detail::__platform_wait_alignment):
   3040 	Declare inline.  Remove redundant static specifier.
   3041 	(__detail::__atomic_spin_count_relax): Declare inline.
   3042 	(__detail::__atomic_spin_count): Likewise.
   3043 	* include/bits/regex_automaton.h (__detail::_S_invalid_state_id):
   3044 	Declare inline for C++17.  Declare constexpr.  Remove
   3045 	redundant const and static specifiers.
   3046 	* include/bits/regex_error.h (regex_constants::error_collate):
   3047 	Declare inline for C++17 as per P0607R0.
   3048 	(regex_constants::error_ctype): Likewise.
   3049 	(regex_constants::error_escape): Likewise.
   3050 	(regex_constants::error_backref): Likewise.
   3051 	(regex_constants::error_brack): Likewise.
   3052 	(regex_constants::error_paren): Likewise.
   3053 	(regex_constants::error_brace): Likewise.
   3054 	(regex_constants::error_badbrace): Likewise.
   3055 	(regex_constants::error_range): Likewise.
   3056 	(regex_constants::error_space): Likewise.
   3057 	(regex_constants::error_badrepeat): Likewise.
   3058 	(regex_constants::error_complexity): Likewise.
   3059 	(regex_constants::error_stack): Likewise.
   3060 	* include/ext/concurrence.h (__gnu_cxx::__default_lock_policy):
   3061 	Likewise.  Remove redundant static specifier.
   3062 	* include/pstl/execution_defs.h (execution::seq): Declare inline
   3063 	for C++17 as per P0607R0.
   3064 	(execution::par): Likewise.
   3065 	(execution::par_unseq): Likewise.
   3066 	(execution::unseq): Likewise.
   3067 
   3068 2023-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3069 
   3070 	Backported from master:
   3071 	2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3072 
   3073 	PR libstdc++/105730
   3074 	* src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
   3075 	Access private data member of base class and call its wait
   3076 	member.
   3077 
   3078 2023-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3079 
   3080 	Backported from master:
   3081 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3082 
   3083 	PR libstdc++/106183
   3084 	* include/bits/atomic_wait.h (__waiter_pool_base::_M_notify):
   3085 	Move increment of _M_ver here.
   3086 	[!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment.
   3087 	Use relaxed memory order and always notify all waiters.
   3088 	(__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]:
   3089 	Check value again after locking mutex.
   3090 	(__waiter_base::_M_notify): Remove increment of _M_ver.
   3091 
   3092 2023-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3093 
   3094 	Backported from master:
   3095 	2023-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3096 
   3097 	PR libstdc++/108265
   3098 	* include/std/chrono (hh_mm_ss): Do not use chrono::abs if
   3099 	duration rep is unsigned. Remove incorrect noexcept-specifier.
   3100 	* testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. Check
   3101 	floating-point representations. Check default construction.
   3102 
   3103 2022-12-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3104 
   3105 	Backported from master:
   3106 	2022-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3107 
   3108 	PR libstdc++/107814
   3109 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   3110 	Use a static buffer with space after it.
   3111 
   3112 2022-12-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3113 
   3114 	Backported from master:
   3115 	2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3116 
   3117 	* include/std/expected (expected::_M_swap_val_unex): Guard the
   3118 	correct object.
   3119 	(expected::swap): Move is_swappable
   3120 	requirement from static_assert to constraint.
   3121 	(swap): Likewise.
   3122 	(operator==): Remove noexcept-specifier.
   3123 	* testsuite/20_util/expected/swap.cc: Check swapping of
   3124 	types without non-throwing move constructor. Check constraints
   3125 	on swap.
   3126 	* testsuite/20_util/expected/unexpected.cc: Check constraints on
   3127 	swap.
   3128 	* testsuite/20_util/expected/equality.cc: New test.
   3129 
   3130 2022-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3131 
   3132 	Backported from master:
   3133 	2022-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3134 
   3135 	PR libstdc++/108097
   3136 	* include/std/stacktrace (basic_stracktrace::_Impl): Do not
   3137 	multiply N by sizeof(value_type) when allocating.
   3138 
   3139 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3140 
   3141 	Backported from master:
   3142 	2022-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
   3143 
   3144 	* include/std/memory: Do not include <bits/stl_algobase.h>.
   3145 
   3146 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3147 
   3148 	Backported from master:
   3149 	2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3150 
   3151 	* testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
   3152 	const qualifier.
   3153 	* testsuite/26_numerics/valarray/87641.cc (X::operator==):
   3154 	Likewise.
   3155 
   3156 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3157 
   3158 	Backported from master:
   3159 	2022-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3160 
   3161 	* include/std/expected (expected::_M_invalid): Remove.
   3162 
   3163 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3164 
   3165 	Backported from master:
   3166 	2022-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3167 
   3168 	* include/bits/chrono.h (duration): Check preconditions on
   3169 	template arguments before using them.
   3170 
   3171 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3172 
   3173 	Backported from master:
   3174 	2022-10-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3175 
   3176 	* include/bits/fs_path.h (path::filename()): Fix dangling
   3177 	reference.
   3178 
   3179 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3180 
   3181 	Backported from master:
   3182 	2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3183 
   3184 	* doc/xml/manual/intro.xml: Document LWG 1203.
   3185 	* doc/html/*: Regenerate.
   3186 
   3187 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3188 
   3189 	Backported from master:
   3190 	2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3191 
   3192 	* include/std/barrier: Add missing runtime exception.
   3193 
   3194 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3195 
   3196 	Backported from master:
   3197 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3198 
   3199 	* include/bits/fs_dir.h (directory_iterator): Add comparison
   3200 	with std::default_sentinel_t. Remove redundant operator!= for
   3201 	C++20.
   3202 	* (recursive_directory_iterator): Likewise.
   3203 	* include/bits/iterator_concepts.h [!__cpp_lib_concepts]
   3204 	(default_sentinel_t, default_sentinel): Define even if concepts
   3205 	are not supported.
   3206 	* include/bits/regex.h (regex_iterator): Add comparison with
   3207 	std::default_sentinel_t. Remove redundant operator!= for C++20.
   3208 	(regex_token_iterator): Likewise.
   3209 	(regex_token_iterator::_M_end_of_seq()): Add noexcept.
   3210 	* testsuite/27_io/filesystem/iterators/lwg3719.cc: New test.
   3211 	* testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
   3212 	New test.
   3213 	* testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
   3214 	New test.
   3215 
   3216 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3217 
   3218 	Backported from master:
   3219 	2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3220 
   3221 	PR libstdc++/91456
   3222 	* include/std/type_traits (__is_nothrow_invocable): Remove.
   3223 	(__is_invocable_impl::__nothrow_type): New member type which
   3224 	checks if the conversion can throw.
   3225 	(__is_nt_invocable_impl): Replace class template with alias
   3226 	template to __is_nt_invocable_impl::__nothrow_type.
   3227 	* testsuite/20_util/is_nothrow_invocable/91456.cc: New test.
   3228 	* testsuite/20_util/is_nothrow_convertible/value.cc: Remove
   3229 	macro used by value_ext.cc test.
   3230 	* testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove
   3231 	test for non-standard __is_nothrow_invocable trait.
   3232 
   3233 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3234 
   3235 	PR libstdc++/106201
   3236 	* include/bits/fs_path.h (filesystem::swap(path&, path&)):
   3237 	Replace with abbreviated function template.
   3238 	* include/experimental/bits/fs_path.h (filesystem::swap):
   3239 	Likewise.
   3240 	* testsuite/27_io/filesystem/iterators/106201.cc: New test.
   3241 	* testsuite/experimental/filesystem/iterators/106201.cc: New test.
   3242 
   3243 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3244 
   3245 	Backported from master:
   3246 	2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3247 
   3248 	PR libstdc++/107801
   3249 	* src/c++17/memory_resource.cc (pool_sizes): Disable large pools
   3250 	for targets with 16-bit int.
   3251 
   3252 2022-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3253 
   3254 	* include/bits/mofunc_impl.h (move_only_function::__param_t):
   3255 	Use __is_scalar instead of is_trivially_copyable.
   3256 	* testsuite/20_util/move_only_function/call.cc: Check parameters
   3257 	involving incomplete types.
   3258 
   3259 2022-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3260 
   3261 	Backported from master:
   3262 	2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3263 
   3264 	PR libstdc++/95048
   3265 	* include/bits/fs_path.h (path::_Codecvt): New class template
   3266 	that selects the kind of code conversion done.
   3267 	(path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
   3268 	(_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
   3269 	be used for Windows and POSIX.
   3270 	(path::_S_convert(const EcharT*, const EcharT*)): Simplify by
   3271 	using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
   3272 	(path::_S_str_convert(basic_string_view<value_type>, const A&)):
   3273 	Simplify nested conditions.
   3274 	* include/experimental/bits/fs_path.h (path::_Cvt): Define
   3275 	nested typedef controlling type of code conversion done.
   3276 	(path::_Cvt::_S_wconvert): Use new typedef.
   3277 	(path::string(const A&)): Likewise.
   3278 	* testsuite/27_io/filesystem/path/construct/95048.cc: New test.
   3279 	* testsuite/experimental/filesystem/path/construct/95048.cc: New
   3280 	test.
   3281 
   3282 2022-11-14  Nathaniel Shead  <nathanieloshead (a] gmail.com>
   3283 
   3284 	Backported from master:
   3285 	2022-11-11  Nathaniel Shead  <nathanieloshead (a] gmail.com>
   3286 
   3287 	PR libstdc++/103295
   3288 	* include/bits/basic_string.h (_M_use_local_data): Set active
   3289 	member to _M_local_buf.
   3290 
   3291 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3292 
   3293 	Backported from master:
   3294 	2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3295 
   3296 	* doc/xml/authors.xml: Remove empty author element.
   3297 	* doc/xml/manual/spine.xml: Likewise.
   3298 	* doc/html/manual/index.html: Regenerate.
   3299 
   3300 2022-10-19  Alexandre Oliva  <oliva (a] adacore.com>
   3301 
   3302 	Backported from master:
   3303 	2022-06-22  Alexandre Oliva  <oliva (a] adacore.com>
   3304 
   3305 	* libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS]
   3306 	(__eh_globals_init::~__eh_globals_init): Clear _S_init first.
   3307 
   3308 2022-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   3309 
   3310 	Backported from master:
   3311 	2022-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3312 
   3313 	* doc/xml/manual/evolution.xml: Document std::bind API
   3314 	changes.
   3315 	* doc/xml/manual/intro.xml: Document LWG 2487 status.
   3316 	* doc/xml/manual/using.xml: Clarify default value of
   3317 	_GLIBCXX_USE_DEPRECATED.
   3318 	* doc/html/*: Regenerate.
   3319 	* include/std/functional (_Bind::operator()(Args&&...) volatile)
   3320 	(_Bind::operator()(Args&&...) const volatile)
   3321 	(_Bind_result::operator()(Args&&...) volatile)
   3322 	(_Bind_result::operator()(Args&&...) const volatile): Replace
   3323 	with deleted overload for C++20 and later.
   3324 	* testsuite/20_util/bind/cv_quals.cc: Check for deprecated
   3325 	warnings in C++17.
   3326 	* testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for
   3327 	ill-formed in C++20.
   3328 
   3329 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3330 
   3331 	* doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 version.
   3332 	* doc/html/manual/abi.html: Regenerate.
   3333 
   3334 2022-09-12  Patrick Palka  <ppalka (a] redhat.com>
   3335 
   3336 	Backported from master:
   3337 	2022-09-12  Patrick Palka  <ppalka (a] redhat.com>
   3338 
   3339 	PR libstdc++/106320
   3340 	* testsuite/std/ranges/adaptors/join.cc (test13): New test.
   3341 
   3342 2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3343 
   3344 	Backported from master:
   3345 	2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3346 
   3347 	PR libstdc++/106695
   3348 	* include/bits/std_thread.h (thread::_State_impl): Forward
   3349 	individual arguments to _Invoker constructor.
   3350 	(thread::_Invoker): Add constructor. Delete copies.
   3351 	* include/std/future (__future_base::_Deferred_state): Forward
   3352 	individual arguments to _Invoker constructor.
   3353 	(__future_base::_Async_state_impl): Likewise.
   3354 	* testsuite/30_threads/async/106695.cc: New test.
   3355 	* testsuite/30_threads/thread/106695.cc: New test.
   3356 
   3357 2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3358 
   3359 	Backported from master:
   3360 	2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3361 
   3362 	PR libstdc++/106607
   3363 	* include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value):
   3364 	Use built-ins to check for integer overflow in back-reference
   3365 	number.
   3366 	* testsuite/28_regex/basic_regex/106607.cc: New test.
   3367 
   3368 2022-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3369 
   3370 	Backported from master:
   3371 	2022-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3372 
   3373 	PR libstdc++/106589
   3374 	* include/std/variant (__do_visit): Handle is_void<R> for zero
   3375 	argument case.
   3376 	* testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v).
   3377 
   3378 2022-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3379 
   3380 	Backported from master:
   3381 	2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3382 
   3383 	PR libstdc++/105678
   3384 	* doc/xml/manual/using.xml: Document -lstdc++_libbacktrace
   3385 	requirement for using std::stacktrace. Also adjust -frtti and
   3386 	-fexceptions to document non-default (i.e. negative) forms.
   3387 	* doc/html/*: Regenerate.
   3388 
   3389 2022-08-19  Release Manager
   3390 
   3391 	* GCC 12.2.0 released.
   3392 
   3393 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3394 
   3395 	Backported from master:
   3396 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3397 
   3398 	* include/std/string_view (basic_string_view(Range&&)): Add
   3399 	explicit as per P2499R0.
   3400 	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
   3401 	Adjust implicit conversions. Check implicit conversions fail.
   3402 	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
   3403 	Likewise.
   3404 
   3405 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3406 
   3407 	Backported from master:
   3408 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3409 
   3410 	* include/std/expected (unexpected::_M_val): Rename to _M_unex.
   3411 	(bad_expected_access::_M_val): Likewise.
   3412 
   3413 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3414 
   3415 	Backported from master:
   3416 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3417 
   3418 	* include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update
   3419 	value to 202207L.
   3420 	* include/std/version (__cpp_lib_ios_noreplace): Likewise.
   3421 	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check
   3422 	for new value.
   3423 	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
   3424 	Likewise.
   3425 
   3426 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3427 
   3428 	Backported from master:
   3429 	2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3430 
   3431 	* src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with
   3432 	current() returning _At_path.
   3433 	(_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust.
   3434 	* src/filesystem/dir-common.h (_Dir_base::_At_path): New class.
   3435 	(_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path.
   3436 	* src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with
   3437 	current() returning _At_path.
   3438 	(_Dir::_Dir, _Dir::open_subdir): Adjust.
   3439 
   3440 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3441 
   3442 	Backported from master:
   3443 	2022-07-29  Jonathan Wakely  <jwakely (a] redhat.com>
   3444 
   3445 	PR libstdc++/104443
   3446 	* include/bits/stl_iterator.h (common_iterator::operator->):
   3447 	Change return type to just auto.
   3448 
   3449 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3450 
   3451 	Backported from master:
   3452 	2022-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3453 
   3454 	PR libstdc++/106248
   3455 	* include/std/istream [C++17] (operator>>(istream&, char*)):
   3456 	Set eofbit if we stopped extracting at EOF.
   3457 	* testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc:
   3458 	New test.
   3459 	* testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc:
   3460 	New test.
   3461 
   3462 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3463 
   3464 	Backported from master:
   3465 	2022-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3466 
   3467 	* include/bits/fs_ops.h: Add nodiscard to all pure functions.
   3468 	* include/experimental/bits/fs_ops.h: Likewise.
   3469 	* testsuite/27_io/filesystem/operations/all.cc: Do not discard
   3470 	results of absolute and canonical.
   3471 	* testsuite/27_io/filesystem/operations/absolute.cc: Cast
   3472 	discarded result to void.
   3473 	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
   3474 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   3475 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   3476 	* testsuite/27_io/filesystem/operations/read_symlink.cc:
   3477 	Likewise.
   3478 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   3479 	* testsuite/27_io/filesystem/operations/symlink_status.cc:
   3480 	Likewise.
   3481 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   3482 	Likewise.
   3483 	* testsuite/experimental/filesystem/operations/canonical.cc:
   3484 	Likewise.
   3485 	* testsuite/experimental/filesystem/operations/exists.cc:
   3486 	Likewise.
   3487 	* testsuite/experimental/filesystem/operations/is_empty.cc:
   3488 	Likewise.
   3489 	* testsuite/experimental/filesystem/operations/read_symlink.cc:
   3490 	Likewise.
   3491 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3492 	Likewise.
   3493 
   3494 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3495 
   3496 	Backported from master:
   3497 	2022-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3498 
   3499 	PR libstdc++/105995
   3500 	* include/bits/basic_string.h (_M_use_local_data): Initialize
   3501 	the entire SSO buffer.
   3502 	* testsuite/21_strings/basic_string/cons/char/105995.cc: New test.
   3503 
   3504 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3505 
   3506 	Backported from master:
   3507 	2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3508 
   3509 	* include/bits/new_allocator.h: Fix indentation.
   3510 	* include/ext/malloc_allocator.h: Likewise.
   3511 
   3512 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3513 
   3514 	Backported from master:
   3515 	2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3516 
   3517 	PR libstdc++/105957
   3518 	* include/bits/allocator.h (allocator::allocate): Check for
   3519 	overflow in constexpr allocation.
   3520 	* testsuite/20_util/allocator/105975.cc: New test.
   3521 
   3522 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3523 
   3524 	Backported from master:
   3525 	2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3526 
   3527 	PR libstdc++/105844
   3528 	* include/experimental/numeric (experimental::gcd): Simplify
   3529 	assertions. Use __abs_r instead of __absu.
   3530 	(experimental::lcm): Likewise. Remove use of __detail::__lcm so
   3531 	overflow can be detected.
   3532 	* include/std/numeric (__detail::__absu): Rename to __abs_r and
   3533 	change to allow signed result type, so overflow can be detected.
   3534 	(__detail::__lcm): Remove.
   3535 	(gcd): Simplify assertions. Use __abs_r instead of __absu.
   3536 	(lcm): Likewise. Remove use of __detail::__lcm so overflow can
   3537 	be detected.
   3538 	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines.
   3539 	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
   3540 	* testsuite/26_numerics/gcd/105844.cc: New test.
   3541 	* testsuite/26_numerics/lcm/105844.cc: New test.
   3542 
   3543 2022-07-26  Thomas Rodgers  <trodgers (a] redhat.com>
   3544 
   3545 	Backported from master:
   3546 	2022-07-26  Thomas Rodgers  <trodgers (a] redhat.com>
   3547 
   3548 	* include/bits/atomic_wait.h (__atomic_spin): Merge spin loops.
   3549 
   3550 2022-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3551 
   3552 	Backported from master:
   3553 	2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3554 
   3555 	* src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
   3556 	Always store pathname if we don't have openat or unlinkat,
   3557 	because the full path is needed to open sub-directories and
   3558 	remove entries.
   3559 
   3560 2022-07-22  Alexandre Oliva  <oliva (a] adacore.com>
   3561 
   3562 	Backported from master:
   3563 	2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   3564 
   3565 	* src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
   3566 	_GLIBCXX_HAVE_OPENAT.
   3567 
   3568 2022-07-22  Alexandre Oliva  <oliva (a] adacore.com>
   3569 
   3570 	Backported from master:
   3571 	2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   3572 
   3573 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
   3574 	openat.
   3575 	* configure, config.h.in: Rebuilt.
   3576 	* src/filesystem/dir-common.h (openat): Use ::openat if
   3577 	_GLIBCXX_HAVE_OPENAT.
   3578 	* src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
   3579 	_GLIBCXX_HAVE_OPENAT.
   3580 
   3581 2022-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3582 
   3583 	Backported from master:
   3584 	2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3585 
   3586 	* include/std/stacktrace: Do not include <cxxabi.h>.
   3587 	(__cxa_demangle): Declare.
   3588 
   3589 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3590 
   3591 	Backported from master:
   3592 	2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3593 
   3594 	PR libstdc++/100823
   3595 	* include/bits/stl_iterator.h (common_iterator): Define move
   3596 	constructor and move assignment operator.
   3597 	(common_iterator::_M_assign): New function implementing
   3598 	assignment.
   3599 	(common_iterator::operator=): Use _M_assign.
   3600 	(common_iterator::_S_valueless): New constant.
   3601 	* testsuite/24_iterators/common_iterator/100823.cc: New test.
   3602 
   3603 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3604 
   3605 	Backported from master:
   3606 	2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3607 
   3608 	* include/bits/stl_iterator.h (common_iterator): Fix incorrect
   3609 	uses of is_nothrow_assignable_v. Fix inconsistent constraints on
   3610 	friend declaration. Do not move argument in copy constructor.
   3611 	* testsuite/24_iterators/common_iterator/1.cc: Check for
   3612 	noexcept constructibnle/assignable.
   3613 
   3614 2022-07-21  Nathan Sidwell  <nathan (a] acm.org>
   3615 
   3616 	Backported from master:
   3617 	2022-05-26  Nathan Sidwell  <nathan (a] acm.org>
   3618 
   3619 	* include/bits/hashtable.h: Include required headers.
   3620 	* include/bits/hashtable_policy.h: Likewise.
   3621 	* include/bits/stl_heap.h: Likewise.
   3622 	* include/bits/stl_iterator_base_funcs.h: Likewise.
   3623 
   3624 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3625 
   3626 	Backported from master:
   3627 	2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3628 
   3629 	* include/bits/utility.h: Fix comment typos.
   3630 
   3631 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3632 
   3633 	Backported from master:
   3634 	2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3635 
   3636 	* testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math
   3637 	functions are available.
   3638 
   3639 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3640 
   3641 	Backported from master:
   3642 	2022-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3643 
   3644 	* testsuite/26_numerics/random/random_device/entropy.cc: Use
   3645 	numeric_limits<unsigned>::digits.
   3646 
   3647 2022-07-21  Marco Falke  <falke.marco (a] gmail.com>
   3648 
   3649 	Backported from master:
   3650 	2022-07-19  Marco Falke  <falke.marco (a] gmail.com>
   3651 
   3652 	* include/std/charconv (__from_chars_alnum_to_val): Replace
   3653 	implicit conversion from int to unsigned char with explicit
   3654 	cast.
   3655 
   3656 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3657 
   3658 	Backported from master:
   3659 	2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3660 
   3661 	PR libstdc++/88881
   3662 	* src/filesystem/ops.cc (has_trailing_slash): New helper
   3663 	function.
   3664 	(fs::status): Strip trailing slashes.
   3665 	(fs::symlink_status): Likewise.
   3666 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3667 	Clean the environment before each test and use TMP instead of
   3668 	TMPDIR so the test passes on Windows.
   3669 
   3670 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3671 
   3672 	Backported from master:
   3673 	2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3674 
   3675 	PR libstdc++/105880
   3676 	* libsupc++/eh_globals.cc (eh_globals): Ensure constant init and
   3677 	prevent destruction during termination.
   3678 	(__eh_globals_init::_M_init): Replace with static member _S_init.
   3679 	(__cxxabiv1::__cxa_get_globals_fast): Update.
   3680 	(__cxxabiv1::__cxa_get_globals): Likewise.
   3681 
   3682 2022-07-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3683 
   3684 	Backported from master:
   3685 	2022-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3686 
   3687 	PR libstdc++/106162
   3688 	* include/Makefile.am (largefile-config.h): Add
   3689 	stamp-${host_alias} prerequisite.
   3690 	* include/Makefile.in: Regenerate.
   3691 
   3692 2022-07-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3693 
   3694 	Backported from master:
   3695 	2022-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3696 
   3697 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
   3698 	rmdir to remove directories.
   3699 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   3700 	Likewise.
   3701 
   3702 2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3703 
   3704 	Backported from master:
   3705 	2022-06-13  Jonathan Wakely  <jwakely (a] redhat.com>
   3706 
   3707 	* include/std/atomic (__atomic_val_t): Use __type_identity_t
   3708 	instead of atomic<T>::value_type, as per LWG 3220.
   3709 	* testsuite/29_atomics/atomic/lwg3220.cc: New test.
   3710 
   3711 2022-06-14  Mark Mentovai  <mark (a] mentovai.com>
   3712 
   3713 	Backported from master:
   3714 	2022-06-13  Mark Mentovai  <mark (a] mentovai.com>
   3715 
   3716 	* include/experimental/bits/fs_path.h (__detail::__null_terminated):
   3717 	Rename to __nul_terminated to avoid colliding with a macro in
   3718 	Apple's SDK.
   3719 
   3720 2022-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3721 
   3722 	Backported from master:
   3723 	2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3724 
   3725 	PR libstdc++/105671
   3726 	* include/std/sstream (basic_stringbuf::_M_high_mark): Add
   3727 	always_inline attribute.
   3728 
   3729 2022-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3730 
   3731 	Backported from master:
   3732 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3733 
   3734 	PR libstdc++/105681
   3735 	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
   3736 	Limit ga_sizes array to values that fit in size_t.
   3737 	* include/ext/random [__SIZE_WIDTH < 32] (sfmt86243)
   3738 	(sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091)
   3739 	(sfmt216091_64): Do not declare.
   3740 
   3741 2022-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3742 
   3743 	Backported from master:
   3744 	2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3745 
   3746 	* include/bits/basic_string.h: Do not include <ext/atomicity.h>
   3747 	here.
   3748 	* include/bits/cow_string.h: Include it here.
   3749 
   3750 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3751 
   3752 	Backported from master:
   3753 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3754 
   3755 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make
   3756 	lookup for ios_errc and future_errc check versioned namespace.
   3757 	(StdAtomicPrinter): Strip versioned namespace from typename.
   3758 
   3759 2022-05-27  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3760 
   3761 	Backported from master:
   3762 	2022-05-26  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3763 
   3764 	* python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__):
   3765 	Strip typename from version namespace.
   3766 
   3767 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3768 
   3769 	Backported from master:
   3770 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3771 
   3772 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip
   3773 	versioned namespace from the template argument too.
   3774 
   3775 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3776 
   3777 	Backported from master:
   3778 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3779 
   3780 	* include/bits/stl_iterator.h (counted_iterator::operator++(int)):
   3781 	Add 'constexpr' as per LWG 3643.
   3782 	* testsuite/24_iterators/counted_iterator/lwg3643.cc: New test.
   3783 
   3784 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3785 
   3786 	Backported from master:
   3787 	2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3788 
   3789 	* include/std/memory_resource (polymorphic_allocator): Add
   3790 	non-template equality operator, as proposed for LWG 3683.
   3791 	* testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test.
   3792 
   3793 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3794 
   3795 	Backported from master:
   3796 	2022-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3797 
   3798 	* testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc:
   3799 	Run fewer iterations for simulator targets.
   3800 	* testsuite/26_numerics/random/binomial_distribution/operators/values.cc:
   3801 	Likewise.
   3802 	* testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
   3803 	Likewise.
   3804 	* testsuite/26_numerics/random/geometric_distribution/operators/values.cc:
   3805 	Likewise.
   3806 	* testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc:
   3807 	Likewise.
   3808 	* testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
   3809 	Likewise.
   3810 	* testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc:
   3811 	Likewise.
   3812 
   3813 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3814 
   3815 	Backported from master:
   3816 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3817 
   3818 	* testsuite/20_util/expected/synopsis.cc: Skip for versioned
   3819 	namespace.
   3820 	* testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise.
   3821 
   3822 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3823 
   3824 	Backported from master:
   3825 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   3826 
   3827 	* include/bits/mofunc_impl.h: Fix doxygen command.
   3828 
   3829 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3830 
   3831 	Backported from master:
   3832 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   3833 
   3834 	* include/std/future (launch): Make operators noexcept.
   3835 
   3836 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3837 
   3838 	Backported from master:
   3839 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3840 
   3841 	* doc/xml/manual/prerequisites.xml: Fix attributes for external
   3842 	hyperlink.
   3843 	* doc/html/manual/setup.html: Regenerate.
   3844 
   3845 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3846 
   3847 	Backported from master:
   3848 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3849 
   3850 	* doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support.
   3851 	* doc/html/*: Regenerate.
   3852 
   3853 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3854 
   3855 	Backported from master:
   3856 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3857 
   3858 	* doc/xml/manual/intro.xml: Include new chapter.
   3859 	* doc/xml/manual/status_cxx2020.xml: Tweak release numbers.
   3860 	* doc/xml/manual/status_cxx2023.xml: New file.
   3861 	* doc/html/*: Regenerate.
   3862 
   3863 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3864 
   3865 	Backported from master:
   3866 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3867 
   3868 	* doc/html/manual/status.html: Regenerate.
   3869 	* doc/xml/manual/status_cxx2020.xml: Fix supported version for
   3870 	C++20 bit operations.
   3871 
   3872 2022-05-13  Alexandre Oliva  <oliva (a] adacore.com>
   3873 
   3874 	Backported from master:
   3875 	2022-05-06  Alexandre Oliva  <oliva (a] adacore.com>
   3876 
   3877 	* include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX
   3878 	for double, long long, and 64-bit long intrinsic types.
   3879 	[__ALTIVEC__] (__intrinsic_type): Mention 128-bit in
   3880 	preexisting long double diagnostic, adjust no-VSX double
   3881 	diagnostic to cover 64-bit long double as well.
   3882 
   3883 2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3884 
   3885 	Backported from master:
   3886 	2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3887 
   3888 	PR libstdc++/105284
   3889 	* include/std/iosfwd: Add declarations for <spanstream> class
   3890 	templates and typedefs.
   3891 	* include/std/spanstream (basic_spanbuf, basic_ispanstream)
   3892 	(basic_ospanstream, basic_spanstream): Remove default template
   3893 	arguments.
   3894 	* testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream>
   3895 	declarations.
   3896 	* testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream>
   3897 	default arguments.
   3898 
   3899 2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3900 
   3901 	Backported from master:
   3902 	2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3903 
   3904 	PR libstdc++/105284
   3905 	* include/std/iosfwd: Add declarations for <synstream> class
   3906 	templates and typedefs.
   3907 	* include/std/syncstream (basic_syncbuf, basic_osyncstream):
   3908 	Remove default template arguments.
   3909 	* testsuite/27_io/headers/iosfwd/synopsis.cc: New test.
   3910 	* testsuite/27_io/headers/iosfwd/types.cc: New test.
   3911 
   3912 2022-05-09  Jonathan Wakely  <jwakely (a] redhat.com>
   3913 
   3914 	Backported from master:
   3915 	2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3916 
   3917 	PR libstdc++/104731
   3918 	* testsuite/27_io/filesystem/iterators/error_reporting.cc:
   3919 	Use a trailing char array as storage for dirent::d_name.
   3920 
   3921 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3922 
   3923 	Backported from master:
   3924 	2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3925 
   3926 	PR libstdc++/105502
   3927 	* include/bits/random.tcc
   3928 	(operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
   3929 	Update state when __state_avail is false.
   3930 	* testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
   3931 	Check that deserialized object equals serialized one.
   3932 
   3933 2022-05-06  Patrick Palka  <ppalka (a] redhat.com>
   3934 
   3935 	Backported from master:
   3936 	2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   3937 
   3938 	PR libstdc++/103911
   3939 	* src/c++17/floating_from_chars.cc (find_end_of_float): Accept
   3940 	two delimeters for the exponent part in the form of a possibly
   3941 	NULL string of length two.  Don't use std::tolower.
   3942 	(pattern): Adjust calls to find_end_of_float accordingly.
   3943 
   3944 2022-05-06  Alexandre Oliva  <oliva (a] adacore.com>
   3945 
   3946 	Backported from master:
   3947 	2022-05-03  Alexandre Oliva  <oliva (a] adacore.com>
   3948 
   3949 	PR c++/105324
   3950 	* testsuite/20_util/from_chars/pr105324.cc: Guard test body
   3951 	with conditional for floating-point overloads of from_char.
   3952 
   3953 2022-05-06  Release Manager
   3954 
   3955 	* GCC 12.1.0 released.
   3956 
   3957 2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   3958 
   3959 	Backported from master:
   3960 	2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   3961 
   3962 	PR libstdc++/105441
   3963 	* src/c++17/floating_from_chars.cc (__floating_from_chars_hex):
   3964 	Also accept 'P' as the start of the exponent.
   3965 	* testsuite/20_util/from_chars/7.cc: Add corresponding testcase.
   3966 
   3967 2022-04-29  Jonathan Wakely  <jwakely (a] redhat.com>
   3968 
   3969 	Backported from master:
   3970 	2022-04-29  Jonathan Wakely  <jwakely (a] redhat.com>
   3971 
   3972 	PR libstdc++/105417
   3973 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
   3974 	Regenerate.
   3975 	* src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]:
   3976 	Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I>
   3977 	symbols as aliases for corresponding symbols without abi-tag.
   3978 
   3979 2022-04-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   3980 
   3981 	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
   3982 	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
   3983 	Likewise.
   3984 	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
   3985 	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
   3986 	Likewise.
   3987 
   3988 2022-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3989 
   3990 	* doc/xml/manual/status_cxx1998.xml: Refer to GCC 12 not
   3991 	mainline.
   3992 	* doc/xml/manual/status_cxx2011.xml: Likewise.
   3993 	* doc/xml/manual/status_cxx2014.xml: Likewise.
   3994 	* doc/xml/manual/status_cxx2017.xml: Likewise.
   3995 	* doc/xml/manual/status_cxx2020.xml: Likewise.
   3996 	* doc/xml/manual/status_cxxtr1.xml: Likewise.
   3997 	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
   3998 	* doc/html/manual/status.html: Regenerate.
   3999 
   4000 2022-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4001 
   4002 	PR libstdc++/99290
   4003 	* src/c++17/fs_ops.cc (fs::copy): Pass error_code to
   4004 	directory_iterator constructor, and check on each iteration.
   4005 	* src/filesystem/ops.cc (fs::copy): Likewise.
   4006 	* testsuite/27_io/filesystem/operations/copy.cc: Check for
   4007 	errors during recursion.
   4008 	* testsuite/experimental/filesystem/operations/copy.cc:
   4009 	Likewise.
   4010 
   4011 2022-04-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4012 
   4013 	* config/abi/pre/gnu-versioned-namespace.ver: Remove
   4014 	std::random_device::* pattern.
   4015 
   4016 2022-04-27  Jakub Jelinek  <jakub (a] redhat.com>
   4017 
   4018 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   4019 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   4020 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   4021 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   4022 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   4023 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   4024 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   4025 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   4026 
   4027 2022-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4028 
   4029 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add
   4030 	support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>.
   4031 	(StdAtomicPrinter): New printer.
   4032 	(build_libstdcxx_dictionary): Register new printer.
   4033 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic.
   4034 	* testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart
   4035 	pointers.
   4036 
   4037 2022-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4038 
   4039 	* include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add
   4040 	constructor for constant initialization from nullptr_t.
   4041 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   4042 	Check for new constructor.
   4043 
   4044 2022-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4045 
   4046 	* include/bits/fs_path.h (hash<filesystem::path>): Define.
   4047 	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
   4048 	Check std::hash specialization.
   4049 
   4050 2022-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4051 
   4052 	* include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define
   4053 	conditionally.
   4054 	* include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
   4055 	Define for C++23.
   4056 	(default_delete, default_delete<T[]>, __uniq_ptr_impl)
   4057 	(unique_ptr, unique_ptr<T[], D>): Add constexpr to all member
   4058 	functions.
   4059 	* include/std/version (__cpp_lib_constexpr_memory): Define new
   4060 	value for C++23.
   4061 	* testsuite/20_util/unique_ptr/assign/constexpr.cc: New test.
   4062 	* testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test.
   4063 	* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test.
   4064 	* testsuite/20_util/unique_ptr/creation/constexpr.cc: New test.
   4065 	* testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test.
   4066 	* testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc:
   4067 	New test.
   4068 
   4069 2022-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4070 
   4071 	PR libstdc++/105375
   4072 	* include/std/future (packaged_task): Add deduction guides.
   4073 	* testsuite/30_threads/packaged_task/cons/deduction.cc: New test.
   4074 
   4075 2022-04-25  Philipp Fent  <fent (a] in.tum.de>
   4076 
   4077 	* python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator):
   4078 	Rename as iterator.
   4079 	(StdInitializerListPrinter): Define new printer.
   4080 	(build_libstdcxx_dictionary): Register new printer.
   4081 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for
   4082 	initializer_list.
   4083 
   4084 2022-04-22  Thomas W Rodgers  <trodgers (a] redhat.com>
   4085 
   4086 	PR libstdc++/102994
   4087 	* include/bits/atomic_base.h (atomic_flag::notify_one,
   4088 	notify_all): Remove const qualification.
   4089 	(__atomic_base::notify_one, notify_all): Likewise.
   4090 	* include/std/atomic (atomic<bool>::notify_one, notify_all):
   4091 	Likewise.
   4092 	(atomic::notify_one, notify_all): Likewise.
   4093 	(atomic<T*>::notify_one, notify_all): Likewise.
   4094 	(atomic_notify_one, atomic_notify_all): Likewise.
   4095 	* testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test
   4096 	to account for change in notify_one/notify_all signature.
   4097 
   4098 2022-04-21  Patrick Palka  <ppalka (a] redhat.com>
   4099 
   4100 	* include/std/charconv (__from_chars_alnum_to_val_table):
   4101 	Simplify initialization of __lower/__upper_letters.
   4102 	(__from_chars_alnum_to_val): Default the template parameter to
   4103 	false.
   4104 	* src/c++17/floating_from_chars.cc (starts_with_ci): Don't
   4105 	assume the uppercase and lowercase letters are contiguous.
   4106 	(__floating_from_chars_hex): Likewise.
   4107 
   4108 2022-04-21  Patrick Palka  <ppalka (a] redhat.com>
   4109 
   4110 	PR c++/105297
   4111 	PR c++/105322
   4112 	* include/std/charconv (__from_chars_alnum_to_val): Make
   4113 	initializer for __table dependent in an artificial way.
   4114 
   4115 2022-04-21  Jonathan Wakely  <jwakely (a] redhat.com>
   4116 
   4117 	PR libstdc++/105324
   4118 	* src/c++17/floating_from_chars.cc (buffer_resource::do_allocate):
   4119 	Remove assertion.
   4120 	* testsuite/20_util/from_chars/pr105324.cc: New test.
   4121 
   4122 2022-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   4123 
   4124 	* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
   4125 	Check correct feature test macro.
   4126 
   4127 2022-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   4128 
   4129 	PR libstdc++/93602
   4130 	* doc/xml/manual/prerequisites.xml: Document libiconv
   4131 	workarounds.
   4132 	* doc/html/manual/setup.html: Regenerate.
   4133 	* src/Makefile.am (CXXLINK): Add $(LTLIBICONV).
   4134 	* src/Makefile.in: Regenerate.
   4135 
   4136 2022-04-19  Patrick Palka  <ppalka (a] redhat.com>
   4137 
   4138 	* src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't
   4139 	define.
   4140 	(__floating_to_chars_shortest): Add __builtin_unreachable calls to
   4141 	squelch false-positive -Wmaybe-uninitialized and -Wreturn-type
   4142 	warnings.
   4143 	(__floating_to_chars_precision): Likewise.
   4144 
   4145 2022-04-19  Philipp Fent  <fent (a] in.tum.de>
   4146 
   4147 	* python/libstdcxx/v6/printers.py (StdSpanPrinter): Define.
   4148 	* testsuite/libstdc++-prettyprinters/cxx20.cc: Test it.
   4149 
   4150 2022-04-19  Jonathan Wakely  <jwakely (a] redhat.com>
   4151 
   4152 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators.
   4153 	* configure: Regenerate.
   4154 
   4155 2022-04-18  Patrick Palka  <ppalka (a] redhat.com>
   4156 
   4157 	* include/std/charconv (__from_chars_pow2_base): Manually
   4158 	unroll the first iteration of the main loop and simplify
   4159 	accordingly.
   4160 
   4161 2022-04-15  Patrick Palka  <ppalka (a] redhat.com>
   4162 
   4163 	PR libstdc++/104858
   4164 	* include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing
   4165 	__first twice at the start.
   4166 	* testsuite/25_algorithms/minmax/constrained.cc (test06): New test.
   4167 
   4168 2022-04-15  Patrick Palka  <ppalka (a] redhat.com>
   4169 
   4170 	* include/std/charconv (__from_chars_alnum_to_val_table): Define.
   4171 	(__from_chars_alnum_to_val): Define.
   4172 	(__from_chars_binary): Rename to ...
   4173 	(__from_chars_pow2_base): ... this.  Generalize to handle any
   4174 	power-of-two base using __from_chars_alnum_to_val.
   4175 	(__from_chars_digit): Optimize digit recognition to a single
   4176 	test instead of two tests.  Use [[__unlikely___]] attribute.
   4177 	(__from_chars_alpha_to_num): Remove.
   4178 	(__from_chars_alnum): Use __from_chars_alnum_to_val.  Use a
   4179 	nested loop for the overflow case.  Maintain a lower bound
   4180 	on the number of available bits in the result and use it to
   4181 	omit the overflow check.
   4182 	(from_chars): Adjust appropriately.
   4183 	* src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove.
   4184 	(__floating_from_chars_hex): Use __from_chars_alnum_to_val
   4185 	to recognize a hex digit instead.
   4186 
   4187 2022-04-14  Palmer Dabbelt  <palmer (a] rivosinc.com>
   4188 
   4189 	* acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex
   4190 	for RISC-V.
   4191 	* configure: Regenerate.
   4192 
   4193 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4194 
   4195 	* doc/xml/manual/intro.xml: Fix comment.
   4196 
   4197 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4198 
   4199 	* include/precompiled/stdc++.h: Include <stacktrace> and
   4200 	<stdatomic.h> for C++23.
   4201 
   4202 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4203 
   4204 	PR libstdc++/105269
   4205 	* include/bits/stl_vector.h (__cpp_lib_constexpr_vector):
   4206 	Define.
   4207 	* include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h):
   4208 	Define.
   4209 	* include/std/optional (__cpp_lib_optional): Define new value
   4210 	for C++23.
   4211 	(__cpp_lib_monadic_optional): Remove.
   4212 	* include/std/version (__cpp_lib_constexpr_vector): Define.
   4213 	(__cpp_lib_stdatomic_h): Define.
   4214 	(__cpp_lib_optional): Define new value for C++23.
   4215 	(__cpp_lib_monadic_optional): Remove.
   4216 	* testsuite/20_util/optional/monadic/and_then.cc: Adjust.
   4217 	* testsuite/20_util/optional/requirements.cc: Adjust for C++23.
   4218 	* testsuite/20_util/optional/version.cc: Likewise.
   4219 	* testsuite/23_containers/vector/cons/constexpr.cc: Check
   4220 	feature test macro.
   4221 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
   4222 	Likewise.
   4223 	* testsuite/20_util/optional/monadic/version.cc: Removed.
   4224 	* testsuite/23_containers/vector/requirements/version.cc: New test.
   4225 	* testsuite/29_atomics/headers/stdatomic.h/version.cc: New test.
   4226 
   4227 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4228 
   4229 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap.
   4230 	* config.h.in: Regenerate.
   4231 	* configure: Regenerate.
   4232 
   4233 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4234 
   4235 	* include/std/stacktrace (basic_stacktrace::current): Reallocate
   4236 	a smaller container if the unused capacity is larger than the
   4237 	used size.
   4238 
   4239 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4240 
   4241 	* include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone
   4242 	or _Impl::_M_assign to initialize elements in allocated storage.
   4243 	(basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of
   4244 	_Impl::_M_destroy.
   4245 	(basic_stacktrace::_Impl::_M_destroy()): Replace with ...
   4246 	(basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New
   4247 	function.
   4248 	(basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct
   4249 	new element using allocator.
   4250 	(basic_stacktrace::_Impl::_M_clone): New function.
   4251 	(basic_stacktrace::_Impl::_M_xclone): New function.
   4252 	(basic_stacktrace::_Impl::_M_assign): New function.
   4253 
   4254 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4255 
   4256 	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
   4257 	Use nothrow new instead of try block for std::allocator.
   4258 	(basic_stacktrace::_Impl::_M_deallocate): Use delete for
   4259 	std::allocator.
   4260 
   4261 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4262 
   4263 	* include/std/stacktrace (basic_stacktrace::current): Replace
   4264 	calls to _M_reserve and _S_curr_cb with call to _M_prepare.
   4265 	Check return value of backtrace_simple when max depth given.
   4266 	(basic_stacktrace::_M_reserve): Remove.
   4267 	(basic_stacktrace::_S_curr_cb): Remove.
   4268 	(basic_stacktrace::_M_prepare(size_type)): New function to
   4269 	reserve initial capacity and return callback.
   4270 	(basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n
   4271 	and remove redundant zeroing of _M_frames and _M_capacity.
   4272 	(basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]]
   4273 	attribute. Assign _Impl instead of swapping.
   4274 	* testsuite/19_diagnostics/stacktrace/current.cc: New test.
   4275 
   4276 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4277 
   4278 	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
   4279 	Change [[unlikely]] attribute to [[likely]].
   4280 
   4281 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4282 
   4283 	PR libstdc++/105031
   4284 	* include/std/stacktrace (basic_stacktrace::basic_stacktrace):
   4285 	Fix allocator usage in constructors.
   4286 	(basic_stacktrace::operator=(const basic_stacktrace&)): Do not
   4287 	try to reallocate using const allocator.
   4288 	(basic_stacktrace::operator=(basic_stacktrace&&)): Fix
   4289 	if-constexpr with non-constant condition. Do not allocate new
   4290 	storage if allocator propagates. Do not set _M_size if
   4291 	allocation fails.
   4292 	(basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add
   4293 	assertion that non-propagating allocators are equal.
   4294 	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test.
   4295 
   4296 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4297 
   4298 	* include/std/stacktrace (basic_stacktrace::current): Duplicate
   4299 	implementation into each overload. Add noinline attribute and
   4300 	skip current frame.
   4301 	(basic_stacktrace::max_size()): Call _Impl::_S_max_size.
   4302 	(basic_stacktrace::_S_curr_cb()): New function defining lambda.
   4303 	(basic_stacktrace::_Impl::_S_max_size): New function defining
   4304 	maximum size in terms of allocator and size_type.
   4305 	(basic_stacktrace::_Impl::_M_allocate): Check against
   4306 	max_size().
   4307 	* testsuite/19_diagnostics/stacktrace/entry.cc: Call function
   4308 	for non-constexpr checks. Check line number is correct.
   4309 
   4310 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4311 
   4312 	* testsuite/20_util/stacktrace/entry.cc: Moved to...
   4313 	* testsuite/19_diagnostics/stacktrace/entry.cc: ...here.
   4314 	* testsuite/20_util/stacktrace/synopsis.cc: Moved to...
   4315 	* testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here.
   4316 	* testsuite/20_util/stacktrace/version.cc: Moved to...
   4317 	* testsuite/19_diagnostics/stacktrace/version.cc: ...here.
   4318 
   4319 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4320 
   4321 	* include/experimental/bits/fs_path.h (path): Define special
   4322 	members after path::_Cmpt is complete.
   4323 
   4324 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4325 
   4326 	PR libstdc++/105153
   4327 	* include/std/expected
   4328 	(expected<void,E>::expected(expected<U,G>&&)): Fix constraints.
   4329 	* testsuite/20_util/expected/cons.cc: Check constructor.
   4330 
   4331 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4332 
   4333 	PR libstdc++/105154
   4334 	* include/std/expected (expected<void, E>::swap): Set
   4335 	_M_has_value to false for objects that previously had a value.
   4336 	* testsuite/20_util/expected/swap.cc: Fix test to check void
   4337 	specialization.
   4338 
   4339 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4340 
   4341 	PR libstdc++/105146
   4342 	* include/std/expected (bad_expected_access): Move constructor
   4343 	parameter.
   4344 	* testsuite/20_util/expected/bad.cc: New test.
   4345 
   4346 2022-04-07  Hans-Peter Nilsson  <hp (a] axis.com>
   4347 
   4348 	* testsuite/20_util/expected/requirements.cc: Correct minimal-size
   4349 	test.
   4350 
   4351 2022-04-02  Jakub Jelinek  <jakub (a] redhat.com>
   4352 
   4353 	PR libstdc++/105128
   4354 	* include/std/source_location (std::source_location::__impl): Move
   4355 	definition before using __builtin_ret_type.
   4356 
   4357 2022-04-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4358 
   4359 	* include/std/utility (unreachable): Define for C++23.
   4360 	* include/std/version (__cpp_lib_unreachable): Define.
   4361 	* src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid
   4362 	arguments. Handle only the function being given.
   4363 	* testsuite/20_util/unreachable/1.cc: New test.
   4364 	* testsuite/20_util/unreachable/version.cc: New test.
   4365 
   4366 2022-04-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4367 
   4368 	* include/experimental/bits/fs_fwd.h (copy_file): Remove
   4369 	incorrect noexcept from declaration.
   4370 	* include/experimental/bits/fs_path.h (path::begin, path::end):
   4371 	Add noexcept to declarations, to match definitions.
   4372 
   4373 2022-04-01  Timm Bder  <tbaeder (a] redhat.com>
   4374 
   4375 	* include/bits/fs_ops.h: Fix filename in Doxygen comment.
   4376 	* include/experimental/bits/fs_ops.h: Likewise.
   4377 
   4378 2022-03-31  Jonathan Wakely  <jwakely (a] redhat.com>
   4379 
   4380 	* libsupc++/new_opa.cc (aligned_alloc): Add comment.
   4381 
   4382 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   4383 
   4384 	* testsuite/18_support/exception/38732.cc: Disable for C++23.
   4385 	* testsuite/18_support/headers/exception/synopsis.cc: Likewise.
   4386 	* testsuite/18_support/unexpected_handler.cc: Likewise.
   4387 
   4388 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   4389 
   4390 	* libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add
   4391 	static data members for _Fp_fmt enumerators.
   4392 
   4393 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   4394 
   4395 	* include/std/version (__cpp_lib_variant): Fix conditions to
   4396 	match <variant>.
   4397 	(__cpp_lib_expected): Fix condition to match <expected>.
   4398 
   4399 2022-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4400 
   4401 	* testsuite/20_util/optional/monadic/and_then.cc: Fix typo.
   4402 	* testsuite/20_util/optional/monadic/transform.cc: Likewise.
   4403 	* testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
   4404 	* testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
   4405 	* testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
   4406 	* testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
   4407 	* testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
   4408 	* testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
   4409 
   4410 2022-03-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4411 
   4412 	* doc/doxygen/user.cfg.in: Add new header.
   4413 	* include/Makefile.am: Likewise.
   4414 	* include/Makefile.in: Regenerate.
   4415 	* include/precompiled/stdc++.h: Add new header.
   4416 	* include/std/version (__cpp_lib_expected): Define.
   4417 	* libsupc++/exception [__cplusplus > 202002] (unexpected)
   4418 	(unexpected_handler, set_unexpected): Do not declare for C++23.
   4419 	* include/std/expected: New file.
   4420 	* testsuite/20_util/expected/assign.cc: New test.
   4421 	* testsuite/20_util/expected/cons.cc: New test.
   4422 	* testsuite/20_util/expected/illformed_neg.cc: New test.
   4423 	* testsuite/20_util/expected/observers.cc: New test.
   4424 	* testsuite/20_util/expected/requirements.cc: New test.
   4425 	* testsuite/20_util/expected/swap.cc: New test.
   4426 	* testsuite/20_util/expected/synopsis.cc: New test.
   4427 	* testsuite/20_util/expected/unexpected.cc: New test.
   4428 	* testsuite/20_util/expected/version.cc: New test.
   4429 
   4430 2022-03-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4431 
   4432 	* include/std/bit (bit_cast, byteswap, endian): Add doxygen
   4433 	comments.
   4434 
   4435 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4436 
   4437 	PR libstdc++/105027
   4438 	* include/std/bit (bit_cast): Add constraints.
   4439 	* testsuite/26_numerics/bit/bit.cast/105027.cc: New test.
   4440 
   4441 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4442 
   4443 	* include/std/version [!_GLIBCXX_HOSTED]
   4444 	(__cpp_lib_hardware_interference_size): Define for freestanding.
   4445 	(__cpp_lib_bit_cast): Likewise.
   4446 	(__cpp_lib_is_layout_compatible): Likewise.
   4447 	(__cpp_lib_is_pointer_interconvertible): Likewise.
   4448 	(__cpp_lib_adaptor_iterator_pair_constructor): Do not define for
   4449 	freestanding.
   4450 	(__cpp_lib_invoke_r): Likewise.
   4451 	(__cpp_lib_ios_noreplace): Likewise.
   4452 	(__cpp_lib_monadic_optional): Likewise.
   4453 	(__cpp_lib_move_only_function): Likewise.
   4454 	(__cpp_lib_spanstream): Likewise.
   4455 	(__cpp_lib_stacktrace): Likewise.
   4456 	(__cpp_lib_string_contains): Likewise.
   4457 	(__cpp_lib_string_resize_and_overwrite): Likewise.
   4458 	(__cpp_lib_to_underlying): Likewise.
   4459 
   4460 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4461 
   4462 	PR libstdc++/105021
   4463 	* include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include
   4464 	<bits/atomic_wait.h> for freestanding.
   4465 
   4466 2022-03-22  Hans-Peter Nilsson  <hp (a] axis.com>
   4467 
   4468 	* testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]:
   4469 	Conditionalize call to fesetround.
   4470 
   4471 2022-03-21  Jakub Jelinek  <jakub (a] redhat.com>
   4472 
   4473 	PR libstdc++/104990
   4474 	* include/bits/locale_facets_nonio.tcc (get): Don't check if do_get
   4475 	isn't overloaded if __clang__ is defined.
   4476 
   4477 2022-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   4478 
   4479 	PR libstdc++/104242
   4480 	* include/std/any (any(T&&)): Revert change to constraints.
   4481 	* testsuite/20_util/any/cons/104242.cc: New test.
   4482 
   4483 2022-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   4484 
   4485 	PR libstdc++/92546
   4486 	* include/pstl/glue_algorithm_defs.h: Replace <functional> with
   4487 	<bits/stl_pair.h>.
   4488 	* include/pstl/utils.h: Replace <iterator> with <type_traits>.
   4489 	(__pstl::__internal::__except_handler): Use std::__terminate
   4490 	instead of std::terminate.
   4491 	* src/c++17/fs_path.cc: Include <array>.
   4492 	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Include
   4493 	<functional>.
   4494 	* testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
   4495 	* testsuite/25_algorithms/clamp/constrained.cc: Likewise.
   4496 	* testsuite/25_algorithms/equal/constrained.cc: Likewise.
   4497 	* testsuite/25_algorithms/for_each/constrained.cc: Likewise.
   4498 	* testsuite/25_algorithms/includes/constrained.cc: Likewise.
   4499 	* testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
   4500 	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
   4501 	* testsuite/25_algorithms/is_permutation/constrained.cc: Include
   4502 	<iterator>.
   4503 	* testsuite/25_algorithms/is_sorted/constexpr.cc: Include
   4504 	<functional>.
   4505 	* testsuite/25_algorithms/is_sorted_until/constexpr.cc:
   4506 	Likewise.
   4507 	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
   4508 	Likewise.
   4509 	* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
   4510 	Likewise.
   4511 	* testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
   4512 	Include <array>.
   4513 	* testsuite/25_algorithms/lower_bound/constexpr.cc: Include
   4514 	<functional>.
   4515 	* testsuite/25_algorithms/max/constrained.cc: Likewise.
   4516 	* testsuite/25_algorithms/max_element/constrained.cc: Likewise.
   4517 	* testsuite/25_algorithms/min/constrained.cc: Likewise.
   4518 	* testsuite/25_algorithms/min_element/constrained.cc: Likewise.
   4519 	* testsuite/25_algorithms/minmax_element/constrained.cc:
   4520 	Likewise.
   4521 	* testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
   4522 	* testsuite/25_algorithms/move/93872.cc: Likewise.
   4523 	* testsuite/25_algorithms/move_backward/93872.cc: Include
   4524 	<iterator>.
   4525 	* testsuite/25_algorithms/nth_element/constexpr.cc: Include
   4526 	<functional>.
   4527 	* testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
   4528 	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
   4529 	Likewise.
   4530 	* testsuite/25_algorithms/search/constexpr.cc: Likewise.
   4531 	* testsuite/25_algorithms/search_n/constrained.cc: Likewise.
   4532 	* testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
   4533 	* testsuite/25_algorithms/set_difference/constrained.cc:
   4534 	Likewise.
   4535 	* testsuite/25_algorithms/set_intersection/constexpr.cc:
   4536 	Likewise.
   4537 	* testsuite/25_algorithms/set_intersection/constrained.cc:
   4538 	Likewise.
   4539 	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
   4540 	Likewise.
   4541 	* testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
   4542 	* testsuite/25_algorithms/set_union/constrained.cc: Likewise.
   4543 	* testsuite/25_algorithms/sort/constexpr.cc: Likewise.
   4544 	* testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
   4545 	* testsuite/25_algorithms/transform/constrained.cc: Likewise.
   4546 	* testsuite/25_algorithms/unique/constexpr.cc: Likewise.
   4547 	* testsuite/25_algorithms/unique/constrained.cc: Likewise.
   4548 	* testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
   4549 	* testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
   4550 	* testsuite/std/ranges/adaptors/elements.cc: Include <vector>.
   4551 	* testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
   4552 	* testsuite/std/ranges/adaptors/split.cc: Likewise.
   4553 
   4554 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4555 
   4556 	PR libstdc++/92546
   4557 	* include/bits/fs_path.h (path::make_preferred): Use
   4558 	handwritten loop instead of std::replace.
   4559 
   4560 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4561 
   4562 	PR middle-end/104966
   4563 	* include/bits/locale_facets_nonio.tcc
   4564 	(__moneypunct_cache::_M_cache): Replace try-catch with RAII and
   4565 	make all string copies before any stores to *this.
   4566 
   4567 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4568 
   4569 	* testsuite/util/testsuite_character.h: Fix comment.
   4570 
   4571 2022-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4572 
   4573 	PR libstdc++/103407
   4574 	* config/abi/pre/gnu.ver: Make version for std::from_chars
   4575 	depend on HAVE_USELOCALE macro.
   4576 	* testsuite/util/testsuite_abi.cc (compare_symbols): Treat
   4577 	std::from_chars for floating-point types as undesignated if
   4578 	not found in the baseline symbols file.
   4579 
   4580 2022-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4581 
   4582 	* include/std/charconv (__cpp_lib_to_chars): Only define when
   4583 	both from_chars and to_chars are supported for floating-point
   4584 	types.
   4585 	(from_chars, to_chars): Adjust preprocessor conditions guarding
   4586 	declarations.
   4587 	* include/std/version (__cpp_lib_to_chars): Adjust condition to
   4588 	match <charconv> definition.
   4589 	* src/c++17/floating_from_chars.cc (from_chars_strtod): New
   4590 	function template.
   4591 	(from_chars): Simplify preprocessor checks and use
   4592 	from_chars_strtod when appropriate.
   4593 
   4594 2022-03-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4595 
   4596 	PR libstdc++/104875
   4597 	* src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to
   4598 	hold octets that will be left-shifted.
   4599 
   4600 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4601 
   4602 	PR libstdc++/104870
   4603 	* src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32
   4604 	before using fast_float.
   4605 
   4606 2022-03-10  Detlef Vollmann  <dv (a] vollmann.ch>
   4607 
   4608 	PR libstdc++/104866
   4609 	* include/bits/this_thread_sleep.h: Fix order of #endif and
   4610 	closing brace of namespace.
   4611 
   4612 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4613 
   4614 	* libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]:
   4615 	Handle NaN.
   4616 
   4617 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4618 
   4619 	* libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use
   4620 	<=> comparison.
   4621 
   4622 2022-03-09  Patrick Palka  <ppalka (a] redhat.com>
   4623 
   4624 	PR libstdc++/104859
   4625 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
   4626 	Be explicit when narrowing the shifted effective_mantissa,
   4627 	since it may have an integer-class type.
   4628 
   4629 2022-03-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4630 
   4631 	* include/bits/uses_allocator_args.h: Remove incorrect copyright
   4632 	notice.
   4633 
   4634 2022-03-07  Jonathan Wakely  <jwakely (a] redhat.com>
   4635 
   4636 	PR libstdc++/104807
   4637 	* include/bits/c++config (__terminate, __glibcxx_assert_fail):
   4638 	Replace _GLIBCXX_VISIBILITY on function with visibility pragma.
   4639 	(__is_constant_evaluated): Add visibility pragma.
   4640 
   4641 2022-03-07  Rasmus Villemoes  <rasmus.villemoes (a] prevas.dk>
   4642 
   4643 	* config/locale/vxworks/ctype_members.cc: Remove <iostream>
   4644 	  include.
   4645 
   4646 2022-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
   4647 
   4648 	* include/bits/c++config (__glibcxx_assert_fail): Add visibility
   4649 	attribute.
   4650 	(__terminate): Likewise.
   4651 
   4652 2022-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4653 
   4654 	* libsupc++/compare (strong_order::_S_fp_cmp): Move typedef
   4655 	inside #if condition.
   4656 
   4657 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   4658 
   4659 	PR libstdc++/104748
   4660 	* testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for
   4661 	constexpr test.
   4662 
   4663 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   4664 
   4665 	* testsuite/17_intro/names.cc (func): Undef on AIX.
   4666 
   4667 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   4668 
   4669 	PR libstdc++/96526
   4670 	* libsupc++/compare (strong_order): Add missing support for
   4671 	floating-point types.
   4672 	* testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
   4673 	New test.
   4674 
   4675 2022-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4676 
   4677 	PR middle-end/103984
   4678 	* include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use
   4679 	default member initializer.
   4680 
   4681 2022-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   4682 
   4683 	PR libstdc++/104602
   4684 	* include/std/source_location (source_location::current): Use
   4685 	deduced type of __builtin_source_location().
   4686 
   4687 2022-02-22  Patrick Palka  <ppalka (a] redhat.com>
   4688 
   4689 	* include/bits/ranges_base.h (__detail::__is_initializer_list):
   4690 	Define.
   4691 	(viewable_range): Adjust as per P2415R2.
   4692 	* include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
   4693 	* include/std/ranges (owning_view): Define as per P2415R2.
   4694 	(enable_borrowed_range<owning_view>): Likewise.
   4695 	(views::__detail::__can_subrange): Replace with ...
   4696 	(views::__detail::__can_owning_view): ... this.
   4697 	(views::_All::_S_noexcept): Sync with operator().
   4698 	(views::_All::operator()): Use owning_view instead of subrange
   4699 	as per P2415R2.
   4700 	* include/std/version (__cpp_lib_ranges): Adjust value.
   4701 	* testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that
   4702 	views::all uses owning_view instead of subrange.
   4703 	(test08): New test.
   4704 	* testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust
   4705 	now that rvalue non-view non-borrowed ranges are viewable.
   4706 	* testsuite/std/ranges/adaptors/split.cc (test06): Likewise.
   4707 
   4708 2022-02-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4709 
   4710 	PR libstdc++/104559
   4711 	* doc/xml/manual/evolution.xml: Document deprecation.
   4712 	* doc/html/manual/api.html: Regenerate.
   4713 	* include/bits/stl_bvector.h (insert(const_iterator, const bool&)):
   4714 	Remove default argument.
   4715 	(insert(const_iterator)): New overload with deprecated attribute.
   4716 	* testsuite/23_containers/vector/bool/modifiers/insert/104559.cc:
   4717 	New test.
   4718 
   4719 2022-02-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4720 
   4721 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace
   4722 	code that call cat->name() on std::error_category objects.
   4723 	Identify known categories by symbol name and use a hardcoded
   4724 	name. Print error code values as enumerators where appopriate.
   4725 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected
   4726 	name of custom category. Check io_errc and future_errc errors.
   4727 
   4728 2022-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4729 
   4730 	PR libstdc++/104542
   4731 	* include/bits/uses_allocator_args.h (make_obj_using_allocator)
   4732 	(uninitialized_construct_using_allocator): Add constexpr.
   4733 	* testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr.
   4734 	* testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test.
   4735 
   4736 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4737 
   4738 	PR libstdc++/100912
   4739 	* config/locale/gnu/c_locale.h (__convert_from_v): Use inline
   4740 	namespace for IEEE128 long double mode.
   4741 	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol
   4742 	version and export __gnu_cxx_ieee128::__convert_from_v.
   4743 	* include/bits/locale_facets_nonio.tcc (money_put::__do_put):
   4744 	Make __ibm128 overload use snprintf directly
   4745 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
   4746 	Remove stable IEEE128/LDBL versions.
   4747 
   4748 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4749 
   4750 	PR libstdc++/103891
   4751 	* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
   4752 	Remove.
   4753 	* include/std/variant: Check feature test macros instead.
   4754 	* include/std/version: Likewise.
   4755 
   4756 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4757 
   4758 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   4759 	Fix typo.
   4760 
   4761 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4762 
   4763 	* src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on
   4764 	LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128.
   4765 
   4766 2022-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4767 
   4768 	* testsuite/20_util/temporary_buffer.cc: Fix dg-warning target
   4769 	selector.
   4770 
   4771 2022-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4772 
   4773 	* testsuite/20_util/monotonic_buffer_resource/allocate.cc:
   4774 	Ignore -Walloc-larger-than warning.
   4775 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   4776 	Likewise.
   4777 	* testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1
   4778 	to avoid linker error for __atomic_is_lock_free.
   4779 
   4780 2022-02-10  Thomas Rodgers  <rodgert (a] appliantology.com>
   4781 
   4782 	* include/bits/atomic_wait.h (__waiter_base::_S_do_spin,
   4783 	__waiter_base::_S_do_spin_v): Change memory order from relaxed
   4784 	to acquire.
   4785 
   4786 2022-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4787 
   4788 	* include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add
   4789 	using-declaration.
   4790 	(atomic_fetch_xor_explicit): Likewise.
   4791 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check
   4792 	arithmetic and logical operations for atomic_int.
   4793 
   4794 2022-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4795 
   4796 	* src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
   4797 	when <dirent.h> is not available.
   4798 	(_GLIBCXX_HAVE_UNLINKAT):  Likewise.
   4799 
   4800 2022-02-09  Thomas Rodgers  <rodgert (a] appliantology.com>
   4801 
   4802 	PR libstdc++/104442
   4803 	* include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin
   4804 	 loop inside do loop so that threads failing the wait, reload
   4805 	 _M_ver.
   4806 
   4807 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4808 
   4809 	* src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
   4810 	parameter to _Dir_base&&.
   4811 	* src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
   4812 	* src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
   4813 	parameter to _Dir_base&&.
   4814 
   4815 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4816 
   4817 	* acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about
   4818 	checking for CAS on correct word size.
   4819 
   4820 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4821 
   4822 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   4823 	Adjust expected results for Windows.
   4824 
   4825 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4826 
   4827 	PR libstdc++/104161
   4828 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
   4829 	[i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
   4830 	instead of checking for errno values indicating a directory.
   4831 	* src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
   4832 	logic to non-throwing overload.
   4833 	(fs::remove_all(const path&, error_code&)): Add comments.
   4834 	* src/filesystem/ops-common.h: Likewise.
   4835 
   4836 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4837 
   4838 	* src/filesystem/dir-common.h (_Dir_base::openat): Change return
   4839 	type to use portable posix::DIR alias.
   4840 
   4841 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4842 
   4843 	* include/c_compatibility/stdatomic.h [__clang__]: Use
   4844 	#include_next <stdatomic.h>.
   4845 
   4846 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4847 
   4848 	* include/experimental/bits/fs_ops.h (fs::copy_file): Remove
   4849 	noexcept.
   4850 	(fs::create_directories): Likewise.
   4851 	(fs::remove_all): Likewise.
   4852 	* src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
   4853 	(fs::create_directories): Likewise.
   4854 	(fs::remove_all): Likewise.
   4855 
   4856 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4857 
   4858 	PR libstdc++/104161
   4859 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
   4860 	and unlinkat.
   4861 	* config.h.in: Regenerate.
   4862 	* configure: Regenerate.
   4863 	* include/bits/fs_dir.h (recursive_directory_iterator): Declare
   4864 	remove_all overloads as friends.
   4865 	(recursive_directory_iterator::__erase): Declare new member
   4866 	function.
   4867 	* include/bits/fs_fwd.h (remove, remove_all): Declare.
   4868 	* src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
   4869 	constructor. Pass file descriptor argument to base constructor.
   4870 	(_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
   4871 	(_Dir::unlink, _Dir::rmdir): Define new member functions.
   4872 	(directory_iterator): Pass filename_only argument to _Dir
   4873 	constructor.
   4874 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
   4875 	parameters to take a _Dir rvalue instead of creating one.
   4876 	(_Dir_stack::orig): Add data member for storing original path.
   4877 	(_Dir_stack::report_error): Define new member function.
   4878 	(__directory_iterator_nofollow): Move here from dir-common.h and
   4879 	fix value to be a power of two.
   4880 	(__directory_iterator_filename_only): Define new constant.
   4881 	(recursive_directory_iterator): Construct _Dir object and move
   4882 	into _M_dirs stack. Pass skip_permission_denied argument to first
   4883 	advance call.
   4884 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
   4885 	(recursive_directory_iterator::__erase): Define new member
   4886 	function.
   4887 	* src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
   4888 	(fs::remove_all): Use new recursive_directory_iterator::__erase
   4889 	member function.
   4890 	* src/filesystem/dir-common.h (_Dir_base): Add int parameter to
   4891 	constructor and use openat to implement nofollow semantics.
   4892 	(_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
   4893 	Define new member functions.
   4894 	(__directory_iterator_nofollow): Move to fs_dir.cc.
   4895 	* src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
   4896 	base constructor.
   4897 	(_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
   4898 	functions.
   4899 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
   4900 	parameters to take a _Dir rvalue instead of creating one.
   4901 	(recursive_directory_iterator): Check for new nofollow option.
   4902 	Construct _Dir object and move into _M_dirs stack. Pass
   4903 	skip_permission_denied argument to first advance call.
   4904 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
   4905 	* src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
   4906 
   4907 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4908 
   4909 	* include/bits/allocator.h: Qualify std::allocator_traits in
   4910 	deprecated warnings.
   4911 	* libsupc++/exception (uncaught_exception): Add suggestion to
   4912 	deprecated warning.
   4913 
   4914 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   4915 
   4916 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
   4917 	Add [[maybe_unused]] attribute.
   4918 	* src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
   4919 	Likewise.
   4920 
   4921 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   4922 
   4923 	* testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
   4924 	custom comparison function for multiset.
   4925 	* testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
   4926 	comparison function for set.
   4927 
   4928 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   4929 
   4930 	* include/bits/boost_concept_check.h (_OutputIteratorConcept):
   4931 	Change member function to data member of function pointer type.
   4932 
   4933 2022-02-02  Martin Sebor  <msebor (a] redhat.com>
   4934 
   4935 	PR libstdc++/101831
   4936 	* include/std/array (begin): Declare const member function attribute
   4937 	const.
   4938 	(end, rbegin, rend, size, max_size, empty, data): Same.
   4939 	* testsuite/23_containers/array/capacity/empty.cc: Add test cases.
   4940 	* testsuite/23_containers/array/capacity/max_size.cc: Same.
   4941 	* testsuite/23_containers/array/capacity/size.cc: Same.
   4942 	* testsuite/23_containers/array/iterators/begin_end.cc: New test.
   4943 
   4944 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   4945 
   4946 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
   4947 	autoconf macro to check whether d_type is present.
   4948 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   4949 	Likewise.
   4950 
   4951 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4952 
   4953 	* testsuite/27_io/filesystem/iterators/97731.cc: New test.
   4954 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   4955 	Check follow_directory_symlink option.
   4956 	* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
   4957 	Likewise.
   4958 
   4959 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4960 
   4961 	* src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
   4962 	Reset state to past-the-end iterator on error.
   4963 	(fs::recursive_directory_iterator::pop(error_code&)): Likewise.
   4964 	(fs::recursive_directory_iterator::pop()): Check _M_dirs before
   4965 	it might get reset.
   4966 	* src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
   4967 	for the TS implementation.
   4968 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
   4969 	* testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
   4970 
   4971 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4972 
   4973 	* include/bits/fs_fwd.h (filesystem::perms): Fix comment.
   4974 
   4975 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4976 
   4977 	PR libstdc++/104301
   4978 	* acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages
   4979 	for stdio_pure and stdio_posix options.
   4980 	* configure: Regenerate.
   4981 
   4982 2022-02-01  Thomas Rodgers  <rodgert (a] appliantology.com>
   4983 
   4984 	* include/bits/atomic_wait.h: Change memory order from
   4985 	Acquire/Release with relaxed loads to SeqCst+Release for
   4986 	accesses to the waiter's count.
   4987 
   4988 2022-01-31  Martin Liska  <mliska (a] suse.cz>
   4989 
   4990 	* acinclude.m4: Detect *_ld_is_mold and use it.
   4991 	* configure: Regenerate.
   4992 
   4993 2022-01-30  Hans-Peter Nilsson  <hp (a] axis.com>
   4994 
   4995 	* testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on
   4996 	simulator targets.
   4997 	* testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise.
   4998 
   4999 2022-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   5000 
   5001 	PR libstdc++/100516
   5002 	* include/bits/deque.tcc (_M_range_initialize<ForwardIterator>):
   5003 	Add __builtin_unreachable to loop.
   5004 	* testsuite/23_containers/deque/100516.cc: New test.
   5005 
   5006 2022-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   5007 
   5008 	* include/bits/ranges_base.h (ranges::advance): Avoid signed
   5009 	overflow. Do nothing if already equal to desired result.
   5010 	* testsuite/24_iterators/range_operations/advance_overflow.cc:
   5011 	New test.
   5012 
   5013 2022-01-27  Martin Liska  <mliska (a] suse.cz>
   5014 
   5015 	PR libstdc++/104259
   5016 	* acinclude.m4: Fix typo.
   5017 	* configure: Regenerate.
   5018 
   5019 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   5020 
   5021 	PR libstdc++/104019
   5022 	* include/bits/istream.tcc (basic_istream::sentry): Add braces
   5023 	around try-block.
   5024 	* include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init):
   5025 	Add pragmas to disable bogus warnings from PR 61596.
   5026 
   5027 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   5028 
   5029 	PR libstdc++/104217
   5030 	* src/c++17/fs_ops.cc (_GNU_SOURCE): Define.
   5031 	* src/filesystem/dir.cc (_GNU_SOURCE): Define.
   5032 	* src/filesystem/ops.cc (_GNU_SOURCE): Define.
   5033 
   5034 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   5035 
   5036 	PR libstdc++/104161
   5037 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
   5038 	fdopendir.
   5039 	* config.h.in: Regenerate.
   5040 	* configure: Regenerate.
   5041 	* src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
   5042 	and pass it to base class constructor.
   5043 	(directory_iterator): Pass nofollow flag to _Dir constructor.
   5044 	(fs::recursive_directory_iterator::increment): Likewise.
   5045 	* src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
   5046 	directory_iterator constructor. Move error check outside loop.
   5047 	* src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
   5048 	constructor and when it's set use ::open with O_NOFOLLOW and
   5049 	O_DIRECTORY.
   5050 	* src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
   5051 	and pass it to base class constructor.
   5052 	(directory_iterator): Pass nofollow flag to _Dir constructor.
   5053 	(fs::recursive_directory_iterator::increment): Likewise.
   5054 	* src/filesystem/ops.cc (remove_all): Use nofollow option for
   5055 	directory_iterator constructor. Move error check outside loop.
   5056 
   5057 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5058 
   5059 	PR libstdc++/104032
   5060 	* include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use
   5061 	mem-initializer for _M_buf.
   5062 	(basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed
   5063 	member access.
   5064 	* testsuite/27_io/spanstream/2.cc: New test.
   5065 
   5066 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5067 
   5068 	* src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS):
   5069 	Define macro for case where std::from_chars is implemented in
   5070 	terms of strtod, strtof or strtold.
   5071 	(buffer_resource, valid_fmt, find_end_of_float, pattern)
   5072 	(from_chars_impl, make_result, reserve_string): Do not define
   5073 	unless USE_STRTOD_FOR_FROM_CHARS is defined.
   5074 	(from_chars): Define when at least one of USE_LIB_FAST_FLOAT and
   5075 	USE_STRTOD_FOR_FROM_CHARS is defined, instead of
   5076 	_GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it
   5077 	is binary64.
   5078 
   5079 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5080 
   5081 	PR libstdc++/104174
   5082 	* include/bits/hashtable_policy.h (_Map_base): Add partial
   5083 	specialization for maps with const key types.
   5084 	* testsuite/23_containers/unordered_map/104174.cc: New test.
   5085 
   5086 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5087 
   5088 	PR libstdc++/104019
   5089 	* include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release):
   5090 	Set members to zero without type punning.
   5091 
   5092 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5093 
   5094 	* testsuite/20_util/shared_ptr/cons/array.cc: Fix comment.
   5095 
   5096 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5097 
   5098 	PR libstdc++/87193
   5099 	PR libstdc++/104019
   5100 	* include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal):
   5101 	Define as type long.
   5102 	* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
   5103 	Likewise.
   5104 	* include/bits/basic_string.h (__cpp_lib_string_udls): Likewise.
   5105 	* include/bits/chrono.h (__cpp_lib_chrono): Likewise.
   5106 	(__cpp_lib_chrono_udls): Likewise.
   5107 	* include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise.
   5108 	* include/bits/node_handle.h (__cpp_lib_node_extract): Likewise.
   5109 	* include/bits/range_access.h (__cpp_lib_nonmember_container_access):
   5110 	Likewise.
   5111 	* include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this):
   5112 	Likewise.
   5113 	* include/bits/stl_algo.h (__cpp_lib_clamp): Likewise.
   5114 	(__cpp_lib_sample): Likewise.
   5115 	* include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops):
   5116 	Likewise.
   5117 	* include/bits/stl_function.h (__cpp_lib_transparent_operators):
   5118 	Likewise.
   5119 	* include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator):
   5120 	Likewise.
   5121 	* include/bits/stl_map.h (__cpp_lib_map_try_emplace):
   5122 	Likewise.
   5123 	* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
   5124 	Likewise.
   5125 	* include/bits/unique_ptr.h (__cpp_lib_make_unique):
   5126 	Likewise.
   5127 	* include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace):
   5128 	Likewise.
   5129 	* include/c_global/cmath (__cpp_lib_hypot): Likewise.
   5130 	* include/c_global/cstddef (__cpp_lib_byte): Likewise.
   5131 	* include/std/atomic (__cpp_lib_atomic_is_always_lock_free):
   5132 	Likewise.
   5133 	* include/std/complex (__cpp_lib_complex_udls): Likewise.
   5134 	* include/std/filesystem (__cpp_lib_filesystem): Likewise.
   5135 	* include/std/functional (__cpp_lib_not_fn): Likewise.
   5136 	(__cpp_lib_boyer_moore_searcher): Likewise.
   5137 	* include/std/iomanip (__cpp_lib_quoted_string_io): Likewise.
   5138 	* include/std/mutex (__cpp_lib_scoped_lock): Likewise.
   5139 	* include/std/numeric (__cpp_lib_gcd_lcm): Likewise.
   5140 	(__cpp_lib_gcd, __cpp_lib_lcm): Likewise.
   5141 	* include/std/tuple (__cpp_lib_apply): Likewise.
   5142 	(__cpp_lib_make_from_tuple): Likewise.
   5143 	* include/std/type_traits (__cpp_lib_integral_constant_callable)
   5144 	(__cpp_lib_bool_constant, __cpp_lib_logical_traits)
   5145 	(__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases)
   5146 	(__cpp_lib_result_of_sfinae, __cpp_lib_void_t)
   5147 	(__cpp_lib_is_swappable, __cpp_lib_is_invocable)
   5148 	(__cpp_lib_has_unique_object_representations)
   5149 	(__cpp_lib_is_aggregate): Likewise.
   5150 	* include/std/version: Likewise.
   5151 	* libsupc++/new (__cpp_lib_launder): Likewise.
   5152 
   5153 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5154 
   5155 	* include/std/version (__cpp_lib_shared_ptr_arrays): Fix
   5156 	condition for C++17 definition.
   5157 
   5158 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5159 
   5160 	* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
   5161 	Add constexpr.
   5162 	(_Sp_atomic::_M_ptr): Add default member-initializer.
   5163 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   5164 	Check constant initialization.
   5165 	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
   5166 
   5167 2022-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
   5168 
   5169 	* src/c++11/cxx11-ios_failure.cc (__constinit): Define as
   5170 	equivalent attribute for Clang.
   5171 	* src/c++11/future.cc (__constinit): Likewise.
   5172 	* src/c++11/system_error.cc (__constinit): Likewise.
   5173 	* src/c++17/memory_resource.cc (__constinit): Likewise.
   5174 
   5175 2022-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
   5176 
   5177 	* scripts/testsuite_flags.in: Only add src/filesystem/.libs and
   5178 	src/libbacktrace/.libs to LDFLAGS if those directories exist.
   5179 
   5180 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5181 
   5182 	* configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4
   5183 	from default flags.
   5184 	* configure: Regenerate.
   5185 
   5186 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5187 
   5188 	PR libstdc++/104123
   5189 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include
   5190 	<stddef.h>.
   5191 
   5192 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5193 
   5194 	* scripts/testsuite_flags.in: Add src/libbacktrace/.libs to
   5195 	linker search paths.
   5196 	* src/Makefile.am: Fix src/debug/libbacktrace build.
   5197 	* src/Makefile.in: Regenerate.
   5198 	* src/libbacktrace/Makefile.am: Use per-library CPPFLAGS
   5199 	variable. Use symlinks for the source files.
   5200 	* src/libbacktrace/Makefile.in: Regenerate.
   5201 
   5202 2022-01-19  Matthias Kretz  <m.kretz (a] gsi.de>
   5203 
   5204 	* include/experimental/bits/simd.h (__floating_point_flags): Do
   5205 	not rely on math_errhandling to expand to a constant expression.
   5206 
   5207 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5208 
   5209 	* doc/xml/manual/evolution.xml: Document deprecations.
   5210 	* doc/xml/manual/status_cxx2017.xml: Update status.
   5211 	* doc/html/*: Regenerate.
   5212 
   5213 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5214 
   5215 	* include/bits/stl_tempbuf.h (get_temporary_buffer): Change
   5216 	_GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED.
   5217 
   5218 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5219 
   5220 	* include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused
   5221 	function.
   5222 
   5223 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5224 
   5225 	PR libstdc++/104101
   5226 	* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock):
   5227 	Only use __thread_relax if __cpp_lib_atomic_wait is defined.
   5228 
   5229 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5230 
   5231 	PR libstdc++/104099
   5232 	* include/bits/basic_string.h (basic_string(nullptr_t)): Only
   5233 	define for C++23.
   5234 	(operator=(nullptr_t)): Likewise.
   5235 	* include/bits/cow_string.h: Likewise.
   5236 	* include/std/string_view (basic_string_view(nullptr_t)):
   5237 	Likewise.
   5238 	* testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust
   5239 	expected error. Add examples that become ill-formed in C++23.
   5240 	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
   5241 	Adjust expected errors.
   5242 	* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
   5243 	Likewise.
   5244 
   5245 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5246 
   5247 	PR libstdc++/104098
   5248 	* include/bits/stl_iterator.h (reverse_iterator): Check
   5249 	__cpp_lib_concepts instead of __cplusplus.
   5250 
   5251 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5252 
   5253 	PR libstdc++/101124
   5254 	* include/bits/stl_pair.h (pair): Adjust constraints on
   5255 	deprecated constructors accepting literal zero as null pointer
   5256 	constant. Improve wording of deprecated attribute.
   5257 	* testsuite/20_util/pair/cons/99957.cc: Check that deprecated
   5258 	constructors do not cause ambiguities for copyable types.
   5259 
   5260 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5261 
   5262 	* include/bits/stl_function.h (ptr_fun): Fix suggestion for
   5263 	non-deprecated alternative.
   5264 
   5265 2022-01-18  Tom Honermann  <tom (a] honermann.net>
   5266 
   5267 	* acinclude.m4: Define config macros if uchar.h provides
   5268 	c8rtomb() and mbrtoc8().
   5269 	* config.h.in: Regenerate.
   5270 	* configure: Regenerate.
   5271 	* include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define.
   5272 	* include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise.
   5273 	* include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise.
   5274 	* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
   5275 	New test.
   5276 	* testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc:
   5277 	New test.
   5278 
   5279 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5280 
   5281 	* include/Makefile.am: Install new header.
   5282 	* include/Makefile.in: Regenerate.
   5283 	* include/c_compatibility/stdatomic.h: New file.
   5284 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test.
   5285 
   5286 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5287 
   5288 	PR libstdc++/104080
   5289 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   5290 	* src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
   5291 	Define in terms of __BYTE_ORDER__.
   5292 
   5293 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5294 
   5295 	PR libstdc++/104080
   5296 	* src/c++17/fast_float/LOCAL_PATCHES: UPDATE.
   5297 	* src/c++17/fast_float/fast_float.h (round): Use explicit
   5298 	template argument list for std::min.
   5299 
   5300 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5301 
   5302 	* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
   5303 	* doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for
   5304 	upcoming release.
   5305 	* doc/html/manual/status.html: Regenerate.
   5306 
   5307 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5308 
   5309 	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve
   5310 	comments.
   5311 	* configure: Regenerate.
   5312 
   5313 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   5314 
   5315 	* src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT):
   5316 	Conditionally define, and use it to conditionally include
   5317 	fast_float.
   5318 	(from_chars): Use fast_float for float and double when
   5319 	USE_LIB_FAST_FLOAT.
   5320 
   5321 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   5322 
   5323 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   5324 	* src/c++17/fast_float/fast_float.h (from_chars_advanced): In
   5325 	case of over/underflow, return errc::result_out_of_range and don't
   5326 	modify 'value'.
   5327 
   5328 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   5329 
   5330 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   5331 	* src/c++17/fast_float/fast_float.h: Apply local modifications.
   5332 
   5333 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   5334 
   5335 	* src/c++17/fast_float/LOCAL_PATCHES: New file.
   5336 	* src/c++17/fast_float/MERGE: New file.
   5337 	* src/c++17/fast_float/README.md: New file, copied from the
   5338 	fast_float repository.
   5339 	* src/c++17/fast_float/fast_float.h: New file, an amalgamation
   5340 	of the fast_float library.
   5341 
   5342 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   5343 
   5344 	* src/c++17/floating_from_chars.cc: Include <bit>.
   5345 	(ascii_to_hexit, starts_with_ci): Conditionally define.
   5346 	(__floating_from_chars_hex):  Conditionally define.
   5347 	(from_chars): Use __floating_from_chars_hex for
   5348 	chars_format::hex parsing of binary32/64 float/double.
   5349 	(testsuite/20_util/from_chars/7.cc): New test.
   5350 	* testsuite/20_util/from_chars/7.cc: New file.
   5351 
   5352 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5353 
   5354 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro.
   5355 	* configure.ac: Use GLIBCXX_ENABLE_BACKTRACE.
   5356 	* include/Makefile.am: Add new header.
   5357 	* include/Makefile.in: Regenerate.
   5358 	* include/std/stacktrace: New header.
   5359 	* include/std/version (__cpp_lib_stacktrace): Define.
   5360 	* Makefile.in: Regenerate.
   5361 	* config.h.in: Regenerate.
   5362 	* configure: Regenerate.
   5363 	* doc/Makefile.in: Regenerate.
   5364 	* libsupc++/Makefile.in: Regenerate.
   5365 	* po/Makefile.in: Regenerate.
   5366 	* python/Makefile.in: Regenerate.
   5367 	* src/Makefile.am: Regenerate.
   5368 	* src/Makefile.in: Regenerate.
   5369 	* src/c++11/Makefile.in: Regenerate.
   5370 	* src/c++17/Makefile.in: Regenerate.
   5371 	* src/c++20/Makefile.in: Regenerate.
   5372 	* src/c++98/Makefile.in: Regenerate.
   5373 	* src/filesystem/Makefile.in: Regenerate.
   5374 	* testsuite/Makefile.in: Regenerate.
   5375 	* src/libbacktrace/Makefile.am: New file.
   5376 	* src/libbacktrace/Makefile.in: New file.
   5377 	* src/libbacktrace/backtrace-rename.h: New file.
   5378 	* src/libbacktrace/backtrace-supported.h.in: New file.
   5379 	* src/libbacktrace/config.h.in: New file.
   5380 	* testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
   5381 	New proc.
   5382 	* testsuite/20_util/stacktrace/entry.cc: New test.
   5383 	* testsuite/20_util/stacktrace/synopsis.cc: New test.
   5384 	* testsuite/20_util/stacktrace/version.cc: New test.
   5385 
   5386 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5387 
   5388 	* doc/xml/manual/status_cxx2020.xml: Use final C++20 option
   5389 	names.
   5390 	* doc/html/manual/status.html: Regenerate.
   5391 
   5392 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5393 
   5394 	PR libstdc++/103650
   5395 	* include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
   5396 	* include/Makefile.in: Regenerate.
   5397 	* testsuite/17_intro/headers/c++1998/103650.cc: New test.
   5398 
   5399 2022-01-17  Matthias Kretz  <m.kretz (a] gsi.de>
   5400 
   5401 	* include/experimental/bits/simd.h (__floating_point_flags): Do
   5402 	not rely on the presence of the math_errhandling macro.
   5403 
   5404 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5405 
   5406 	* include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename
   5407 	to qualified-id for dependent type.
   5408 
   5409 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5410 
   5411 	* doc/xml/manual/status_cxx2020.xml: Update.
   5412 	* doc/html/manual/status.html: Regenerate.
   5413 
   5414 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5415 	    Thomas Rodgers  <trodgers (a] redhat.com>
   5416 
   5417 	* include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr):
   5418 	New macro.
   5419 	(_Sp_atomic): New class template.
   5420 	(atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial
   5421 	specializations.
   5422 	* include/bits/shared_ptr_base.h (__shared_count, __weak_count)
   5423 	(__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend.
   5424 	* include/std/version (__cpp_lib_atomic_shared_ptr): New macro.
   5425 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New
   5426 	test.
   5427 	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test.
   5428 
   5429 2022-01-15  Matthias Kretz  <m.kretz (a] gsi.de>
   5430 
   5431 	* include/experimental/bits/simd.h: Move feature detection bools
   5432 	and add __have_avx512bitalg, __have_avx512vbmi2,
   5433 	__have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
   5434 	__have_avx512vnni, __have_avx512vpopcntdq.
   5435 	(__detail::__machine_flags): New function which returns a unique
   5436 	uint64 depending on relevant -m and -f flags.
   5437 	(__detail::__odr_helper): New type alias for either an anonymous
   5438 	type or a type specialized with the __machine_flags number.
   5439 	(_SimdIntOperators): Change template parameters from _Impl to
   5440 	_Tp, _Abi because _Impl now has an __odr_helper parameter which
   5441 	may be _OdrEnforcer from the anonymous namespace, which makes
   5442 	for a bad base class.
   5443 	(many): Either add __odr_helper template parameter or mark as
   5444 	always_inline.
   5445 	* include/experimental/bits/simd_detail.h: Add defines for
   5446 	AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
   5447 	AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
   5448 	* include/experimental/bits/simd_builtin.h: Add __odr_helper
   5449 	template parameter or mark as always_inline.
   5450 	* include/experimental/bits/simd_fixed_size.h: Ditto.
   5451 	* include/experimental/bits/simd_math.h: Ditto.
   5452 	* include/experimental/bits/simd_scalar.h: Ditto.
   5453 	* include/experimental/bits/simd_neon.h: Add __odr_helper
   5454 	template parameter.
   5455 	* include/experimental/bits/simd_ppc.h: Ditto.
   5456 	* include/experimental/bits/simd_x86.h: Ditto.
   5457 
   5458 2022-01-14  Uro Bizjak  <ubizjak (a] gmail.com>
   5459 
   5460 	* testsuite/22_locale/numpunct/members/char/3.cc:
   5461 	Require pt_PT locale instead of nl_NL.
   5462 	(test02): Use pt_PT locale instead of nl_NL.
   5463 
   5464 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5465 
   5466 	PR libstdc++/91260
   5467 	PR libstdc++/91383
   5468 	PR libstdc++/95065
   5469 	* include/backward/binders.h (bind1st, bind2nd): Add deprecated
   5470 	attribute.
   5471 	* include/bits/refwrap.h (_Maybe_unary_or_binary_function):
   5472 	Disable deprecated warnings for base classes.
   5473 	(_Reference_wrapper_base): Likewise.
   5474 	* include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
   5475 	* include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
   5476 	* include/bits/stl_function.h (unary_function, binary_function):
   5477 	Add deprecated attribute.
   5478 	(unary_negate, not1, binary_negate, not2, ptr_fun)
   5479 	(pointer_to_unary_function, pointer_to_binary_function)
   5480 	(mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
   5481 	(mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
   5482 	(const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
   5483 	attributes.
   5484 	* include/bits/stl_iterator.h: Disable deprecated warnings for
   5485 	std::iterator base classes.
   5486 	* include/bits/stl_iterator_base_types.h (iterator): Add
   5487 	deprecated attribute.
   5488 	* include/bits/stl_map.h (map::value_compare): Disable
   5489 	deprecated warnings for base class.
   5490 	* include/bits/stl_multimap.h (multimap::value_compare):
   5491 	Likewise.
   5492 	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
   5493 	Add deprecated attribute.
   5494 	* include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
   5495 	* include/bits/stream_iterator.h: Disable deprecated warnings.
   5496 	* include/bits/streambuf_iterator.h: Likewise.
   5497 	* include/ext/bitmap_allocator.h: Remove unary_function base
   5498 	classes.
   5499 	* include/ext/functional: Disable deprecated warnings.
   5500 	* include/ext/rope: Likewise.
   5501 	* include/ext/throw_allocator.h: Likewise.
   5502 	* include/std/type_traits (result_of): Add deprecated attribute.
   5503 	* include/tr1/functional: Disable deprecated warnings.
   5504 	* include/tr1/functional_hash.h: Likewise.
   5505 	* testsuite/20_util/function_objects/binders/1.cc: Add
   5506 	-Wno-disable-deprecations.
   5507 	* testsuite/20_util/function_objects/binders/3113.cc: Likewise.
   5508 	* testsuite/20_util/function_objects/constexpr.cc: Add
   5509 	dg-warning.
   5510 	* testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
   5511 	* testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
   5512 	* testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
   5513 	Likewise.
   5514 	* testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
   5515 	Likewise.
   5516 	* testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
   5517 	Likewise.
   5518 	* testsuite/20_util/reference_wrapper/24803.cc:
   5519 	Likewise.
   5520 	* testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
   5521 	C++20 and check for absence of nested types.
   5522 	* testsuite/20_util/shared_ptr/comparison/less.cc: Remove
   5523 	std::binary_function base class.
   5524 	* testsuite/20_util/temporary_buffer.cc: Add dg-warning.
   5525 	* testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
   5526 	std::iterator base class.
   5527 	* testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
   5528 	Likewise.
   5529 	* testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
   5530 	Likewise.
   5531 	* testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
   5532 	Likewise.
   5533 	* testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
   5534 	Likewise.
   5535 	* testsuite/24_iterators/istreambuf_iterator/92285.cc:
   5536 	Likewise.
   5537 	* testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
   5538 	Likewise.
   5539 	* testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
   5540 	Likewise.
   5541 	* testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
   5542 	Likewise.
   5543 	* testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
   5544 	Likewise.
   5545 	* testsuite/25_algorithms/copy/34595.cc:
   5546 	Likewise.
   5547 	* testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
   5548 	base class.
   5549 	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
   5550 	Disable deprecated warnings.
   5551 	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
   5552 	Likewise.
   5553 	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
   5554 	Likewise.
   5555 	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
   5556 	Likewise.
   5557 	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
   5558 	Likewise.
   5559 	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
   5560 	Likewise.
   5561 	* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
   5562 	Likewise.
   5563 	* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
   5564 	Likewise.
   5565 	* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
   5566 	Likewise.
   5567 	* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
   5568 	Likewise.
   5569 	* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
   5570 	Likewise.
   5571 	* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
   5572 	Likewise.
   5573 	* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
   5574 	Likewise.
   5575 	* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
   5576 	Likewise.
   5577 	* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
   5578 	Likewise.
   5579 	* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
   5580 	Likewise.
   5581 	* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
   5582 	Likewise.
   5583 	* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
   5584 	Likewise.
   5585 	* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
   5586 	Likewise.
   5587 	* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
   5588 	Likewise.
   5589 	* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
   5590 	Likewise.
   5591 	* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
   5592 	Likewise.
   5593 	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
   5594 	Likewise.
   5595 	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
   5596 	Likewise.
   5597 	* testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
   5598 	Likewise.
   5599 	* testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
   5600 	Likewise.
   5601 	* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
   5602 	Likewise.
   5603 	* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
   5604 	Likewise.
   5605 	* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
   5606 	Likewise.
   5607 	* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
   5608 	Likewise.
   5609 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
   5610 	Likewise.
   5611 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
   5612 	Likewise.
   5613 	* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
   5614 	Likewise.
   5615 	* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
   5616 	Likewise.
   5617 	* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
   5618 	Likewise.
   5619 	* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
   5620 	Likewise.
   5621 	* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
   5622 	Likewise.
   5623 	* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
   5624 	Likewise.
   5625 	* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
   5626 	Likewise.
   5627 	* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
   5628 	Likewise.
   5629 	* testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
   5630 	Likewise.
   5631 	* testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
   5632 	Likewise.
   5633 	* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
   5634 	Likewise.
   5635 	* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
   5636 	Likewise.
   5637 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
   5638 	Likewise.
   5639 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
   5640 	Likewise.
   5641 	* testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
   5642 	Likewise.
   5643 	* testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
   5644 	Likewise.
   5645 	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
   5646 	dg-warning.
   5647 	* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
   5648 	Likewise.
   5649 	* testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
   5650 	Likewise.
   5651 	* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
   5652 	Disable deprecated warnings.
   5653 	* testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
   5654 	Likewise.
   5655 	* testsuite/util/regression/trait/erase_if_fn.hpp: Remove
   5656 	std::unary_function base classes.
   5657 	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
   5658 	Remove std::iterator base classes.
   5659 
   5660 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5661 
   5662 	* include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type):
   5663 	Correct type of macro value.
   5664 	(shared_ptr): Add additional friend declarations.
   5665 	(make_shared, allocate_shared): Constrain existing overloads and
   5666 	remove static_assert.
   5667 	* include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite):
   5668 	New macro.
   5669 	(_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial
   5670 	specialization for use with make_shared_for_overwrite.
   5671 	(__cpp_lib_shared_ptr_arrays): Update value for C++20.
   5672 	(_Sp_counted_array_base): New class template.
   5673 	(_Sp_counted_array): New class template.
   5674 	(__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)):
   5675 	New constructor for allocating shared arrays.
   5676 	(__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise.
   5677 	* include/std/version (__cpp_lib_shared_ptr_weak_type): Correct
   5678 	type.
   5679 	(__cpp_lib_shared_ptr_arrays): Update value for C++20.
   5680 	(__cpp_lib_smart_ptr_for_overwrite): New macro.
   5681 	* testsuite/20_util/shared_ptr/creation/99006.cc: Adjust
   5682 	expected errors.
   5683 	* testsuite/20_util/shared_ptr/creation/array.cc: New test.
   5684 	* testsuite/20_util/shared_ptr/creation/overwrite.cc: New test.
   5685 	* testsuite/20_util/shared_ptr/creation/version.cc: New test.
   5686 	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check
   5687 	feature test macro. Test non-trivial default-initialization.
   5688 
   5689 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5690 
   5691 	* include/bits/stl_construct.h (_Construct, _Construct_novalue):
   5692 	Also cast away cv-qualifiers when converting pointer to void.
   5693 	* testsuite/20_util/allocator/void.cc: Test construct function
   5694 	with cv-qualified types.
   5695 
   5696 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5697 
   5698 	PR libstdc++/103992
   5699 	* include/bits/stl_iterator.h (common_iterator): Use
   5700 	std::construct_at instead of placement new.
   5701 	* testsuite/24_iterators/common_iterator/1.cc: Check copy
   5702 	construction is usable in constant expressions.
   5703 
   5704 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5705 
   5706 	* doc/xml/manual/status_cxx2011.xml: Document new tokens
   5707 	accepted by std::random_device constructor.
   5708 	* doc/html/manual/status.html: Regenerate.
   5709 
   5710 2022-01-12  Patrick Palka  <ppalka (a] redhat.com>
   5711 
   5712 	* testsuite/20_util/to_chars/103955.cc: Add explicit dg-do
   5713 	directive.
   5714 
   5715 2022-01-12  Patrick Palka  <ppalka (a] redhat.com>
   5716 
   5717 	PR libstdc++/103955
   5718 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
   5719 	Track the excess precision separately from the effective
   5720 	precision.  Avoid overflow in bounds check by splitting it into
   5721 	two checks.
   5722 	(__floating_to_chars_precision): Avoid overflow in bounds checks
   5723 	similarly.
   5724 	* testsuite/20_util/to_chars/103955.cc: New test.
   5725 
   5726 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5727 
   5728 	PR libstdc++/103726
   5729 	* include/Makefile.am: Install <source_location> for
   5730 	freestanding.
   5731 	* include/Makefile.in: Regenerate.
   5732 	* include/std/version (__cpp_lib_source_location): Define for
   5733 	freestanding.
   5734 
   5735 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5736 
   5737 	* include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
   5738 	Add neoxcept (LWG 3593).
   5739 
   5740 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5741 
   5742 	* include/std/ranges (ranges::__detail::__box): Add constexpr to
   5743 	assignment operators (LWG 3572).
   5744 	* testsuite/std/ranges/adaptors/filter.cc: Check assignment of a
   5745 	view that uses copyable-box.
   5746 
   5747 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5748 
   5749 	PR libstdc++/103726
   5750 	* include/Makefile.am: Install <coroutine> for freestanding.
   5751 	* include/Makefile.in: Regenerate.
   5752 	* include/std/coroutine: Adjust headers and preprocessor
   5753 	conditions.
   5754 	(__coroutine_traits_impl): Use concepts when available.
   5755 	[_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.
   5756 
   5757 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5758 
   5759 	* include/std/ostream (operator<<(basic_ostream&, charT)):
   5760 	Use unformatted input if no padding is needed.
   5761 	(operator<<(basic_ostream<char>&, char)): Likewise.
   5762 
   5763 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5764 
   5765 	PR libstdc++/103891
   5766 	* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
   5767 	Define.
   5768 	* include/std/variant (__cpp_lib_variant): Only define C++20
   5769 	value when the compiler is known to support conditionally
   5770 	trivial destructors.
   5771 	* include/std/version (__cpp_lib_variant): Likewise.
   5772 
   5773 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5774 
   5775 	* include/bits/stl_iterator.h (common_iterator): Add constexpr
   5776 	to all member functions (LWG 3574).
   5777 	* testsuite/24_iterators/common_iterator/1.cc: Evaluate some
   5778 	tests as constant expressions.
   5779 	* testsuite/24_iterators/common_iterator/2.cc: Likewise.
   5780 
   5781 2022-01-10  Jakub Jelinek  <jakub (a] redhat.com>
   5782 
   5783 	PR libstdc++/77760
   5784 	* include/bits/locale_facets_nonio.h (__time_get_state): New struct.
   5785 	(time_get::_M_extract_via_format): Declare new method with
   5786 	__time_get_state& as an extra argument.
   5787 	* include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add
   5788 	__state argument, set various fields in it while parsing.  Handle %j,
   5789 	%U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour
   5790 	for %p immediately.  Add a wrapper around the method without the
   5791 	__state argument for backwards compatibility.
   5792 	(_M_extract_num): Remove all __len == 4 special cases.
   5793 	(time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero
   5794 	initialize __state, pass it to _M_extract_via_format and finalize it
   5795 	at the end.
   5796 	(do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068,
   5797 	69-99 to 1969-1999.  For 3-4 digit parsed years use that as year.
   5798 	(get): If do_get isn't overloaded from the locale_facets_nonio.tcc
   5799 	version, don't call do_get but call _M_extract_via_format instead to
   5800 	pass around state.
   5801 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format
   5802 	with extra __time_get_state and __time_get_state::_M_finalize_state.
   5803 	* src/c++98/locale_facets.cc (is_leap, day_of_the_week,
   5804 	day_of_the_year): New functions in anon namespace.
   5805 	(mon_yday): New var in anon namespace.
   5806 	(__time_get_state::_M_finalize_state): Define.
   5807 	* testsuite/22_locale/time_get/get/char/4.cc: New test.
   5808 	* testsuite/22_locale/time_get/get/wchar_t/4.cc: New test.
   5809 	* testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197
   5810 	as year 197AD instead of error.
   5811 	* testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as
   5812 	year 2001 instead of error.
   5813 	* testsuite/22_locale/time_get/get_year/char/6.cc: New test.
   5814 	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse
   5815 	197 as year 197AD instead of error.
   5816 	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse
   5817 	1 as year 2001 instead of error.
   5818 	* testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test.
   5819 
   5820 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5821 
   5822 	PR libstdc++/103866
   5823 	* acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do
   5824 	nothing for freestanding builds.
   5825 	(GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS.
   5826 	* configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured
   5827 	with --without-headers.  Do not use GCC_HEADER_STDINT for
   5828 	freestanding builds.
   5829 	* libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding
   5830 	for freestanding builds.
   5831 	* configure: Regenerate.
   5832 	* Makefile.in: Regenerate.
   5833 	* doc/Makefile.in: Regenerate.
   5834 	* include/Makefile.in: Regenerate.
   5835 	* libsupc++/Makefile.in: Regenerate.
   5836 	* po/Makefile.in: Regenerate.
   5837 	* python/Makefile.in: Regenerate.
   5838 	* src/Makefile.in: Regenerate.
   5839 	* src/c++11/Makefile.in: Regenerate.
   5840 	* src/c++17/Makefile.in: Regenerate.
   5841 	* src/c++20/Makefile.in: Regenerate.
   5842 	* src/c++98/Makefile.in: Regenerate.
   5843 	* src/filesystem/Makefile.in: Regenerate.
   5844 	* testsuite/Makefile.in: Regenerate.
   5845 
   5846 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5847 
   5848 	* testsuite/28_regex/algorithms/regex_replace/char/103664.cc:
   5849 	Add dg-timeout-factor directive.
   5850 	* testsuite/28_regex/basic_regex/84110.cc: Likewise.
   5851 	* testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise.
   5852 	* testsuite/28_regex/match_results/102667.cc: Likewise.
   5853 
   5854 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5855 
   5856 	* doc/xml/manual/using.xml: Update documentation around default
   5857 	-std option.
   5858 	* doc/html/*: Regenerate.
   5859 
   5860 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5861 
   5862 	PR libstdc++/100017
   5863 	* src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++.
   5864 	* src/c++17/Makefile.in: Regenerate.
   5865 
   5866 2022-01-09  Sandra Loosemore  <sandra (a] codesourcery.com>
   5867 
   5868 	* testsuite/18_support/type_info/constexpr.cc: Add explicit
   5869 	-fdelete-null-pointer-checks option.
   5870 
   5871 2022-01-06  Pavel I. Kryukov  <pavel.kryukov (a] phystech.edu>
   5872 	    Jonathan Wakely  <jwakely (a] redhat.com>
   5873 
   5874 	PR libstdc++/103853
   5875 	* include/bits/forward_list.tcc (forward_list::merge): Check for
   5876 	self-merge.
   5877 	* testsuite/23_containers/forward_list/operations/merge.cc: New test.
   5878 
   5879 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5880 
   5881 	* include/bits/regex.h (basic_regex, match_results): Qualify
   5882 	name in friend declaration, to work around Clang bug.
   5883 
   5884 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5885 
   5886 	* testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
   5887 
   5888 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5889 
   5890 	PR libstdc++/103911
   5891 	* include/std/charconv (__from_chars_alpha_to_num): Return
   5892 	char instead of unsigned char. Change invalid return value to
   5893 	127 instead of using numeric trait.
   5894 	(__from_chars_alnum): Fix comment. Do not use std::isdigit.
   5895 	Change type of variable to char.
   5896 
   5897 2022-01-05  Franois Dumont  <fdumont (a] gcc.gnu.org>
   5898 
   5899 	PR libstdc++/68303
   5900 	* include/bits/hashtable_policy.h
   5901 	(_Hashtable_hash_traits<_Hash>): New.
   5902 	(_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New.
   5903 	(_Hashtable_base<>::_M_key_equals): New.
   5904 	(_Hashtable_base<>::_M_equals): Use latter.
   5905 	(_Hashtable_base<>::_M_key_equals_tr): New.
   5906 	(_Hashtable_base<>::_M_equals_tr): Use latter.
   5907 	* include/bits/hashtable.h
   5908 	(_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits.
   5909 	(_Hashtable<>::find): Loop through elements to look for key if size is lower
   5910 	than __small_size_threshold().
   5911 	(_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
   5912 	(_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise.
   5913 	(_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New.
   5914 	(_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter.
   5915 	(_Hashtable<>::_M_find_before_node(const key_type&)): New.
   5916 	(_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter.
   5917 	(_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise.
   5918 	* src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>.
   5919 	* testsuite/util/testsuite_performance.h
   5920 	(report_performance): Use 9 width to display memory.
   5921 	* testsuite/performance/23_containers/insert_erase/unordered_small_size.cc:
   5922 	New performance test case.
   5923 
   5924 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5925 
   5926 	PR libstdc++/103919
   5927 	* include/bits/basic_string.h (basic_string(const T&, size_t, size_t)):
   5928 	Relax constraints on string_view parameter.
   5929 	* include/bits/cow_string.h (basic_string(const T&, size_t, size_t)):
   5930 	Likewise.
   5931 	* testsuite/21_strings/basic_string/cons/char/103919.cc: New test.
   5932 
   5933 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5934 
   5935 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for
   5936 	ARM EABI.
   5937 	* include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define.
   5938 	* include/std/version (__cpp_lib_constexpr_typeinfo): Define.
   5939 	* libsupc++/tinfo.cc: Add #error to ensure non-inline definition
   5940 	is emitted.
   5941 	(type_info::__equal): Define alias symbol.
   5942 	* libsupc++/typeinfo (type_info::before): Combine different
   5943 	implementations into one.
   5944 	(type_info::operator==): Likewise. Use address equality for
   5945 	constant evaluation. Call __equal for targets that require the
   5946 	definition to be non-inline.
   5947 	* testsuite/18_support/type_info/constexpr.cc: New test.
   5948 
   5949 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5950 
   5951 	* src/c++11/cxx11-ios_failure.cc (io_error_category): Define
   5952 	class and virtual functions as 'final'.
   5953 	(io_category_instance): Use constinit union to make the object
   5954 	immortal.
   5955 	* src/c++11/future.cc (future_error_category): Define class and
   5956 	virtual functions as 'final'.
   5957 	(future_category_instance): Use constinit union.
   5958 
   5959 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5960 
   5961 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
   5962 	versioned namespace from the type name that is printed.
   5963 
   5964 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5965 
   5966 	* python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
   5967 	printer for std::regex NFA states.
   5968 
   5969 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5970 
   5971 	* testsuite/23_containers/forward_list/operations/1.cc: Fill in
   5972 	placeholders in comments.
   5973 	* testsuite/23_containers/forward_list/operations/2.cc:
   5974 	Likewise.
   5975 	* testsuite/23_containers/forward_list/operations/3.cc:
   5976 	Likewise.
   5977 	* testsuite/23_containers/forward_list/operations/4.cc:
   5978 	Likewise.
   5979 	* testsuite/23_containers/forward_list/operations/5.cc:
   5980 	Likewise.
   5981 	* testsuite/23_containers/forward_list/operations/6.cc:
   5982 	Likewise.
   5983 	* testsuite/23_containers/forward_list/operations/7.cc:
   5984 	Likewise.
   5985 
   5986 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5987 
   5988 	PR libstdc++/103848
   5989 	* include/bits/stl_deque.h (operator-): Do not use 0 as null
   5990 	pointer constant.
   5991 
   5992 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5993 
   5994 	* include/bits/alloc_traits.h (allocator_traits<allocator<void>>):
   5995 	Use std::_Construct for construct.
   5996 
   5997 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5998 
   5999 	PR libstdc++/103877
   6000 	* doc/xml/faq.xml: Add '-x c++' to preprocessor command.
   6001 	* doc/html/faq.html: Regenerate.
   6002 
   6003 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6004 
   6005 	* include/bits/regex.h (__regex_algo_impl): Change __policy and
   6006 	__match_mode template parameters to be function parameters.
   6007 	(regex_match, regex_search): Pass policy and match mode as
   6008 	function arguments.
   6009 	* include/bits/regex.tcc (__regex_algo_impl): Change template
   6010 	parameters to function parameters.
   6011 	* include/bits/regex_compiler.h (_RegexTranslatorBase): Use
   6012 	'if constexpr' for conditions using template parameters.
   6013 	(_RegexTranslator): Likewise.
   6014 	* include/bits/regex_executor.tcc (_Executor::_M_handle_accept):
   6015 	Likewise.
   6016 	* testsuite/util/testsuite_regex.h (regex_match_debug)
   6017 	(regex_search_debug): Move template arguments to function
   6018 	arguments.
   6019 
   6020 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6021 
   6022 	* testsuite/util/testsuite_regex.h (regex_match_debug): Compare
   6023 	results even if the match failed.
   6024 
   6025 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6026 
   6027 	* include/bits/regex_compiler.tcc: Adjust all calls to
   6028 	__throw_regex_error.
   6029 	* include/bits/regex_error.h (__throw_regex_error): Add noreturn
   6030 	attribute.
   6031 	* include/bits/regex_scanner.tcc: Likewise.
   6032 	* src/c++11/regex.cc (desc): New helper function.
   6033 	(regex_error::regex_error(error_type)): Use desc to get a string
   6034 	corresponding to the error code.
   6035 
   6036 
   6038 Copyright (C) 2022 Free Software Foundation, Inc.
   6039 
   6040 Copying and distribution of this file, with or without modification,
   6041 are permitted in any medium without royalty provided the copyright
   6042 notice and this notice are preserved.
   6043