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