Home | History | Annotate | Line # | Download | only in libstdc++-v3
ChangeLog revision 1.1.1.23
      1 2023-05-08  Release Manager
      2 
      3 	* GCC 12.3.0 released.
      4 
      5 2023-05-03  Kefu Chai  <kefu.chai (a] scylladb.com>
      6 
      7 	Backported from master:
      8 	2023-05-03  Kefu Chai  <kefu.chai (a] scylladb.com>
      9 		    Jonathan Wakely  <jwakely (a] redhat.com>
     10 
     11 	PR libstdc++/109703
     12 	* include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
     13 	Initialize _M_string_length.
     14 
     15 2023-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
     16 
     17 	Backported from master:
     18 	2023-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
     19 
     20 	* doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
     21 	from header paths.
     22 
     23 2023-04-29  Patrick Palka  <ppalka (a] redhat.com>
     24 
     25 	Backported from master:
     26 	2023-04-12  Patrick Palka  <ppalka (a] redhat.com>
     27 
     28 	* include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
     29 	Propagate _M_trailing_empty in the const-converting constructor
     30 	as per LWG 3904.
     31 	* testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
     32 
     33 2023-04-29  Patrick Palka  <ppalka (a] redhat.com>
     34 
     35 	Backported from master:
     36 	2023-03-14  Patrick Palka  <ppalka (a] redhat.com>
     37 
     38 	* include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
     39 	Define.
     40 	(__cpp_lib_move_iterator_concept): Define for C++20.
     41 	(move_iterator::iterator_concept): Strengthen as per P2520R0.
     42 	* include/std/version (__cpp_lib_move_iterator_concept): Define
     43 	for C++20.
     44 	* testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
     45 
     46 2023-04-29  Patrick Palka  <ppalka (a] redhat.com>
     47 
     48 	Backported from master:
     49 	2023-03-09  Patrick Palka  <ppalka (a] redhat.com>
     50 
     51 	PR libstdc++/108362
     52 	* include/std/ranges (__detail::__can_single_view): New concept.
     53 	(_Single::operator()): Constrain it.  Move [[nodiscard]] to the
     54 	end of the function declarator.
     55 	(__detail::__can_iota_view): New concept.
     56 	(_Iota::operator()): Constrain it.  Move [[nodiscard]] to the
     57 	end of the function declarator.
     58 	(__detail::__can_istream_view): New concept.
     59 	(_Istream::operator()): Constrain it.  Move [[nodiscard]] to the
     60 	end of the function declarator.
     61 	* testsuite/std/ranges/iota/lwg3292_neg.cc: Prune "in
     62 	requirements" diagnostic.
     63 	* testsuite/std/ranges/iota/iota_view.cc (test07): New test.
     64 	* testsuite/std/ranges/istream_view.cc (test08): New test.
     65 	* testsuite/std/ranges/single_view.cc (test07): New test.
     66 
     67 2023-04-28  Patrick Palka  <ppalka (a] redhat.com>
     68 
     69 	Backported from master:
     70 	2023-04-24  Patrick Palka  <ppalka (a] redhat.com>
     71 
     72 	* include/bits/max_size_type.h (__max_diff_type::operator>>=):
     73 	Fix propagation of sign bit.
     74 	* testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
     75 	non-standard 'signed typedef-name'.  Add some compile-time tests
     76 	for right-shifting a negative __max_diff_type value by more than
     77 	one.
     78 
     79 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
     80 
     81 	* include/std/atomic: Add missing @endcond doxygen comment.
     82 
     83 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
     84 
     85 	Backported from master:
     86 	2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
     87 
     88 	PR libstdc++/107850
     89 	* include/bits/erase_if.h (__erase_nodes_if): Use non-const
     90 	reference to the container.
     91 	* include/experimental/map (erase_if): Likewise.
     92 	* include/experimental/set (erase_if): Likewise.
     93 	* include/experimental/unordered_map (erase_if): Likewise.
     94 	* include/experimental/unordered_set (erase_if): Likewise.
     95 	* include/std/map (erase_if): Likewise.
     96 	* include/std/set (erase_if): Likewise.
     97 	* include/std/unordered_map (erase_if): Likewise.
     98 	* include/std/unordered_set (erase_if): Likewise.
     99 	* testsuite/23_containers/map/erasure.cc: Check with
    100 	const-incorrect predicate.
    101 	* testsuite/23_containers/set/erasure.cc: Likewise.
    102 	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
    103 	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
    104 	* testsuite/experimental/map/erasure.cc: Likewise.
    105 	* testsuite/experimental/set/erasure.cc: Likewise.
    106 	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
    107 	* testsuite/experimental/unordered_set/erasure.cc: Likewise.
    108 
    109 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    110 
    111 	Backported from master:
    112 	2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    113 
    114 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
    115 	Replace non-ASCII character.
    116 
    117 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    118 
    119 	Backported from master:
    120 	2023-02-28  Jonathan Wakely  <jwakely (a] redhat.com>
    121 
    122 	PR libstdc++/108952
    123 	* include/bits/uses_allocator_args.h
    124 	(uses_allocator_construction_args): Implement LWG 3527.
    125 	* testsuite/20_util/pair/astuple/get-2.cc: New test.
    126 	* testsuite/20_util/scoped_allocator/108952.cc: New test.
    127 	* testsuite/20_util/uses_allocator/lwg3527.cc: New test.
    128 
    129 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    130 
    131 	Backported from master:
    132 	2023-03-31  Jonathan Wakely  <jwakely (a] redhat.com>
    133 
    134 	PR libstdc++/109339
    135 	* include/std/stop_token (_Stop_state_ptr(const stop_source&)):
    136 	Add attribute access with access-mode 'none'.
    137 	* testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
    138 
    139 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    140 
    141 	Backported from master:
    142 	2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    143 
    144 	PR libstdc++/107466
    145 	* include/bits/random.h (subtract_with_carry_engine): Use 32-bit
    146 	type for default seed. Use 0u as default argument for
    147 	subtract_with_carry_engine(result_type) constructor and
    148 	seed(result_type) member function.
    149 	* include/bits/random.tcc (subtract_with_carry_engine): Use
    150 	32-bit type for default seed and engine used for initial state.
    151 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
    152 	New test.
    153 
    154 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    155 
    156 	Backported from master:
    157 	2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    158 
    159 	* include/bits/mofunc_impl.h: Fix typo in doxygen comment.
    160 
    161 2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    162 
    163 	Backported from master:
    164 	2023-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
    165 
    166 	* doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
    167 	HTML docs.
    168 	* include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
    169 	from doxygen docs.
    170 	* include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
    171 	Likewise.
    172 	* include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
    173 	Likewise.
    174 	* include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
    175 	Likewise.
    176 	* include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
    177 	(_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
    178 	(_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
    179 	(_DEFINE_BINARY_OPERATOR): Likewise.
    180 
    181 2023-04-21  Jonathan Wakely  <jwakely (a] redhat.com>
    182 
    183 	PR libstdc++/103755
    184 	* include/bits/locale_classes.tcc (try_facet, use_facet): Do not
    185 	check array index or dynamic type when accessing required
    186 	specializations of std::ctype, std::num_get, or std::num_put.
    187 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
    188 	expected errors.
    189 
    190 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    191 
    192 	Backported from master:
    193 	2022-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    194 
    195 	PR libstdc++/107852
    196 	PR libstdc++/106199
    197 	PR libstdc++/100366
    198 	* include/bits/vector.tcc (vector::_M_fill_insert): Copy
    199 	_M_start and _M_finish members before allocating.
    200 	(vector::_M_default_append): Likewise.
    201 	(vector::_M_range_insert): Likewise.
    202 
    203 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    204 
    205 	Backported from master:
    206 	2023-04-04  Jonathan Wakely  <jwakely (a] redhat.com>
    207 
    208 	* doc/xml/manual/extensions.xml: Remove std::bad_exception from
    209 	example program.
    210 	* doc/html/manual/ext_demangling.html: Regenerate.
    211 
    212 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    213 
    214 	Backported from master:
    215 	2023-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
    216 
    217 	* include/bits/regex.h (sub_match::swap): New function.
    218 	* testsuite/28_regex/sub_match/lwg3204.cc: New test.
    219 
    220 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    221 
    222 	Backported from master:
    223 	2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    224 
    225 	PR libstdc++/103387
    226 	* include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
    227 	std::use_facet instead of cached _M_num_get facet.
    228 	(istream::operator>>(short&)): Likewise.
    229 	(istream::operator>>(int&)): Likewise.
    230 	* include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
    231 	std::use_facet instead of cached _M_num_put facet.
    232 
    233 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    234 
    235 	Backported from master:
    236 	2023-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
    237 
    238 	* testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
    239 	dg-options.
    240 
    241 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    242 
    243 	Backported from master:
    244 	2023-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
    245 
    246 	* include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
    247 	Add overload, as per LWG 3893.
    248 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
    249 	Check assignment from nullptr.
    250 
    251 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    252 
    253 	Backported from master:
    254 	2023-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
    255 
    256 	* include/std/expected (expected::value() &): Use const lvalue
    257 	for unex member passed to bad_expected_access constructor, as
    258 	per LWG 3843.
    259 
    260 2023-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
    261 
    262 	Backported from master:
    263 	2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
    264 
    265 	* include/std/variant (variant::operator=): Implement resolution
    266 	of LWG 3585.
    267 	* testsuite/20_util/variant/lwg3585.cc: New test.
    268 
    269 2023-04-12  Patrick Palka  <ppalka (a] redhat.com>
    270 
    271 	Backported from master:
    272 	2023-04-12  Patrick Palka  <ppalka (a] redhat.com>
    273 
    274 	* src/c++17/floating_from_chars.cc: Include <algorithm>,
    275 	<iterator>, <limits> and <cstdint>.
    276 
    277 2023-03-30  Jonathan Wakely  <jwakely (a] redhat.com>
    278 
    279 	Backported from master:
    280 	2023-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
    281 
    282 	PR libstdc++/109242
    283 	* include/std/optional (transform): Use std::remove_cv_t.
    284 	* testsuite/20_util/optional/monadic/pr109242.cc: New test.
    285 
    286 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    287 
    288 	Backported from master:
    289 	2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
    290 
    291 	PR libstdc++/108118
    292 	* include/bits/shared_ptr_base.h (weak_ptr::operator=):
    293 	Implement as move-and-swap exactly as specified in the standard.
    294 	* testsuite/20_util/weak_ptr/cons/self_move.cc: New test.
    295 
    296 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    297 
    298 	Backported from master:
    299 	2022-11-03  Jonathan Wakely  <jwakely (a] redhat.com>
    300 
    301 	* include/bits/ranges_algobase.h (__detail::__copy_or_move):
    302 	Move output iterator.
    303 	* testsuite/25_algorithms/copy/constrained.cc: Check copying to
    304 	move-only output iterator.
    305 
    306 2023-03-28  Bjrn Schpers  <bjoern (a] hazardy.de>
    307 
    308 	Backported from master:
    309 	2023-01-14  Bjrn Schpers  <bjoern (a] hazardy.de>
    310 
    311 	* include/std/stacktrace (stacktrace_entry::_S_demangle): Use
    312 	raw __name if __cxa_demangle could not demangle it.
    313 
    314 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    315 
    316 	Backported from master:
    317 	2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    318 
    319 	* include/std/stacktrace (operator<<): Only output to narrow
    320 	ostreams (LWG 3515).
    321 	* testsuite/19_diagnostics/stacktrace/synopsis.cc:
    322 
    323 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    324 
    325 	Backported from master:
    326 	2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    327 
    328 	* include/bits/chrono.h (duration_cast, floor, round, abs, ceil)
    329 	(time_point_cast): Add [[nodiscard]] attribute and doxygen
    330 	comments.
    331 	(treat_as_floating_point): Add doxygen commen.
    332 
    333 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    334 
    335 	Backported from master:
    336 	2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    337 
    338 	* include/bits/chrono.h (duration, time_point): Change 'struct'
    339 	to 'class'.
    340 
    341 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    342 
    343 	Backported from master:
    344 	2023-01-26  Jonathan Wakely  <jwakely (a] redhat.com>
    345 
    346 	PR libstdc++/108554
    347 	* include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
    348 	nonnull attribute.
    349 	(_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
    350 	attributes.
    351 	* testsuite/23_containers/map/modifiers/108554.cc: New test.
    352 
    353 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    354 
    355 	Backported from master:
    356 	2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
    357 
    358 	* include/std/bitset (bitset::_M_copy_to_string): Find set bits
    359 	instead of iterating over individual bits.
    360 
    361 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    362 
    363 	Backported from master:
    364 	2022-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
    365 
    366 	* include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK):
    367 	Replace with ...
    368 	(_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag.
    369 	(_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using
    370 	try_lock_failed flag
    371 	(_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ...
    372 	(_GLIBCXX_TSAN_MUTEX_LOCKED): ... this.
    373 	(_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag.
    374 	(_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag.
    375 	(_Sp_atomic::_Atomic_count::lock): Use new macros.
    376 
    377 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    378 
    379 	Backported from master:
    380 	2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
    381 
    382 	* include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY)
    383 	(_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK)
    384 	(_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK)
    385 	(_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL):
    386 	Define macros for TSan annotation functions.
    387 	(_Sp_atomic::_Atomic_count): Add annotations.
    388 
    389 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    390 
    391 	Backported from master:
    392 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
    393 
    394 	* include/std/memory_resource (new_delete_resource): Add
    395 	nodiscard, returns_nonnull and const attributes.
    396 	(null_memory_resource): Likewise.
    397 	(set_default_resource, get_default_resource): Add returns_nonnull
    398 	attribute.
    399 	(memory_resource::is_equal): Add nodiscard attribute.
    400 	(operator==, operator!=): Likewise.
    401 
    402 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    403 
    404 	Backported from master:
    405 	2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
    406 
    407 	* include/std/future
    408 	(_State_baseV2::__setter(exception_ptr&, promise&)): Add
    409 	assertion for LWG 2276 precondition.
    410 	* testsuite/30_threads/promise/members/set_exception_neg.cc:
    411 	New test.
    412 
    413 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    414 
    415 	Backported from master:
    416 	2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
    417 
    418 	* include/c_global/cstddef (byte): Add always_inline attribute
    419 	to all operator overloads.
    420 	(to_integer): Add always_inline attribute.
    421 
    422 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    423 
    424 	Backported from master:
    425 	2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
    426 
    427 	* include/std/system_error (__adl_only::make_error_code): Add
    428 	deleted function.
    429 	(__adl_only::make_error_condition): Likewise.
    430 	(error_code::error_code(ErrorCodeEnum)): Add using-declaration
    431 	for deleted function.
    432 	(error_condition::error_condition(ErrorConditionEnum)):
    433 	Likewise.
    434 	* testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test.
    435 	* testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test.
    436 
    437 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    438 
    439 	Backported from master:
    440 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
    441 
    442 	* include/bits/ios_base.h (io_category): Add const and nodiscard
    443 	attributes.
    444 	(make_error_code, make_error_condition): Add nodiscard.
    445 	* include/std/future (future_category): Add const and nodiscard.
    446 	(make_error_code, make_error_condition): Add nodiscard.
    447 	* include/std/system_error (generic_category system_category):
    448 	Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute.
    449 	(error_code::value, error_code::category, error_code::operator bool)
    450 	(error_condition::value, error_condition::category)
    451 	(error_condition::operator bool, make_error_code)
    452 	(make_error_condition, operator==, operator!=, operator<=>): Add
    453 	nodiscard.
    454 
    455 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    456 
    457 	Backported from master:
    458 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    459 
    460 	* include/bits/std_thread.h (thread, thread::id): Improve
    461 	doxygen docs.
    462 	* include/std/future: Likewise.
    463 	* include/std/thread (jthread): Likewise.
    464 
    465 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    466 
    467 	Backported from master:
    468 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    469 
    470 	* include/std/system_error: Improve doxygen comments.
    471 
    472 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    473 
    474 	Backported from master:
    475 	2023-02-16  Jonathan Wakely  <jwakely (a] redhat.com>
    476 
    477 	* include/ext/throw_allocator.h: Use reserved names for
    478 	parameters.
    479 
    480 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    481 
    482 	Backported from master:
    483 	2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    484 
    485 	* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT
    486 	unless the AC_MSG_CHECKING happened.
    487 	* configure: Regenerate.
    488 
    489 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    490 
    491 	Backported from master:
    492 	2023-01-12  Jonathan Wakely  <jwakely (a] redhat.com>
    493 
    494 	* doc/xml/manual/abi.xml: Add latest library versions.
    495 	* doc/html/manual/abi.html: Regenerate.
    496 
    497 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    498 
    499 	Backported from master:
    500 	2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    501 
    502 	* include/bits/char_traits.h (char_traits::copy): Return without
    503 	using memcpy if n==0.
    504 	(char_traits::assign): Likewise for memset.
    505 
    506 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    507 
    508 	Backported from master:
    509 	2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    510 
    511 	PR libstdc++/109299
    512 	* include/bits/basic_string.h (basic_string::_M_is_local()): Add
    513 	hint for compiler that local strings fit in the local buffer.
    514 
    515 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    516 
    517 	Backported from master:
    518 	2023-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
    519 
    520 	* include/bits/cow_string.h: Fix typo in comment.
    521 
    522 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    523 
    524 	Backported from master:
    525 	2023-02-16  Jonathan Wakely  <jwakely (a] redhat.com>
    526 
    527 	* include/experimental/optional: Fix header name in comment.
    528 
    529 2023-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
    530 
    531 	Backported from master:
    532 	2023-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
    533 
    534 	PR libstdc++/108413
    535 	* include/c_compatibility/stdatomic.h: Change copyright line to
    536 	be consistent with other headers contributed under DCO terms.
    537 	* include/std/expected: Add full stop to copyright line.
    538 
    539 2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
    540 
    541 	Backported from master:
    542 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
    543 
    544 	* include/experimental/bits/simd_x86.h
    545 	(_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
    546 	with __RECIPROCAL_MATH__.
    547 
    548 2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
    549 
    550 	Backported from master:
    551 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
    552 
    553 	* include/experimental/bits/simd_detail.h: Don't define
    554 	_GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
    555 	* include/experimental/bits/simd_x86.h (_S_divides): Remove
    556 	check for __clang__.
    557 
    558 2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
    559 
    560 	Backported from master:
    561 	2023-03-21  Matthias Kretz  <m.kretz (a] gsi.de>
    562 
    563 	* testsuite/experimental/simd/tests/operators.cc: Clang doesn't
    564 	define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
    565 
    566 2023-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
    567 
    568 	Backported from master:
    569 	2022-11-16  Franois Dumont  <fdumont (a] gcc.gnu.org>
    570 
    571 	* python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field
    572 	'template'. Add self.targ1 to specify the first template parameter of the instantiation
    573 	to match.
    574 	(add_one_type_printer): Add targ1 optional parameter, default to None.
    575 	Use gdb.types.get_basic_type to compare the type to recognize and the type
    576 	returned from the typedef lookup.
    577 	(register_type_printers): Adapt calls to add_one_type_printers.
    578 
    579 2023-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
    580 
    581 	Backported from master:
    582 	2022-10-03  Franois Dumont  <fdumont (a] gcc.gnu.org>
    583 
    584 	* python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version
    585 	namespace for __cxx11 symbols.
    586 	(add_one_template_type_printer): Likewise.
    587 	(add_one_type_printer): Likewise.
    588 	(FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al
    589 	ambiguous typedef matching both std:: and std::__cxx11:: symbols.
    590 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete
    591 	\#define _GLIBCXX_USE_CXX11_ABI 0.
    592 	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept
    593 	std::__cxx11::list.
    594 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
    595 	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
    596 	* testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20
    597 	and debug mode.
    598 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
    599 
    600 2023-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
    601 
    602 	Backported from master:
    603 	2022-09-22  Franois Dumont  <fdumont (a] gcc.gnu.org>
    604 
    605 	* python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing
    606 	types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue,
    607 	std::__debug::priority_queue.
    608 
    609 2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
    610 
    611 	Backported from master:
    612 	2023-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
    613 
    614 	PR libstdc++/109064
    615 	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
    616 	Remove self-recursion in __init__. Add missing _supports.
    617 	* testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
    618 	and unique().
    619 
    620 2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
    621 
    622 	PR libstdc++/109182
    623 	* include/std/expected (expected<void>::expected(in_place_t)):
    624 	Remove template-head.
    625 
    626 2023-03-20  Jonathan Wakely  <jwakely (a] redhat.com>
    627 
    628 	PR libstdc++/109165
    629 	* include/std/coroutine (hash<>::operator()): Add const.
    630 	* testsuite/18_support/coroutines/hash.cc: New test.
    631 
    632 2023-03-10  Thomas W Rodgers  <rodgert (a] twrodgers.com>
    633 
    634 	Backported from master:
    635 	2023-02-14  Thomas W Rodgers  <rodgert (a] twrodgers.com>
    636 
    637 	PR libstdc++/103934
    638 	* include/std/atomic (atomic_flag_wait): Add.
    639 	(atomic_flag_wait_explicit): Add.
    640 	(atomic_flag_notify): Add.
    641 	(atomic_flag_notify_explicit): Add.
    642 	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
    643 	Add test case to cover missing atomic_flag free functions.
    644 
    645 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    646 
    647 	Backported from master:
    648 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    649 
    650 	PR libstdc++/108030
    651 	* include/experimental/bits/simd.h (__vector_broadcast):
    652 	Implement via __vector_broadcast_impl instead of
    653 	__call_with_n_evaluations + 2 lambdas.
    654 	(__vector_broadcast_impl): New.
    655 
    656 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    657 
    658 	Backported from master:
    659 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    660 
    661 	* include/experimental/bits/simd_builtin.h (_S_set): Compare as
    662 	int. The actual range of these indexes is very small.
    663 
    664 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    665 
    666 	Backported from master:
    667 	2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    668 
    669 	* include/experimental/bits/simd_x86.h (_S_bit_shift_left)
    670 	(_S_bit_shift_right): Declare constexpr. The implementation was
    671 	already expecting constexpr evaluation.
    672 
    673 2023-02-23  Matthias Kretz  <m.kretz (a] gsi.de>
    674 
    675 	Backported from master:
    676 	2023-02-20  Matthias Kretz  <m.kretz (a] gsi.de>
    677 
    678 	* include/experimental/bits/simd.h (__extract_part, split):
    679 	Use reserved name for template parameter.
    680 
    681 2023-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
    682 
    683 	Backported from master:
    684 	2022-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
    685 
    686 	* include/bits/refwrap.h (reference_wrapper::operator()): Add
    687 	noexcept-specifier and use __invoke_result instead of result_of.
    688 	* testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test.
    689 
    690 2023-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
    691 
    692 	Backported from master:
    693 	2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
    694 
    695 	PR libstdc++/108636
    696 	* include/bits/fs_path.h (path::path(string_view, _Type))
    697 	(path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
    698 	definitions to ...
    699 	* src/c++17/fs_path.cc: ... here.
    700 	* testsuite/27_io/filesystem/path/108636.cc: New test.
    701 
    702 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    703 
    704 	Backported from master:
    705 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    706 
    707 	* include/experimental/bits/simd_math.h (__hypot): Bitcasting
    708 	between scalars requires the __bit_cast helper function instead
    709 	of simd_bit_cast.
    710 
    711 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    712 
    713 	Backported from master:
    714 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    715 
    716 	* include/experimental/bits/simd_x86.h
    717 	(_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
    718 	(_SimdImplX86::_S_less_equal): Do not call
    719 	__builtin_is_constant_evaluated in constexpr-if.
    720 
    721 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    722 
    723 	Backported from master:
    724 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    725 
    726 	* testsuite/experimental/simd/tests/bits/verify.h
    727 	(verify::verify): Use %zx for size_t in format string.
    728 
    729 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    730 
    731 	Backported from master:
    732 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    733 
    734 	* testsuite/experimental/simd/README.md: Document the timeout
    735 	and timeout-factor directives. Minor typo fixed.
    736 
    737 2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    738 
    739 	Backported from master:
    740 	2023-02-16  Matthias Kretz  <m.kretz (a] gsi.de>
    741 
    742 	* include/experimental/bits/simd.h
    743 	(_SimdWrapper::_M_is_constprop_none_of)
    744 	(_SimdWrapper::_M_is_constprop_all_of): Return false unless the
    745 	computed result still satisfies __builtin_constant_p.
    746 
    747 2023-02-14  Thomas W Rodgers  <rodgert (a] twrodgers.com>
    748 
    749 	Backported from master:
    750 	2023-02-14  Thomas W Rodgers  <rodgert (a] twrodgers.com>
    751 
    752 	PR libstdc++/103934
    753 	* include/std/atomic (atomic_flag_test): Add.
    754 	(atomic_flag_test_explicit): Add.
    755 	* testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
    756 	test case to cover missing atomic_flag free functions.
    757 	* testsuite/29_atomics/atomic_flag/test/implicit.cc:
    758 	Likewise.
    759 
    760 2023-02-10  Jakub Jelinek  <jakub (a] redhat.com>
    761 
    762 	Backported from master:
    763 	2022-11-24  Jakub Jelinek  <jakub (a] redhat.com>
    764 
    765 	PR libstdc++/107468
    766 	* src/c++17/fast_float/fast_float.h: Partial merge from fast_float
    767 	2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit.
    768 
    769 2023-02-10  Jakub Jelinek  <jakub (a] redhat.com>
    770 
    771 	Backported from master:
    772 	2022-11-07  Jakub Jelinek  <jakub (a] redhat.com>
    773 
    774 	PR libstdc++/107468
    775 	* src/c++17/fast_float/fast_float.h: Partial merge from fast_float
    776 	662497742fea7055f0e0ee27e5a7ddc382c2c38e commit.
    777 	* testsuite/20_util/from_chars/pr107468.cc: New test.
    778 
    779 2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
    780 
    781 	Backported from master:
    782 	2023-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
    783 
    784 	* src/c++11/random.cc (random_device::_M_fini): Do not try to
    785 	close the file handle if the target doesn't support the
    786 	/dev/random and /dev/urandom files.
    787 
    788 2023-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
    789 
    790 	Backported from master:
    791 	2023-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
    792 
    793 	* config/os/generic/error_constants.h (errc::value_too_large)
    794 	[__AVR__]: Define.
    795 	* src/c++11/system_error.cc
    796 	(system_category::default_error_condition) [__AVR__]: Only match
    797 	recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
    798 	* src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
    799 	for ENOENT etc. in switch.
    800 	(fs::remove_all) [__AVR__]: Likewise.
    801 	* src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
    802 	close etc.
    803 
    804 2023-02-02  Patrick Palka  <ppalka (a] redhat.com>
    805 
    806 	Backported from master:
    807 	2022-11-06  Patrick Palka  <ppalka (a] redhat.com>
    808 
    809 	* include/bits/atomic_wait.h (_detail::__platform_wait_alignment):
    810 	Declare inline.  Remove redundant static specifier.
    811 	(__detail::__atomic_spin_count_relax): Declare inline.
    812 	(__detail::__atomic_spin_count): Likewise.
    813 	* include/bits/regex_automaton.h (__detail::_S_invalid_state_id):
    814 	Declare inline for C++17.  Declare constexpr.  Remove
    815 	redundant const and static specifiers.
    816 	* include/bits/regex_error.h (regex_constants::error_collate):
    817 	Declare inline for C++17 as per P0607R0.
    818 	(regex_constants::error_ctype): Likewise.
    819 	(regex_constants::error_escape): Likewise.
    820 	(regex_constants::error_backref): Likewise.
    821 	(regex_constants::error_brack): Likewise.
    822 	(regex_constants::error_paren): Likewise.
    823 	(regex_constants::error_brace): Likewise.
    824 	(regex_constants::error_badbrace): Likewise.
    825 	(regex_constants::error_range): Likewise.
    826 	(regex_constants::error_space): Likewise.
    827 	(regex_constants::error_badrepeat): Likewise.
    828 	(regex_constants::error_complexity): Likewise.
    829 	(regex_constants::error_stack): Likewise.
    830 	* include/ext/concurrence.h (__gnu_cxx::__default_lock_policy):
    831 	Likewise.  Remove redundant static specifier.
    832 	* include/pstl/execution_defs.h (execution::seq): Declare inline
    833 	for C++17 as per P0607R0.
    834 	(execution::par): Likewise.
    835 	(execution::par_unseq): Likewise.
    836 	(execution::unseq): Likewise.
    837 
    838 2023-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
    839 
    840 	Backported from master:
    841 	2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
    842 
    843 	PR libstdc++/105730
    844 	* src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
    845 	Access private data member of base class and call its wait
    846 	member.
    847 
    848 2023-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
    849 
    850 	Backported from master:
    851 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
    852 
    853 	PR libstdc++/106183
    854 	* include/bits/atomic_wait.h (__waiter_pool_base::_M_notify):
    855 	Move increment of _M_ver here.
    856 	[!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment.
    857 	Use relaxed memory order and always notify all waiters.
    858 	(__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]:
    859 	Check value again after locking mutex.
    860 	(__waiter_base::_M_notify): Remove increment of _M_ver.
    861 
    862 2023-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
    863 
    864 	Backported from master:
    865 	2023-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
    866 
    867 	PR libstdc++/108265
    868 	* include/std/chrono (hh_mm_ss): Do not use chrono::abs if
    869 	duration rep is unsigned. Remove incorrect noexcept-specifier.
    870 	* testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. Check
    871 	floating-point representations. Check default construction.
    872 
    873 2022-12-21  Jonathan Wakely  <jwakely (a] redhat.com>
    874 
    875 	Backported from master:
    876 	2022-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
    877 
    878 	PR libstdc++/107814
    879 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
    880 	Use a static buffer with space after it.
    881 
    882 2022-12-21  Jonathan Wakely  <jwakely (a] redhat.com>
    883 
    884 	Backported from master:
    885 	2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
    886 
    887 	* include/std/expected (expected::_M_swap_val_unex): Guard the
    888 	correct object.
    889 	(expected::swap): Move is_swappable
    890 	requirement from static_assert to constraint.
    891 	(swap): Likewise.
    892 	(operator==): Remove noexcept-specifier.
    893 	* testsuite/20_util/expected/swap.cc: Check swapping of
    894 	types without non-throwing move constructor. Check constraints
    895 	on swap.
    896 	* testsuite/20_util/expected/unexpected.cc: Check constraints on
    897 	swap.
    898 	* testsuite/20_util/expected/equality.cc: New test.
    899 
    900 2022-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
    901 
    902 	Backported from master:
    903 	2022-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
    904 
    905 	PR libstdc++/108097
    906 	* include/std/stacktrace (basic_stracktrace::_Impl): Do not
    907 	multiply N by sizeof(value_type) when allocating.
    908 
    909 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    910 
    911 	Backported from master:
    912 	2022-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
    913 
    914 	* include/std/memory: Do not include <bits/stl_algobase.h>.
    915 
    916 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    917 
    918 	Backported from master:
    919 	2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    920 
    921 	* testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
    922 	const qualifier.
    923 	* testsuite/26_numerics/valarray/87641.cc (X::operator==):
    924 	Likewise.
    925 
    926 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    927 
    928 	Backported from master:
    929 	2022-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
    930 
    931 	* include/std/expected (expected::_M_invalid): Remove.
    932 
    933 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    934 
    935 	Backported from master:
    936 	2022-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
    937 
    938 	* include/bits/chrono.h (duration): Check preconditions on
    939 	template arguments before using them.
    940 
    941 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    942 
    943 	Backported from master:
    944 	2022-10-28  Jonathan Wakely  <jwakely (a] redhat.com>
    945 
    946 	* include/bits/fs_path.h (path::filename()): Fix dangling
    947 	reference.
    948 
    949 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    950 
    951 	Backported from master:
    952 	2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
    953 
    954 	* doc/xml/manual/intro.xml: Document LWG 1203.
    955 	* doc/html/*: Regenerate.
    956 
    957 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    958 
    959 	Backported from master:
    960 	2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
    961 
    962 	* include/std/barrier: Add missing runtime exception.
    963 
    964 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    965 
    966 	Backported from master:
    967 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
    968 
    969 	* include/bits/fs_dir.h (directory_iterator): Add comparison
    970 	with std::default_sentinel_t. Remove redundant operator!= for
    971 	C++20.
    972 	* (recursive_directory_iterator): Likewise.
    973 	* include/bits/iterator_concepts.h [!__cpp_lib_concepts]
    974 	(default_sentinel_t, default_sentinel): Define even if concepts
    975 	are not supported.
    976 	* include/bits/regex.h (regex_iterator): Add comparison with
    977 	std::default_sentinel_t. Remove redundant operator!= for C++20.
    978 	(regex_token_iterator): Likewise.
    979 	(regex_token_iterator::_M_end_of_seq()): Add noexcept.
    980 	* testsuite/27_io/filesystem/iterators/lwg3719.cc: New test.
    981 	* testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
    982 	New test.
    983 	* testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
    984 	New test.
    985 
    986 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    987 
    988 	Backported from master:
    989 	2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
    990 
    991 	PR libstdc++/91456
    992 	* include/std/type_traits (__is_nothrow_invocable): Remove.
    993 	(__is_invocable_impl::__nothrow_type): New member type which
    994 	checks if the conversion can throw.
    995 	(__is_nt_invocable_impl): Replace class template with alias
    996 	template to __is_nt_invocable_impl::__nothrow_type.
    997 	* testsuite/20_util/is_nothrow_invocable/91456.cc: New test.
    998 	* testsuite/20_util/is_nothrow_convertible/value.cc: Remove
    999 	macro used by value_ext.cc test.
   1000 	* testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove
   1001 	test for non-standard __is_nothrow_invocable trait.
   1002 
   1003 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1004 
   1005 	PR libstdc++/106201
   1006 	* include/bits/fs_path.h (filesystem::swap(path&, path&)):
   1007 	Replace with abbreviated function template.
   1008 	* include/experimental/bits/fs_path.h (filesystem::swap):
   1009 	Likewise.
   1010 	* testsuite/27_io/filesystem/iterators/106201.cc: New test.
   1011 	* testsuite/experimental/filesystem/iterators/106201.cc: New test.
   1012 
   1013 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1014 
   1015 	Backported from master:
   1016 	2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1017 
   1018 	PR libstdc++/107801
   1019 	* src/c++17/memory_resource.cc (pool_sizes): Disable large pools
   1020 	for targets with 16-bit int.
   1021 
   1022 2022-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1023 
   1024 	* include/bits/mofunc_impl.h (move_only_function::__param_t):
   1025 	Use __is_scalar instead of is_trivially_copyable.
   1026 	* testsuite/20_util/move_only_function/call.cc: Check parameters
   1027 	involving incomplete types.
   1028 
   1029 2022-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1030 
   1031 	Backported from master:
   1032 	2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1033 
   1034 	PR libstdc++/95048
   1035 	* include/bits/fs_path.h (path::_Codecvt): New class template
   1036 	that selects the kind of code conversion done.
   1037 	(path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
   1038 	(_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
   1039 	be used for Windows and POSIX.
   1040 	(path::_S_convert(const EcharT*, const EcharT*)): Simplify by
   1041 	using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
   1042 	(path::_S_str_convert(basic_string_view<value_type>, const A&)):
   1043 	Simplify nested conditions.
   1044 	* include/experimental/bits/fs_path.h (path::_Cvt): Define
   1045 	nested typedef controlling type of code conversion done.
   1046 	(path::_Cvt::_S_wconvert): Use new typedef.
   1047 	(path::string(const A&)): Likewise.
   1048 	* testsuite/27_io/filesystem/path/construct/95048.cc: New test.
   1049 	* testsuite/experimental/filesystem/path/construct/95048.cc: New
   1050 	test.
   1051 
   1052 2022-11-14  Nathaniel Shead  <nathanieloshead (a] gmail.com>
   1053 
   1054 	Backported from master:
   1055 	2022-11-11  Nathaniel Shead  <nathanieloshead (a] gmail.com>
   1056 
   1057 	PR libstdc++/103295
   1058 	* include/bits/basic_string.h (_M_use_local_data): Set active
   1059 	member to _M_local_buf.
   1060 
   1061 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1062 
   1063 	Backported from master:
   1064 	2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1065 
   1066 	* doc/xml/authors.xml: Remove empty author element.
   1067 	* doc/xml/manual/spine.xml: Likewise.
   1068 	* doc/html/manual/index.html: Regenerate.
   1069 
   1070 2022-10-19  Alexandre Oliva  <oliva (a] adacore.com>
   1071 
   1072 	Backported from master:
   1073 	2022-06-22  Alexandre Oliva  <oliva (a] adacore.com>
   1074 
   1075 	* libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS]
   1076 	(__eh_globals_init::~__eh_globals_init): Clear _S_init first.
   1077 
   1078 2022-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1079 
   1080 	Backported from master:
   1081 	2022-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1082 
   1083 	* doc/xml/manual/evolution.xml: Document std::bind API
   1084 	changes.
   1085 	* doc/xml/manual/intro.xml: Document LWG 2487 status.
   1086 	* doc/xml/manual/using.xml: Clarify default value of
   1087 	_GLIBCXX_USE_DEPRECATED.
   1088 	* doc/html/*: Regenerate.
   1089 	* include/std/functional (_Bind::operator()(Args&&...) volatile)
   1090 	(_Bind::operator()(Args&&...) const volatile)
   1091 	(_Bind_result::operator()(Args&&...) volatile)
   1092 	(_Bind_result::operator()(Args&&...) const volatile): Replace
   1093 	with deleted overload for C++20 and later.
   1094 	* testsuite/20_util/bind/cv_quals.cc: Check for deprecated
   1095 	warnings in C++17.
   1096 	* testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for
   1097 	ill-formed in C++20.
   1098 
   1099 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1100 
   1101 	* doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 version.
   1102 	* doc/html/manual/abi.html: Regenerate.
   1103 
   1104 2022-09-12  Patrick Palka  <ppalka (a] redhat.com>
   1105 
   1106 	Backported from master:
   1107 	2022-09-12  Patrick Palka  <ppalka (a] redhat.com>
   1108 
   1109 	PR libstdc++/106320
   1110 	* testsuite/std/ranges/adaptors/join.cc (test13): New test.
   1111 
   1112 2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1113 
   1114 	Backported from master:
   1115 	2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1116 
   1117 	PR libstdc++/106695
   1118 	* include/bits/std_thread.h (thread::_State_impl): Forward
   1119 	individual arguments to _Invoker constructor.
   1120 	(thread::_Invoker): Add constructor. Delete copies.
   1121 	* include/std/future (__future_base::_Deferred_state): Forward
   1122 	individual arguments to _Invoker constructor.
   1123 	(__future_base::_Async_state_impl): Likewise.
   1124 	* testsuite/30_threads/async/106695.cc: New test.
   1125 	* testsuite/30_threads/thread/106695.cc: New test.
   1126 
   1127 2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1128 
   1129 	Backported from master:
   1130 	2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1131 
   1132 	PR libstdc++/106607
   1133 	* include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value):
   1134 	Use built-ins to check for integer overflow in back-reference
   1135 	number.
   1136 	* testsuite/28_regex/basic_regex/106607.cc: New test.
   1137 
   1138 2022-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1139 
   1140 	Backported from master:
   1141 	2022-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1142 
   1143 	PR libstdc++/106589
   1144 	* include/std/variant (__do_visit): Handle is_void<R> for zero
   1145 	argument case.
   1146 	* testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v).
   1147 
   1148 2022-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1149 
   1150 	Backported from master:
   1151 	2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1152 
   1153 	PR libstdc++/105678
   1154 	* doc/xml/manual/using.xml: Document -lstdc++_libbacktrace
   1155 	requirement for using std::stacktrace. Also adjust -frtti and
   1156 	-fexceptions to document non-default (i.e. negative) forms.
   1157 	* doc/html/*: Regenerate.
   1158 
   1159 2022-08-19  Release Manager
   1160 
   1161 	* GCC 12.2.0 released.
   1162 
   1163 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1164 
   1165 	Backported from master:
   1166 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1167 
   1168 	* include/std/string_view (basic_string_view(Range&&)): Add
   1169 	explicit as per P2499R0.
   1170 	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
   1171 	Adjust implicit conversions. Check implicit conversions fail.
   1172 	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
   1173 	Likewise.
   1174 
   1175 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1176 
   1177 	Backported from master:
   1178 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1179 
   1180 	* include/std/expected (unexpected::_M_val): Rename to _M_unex.
   1181 	(bad_expected_access::_M_val): Likewise.
   1182 
   1183 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1184 
   1185 	Backported from master:
   1186 	2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1187 
   1188 	* include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update
   1189 	value to 202207L.
   1190 	* include/std/version (__cpp_lib_ios_noreplace): Likewise.
   1191 	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check
   1192 	for new value.
   1193 	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
   1194 	Likewise.
   1195 
   1196 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1197 
   1198 	Backported from master:
   1199 	2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1200 
   1201 	* src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with
   1202 	current() returning _At_path.
   1203 	(_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust.
   1204 	* src/filesystem/dir-common.h (_Dir_base::_At_path): New class.
   1205 	(_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path.
   1206 	* src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with
   1207 	current() returning _At_path.
   1208 	(_Dir::_Dir, _Dir::open_subdir): Adjust.
   1209 
   1210 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1211 
   1212 	Backported from master:
   1213 	2022-07-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1214 
   1215 	PR libstdc++/104443
   1216 	* include/bits/stl_iterator.h (common_iterator::operator->):
   1217 	Change return type to just auto.
   1218 
   1219 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1220 
   1221 	Backported from master:
   1222 	2022-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1223 
   1224 	PR libstdc++/106248
   1225 	* include/std/istream [C++17] (operator>>(istream&, char*)):
   1226 	Set eofbit if we stopped extracting at EOF.
   1227 	* testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc:
   1228 	New test.
   1229 	* testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc:
   1230 	New test.
   1231 
   1232 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1233 
   1234 	Backported from master:
   1235 	2022-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1236 
   1237 	* include/bits/fs_ops.h: Add nodiscard to all pure functions.
   1238 	* include/experimental/bits/fs_ops.h: Likewise.
   1239 	* testsuite/27_io/filesystem/operations/all.cc: Do not discard
   1240 	results of absolute and canonical.
   1241 	* testsuite/27_io/filesystem/operations/absolute.cc: Cast
   1242 	discarded result to void.
   1243 	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
   1244 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   1245 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   1246 	* testsuite/27_io/filesystem/operations/read_symlink.cc:
   1247 	Likewise.
   1248 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   1249 	* testsuite/27_io/filesystem/operations/symlink_status.cc:
   1250 	Likewise.
   1251 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   1252 	Likewise.
   1253 	* testsuite/experimental/filesystem/operations/canonical.cc:
   1254 	Likewise.
   1255 	* testsuite/experimental/filesystem/operations/exists.cc:
   1256 	Likewise.
   1257 	* testsuite/experimental/filesystem/operations/is_empty.cc:
   1258 	Likewise.
   1259 	* testsuite/experimental/filesystem/operations/read_symlink.cc:
   1260 	Likewise.
   1261 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   1262 	Likewise.
   1263 
   1264 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1265 
   1266 	Backported from master:
   1267 	2022-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1268 
   1269 	PR libstdc++/105995
   1270 	* include/bits/basic_string.h (_M_use_local_data): Initialize
   1271 	the entire SSO buffer.
   1272 	* testsuite/21_strings/basic_string/cons/char/105995.cc: New test.
   1273 
   1274 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1275 
   1276 	Backported from master:
   1277 	2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1278 
   1279 	* include/bits/new_allocator.h: Fix indentation.
   1280 	* include/ext/malloc_allocator.h: Likewise.
   1281 
   1282 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1283 
   1284 	Backported from master:
   1285 	2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1286 
   1287 	PR libstdc++/105957
   1288 	* include/bits/allocator.h (allocator::allocate): Check for
   1289 	overflow in constexpr allocation.
   1290 	* testsuite/20_util/allocator/105975.cc: New test.
   1291 
   1292 2022-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1293 
   1294 	Backported from master:
   1295 	2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1296 
   1297 	PR libstdc++/105844
   1298 	* include/experimental/numeric (experimental::gcd): Simplify
   1299 	assertions. Use __abs_r instead of __absu.
   1300 	(experimental::lcm): Likewise. Remove use of __detail::__lcm so
   1301 	overflow can be detected.
   1302 	* include/std/numeric (__detail::__absu): Rename to __abs_r and
   1303 	change to allow signed result type, so overflow can be detected.
   1304 	(__detail::__lcm): Remove.
   1305 	(gcd): Simplify assertions. Use __abs_r instead of __absu.
   1306 	(lcm): Likewise. Remove use of __detail::__lcm so overflow can
   1307 	be detected.
   1308 	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines.
   1309 	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
   1310 	* testsuite/26_numerics/gcd/105844.cc: New test.
   1311 	* testsuite/26_numerics/lcm/105844.cc: New test.
   1312 
   1313 2022-07-26  Thomas Rodgers  <trodgers (a] redhat.com>
   1314 
   1315 	Backported from master:
   1316 	2022-07-26  Thomas Rodgers  <trodgers (a] redhat.com>
   1317 
   1318 	* include/bits/atomic_wait.h (__atomic_spin): Merge spin loops.
   1319 
   1320 2022-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1321 
   1322 	Backported from master:
   1323 	2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1324 
   1325 	* src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
   1326 	Always store pathname if we don't have openat or unlinkat,
   1327 	because the full path is needed to open sub-directories and
   1328 	remove entries.
   1329 
   1330 2022-07-22  Alexandre Oliva  <oliva (a] adacore.com>
   1331 
   1332 	Backported from master:
   1333 	2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   1334 
   1335 	* src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
   1336 	_GLIBCXX_HAVE_OPENAT.
   1337 
   1338 2022-07-22  Alexandre Oliva  <oliva (a] adacore.com>
   1339 
   1340 	Backported from master:
   1341 	2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   1342 
   1343 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
   1344 	openat.
   1345 	* configure, config.h.in: Rebuilt.
   1346 	* src/filesystem/dir-common.h (openat): Use ::openat if
   1347 	_GLIBCXX_HAVE_OPENAT.
   1348 	* src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
   1349 	_GLIBCXX_HAVE_OPENAT.
   1350 
   1351 2022-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1352 
   1353 	Backported from master:
   1354 	2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1355 
   1356 	* include/std/stacktrace: Do not include <cxxabi.h>.
   1357 	(__cxa_demangle): Declare.
   1358 
   1359 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1360 
   1361 	Backported from master:
   1362 	2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1363 
   1364 	PR libstdc++/100823
   1365 	* include/bits/stl_iterator.h (common_iterator): Define move
   1366 	constructor and move assignment operator.
   1367 	(common_iterator::_M_assign): New function implementing
   1368 	assignment.
   1369 	(common_iterator::operator=): Use _M_assign.
   1370 	(common_iterator::_S_valueless): New constant.
   1371 	* testsuite/24_iterators/common_iterator/100823.cc: New test.
   1372 
   1373 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1374 
   1375 	Backported from master:
   1376 	2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1377 
   1378 	* include/bits/stl_iterator.h (common_iterator): Fix incorrect
   1379 	uses of is_nothrow_assignable_v. Fix inconsistent constraints on
   1380 	friend declaration. Do not move argument in copy constructor.
   1381 	* testsuite/24_iterators/common_iterator/1.cc: Check for
   1382 	noexcept constructibnle/assignable.
   1383 
   1384 2022-07-21  Nathan Sidwell  <nathan (a] acm.org>
   1385 
   1386 	Backported from master:
   1387 	2022-05-26  Nathan Sidwell  <nathan (a] acm.org>
   1388 
   1389 	* include/bits/hashtable.h: Include required headers.
   1390 	* include/bits/hashtable_policy.h: Likewise.
   1391 	* include/bits/stl_heap.h: Likewise.
   1392 	* include/bits/stl_iterator_base_funcs.h: Likewise.
   1393 
   1394 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1395 
   1396 	Backported from master:
   1397 	2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1398 
   1399 	* include/bits/utility.h: Fix comment typos.
   1400 
   1401 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1402 
   1403 	Backported from master:
   1404 	2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1405 
   1406 	* testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math
   1407 	functions are available.
   1408 
   1409 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1410 
   1411 	Backported from master:
   1412 	2022-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1413 
   1414 	* testsuite/26_numerics/random/random_device/entropy.cc: Use
   1415 	numeric_limits<unsigned>::digits.
   1416 
   1417 2022-07-21  Marco Falke  <falke.marco (a] gmail.com>
   1418 
   1419 	Backported from master:
   1420 	2022-07-19  Marco Falke  <falke.marco (a] gmail.com>
   1421 
   1422 	* include/std/charconv (__from_chars_alnum_to_val): Replace
   1423 	implicit conversion from int to unsigned char with explicit
   1424 	cast.
   1425 
   1426 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1427 
   1428 	Backported from master:
   1429 	2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1430 
   1431 	PR libstdc++/88881
   1432 	* src/filesystem/ops.cc (has_trailing_slash): New helper
   1433 	function.
   1434 	(fs::status): Strip trailing slashes.
   1435 	(fs::symlink_status): Likewise.
   1436 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   1437 	Clean the environment before each test and use TMP instead of
   1438 	TMPDIR so the test passes on Windows.
   1439 
   1440 2022-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1441 
   1442 	Backported from master:
   1443 	2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1444 
   1445 	PR libstdc++/105880
   1446 	* libsupc++/eh_globals.cc (eh_globals): Ensure constant init and
   1447 	prevent destruction during termination.
   1448 	(__eh_globals_init::_M_init): Replace with static member _S_init.
   1449 	(__cxxabiv1::__cxa_get_globals_fast): Update.
   1450 	(__cxxabiv1::__cxa_get_globals): Likewise.
   1451 
   1452 2022-07-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1453 
   1454 	Backported from master:
   1455 	2022-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1456 
   1457 	PR libstdc++/106162
   1458 	* include/Makefile.am (largefile-config.h): Add
   1459 	stamp-${host_alias} prerequisite.
   1460 	* include/Makefile.in: Regenerate.
   1461 
   1462 2022-07-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1463 
   1464 	Backported from master:
   1465 	2022-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1466 
   1467 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
   1468 	rmdir to remove directories.
   1469 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   1470 	Likewise.
   1471 
   1472 2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1473 
   1474 	Backported from master:
   1475 	2022-06-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1476 
   1477 	* include/std/atomic (__atomic_val_t): Use __type_identity_t
   1478 	instead of atomic<T>::value_type, as per LWG 3220.
   1479 	* testsuite/29_atomics/atomic/lwg3220.cc: New test.
   1480 
   1481 2022-06-14  Mark Mentovai  <mark (a] mentovai.com>
   1482 
   1483 	Backported from master:
   1484 	2022-06-13  Mark Mentovai  <mark (a] mentovai.com>
   1485 
   1486 	* include/experimental/bits/fs_path.h (__detail::__null_terminated):
   1487 	Rename to __nul_terminated to avoid colliding with a macro in
   1488 	Apple's SDK.
   1489 
   1490 2022-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1491 
   1492 	Backported from master:
   1493 	2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1494 
   1495 	PR libstdc++/105671
   1496 	* include/std/sstream (basic_stringbuf::_M_high_mark): Add
   1497 	always_inline attribute.
   1498 
   1499 2022-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1500 
   1501 	Backported from master:
   1502 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1503 
   1504 	PR libstdc++/105681
   1505 	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
   1506 	Limit ga_sizes array to values that fit in size_t.
   1507 	* include/ext/random [__SIZE_WIDTH < 32] (sfmt86243)
   1508 	(sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091)
   1509 	(sfmt216091_64): Do not declare.
   1510 
   1511 2022-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1512 
   1513 	Backported from master:
   1514 	2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1515 
   1516 	* include/bits/basic_string.h: Do not include <ext/atomicity.h>
   1517 	here.
   1518 	* include/bits/cow_string.h: Include it here.
   1519 
   1520 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1521 
   1522 	Backported from master:
   1523 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1524 
   1525 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make
   1526 	lookup for ios_errc and future_errc check versioned namespace.
   1527 	(StdAtomicPrinter): Strip versioned namespace from typename.
   1528 
   1529 2022-05-27  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1530 
   1531 	Backported from master:
   1532 	2022-05-26  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1533 
   1534 	* python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__):
   1535 	Strip typename from version namespace.
   1536 
   1537 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1538 
   1539 	Backported from master:
   1540 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1541 
   1542 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip
   1543 	versioned namespace from the template argument too.
   1544 
   1545 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1546 
   1547 	Backported from master:
   1548 	2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1549 
   1550 	* include/bits/stl_iterator.h (counted_iterator::operator++(int)):
   1551 	Add 'constexpr' as per LWG 3643.
   1552 	* testsuite/24_iterators/counted_iterator/lwg3643.cc: New test.
   1553 
   1554 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1555 
   1556 	Backported from master:
   1557 	2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1558 
   1559 	* include/std/memory_resource (polymorphic_allocator): Add
   1560 	non-template equality operator, as proposed for LWG 3683.
   1561 	* testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test.
   1562 
   1563 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1564 
   1565 	Backported from master:
   1566 	2022-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1567 
   1568 	* testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc:
   1569 	Run fewer iterations for simulator targets.
   1570 	* testsuite/26_numerics/random/binomial_distribution/operators/values.cc:
   1571 	Likewise.
   1572 	* testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
   1573 	Likewise.
   1574 	* testsuite/26_numerics/random/geometric_distribution/operators/values.cc:
   1575 	Likewise.
   1576 	* testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc:
   1577 	Likewise.
   1578 	* testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
   1579 	Likewise.
   1580 	* testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc:
   1581 	Likewise.
   1582 
   1583 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1584 
   1585 	Backported from master:
   1586 	2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1587 
   1588 	* testsuite/20_util/expected/synopsis.cc: Skip for versioned
   1589 	namespace.
   1590 	* testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise.
   1591 
   1592 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1593 
   1594 	Backported from master:
   1595 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1596 
   1597 	* include/bits/mofunc_impl.h: Fix doxygen command.
   1598 
   1599 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1600 
   1601 	Backported from master:
   1602 	2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1603 
   1604 	* include/std/future (launch): Make operators noexcept.
   1605 
   1606 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1607 
   1608 	Backported from master:
   1609 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1610 
   1611 	* doc/xml/manual/prerequisites.xml: Fix attributes for external
   1612 	hyperlink.
   1613 	* doc/html/manual/setup.html: Regenerate.
   1614 
   1615 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1616 
   1617 	Backported from master:
   1618 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1619 
   1620 	* doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support.
   1621 	* doc/html/*: Regenerate.
   1622 
   1623 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1624 
   1625 	Backported from master:
   1626 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1627 
   1628 	* doc/xml/manual/intro.xml: Include new chapter.
   1629 	* doc/xml/manual/status_cxx2020.xml: Tweak release numbers.
   1630 	* doc/xml/manual/status_cxx2023.xml: New file.
   1631 	* doc/html/*: Regenerate.
   1632 
   1633 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1634 
   1635 	Backported from master:
   1636 	2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1637 
   1638 	* doc/html/manual/status.html: Regenerate.
   1639 	* doc/xml/manual/status_cxx2020.xml: Fix supported version for
   1640 	C++20 bit operations.
   1641 
   1642 2022-05-13  Alexandre Oliva  <oliva (a] adacore.com>
   1643 
   1644 	Backported from master:
   1645 	2022-05-06  Alexandre Oliva  <oliva (a] adacore.com>
   1646 
   1647 	* include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX
   1648 	for double, long long, and 64-bit long intrinsic types.
   1649 	[__ALTIVEC__] (__intrinsic_type): Mention 128-bit in
   1650 	preexisting long double diagnostic, adjust no-VSX double
   1651 	diagnostic to cover 64-bit long double as well.
   1652 
   1653 2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1654 
   1655 	Backported from master:
   1656 	2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1657 
   1658 	PR libstdc++/105284
   1659 	* include/std/iosfwd: Add declarations for <spanstream> class
   1660 	templates and typedefs.
   1661 	* include/std/spanstream (basic_spanbuf, basic_ispanstream)
   1662 	(basic_ospanstream, basic_spanstream): Remove default template
   1663 	arguments.
   1664 	* testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream>
   1665 	declarations.
   1666 	* testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream>
   1667 	default arguments.
   1668 
   1669 2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1670 
   1671 	Backported from master:
   1672 	2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1673 
   1674 	PR libstdc++/105284
   1675 	* include/std/iosfwd: Add declarations for <synstream> class
   1676 	templates and typedefs.
   1677 	* include/std/syncstream (basic_syncbuf, basic_osyncstream):
   1678 	Remove default template arguments.
   1679 	* testsuite/27_io/headers/iosfwd/synopsis.cc: New test.
   1680 	* testsuite/27_io/headers/iosfwd/types.cc: New test.
   1681 
   1682 2022-05-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1683 
   1684 	Backported from master:
   1685 	2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1686 
   1687 	PR libstdc++/104731
   1688 	* testsuite/27_io/filesystem/iterators/error_reporting.cc:
   1689 	Use a trailing char array as storage for dirent::d_name.
   1690 
   1691 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1692 
   1693 	Backported from master:
   1694 	2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1695 
   1696 	PR libstdc++/105502
   1697 	* include/bits/random.tcc
   1698 	(operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
   1699 	Update state when __state_avail is false.
   1700 	* testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
   1701 	Check that deserialized object equals serialized one.
   1702 
   1703 2022-05-06  Patrick Palka  <ppalka (a] redhat.com>
   1704 
   1705 	Backported from master:
   1706 	2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   1707 
   1708 	PR libstdc++/103911
   1709 	* src/c++17/floating_from_chars.cc (find_end_of_float): Accept
   1710 	two delimeters for the exponent part in the form of a possibly
   1711 	NULL string of length two.  Don't use std::tolower.
   1712 	(pattern): Adjust calls to find_end_of_float accordingly.
   1713 
   1714 2022-05-06  Alexandre Oliva  <oliva (a] adacore.com>
   1715 
   1716 	Backported from master:
   1717 	2022-05-03  Alexandre Oliva  <oliva (a] adacore.com>
   1718 
   1719 	PR c++/105324
   1720 	* testsuite/20_util/from_chars/pr105324.cc: Guard test body
   1721 	with conditional for floating-point overloads of from_char.
   1722 
   1723 2022-05-06  Release Manager
   1724 
   1725 	* GCC 12.1.0 released.
   1726 
   1727 2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   1728 
   1729 	Backported from master:
   1730 	2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   1731 
   1732 	PR libstdc++/105441
   1733 	* src/c++17/floating_from_chars.cc (__floating_from_chars_hex):
   1734 	Also accept 'P' as the start of the exponent.
   1735 	* testsuite/20_util/from_chars/7.cc: Add corresponding testcase.
   1736 
   1737 2022-04-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1738 
   1739 	Backported from master:
   1740 	2022-04-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1741 
   1742 	PR libstdc++/105417
   1743 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
   1744 	Regenerate.
   1745 	* src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]:
   1746 	Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I>
   1747 	symbols as aliases for corresponding symbols without abi-tag.
   1748 
   1749 2022-04-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1750 
   1751 	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
   1752 	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
   1753 	Likewise.
   1754 	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
   1755 	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
   1756 	Likewise.
   1757 
   1758 2022-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1759 
   1760 	* doc/xml/manual/status_cxx1998.xml: Refer to GCC 12 not
   1761 	mainline.
   1762 	* doc/xml/manual/status_cxx2011.xml: Likewise.
   1763 	* doc/xml/manual/status_cxx2014.xml: Likewise.
   1764 	* doc/xml/manual/status_cxx2017.xml: Likewise.
   1765 	* doc/xml/manual/status_cxx2020.xml: Likewise.
   1766 	* doc/xml/manual/status_cxxtr1.xml: Likewise.
   1767 	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
   1768 	* doc/html/manual/status.html: Regenerate.
   1769 
   1770 2022-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1771 
   1772 	PR libstdc++/99290
   1773 	* src/c++17/fs_ops.cc (fs::copy): Pass error_code to
   1774 	directory_iterator constructor, and check on each iteration.
   1775 	* src/filesystem/ops.cc (fs::copy): Likewise.
   1776 	* testsuite/27_io/filesystem/operations/copy.cc: Check for
   1777 	errors during recursion.
   1778 	* testsuite/experimental/filesystem/operations/copy.cc:
   1779 	Likewise.
   1780 
   1781 2022-04-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1782 
   1783 	* config/abi/pre/gnu-versioned-namespace.ver: Remove
   1784 	std::random_device::* pattern.
   1785 
   1786 2022-04-27  Jakub Jelinek  <jakub (a] redhat.com>
   1787 
   1788 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   1789 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   1790 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   1791 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   1792 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   1793 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   1794 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   1795 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   1796 
   1797 2022-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1798 
   1799 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add
   1800 	support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>.
   1801 	(StdAtomicPrinter): New printer.
   1802 	(build_libstdcxx_dictionary): Register new printer.
   1803 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic.
   1804 	* testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart
   1805 	pointers.
   1806 
   1807 2022-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1808 
   1809 	* include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add
   1810 	constructor for constant initialization from nullptr_t.
   1811 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   1812 	Check for new constructor.
   1813 
   1814 2022-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1815 
   1816 	* include/bits/fs_path.h (hash<filesystem::path>): Define.
   1817 	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
   1818 	Check std::hash specialization.
   1819 
   1820 2022-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1821 
   1822 	* include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define
   1823 	conditionally.
   1824 	* include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
   1825 	Define for C++23.
   1826 	(default_delete, default_delete<T[]>, __uniq_ptr_impl)
   1827 	(unique_ptr, unique_ptr<T[], D>): Add constexpr to all member
   1828 	functions.
   1829 	* include/std/version (__cpp_lib_constexpr_memory): Define new
   1830 	value for C++23.
   1831 	* testsuite/20_util/unique_ptr/assign/constexpr.cc: New test.
   1832 	* testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test.
   1833 	* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test.
   1834 	* testsuite/20_util/unique_ptr/creation/constexpr.cc: New test.
   1835 	* testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test.
   1836 	* testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc:
   1837 	New test.
   1838 
   1839 2022-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1840 
   1841 	PR libstdc++/105375
   1842 	* include/std/future (packaged_task): Add deduction guides.
   1843 	* testsuite/30_threads/packaged_task/cons/deduction.cc: New test.
   1844 
   1845 2022-04-25  Philipp Fent  <fent (a] in.tum.de>
   1846 
   1847 	* python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator):
   1848 	Rename as iterator.
   1849 	(StdInitializerListPrinter): Define new printer.
   1850 	(build_libstdcxx_dictionary): Register new printer.
   1851 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for
   1852 	initializer_list.
   1853 
   1854 2022-04-22  Thomas W Rodgers  <trodgers (a] redhat.com>
   1855 
   1856 	PR libstdc++/102994
   1857 	* include/bits/atomic_base.h (atomic_flag::notify_one,
   1858 	notify_all): Remove const qualification.
   1859 	(__atomic_base::notify_one, notify_all): Likewise.
   1860 	* include/std/atomic (atomic<bool>::notify_one, notify_all):
   1861 	Likewise.
   1862 	(atomic::notify_one, notify_all): Likewise.
   1863 	(atomic<T*>::notify_one, notify_all): Likewise.
   1864 	(atomic_notify_one, atomic_notify_all): Likewise.
   1865 	* testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test
   1866 	to account for change in notify_one/notify_all signature.
   1867 
   1868 2022-04-21  Patrick Palka  <ppalka (a] redhat.com>
   1869 
   1870 	* include/std/charconv (__from_chars_alnum_to_val_table):
   1871 	Simplify initialization of __lower/__upper_letters.
   1872 	(__from_chars_alnum_to_val): Default the template parameter to
   1873 	false.
   1874 	* src/c++17/floating_from_chars.cc (starts_with_ci): Don't
   1875 	assume the uppercase and lowercase letters are contiguous.
   1876 	(__floating_from_chars_hex): Likewise.
   1877 
   1878 2022-04-21  Patrick Palka  <ppalka (a] redhat.com>
   1879 
   1880 	PR c++/105297
   1881 	PR c++/105322
   1882 	* include/std/charconv (__from_chars_alnum_to_val): Make
   1883 	initializer for __table dependent in an artificial way.
   1884 
   1885 2022-04-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1886 
   1887 	PR libstdc++/105324
   1888 	* src/c++17/floating_from_chars.cc (buffer_resource::do_allocate):
   1889 	Remove assertion.
   1890 	* testsuite/20_util/from_chars/pr105324.cc: New test.
   1891 
   1892 2022-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1893 
   1894 	* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
   1895 	Check correct feature test macro.
   1896 
   1897 2022-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1898 
   1899 	PR libstdc++/93602
   1900 	* doc/xml/manual/prerequisites.xml: Document libiconv
   1901 	workarounds.
   1902 	* doc/html/manual/setup.html: Regenerate.
   1903 	* src/Makefile.am (CXXLINK): Add $(LTLIBICONV).
   1904 	* src/Makefile.in: Regenerate.
   1905 
   1906 2022-04-19  Patrick Palka  <ppalka (a] redhat.com>
   1907 
   1908 	* src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't
   1909 	define.
   1910 	(__floating_to_chars_shortest): Add __builtin_unreachable calls to
   1911 	squelch false-positive -Wmaybe-uninitialized and -Wreturn-type
   1912 	warnings.
   1913 	(__floating_to_chars_precision): Likewise.
   1914 
   1915 2022-04-19  Philipp Fent  <fent (a] in.tum.de>
   1916 
   1917 	* python/libstdcxx/v6/printers.py (StdSpanPrinter): Define.
   1918 	* testsuite/libstdc++-prettyprinters/cxx20.cc: Test it.
   1919 
   1920 2022-04-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1921 
   1922 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators.
   1923 	* configure: Regenerate.
   1924 
   1925 2022-04-18  Patrick Palka  <ppalka (a] redhat.com>
   1926 
   1927 	* include/std/charconv (__from_chars_pow2_base): Manually
   1928 	unroll the first iteration of the main loop and simplify
   1929 	accordingly.
   1930 
   1931 2022-04-15  Patrick Palka  <ppalka (a] redhat.com>
   1932 
   1933 	PR libstdc++/104858
   1934 	* include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing
   1935 	__first twice at the start.
   1936 	* testsuite/25_algorithms/minmax/constrained.cc (test06): New test.
   1937 
   1938 2022-04-15  Patrick Palka  <ppalka (a] redhat.com>
   1939 
   1940 	* include/std/charconv (__from_chars_alnum_to_val_table): Define.
   1941 	(__from_chars_alnum_to_val): Define.
   1942 	(__from_chars_binary): Rename to ...
   1943 	(__from_chars_pow2_base): ... this.  Generalize to handle any
   1944 	power-of-two base using __from_chars_alnum_to_val.
   1945 	(__from_chars_digit): Optimize digit recognition to a single
   1946 	test instead of two tests.  Use [[__unlikely___]] attribute.
   1947 	(__from_chars_alpha_to_num): Remove.
   1948 	(__from_chars_alnum): Use __from_chars_alnum_to_val.  Use a
   1949 	nested loop for the overflow case.  Maintain a lower bound
   1950 	on the number of available bits in the result and use it to
   1951 	omit the overflow check.
   1952 	(from_chars): Adjust appropriately.
   1953 	* src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove.
   1954 	(__floating_from_chars_hex): Use __from_chars_alnum_to_val
   1955 	to recognize a hex digit instead.
   1956 
   1957 2022-04-14  Palmer Dabbelt  <palmer (a] rivosinc.com>
   1958 
   1959 	* acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex
   1960 	for RISC-V.
   1961 	* configure: Regenerate.
   1962 
   1963 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1964 
   1965 	* doc/xml/manual/intro.xml: Fix comment.
   1966 
   1967 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1968 
   1969 	* include/precompiled/stdc++.h: Include <stacktrace> and
   1970 	<stdatomic.h> for C++23.
   1971 
   1972 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1973 
   1974 	PR libstdc++/105269
   1975 	* include/bits/stl_vector.h (__cpp_lib_constexpr_vector):
   1976 	Define.
   1977 	* include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h):
   1978 	Define.
   1979 	* include/std/optional (__cpp_lib_optional): Define new value
   1980 	for C++23.
   1981 	(__cpp_lib_monadic_optional): Remove.
   1982 	* include/std/version (__cpp_lib_constexpr_vector): Define.
   1983 	(__cpp_lib_stdatomic_h): Define.
   1984 	(__cpp_lib_optional): Define new value for C++23.
   1985 	(__cpp_lib_monadic_optional): Remove.
   1986 	* testsuite/20_util/optional/monadic/and_then.cc: Adjust.
   1987 	* testsuite/20_util/optional/requirements.cc: Adjust for C++23.
   1988 	* testsuite/20_util/optional/version.cc: Likewise.
   1989 	* testsuite/23_containers/vector/cons/constexpr.cc: Check
   1990 	feature test macro.
   1991 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
   1992 	Likewise.
   1993 	* testsuite/20_util/optional/monadic/version.cc: Removed.
   1994 	* testsuite/23_containers/vector/requirements/version.cc: New test.
   1995 	* testsuite/29_atomics/headers/stdatomic.h/version.cc: New test.
   1996 
   1997 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1998 
   1999 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap.
   2000 	* config.h.in: Regenerate.
   2001 	* configure: Regenerate.
   2002 
   2003 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2004 
   2005 	* include/std/stacktrace (basic_stacktrace::current): Reallocate
   2006 	a smaller container if the unused capacity is larger than the
   2007 	used size.
   2008 
   2009 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2010 
   2011 	* include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone
   2012 	or _Impl::_M_assign to initialize elements in allocated storage.
   2013 	(basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of
   2014 	_Impl::_M_destroy.
   2015 	(basic_stacktrace::_Impl::_M_destroy()): Replace with ...
   2016 	(basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New
   2017 	function.
   2018 	(basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct
   2019 	new element using allocator.
   2020 	(basic_stacktrace::_Impl::_M_clone): New function.
   2021 	(basic_stacktrace::_Impl::_M_xclone): New function.
   2022 	(basic_stacktrace::_Impl::_M_assign): New function.
   2023 
   2024 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2025 
   2026 	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
   2027 	Use nothrow new instead of try block for std::allocator.
   2028 	(basic_stacktrace::_Impl::_M_deallocate): Use delete for
   2029 	std::allocator.
   2030 
   2031 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2032 
   2033 	* include/std/stacktrace (basic_stacktrace::current): Replace
   2034 	calls to _M_reserve and _S_curr_cb with call to _M_prepare.
   2035 	Check return value of backtrace_simple when max depth given.
   2036 	(basic_stacktrace::_M_reserve): Remove.
   2037 	(basic_stacktrace::_S_curr_cb): Remove.
   2038 	(basic_stacktrace::_M_prepare(size_type)): New function to
   2039 	reserve initial capacity and return callback.
   2040 	(basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n
   2041 	and remove redundant zeroing of _M_frames and _M_capacity.
   2042 	(basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]]
   2043 	attribute. Assign _Impl instead of swapping.
   2044 	* testsuite/19_diagnostics/stacktrace/current.cc: New test.
   2045 
   2046 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2047 
   2048 	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
   2049 	Change [[unlikely]] attribute to [[likely]].
   2050 
   2051 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2052 
   2053 	PR libstdc++/105031
   2054 	* include/std/stacktrace (basic_stacktrace::basic_stacktrace):
   2055 	Fix allocator usage in constructors.
   2056 	(basic_stacktrace::operator=(const basic_stacktrace&)): Do not
   2057 	try to reallocate using const allocator.
   2058 	(basic_stacktrace::operator=(basic_stacktrace&&)): Fix
   2059 	if-constexpr with non-constant condition. Do not allocate new
   2060 	storage if allocator propagates. Do not set _M_size if
   2061 	allocation fails.
   2062 	(basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add
   2063 	assertion that non-propagating allocators are equal.
   2064 	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test.
   2065 
   2066 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2067 
   2068 	* include/std/stacktrace (basic_stacktrace::current): Duplicate
   2069 	implementation into each overload. Add noinline attribute and
   2070 	skip current frame.
   2071 	(basic_stacktrace::max_size()): Call _Impl::_S_max_size.
   2072 	(basic_stacktrace::_S_curr_cb()): New function defining lambda.
   2073 	(basic_stacktrace::_Impl::_S_max_size): New function defining
   2074 	maximum size in terms of allocator and size_type.
   2075 	(basic_stacktrace::_Impl::_M_allocate): Check against
   2076 	max_size().
   2077 	* testsuite/19_diagnostics/stacktrace/entry.cc: Call function
   2078 	for non-constexpr checks. Check line number is correct.
   2079 
   2080 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2081 
   2082 	* testsuite/20_util/stacktrace/entry.cc: Moved to...
   2083 	* testsuite/19_diagnostics/stacktrace/entry.cc: ...here.
   2084 	* testsuite/20_util/stacktrace/synopsis.cc: Moved to...
   2085 	* testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here.
   2086 	* testsuite/20_util/stacktrace/version.cc: Moved to...
   2087 	* testsuite/19_diagnostics/stacktrace/version.cc: ...here.
   2088 
   2089 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2090 
   2091 	* include/experimental/bits/fs_path.h (path): Define special
   2092 	members after path::_Cmpt is complete.
   2093 
   2094 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2095 
   2096 	PR libstdc++/105153
   2097 	* include/std/expected
   2098 	(expected<void,E>::expected(expected<U,G>&&)): Fix constraints.
   2099 	* testsuite/20_util/expected/cons.cc: Check constructor.
   2100 
   2101 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2102 
   2103 	PR libstdc++/105154
   2104 	* include/std/expected (expected<void, E>::swap): Set
   2105 	_M_has_value to false for objects that previously had a value.
   2106 	* testsuite/20_util/expected/swap.cc: Fix test to check void
   2107 	specialization.
   2108 
   2109 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2110 
   2111 	PR libstdc++/105146
   2112 	* include/std/expected (bad_expected_access): Move constructor
   2113 	parameter.
   2114 	* testsuite/20_util/expected/bad.cc: New test.
   2115 
   2116 2022-04-07  Hans-Peter Nilsson  <hp (a] axis.com>
   2117 
   2118 	* testsuite/20_util/expected/requirements.cc: Correct minimal-size
   2119 	test.
   2120 
   2121 2022-04-02  Jakub Jelinek  <jakub (a] redhat.com>
   2122 
   2123 	PR libstdc++/105128
   2124 	* include/std/source_location (std::source_location::__impl): Move
   2125 	definition before using __builtin_ret_type.
   2126 
   2127 2022-04-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2128 
   2129 	* include/std/utility (unreachable): Define for C++23.
   2130 	* include/std/version (__cpp_lib_unreachable): Define.
   2131 	* src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid
   2132 	arguments. Handle only the function being given.
   2133 	* testsuite/20_util/unreachable/1.cc: New test.
   2134 	* testsuite/20_util/unreachable/version.cc: New test.
   2135 
   2136 2022-04-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2137 
   2138 	* include/experimental/bits/fs_fwd.h (copy_file): Remove
   2139 	incorrect noexcept from declaration.
   2140 	* include/experimental/bits/fs_path.h (path::begin, path::end):
   2141 	Add noexcept to declarations, to match definitions.
   2142 
   2143 2022-04-01  Timm Bder  <tbaeder (a] redhat.com>
   2144 
   2145 	* include/bits/fs_ops.h: Fix filename in Doxygen comment.
   2146 	* include/experimental/bits/fs_ops.h: Likewise.
   2147 
   2148 2022-03-31  Jonathan Wakely  <jwakely (a] redhat.com>
   2149 
   2150 	* libsupc++/new_opa.cc (aligned_alloc): Add comment.
   2151 
   2152 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2153 
   2154 	* testsuite/18_support/exception/38732.cc: Disable for C++23.
   2155 	* testsuite/18_support/headers/exception/synopsis.cc: Likewise.
   2156 	* testsuite/18_support/unexpected_handler.cc: Likewise.
   2157 
   2158 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2159 
   2160 	* libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add
   2161 	static data members for _Fp_fmt enumerators.
   2162 
   2163 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2164 
   2165 	* include/std/version (__cpp_lib_variant): Fix conditions to
   2166 	match <variant>.
   2167 	(__cpp_lib_expected): Fix condition to match <expected>.
   2168 
   2169 2022-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2170 
   2171 	* testsuite/20_util/optional/monadic/and_then.cc: Fix typo.
   2172 	* testsuite/20_util/optional/monadic/transform.cc: Likewise.
   2173 	* testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
   2174 	* testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
   2175 	* testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
   2176 	* testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
   2177 	* testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
   2178 	* testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
   2179 
   2180 2022-03-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2181 
   2182 	* doc/doxygen/user.cfg.in: Add new header.
   2183 	* include/Makefile.am: Likewise.
   2184 	* include/Makefile.in: Regenerate.
   2185 	* include/precompiled/stdc++.h: Add new header.
   2186 	* include/std/version (__cpp_lib_expected): Define.
   2187 	* libsupc++/exception [__cplusplus > 202002] (unexpected)
   2188 	(unexpected_handler, set_unexpected): Do not declare for C++23.
   2189 	* include/std/expected: New file.
   2190 	* testsuite/20_util/expected/assign.cc: New test.
   2191 	* testsuite/20_util/expected/cons.cc: New test.
   2192 	* testsuite/20_util/expected/illformed_neg.cc: New test.
   2193 	* testsuite/20_util/expected/observers.cc: New test.
   2194 	* testsuite/20_util/expected/requirements.cc: New test.
   2195 	* testsuite/20_util/expected/swap.cc: New test.
   2196 	* testsuite/20_util/expected/synopsis.cc: New test.
   2197 	* testsuite/20_util/expected/unexpected.cc: New test.
   2198 	* testsuite/20_util/expected/version.cc: New test.
   2199 
   2200 2022-03-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2201 
   2202 	* include/std/bit (bit_cast, byteswap, endian): Add doxygen
   2203 	comments.
   2204 
   2205 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2206 
   2207 	PR libstdc++/105027
   2208 	* include/std/bit (bit_cast): Add constraints.
   2209 	* testsuite/26_numerics/bit/bit.cast/105027.cc: New test.
   2210 
   2211 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2212 
   2213 	* include/std/version [!_GLIBCXX_HOSTED]
   2214 	(__cpp_lib_hardware_interference_size): Define for freestanding.
   2215 	(__cpp_lib_bit_cast): Likewise.
   2216 	(__cpp_lib_is_layout_compatible): Likewise.
   2217 	(__cpp_lib_is_pointer_interconvertible): Likewise.
   2218 	(__cpp_lib_adaptor_iterator_pair_constructor): Do not define for
   2219 	freestanding.
   2220 	(__cpp_lib_invoke_r): Likewise.
   2221 	(__cpp_lib_ios_noreplace): Likewise.
   2222 	(__cpp_lib_monadic_optional): Likewise.
   2223 	(__cpp_lib_move_only_function): Likewise.
   2224 	(__cpp_lib_spanstream): Likewise.
   2225 	(__cpp_lib_stacktrace): Likewise.
   2226 	(__cpp_lib_string_contains): Likewise.
   2227 	(__cpp_lib_string_resize_and_overwrite): Likewise.
   2228 	(__cpp_lib_to_underlying): Likewise.
   2229 
   2230 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2231 
   2232 	PR libstdc++/105021
   2233 	* include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include
   2234 	<bits/atomic_wait.h> for freestanding.
   2235 
   2236 2022-03-22  Hans-Peter Nilsson  <hp (a] axis.com>
   2237 
   2238 	* testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]:
   2239 	Conditionalize call to fesetround.
   2240 
   2241 2022-03-21  Jakub Jelinek  <jakub (a] redhat.com>
   2242 
   2243 	PR libstdc++/104990
   2244 	* include/bits/locale_facets_nonio.tcc (get): Don't check if do_get
   2245 	isn't overloaded if __clang__ is defined.
   2246 
   2247 2022-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   2248 
   2249 	PR libstdc++/104242
   2250 	* include/std/any (any(T&&)): Revert change to constraints.
   2251 	* testsuite/20_util/any/cons/104242.cc: New test.
   2252 
   2253 2022-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   2254 
   2255 	PR libstdc++/92546
   2256 	* include/pstl/glue_algorithm_defs.h: Replace <functional> with
   2257 	<bits/stl_pair.h>.
   2258 	* include/pstl/utils.h: Replace <iterator> with <type_traits>.
   2259 	(__pstl::__internal::__except_handler): Use std::__terminate
   2260 	instead of std::terminate.
   2261 	* src/c++17/fs_path.cc: Include <array>.
   2262 	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Include
   2263 	<functional>.
   2264 	* testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
   2265 	* testsuite/25_algorithms/clamp/constrained.cc: Likewise.
   2266 	* testsuite/25_algorithms/equal/constrained.cc: Likewise.
   2267 	* testsuite/25_algorithms/for_each/constrained.cc: Likewise.
   2268 	* testsuite/25_algorithms/includes/constrained.cc: Likewise.
   2269 	* testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
   2270 	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
   2271 	* testsuite/25_algorithms/is_permutation/constrained.cc: Include
   2272 	<iterator>.
   2273 	* testsuite/25_algorithms/is_sorted/constexpr.cc: Include
   2274 	<functional>.
   2275 	* testsuite/25_algorithms/is_sorted_until/constexpr.cc:
   2276 	Likewise.
   2277 	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
   2278 	Likewise.
   2279 	* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
   2280 	Likewise.
   2281 	* testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
   2282 	Include <array>.
   2283 	* testsuite/25_algorithms/lower_bound/constexpr.cc: Include
   2284 	<functional>.
   2285 	* testsuite/25_algorithms/max/constrained.cc: Likewise.
   2286 	* testsuite/25_algorithms/max_element/constrained.cc: Likewise.
   2287 	* testsuite/25_algorithms/min/constrained.cc: Likewise.
   2288 	* testsuite/25_algorithms/min_element/constrained.cc: Likewise.
   2289 	* testsuite/25_algorithms/minmax_element/constrained.cc:
   2290 	Likewise.
   2291 	* testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
   2292 	* testsuite/25_algorithms/move/93872.cc: Likewise.
   2293 	* testsuite/25_algorithms/move_backward/93872.cc: Include
   2294 	<iterator>.
   2295 	* testsuite/25_algorithms/nth_element/constexpr.cc: Include
   2296 	<functional>.
   2297 	* testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
   2298 	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
   2299 	Likewise.
   2300 	* testsuite/25_algorithms/search/constexpr.cc: Likewise.
   2301 	* testsuite/25_algorithms/search_n/constrained.cc: Likewise.
   2302 	* testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
   2303 	* testsuite/25_algorithms/set_difference/constrained.cc:
   2304 	Likewise.
   2305 	* testsuite/25_algorithms/set_intersection/constexpr.cc:
   2306 	Likewise.
   2307 	* testsuite/25_algorithms/set_intersection/constrained.cc:
   2308 	Likewise.
   2309 	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
   2310 	Likewise.
   2311 	* testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
   2312 	* testsuite/25_algorithms/set_union/constrained.cc: Likewise.
   2313 	* testsuite/25_algorithms/sort/constexpr.cc: Likewise.
   2314 	* testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
   2315 	* testsuite/25_algorithms/transform/constrained.cc: Likewise.
   2316 	* testsuite/25_algorithms/unique/constexpr.cc: Likewise.
   2317 	* testsuite/25_algorithms/unique/constrained.cc: Likewise.
   2318 	* testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
   2319 	* testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
   2320 	* testsuite/std/ranges/adaptors/elements.cc: Include <vector>.
   2321 	* testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
   2322 	* testsuite/std/ranges/adaptors/split.cc: Likewise.
   2323 
   2324 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2325 
   2326 	PR libstdc++/92546
   2327 	* include/bits/fs_path.h (path::make_preferred): Use
   2328 	handwritten loop instead of std::replace.
   2329 
   2330 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2331 
   2332 	PR middle-end/104966
   2333 	* include/bits/locale_facets_nonio.tcc
   2334 	(__moneypunct_cache::_M_cache): Replace try-catch with RAII and
   2335 	make all string copies before any stores to *this.
   2336 
   2337 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2338 
   2339 	* testsuite/util/testsuite_character.h: Fix comment.
   2340 
   2341 2022-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2342 
   2343 	PR libstdc++/103407
   2344 	* config/abi/pre/gnu.ver: Make version for std::from_chars
   2345 	depend on HAVE_USELOCALE macro.
   2346 	* testsuite/util/testsuite_abi.cc (compare_symbols): Treat
   2347 	std::from_chars for floating-point types as undesignated if
   2348 	not found in the baseline symbols file.
   2349 
   2350 2022-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2351 
   2352 	* include/std/charconv (__cpp_lib_to_chars): Only define when
   2353 	both from_chars and to_chars are supported for floating-point
   2354 	types.
   2355 	(from_chars, to_chars): Adjust preprocessor conditions guarding
   2356 	declarations.
   2357 	* include/std/version (__cpp_lib_to_chars): Adjust condition to
   2358 	match <charconv> definition.
   2359 	* src/c++17/floating_from_chars.cc (from_chars_strtod): New
   2360 	function template.
   2361 	(from_chars): Simplify preprocessor checks and use
   2362 	from_chars_strtod when appropriate.
   2363 
   2364 2022-03-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2365 
   2366 	PR libstdc++/104875
   2367 	* src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to
   2368 	hold octets that will be left-shifted.
   2369 
   2370 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2371 
   2372 	PR libstdc++/104870
   2373 	* src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32
   2374 	before using fast_float.
   2375 
   2376 2022-03-10  Detlef Vollmann  <dv (a] vollmann.ch>
   2377 
   2378 	PR libstdc++/104866
   2379 	* include/bits/this_thread_sleep.h: Fix order of #endif and
   2380 	closing brace of namespace.
   2381 
   2382 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2383 
   2384 	* libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]:
   2385 	Handle NaN.
   2386 
   2387 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2388 
   2389 	* libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use
   2390 	<=> comparison.
   2391 
   2392 2022-03-09  Patrick Palka  <ppalka (a] redhat.com>
   2393 
   2394 	PR libstdc++/104859
   2395 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
   2396 	Be explicit when narrowing the shifted effective_mantissa,
   2397 	since it may have an integer-class type.
   2398 
   2399 2022-03-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2400 
   2401 	* include/bits/uses_allocator_args.h: Remove incorrect copyright
   2402 	notice.
   2403 
   2404 2022-03-07  Jonathan Wakely  <jwakely (a] redhat.com>
   2405 
   2406 	PR libstdc++/104807
   2407 	* include/bits/c++config (__terminate, __glibcxx_assert_fail):
   2408 	Replace _GLIBCXX_VISIBILITY on function with visibility pragma.
   2409 	(__is_constant_evaluated): Add visibility pragma.
   2410 
   2411 2022-03-07  Rasmus Villemoes  <rasmus.villemoes (a] prevas.dk>
   2412 
   2413 	* config/locale/vxworks/ctype_members.cc: Remove <iostream>
   2414 	  include.
   2415 
   2416 2022-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2417 
   2418 	* include/bits/c++config (__glibcxx_assert_fail): Add visibility
   2419 	attribute.
   2420 	(__terminate): Likewise.
   2421 
   2422 2022-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2423 
   2424 	* libsupc++/compare (strong_order::_S_fp_cmp): Move typedef
   2425 	inside #if condition.
   2426 
   2427 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2428 
   2429 	PR libstdc++/104748
   2430 	* testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for
   2431 	constexpr test.
   2432 
   2433 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2434 
   2435 	* testsuite/17_intro/names.cc (func): Undef on AIX.
   2436 
   2437 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2438 
   2439 	PR libstdc++/96526
   2440 	* libsupc++/compare (strong_order): Add missing support for
   2441 	floating-point types.
   2442 	* testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
   2443 	New test.
   2444 
   2445 2022-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2446 
   2447 	PR middle-end/103984
   2448 	* include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use
   2449 	default member initializer.
   2450 
   2451 2022-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   2452 
   2453 	PR libstdc++/104602
   2454 	* include/std/source_location (source_location::current): Use
   2455 	deduced type of __builtin_source_location().
   2456 
   2457 2022-02-22  Patrick Palka  <ppalka (a] redhat.com>
   2458 
   2459 	* include/bits/ranges_base.h (__detail::__is_initializer_list):
   2460 	Define.
   2461 	(viewable_range): Adjust as per P2415R2.
   2462 	* include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
   2463 	* include/std/ranges (owning_view): Define as per P2415R2.
   2464 	(enable_borrowed_range<owning_view>): Likewise.
   2465 	(views::__detail::__can_subrange): Replace with ...
   2466 	(views::__detail::__can_owning_view): ... this.
   2467 	(views::_All::_S_noexcept): Sync with operator().
   2468 	(views::_All::operator()): Use owning_view instead of subrange
   2469 	as per P2415R2.
   2470 	* include/std/version (__cpp_lib_ranges): Adjust value.
   2471 	* testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that
   2472 	views::all uses owning_view instead of subrange.
   2473 	(test08): New test.
   2474 	* testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust
   2475 	now that rvalue non-view non-borrowed ranges are viewable.
   2476 	* testsuite/std/ranges/adaptors/split.cc (test06): Likewise.
   2477 
   2478 2022-02-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2479 
   2480 	PR libstdc++/104559
   2481 	* doc/xml/manual/evolution.xml: Document deprecation.
   2482 	* doc/html/manual/api.html: Regenerate.
   2483 	* include/bits/stl_bvector.h (insert(const_iterator, const bool&)):
   2484 	Remove default argument.
   2485 	(insert(const_iterator)): New overload with deprecated attribute.
   2486 	* testsuite/23_containers/vector/bool/modifiers/insert/104559.cc:
   2487 	New test.
   2488 
   2489 2022-02-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2490 
   2491 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace
   2492 	code that call cat->name() on std::error_category objects.
   2493 	Identify known categories by symbol name and use a hardcoded
   2494 	name. Print error code values as enumerators where appopriate.
   2495 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected
   2496 	name of custom category. Check io_errc and future_errc errors.
   2497 
   2498 2022-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2499 
   2500 	PR libstdc++/104542
   2501 	* include/bits/uses_allocator_args.h (make_obj_using_allocator)
   2502 	(uninitialized_construct_using_allocator): Add constexpr.
   2503 	* testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr.
   2504 	* testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test.
   2505 
   2506 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2507 
   2508 	PR libstdc++/100912
   2509 	* config/locale/gnu/c_locale.h (__convert_from_v): Use inline
   2510 	namespace for IEEE128 long double mode.
   2511 	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol
   2512 	version and export __gnu_cxx_ieee128::__convert_from_v.
   2513 	* include/bits/locale_facets_nonio.tcc (money_put::__do_put):
   2514 	Make __ibm128 overload use snprintf directly
   2515 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
   2516 	Remove stable IEEE128/LDBL versions.
   2517 
   2518 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2519 
   2520 	PR libstdc++/103891
   2521 	* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
   2522 	Remove.
   2523 	* include/std/variant: Check feature test macros instead.
   2524 	* include/std/version: Likewise.
   2525 
   2526 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2527 
   2528 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   2529 	Fix typo.
   2530 
   2531 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2532 
   2533 	* src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on
   2534 	LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128.
   2535 
   2536 2022-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2537 
   2538 	* testsuite/20_util/temporary_buffer.cc: Fix dg-warning target
   2539 	selector.
   2540 
   2541 2022-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2542 
   2543 	* testsuite/20_util/monotonic_buffer_resource/allocate.cc:
   2544 	Ignore -Walloc-larger-than warning.
   2545 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   2546 	Likewise.
   2547 	* testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1
   2548 	to avoid linker error for __atomic_is_lock_free.
   2549 
   2550 2022-02-10  Thomas Rodgers  <rodgert (a] appliantology.com>
   2551 
   2552 	* include/bits/atomic_wait.h (__waiter_base::_S_do_spin,
   2553 	__waiter_base::_S_do_spin_v): Change memory order from relaxed
   2554 	to acquire.
   2555 
   2556 2022-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2557 
   2558 	* include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add
   2559 	using-declaration.
   2560 	(atomic_fetch_xor_explicit): Likewise.
   2561 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check
   2562 	arithmetic and logical operations for atomic_int.
   2563 
   2564 2022-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2565 
   2566 	* src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
   2567 	when <dirent.h> is not available.
   2568 	(_GLIBCXX_HAVE_UNLINKAT):  Likewise.
   2569 
   2570 2022-02-09  Thomas Rodgers  <rodgert (a] appliantology.com>
   2571 
   2572 	PR libstdc++/104442
   2573 	* include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin
   2574 	 loop inside do loop so that threads failing the wait, reload
   2575 	 _M_ver.
   2576 
   2577 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2578 
   2579 	* src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
   2580 	parameter to _Dir_base&&.
   2581 	* src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
   2582 	* src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
   2583 	parameter to _Dir_base&&.
   2584 
   2585 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2586 
   2587 	* acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about
   2588 	checking for CAS on correct word size.
   2589 
   2590 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2591 
   2592 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   2593 	Adjust expected results for Windows.
   2594 
   2595 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2596 
   2597 	PR libstdc++/104161
   2598 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
   2599 	[i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
   2600 	instead of checking for errno values indicating a directory.
   2601 	* src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
   2602 	logic to non-throwing overload.
   2603 	(fs::remove_all(const path&, error_code&)): Add comments.
   2604 	* src/filesystem/ops-common.h: Likewise.
   2605 
   2606 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2607 
   2608 	* src/filesystem/dir-common.h (_Dir_base::openat): Change return
   2609 	type to use portable posix::DIR alias.
   2610 
   2611 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2612 
   2613 	* include/c_compatibility/stdatomic.h [__clang__]: Use
   2614 	#include_next <stdatomic.h>.
   2615 
   2616 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2617 
   2618 	* include/experimental/bits/fs_ops.h (fs::copy_file): Remove
   2619 	noexcept.
   2620 	(fs::create_directories): Likewise.
   2621 	(fs::remove_all): Likewise.
   2622 	* src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
   2623 	(fs::create_directories): Likewise.
   2624 	(fs::remove_all): Likewise.
   2625 
   2626 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2627 
   2628 	PR libstdc++/104161
   2629 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
   2630 	and unlinkat.
   2631 	* config.h.in: Regenerate.
   2632 	* configure: Regenerate.
   2633 	* include/bits/fs_dir.h (recursive_directory_iterator): Declare
   2634 	remove_all overloads as friends.
   2635 	(recursive_directory_iterator::__erase): Declare new member
   2636 	function.
   2637 	* include/bits/fs_fwd.h (remove, remove_all): Declare.
   2638 	* src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
   2639 	constructor. Pass file descriptor argument to base constructor.
   2640 	(_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
   2641 	(_Dir::unlink, _Dir::rmdir): Define new member functions.
   2642 	(directory_iterator): Pass filename_only argument to _Dir
   2643 	constructor.
   2644 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
   2645 	parameters to take a _Dir rvalue instead of creating one.
   2646 	(_Dir_stack::orig): Add data member for storing original path.
   2647 	(_Dir_stack::report_error): Define new member function.
   2648 	(__directory_iterator_nofollow): Move here from dir-common.h and
   2649 	fix value to be a power of two.
   2650 	(__directory_iterator_filename_only): Define new constant.
   2651 	(recursive_directory_iterator): Construct _Dir object and move
   2652 	into _M_dirs stack. Pass skip_permission_denied argument to first
   2653 	advance call.
   2654 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
   2655 	(recursive_directory_iterator::__erase): Define new member
   2656 	function.
   2657 	* src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
   2658 	(fs::remove_all): Use new recursive_directory_iterator::__erase
   2659 	member function.
   2660 	* src/filesystem/dir-common.h (_Dir_base): Add int parameter to
   2661 	constructor and use openat to implement nofollow semantics.
   2662 	(_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
   2663 	Define new member functions.
   2664 	(__directory_iterator_nofollow): Move to fs_dir.cc.
   2665 	* src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
   2666 	base constructor.
   2667 	(_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
   2668 	functions.
   2669 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
   2670 	parameters to take a _Dir rvalue instead of creating one.
   2671 	(recursive_directory_iterator): Check for new nofollow option.
   2672 	Construct _Dir object and move into _M_dirs stack. Pass
   2673 	skip_permission_denied argument to first advance call.
   2674 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
   2675 	* src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
   2676 
   2677 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2678 
   2679 	* include/bits/allocator.h: Qualify std::allocator_traits in
   2680 	deprecated warnings.
   2681 	* libsupc++/exception (uncaught_exception): Add suggestion to
   2682 	deprecated warning.
   2683 
   2684 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2685 
   2686 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
   2687 	Add [[maybe_unused]] attribute.
   2688 	* src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
   2689 	Likewise.
   2690 
   2691 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2692 
   2693 	* testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
   2694 	custom comparison function for multiset.
   2695 	* testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
   2696 	comparison function for set.
   2697 
   2698 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2699 
   2700 	* include/bits/boost_concept_check.h (_OutputIteratorConcept):
   2701 	Change member function to data member of function pointer type.
   2702 
   2703 2022-02-02  Martin Sebor  <msebor (a] redhat.com>
   2704 
   2705 	PR libstdc++/101831
   2706 	* include/std/array (begin): Declare const member function attribute
   2707 	const.
   2708 	(end, rbegin, rend, size, max_size, empty, data): Same.
   2709 	* testsuite/23_containers/array/capacity/empty.cc: Add test cases.
   2710 	* testsuite/23_containers/array/capacity/max_size.cc: Same.
   2711 	* testsuite/23_containers/array/capacity/size.cc: Same.
   2712 	* testsuite/23_containers/array/iterators/begin_end.cc: New test.
   2713 
   2714 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2715 
   2716 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
   2717 	autoconf macro to check whether d_type is present.
   2718 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   2719 	Likewise.
   2720 
   2721 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2722 
   2723 	* testsuite/27_io/filesystem/iterators/97731.cc: New test.
   2724 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   2725 	Check follow_directory_symlink option.
   2726 	* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
   2727 	Likewise.
   2728 
   2729 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2730 
   2731 	* src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
   2732 	Reset state to past-the-end iterator on error.
   2733 	(fs::recursive_directory_iterator::pop(error_code&)): Likewise.
   2734 	(fs::recursive_directory_iterator::pop()): Check _M_dirs before
   2735 	it might get reset.
   2736 	* src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
   2737 	for the TS implementation.
   2738 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
   2739 	* testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
   2740 
   2741 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2742 
   2743 	* include/bits/fs_fwd.h (filesystem::perms): Fix comment.
   2744 
   2745 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2746 
   2747 	PR libstdc++/104301
   2748 	* acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages
   2749 	for stdio_pure and stdio_posix options.
   2750 	* configure: Regenerate.
   2751 
   2752 2022-02-01  Thomas Rodgers  <rodgert (a] appliantology.com>
   2753 
   2754 	* include/bits/atomic_wait.h: Change memory order from
   2755 	Acquire/Release with relaxed loads to SeqCst+Release for
   2756 	accesses to the waiter's count.
   2757 
   2758 2022-01-31  Martin Liska  <mliska (a] suse.cz>
   2759 
   2760 	* acinclude.m4: Detect *_ld_is_mold and use it.
   2761 	* configure: Regenerate.
   2762 
   2763 2022-01-30  Hans-Peter Nilsson  <hp (a] axis.com>
   2764 
   2765 	* testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on
   2766 	simulator targets.
   2767 	* testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise.
   2768 
   2769 2022-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2770 
   2771 	PR libstdc++/100516
   2772 	* include/bits/deque.tcc (_M_range_initialize<ForwardIterator>):
   2773 	Add __builtin_unreachable to loop.
   2774 	* testsuite/23_containers/deque/100516.cc: New test.
   2775 
   2776 2022-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2777 
   2778 	* include/bits/ranges_base.h (ranges::advance): Avoid signed
   2779 	overflow. Do nothing if already equal to desired result.
   2780 	* testsuite/24_iterators/range_operations/advance_overflow.cc:
   2781 	New test.
   2782 
   2783 2022-01-27  Martin Liska  <mliska (a] suse.cz>
   2784 
   2785 	PR libstdc++/104259
   2786 	* acinclude.m4: Fix typo.
   2787 	* configure: Regenerate.
   2788 
   2789 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2790 
   2791 	PR libstdc++/104019
   2792 	* include/bits/istream.tcc (basic_istream::sentry): Add braces
   2793 	around try-block.
   2794 	* include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init):
   2795 	Add pragmas to disable bogus warnings from PR 61596.
   2796 
   2797 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2798 
   2799 	PR libstdc++/104217
   2800 	* src/c++17/fs_ops.cc (_GNU_SOURCE): Define.
   2801 	* src/filesystem/dir.cc (_GNU_SOURCE): Define.
   2802 	* src/filesystem/ops.cc (_GNU_SOURCE): Define.
   2803 
   2804 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2805 
   2806 	PR libstdc++/104161
   2807 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
   2808 	fdopendir.
   2809 	* config.h.in: Regenerate.
   2810 	* configure: Regenerate.
   2811 	* src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
   2812 	and pass it to base class constructor.
   2813 	(directory_iterator): Pass nofollow flag to _Dir constructor.
   2814 	(fs::recursive_directory_iterator::increment): Likewise.
   2815 	* src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
   2816 	directory_iterator constructor. Move error check outside loop.
   2817 	* src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
   2818 	constructor and when it's set use ::open with O_NOFOLLOW and
   2819 	O_DIRECTORY.
   2820 	* src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
   2821 	and pass it to base class constructor.
   2822 	(directory_iterator): Pass nofollow flag to _Dir constructor.
   2823 	(fs::recursive_directory_iterator::increment): Likewise.
   2824 	* src/filesystem/ops.cc (remove_all): Use nofollow option for
   2825 	directory_iterator constructor. Move error check outside loop.
   2826 
   2827 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2828 
   2829 	PR libstdc++/104032
   2830 	* include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use
   2831 	mem-initializer for _M_buf.
   2832 	(basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed
   2833 	member access.
   2834 	* testsuite/27_io/spanstream/2.cc: New test.
   2835 
   2836 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2837 
   2838 	* src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS):
   2839 	Define macro for case where std::from_chars is implemented in
   2840 	terms of strtod, strtof or strtold.
   2841 	(buffer_resource, valid_fmt, find_end_of_float, pattern)
   2842 	(from_chars_impl, make_result, reserve_string): Do not define
   2843 	unless USE_STRTOD_FOR_FROM_CHARS is defined.
   2844 	(from_chars): Define when at least one of USE_LIB_FAST_FLOAT and
   2845 	USE_STRTOD_FOR_FROM_CHARS is defined, instead of
   2846 	_GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it
   2847 	is binary64.
   2848 
   2849 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2850 
   2851 	PR libstdc++/104174
   2852 	* include/bits/hashtable_policy.h (_Map_base): Add partial
   2853 	specialization for maps with const key types.
   2854 	* testsuite/23_containers/unordered_map/104174.cc: New test.
   2855 
   2856 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2857 
   2858 	PR libstdc++/104019
   2859 	* include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release):
   2860 	Set members to zero without type punning.
   2861 
   2862 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2863 
   2864 	* testsuite/20_util/shared_ptr/cons/array.cc: Fix comment.
   2865 
   2866 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2867 
   2868 	PR libstdc++/87193
   2869 	PR libstdc++/104019
   2870 	* include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal):
   2871 	Define as type long.
   2872 	* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
   2873 	Likewise.
   2874 	* include/bits/basic_string.h (__cpp_lib_string_udls): Likewise.
   2875 	* include/bits/chrono.h (__cpp_lib_chrono): Likewise.
   2876 	(__cpp_lib_chrono_udls): Likewise.
   2877 	* include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise.
   2878 	* include/bits/node_handle.h (__cpp_lib_node_extract): Likewise.
   2879 	* include/bits/range_access.h (__cpp_lib_nonmember_container_access):
   2880 	Likewise.
   2881 	* include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this):
   2882 	Likewise.
   2883 	* include/bits/stl_algo.h (__cpp_lib_clamp): Likewise.
   2884 	(__cpp_lib_sample): Likewise.
   2885 	* include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops):
   2886 	Likewise.
   2887 	* include/bits/stl_function.h (__cpp_lib_transparent_operators):
   2888 	Likewise.
   2889 	* include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator):
   2890 	Likewise.
   2891 	* include/bits/stl_map.h (__cpp_lib_map_try_emplace):
   2892 	Likewise.
   2893 	* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
   2894 	Likewise.
   2895 	* include/bits/unique_ptr.h (__cpp_lib_make_unique):
   2896 	Likewise.
   2897 	* include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace):
   2898 	Likewise.
   2899 	* include/c_global/cmath (__cpp_lib_hypot): Likewise.
   2900 	* include/c_global/cstddef (__cpp_lib_byte): Likewise.
   2901 	* include/std/atomic (__cpp_lib_atomic_is_always_lock_free):
   2902 	Likewise.
   2903 	* include/std/complex (__cpp_lib_complex_udls): Likewise.
   2904 	* include/std/filesystem (__cpp_lib_filesystem): Likewise.
   2905 	* include/std/functional (__cpp_lib_not_fn): Likewise.
   2906 	(__cpp_lib_boyer_moore_searcher): Likewise.
   2907 	* include/std/iomanip (__cpp_lib_quoted_string_io): Likewise.
   2908 	* include/std/mutex (__cpp_lib_scoped_lock): Likewise.
   2909 	* include/std/numeric (__cpp_lib_gcd_lcm): Likewise.
   2910 	(__cpp_lib_gcd, __cpp_lib_lcm): Likewise.
   2911 	* include/std/tuple (__cpp_lib_apply): Likewise.
   2912 	(__cpp_lib_make_from_tuple): Likewise.
   2913 	* include/std/type_traits (__cpp_lib_integral_constant_callable)
   2914 	(__cpp_lib_bool_constant, __cpp_lib_logical_traits)
   2915 	(__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases)
   2916 	(__cpp_lib_result_of_sfinae, __cpp_lib_void_t)
   2917 	(__cpp_lib_is_swappable, __cpp_lib_is_invocable)
   2918 	(__cpp_lib_has_unique_object_representations)
   2919 	(__cpp_lib_is_aggregate): Likewise.
   2920 	* include/std/version: Likewise.
   2921 	* libsupc++/new (__cpp_lib_launder): Likewise.
   2922 
   2923 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2924 
   2925 	* include/std/version (__cpp_lib_shared_ptr_arrays): Fix
   2926 	condition for C++17 definition.
   2927 
   2928 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2929 
   2930 	* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
   2931 	Add constexpr.
   2932 	(_Sp_atomic::_M_ptr): Add default member-initializer.
   2933 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   2934 	Check constant initialization.
   2935 	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
   2936 
   2937 2022-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2938 
   2939 	* src/c++11/cxx11-ios_failure.cc (__constinit): Define as
   2940 	equivalent attribute for Clang.
   2941 	* src/c++11/future.cc (__constinit): Likewise.
   2942 	* src/c++11/system_error.cc (__constinit): Likewise.
   2943 	* src/c++17/memory_resource.cc (__constinit): Likewise.
   2944 
   2945 2022-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2946 
   2947 	* scripts/testsuite_flags.in: Only add src/filesystem/.libs and
   2948 	src/libbacktrace/.libs to LDFLAGS if those directories exist.
   2949 
   2950 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2951 
   2952 	* configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4
   2953 	from default flags.
   2954 	* configure: Regenerate.
   2955 
   2956 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2957 
   2958 	PR libstdc++/104123
   2959 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include
   2960 	<stddef.h>.
   2961 
   2962 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2963 
   2964 	* scripts/testsuite_flags.in: Add src/libbacktrace/.libs to
   2965 	linker search paths.
   2966 	* src/Makefile.am: Fix src/debug/libbacktrace build.
   2967 	* src/Makefile.in: Regenerate.
   2968 	* src/libbacktrace/Makefile.am: Use per-library CPPFLAGS
   2969 	variable. Use symlinks for the source files.
   2970 	* src/libbacktrace/Makefile.in: Regenerate.
   2971 
   2972 2022-01-19  Matthias Kretz  <m.kretz (a] gsi.de>
   2973 
   2974 	* include/experimental/bits/simd.h (__floating_point_flags): Do
   2975 	not rely on math_errhandling to expand to a constant expression.
   2976 
   2977 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2978 
   2979 	* doc/xml/manual/evolution.xml: Document deprecations.
   2980 	* doc/xml/manual/status_cxx2017.xml: Update status.
   2981 	* doc/html/*: Regenerate.
   2982 
   2983 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2984 
   2985 	* include/bits/stl_tempbuf.h (get_temporary_buffer): Change
   2986 	_GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED.
   2987 
   2988 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2989 
   2990 	* include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused
   2991 	function.
   2992 
   2993 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2994 
   2995 	PR libstdc++/104101
   2996 	* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock):
   2997 	Only use __thread_relax if __cpp_lib_atomic_wait is defined.
   2998 
   2999 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3000 
   3001 	PR libstdc++/104099
   3002 	* include/bits/basic_string.h (basic_string(nullptr_t)): Only
   3003 	define for C++23.
   3004 	(operator=(nullptr_t)): Likewise.
   3005 	* include/bits/cow_string.h: Likewise.
   3006 	* include/std/string_view (basic_string_view(nullptr_t)):
   3007 	Likewise.
   3008 	* testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust
   3009 	expected error. Add examples that become ill-formed in C++23.
   3010 	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
   3011 	Adjust expected errors.
   3012 	* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
   3013 	Likewise.
   3014 
   3015 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3016 
   3017 	PR libstdc++/104098
   3018 	* include/bits/stl_iterator.h (reverse_iterator): Check
   3019 	__cpp_lib_concepts instead of __cplusplus.
   3020 
   3021 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3022 
   3023 	PR libstdc++/101124
   3024 	* include/bits/stl_pair.h (pair): Adjust constraints on
   3025 	deprecated constructors accepting literal zero as null pointer
   3026 	constant. Improve wording of deprecated attribute.
   3027 	* testsuite/20_util/pair/cons/99957.cc: Check that deprecated
   3028 	constructors do not cause ambiguities for copyable types.
   3029 
   3030 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3031 
   3032 	* include/bits/stl_function.h (ptr_fun): Fix suggestion for
   3033 	non-deprecated alternative.
   3034 
   3035 2022-01-18  Tom Honermann  <tom (a] honermann.net>
   3036 
   3037 	* acinclude.m4: Define config macros if uchar.h provides
   3038 	c8rtomb() and mbrtoc8().
   3039 	* config.h.in: Regenerate.
   3040 	* configure: Regenerate.
   3041 	* include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define.
   3042 	* include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise.
   3043 	* include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise.
   3044 	* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
   3045 	New test.
   3046 	* testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc:
   3047 	New test.
   3048 
   3049 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3050 
   3051 	* include/Makefile.am: Install new header.
   3052 	* include/Makefile.in: Regenerate.
   3053 	* include/c_compatibility/stdatomic.h: New file.
   3054 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test.
   3055 
   3056 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3057 
   3058 	PR libstdc++/104080
   3059 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   3060 	* src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
   3061 	Define in terms of __BYTE_ORDER__.
   3062 
   3063 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3064 
   3065 	PR libstdc++/104080
   3066 	* src/c++17/fast_float/LOCAL_PATCHES: UPDATE.
   3067 	* src/c++17/fast_float/fast_float.h (round): Use explicit
   3068 	template argument list for std::min.
   3069 
   3070 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3071 
   3072 	* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
   3073 	* doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for
   3074 	upcoming release.
   3075 	* doc/html/manual/status.html: Regenerate.
   3076 
   3077 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3078 
   3079 	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve
   3080 	comments.
   3081 	* configure: Regenerate.
   3082 
   3083 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   3084 
   3085 	* src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT):
   3086 	Conditionally define, and use it to conditionally include
   3087 	fast_float.
   3088 	(from_chars): Use fast_float for float and double when
   3089 	USE_LIB_FAST_FLOAT.
   3090 
   3091 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   3092 
   3093 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   3094 	* src/c++17/fast_float/fast_float.h (from_chars_advanced): In
   3095 	case of over/underflow, return errc::result_out_of_range and don't
   3096 	modify 'value'.
   3097 
   3098 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   3099 
   3100 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   3101 	* src/c++17/fast_float/fast_float.h: Apply local modifications.
   3102 
   3103 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   3104 
   3105 	* src/c++17/fast_float/LOCAL_PATCHES: New file.
   3106 	* src/c++17/fast_float/MERGE: New file.
   3107 	* src/c++17/fast_float/README.md: New file, copied from the
   3108 	fast_float repository.
   3109 	* src/c++17/fast_float/fast_float.h: New file, an amalgamation
   3110 	of the fast_float library.
   3111 
   3112 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   3113 
   3114 	* src/c++17/floating_from_chars.cc: Include <bit>.
   3115 	(ascii_to_hexit, starts_with_ci): Conditionally define.
   3116 	(__floating_from_chars_hex):  Conditionally define.
   3117 	(from_chars): Use __floating_from_chars_hex for
   3118 	chars_format::hex parsing of binary32/64 float/double.
   3119 	(testsuite/20_util/from_chars/7.cc): New test.
   3120 	* testsuite/20_util/from_chars/7.cc: New file.
   3121 
   3122 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3123 
   3124 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro.
   3125 	* configure.ac: Use GLIBCXX_ENABLE_BACKTRACE.
   3126 	* include/Makefile.am: Add new header.
   3127 	* include/Makefile.in: Regenerate.
   3128 	* include/std/stacktrace: New header.
   3129 	* include/std/version (__cpp_lib_stacktrace): Define.
   3130 	* Makefile.in: Regenerate.
   3131 	* config.h.in: Regenerate.
   3132 	* configure: Regenerate.
   3133 	* doc/Makefile.in: Regenerate.
   3134 	* libsupc++/Makefile.in: Regenerate.
   3135 	* po/Makefile.in: Regenerate.
   3136 	* python/Makefile.in: Regenerate.
   3137 	* src/Makefile.am: Regenerate.
   3138 	* src/Makefile.in: Regenerate.
   3139 	* src/c++11/Makefile.in: Regenerate.
   3140 	* src/c++17/Makefile.in: Regenerate.
   3141 	* src/c++20/Makefile.in: Regenerate.
   3142 	* src/c++98/Makefile.in: Regenerate.
   3143 	* src/filesystem/Makefile.in: Regenerate.
   3144 	* testsuite/Makefile.in: Regenerate.
   3145 	* src/libbacktrace/Makefile.am: New file.
   3146 	* src/libbacktrace/Makefile.in: New file.
   3147 	* src/libbacktrace/backtrace-rename.h: New file.
   3148 	* src/libbacktrace/backtrace-supported.h.in: New file.
   3149 	* src/libbacktrace/config.h.in: New file.
   3150 	* testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
   3151 	New proc.
   3152 	* testsuite/20_util/stacktrace/entry.cc: New test.
   3153 	* testsuite/20_util/stacktrace/synopsis.cc: New test.
   3154 	* testsuite/20_util/stacktrace/version.cc: New test.
   3155 
   3156 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3157 
   3158 	* doc/xml/manual/status_cxx2020.xml: Use final C++20 option
   3159 	names.
   3160 	* doc/html/manual/status.html: Regenerate.
   3161 
   3162 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3163 
   3164 	PR libstdc++/103650
   3165 	* include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
   3166 	* include/Makefile.in: Regenerate.
   3167 	* testsuite/17_intro/headers/c++1998/103650.cc: New test.
   3168 
   3169 2022-01-17  Matthias Kretz  <m.kretz (a] gsi.de>
   3170 
   3171 	* include/experimental/bits/simd.h (__floating_point_flags): Do
   3172 	not rely on the presence of the math_errhandling macro.
   3173 
   3174 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3175 
   3176 	* include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename
   3177 	to qualified-id for dependent type.
   3178 
   3179 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3180 
   3181 	* doc/xml/manual/status_cxx2020.xml: Update.
   3182 	* doc/html/manual/status.html: Regenerate.
   3183 
   3184 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3185 	    Thomas Rodgers  <trodgers (a] redhat.com>
   3186 
   3187 	* include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr):
   3188 	New macro.
   3189 	(_Sp_atomic): New class template.
   3190 	(atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial
   3191 	specializations.
   3192 	* include/bits/shared_ptr_base.h (__shared_count, __weak_count)
   3193 	(__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend.
   3194 	* include/std/version (__cpp_lib_atomic_shared_ptr): New macro.
   3195 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New
   3196 	test.
   3197 	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test.
   3198 
   3199 2022-01-15  Matthias Kretz  <m.kretz (a] gsi.de>
   3200 
   3201 	* include/experimental/bits/simd.h: Move feature detection bools
   3202 	and add __have_avx512bitalg, __have_avx512vbmi2,
   3203 	__have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
   3204 	__have_avx512vnni, __have_avx512vpopcntdq.
   3205 	(__detail::__machine_flags): New function which returns a unique
   3206 	uint64 depending on relevant -m and -f flags.
   3207 	(__detail::__odr_helper): New type alias for either an anonymous
   3208 	type or a type specialized with the __machine_flags number.
   3209 	(_SimdIntOperators): Change template parameters from _Impl to
   3210 	_Tp, _Abi because _Impl now has an __odr_helper parameter which
   3211 	may be _OdrEnforcer from the anonymous namespace, which makes
   3212 	for a bad base class.
   3213 	(many): Either add __odr_helper template parameter or mark as
   3214 	always_inline.
   3215 	* include/experimental/bits/simd_detail.h: Add defines for
   3216 	AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
   3217 	AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
   3218 	* include/experimental/bits/simd_builtin.h: Add __odr_helper
   3219 	template parameter or mark as always_inline.
   3220 	* include/experimental/bits/simd_fixed_size.h: Ditto.
   3221 	* include/experimental/bits/simd_math.h: Ditto.
   3222 	* include/experimental/bits/simd_scalar.h: Ditto.
   3223 	* include/experimental/bits/simd_neon.h: Add __odr_helper
   3224 	template parameter.
   3225 	* include/experimental/bits/simd_ppc.h: Ditto.
   3226 	* include/experimental/bits/simd_x86.h: Ditto.
   3227 
   3228 2022-01-14  Uro Bizjak  <ubizjak (a] gmail.com>
   3229 
   3230 	* testsuite/22_locale/numpunct/members/char/3.cc:
   3231 	Require pt_PT locale instead of nl_NL.
   3232 	(test02): Use pt_PT locale instead of nl_NL.
   3233 
   3234 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3235 
   3236 	PR libstdc++/91260
   3237 	PR libstdc++/91383
   3238 	PR libstdc++/95065
   3239 	* include/backward/binders.h (bind1st, bind2nd): Add deprecated
   3240 	attribute.
   3241 	* include/bits/refwrap.h (_Maybe_unary_or_binary_function):
   3242 	Disable deprecated warnings for base classes.
   3243 	(_Reference_wrapper_base): Likewise.
   3244 	* include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
   3245 	* include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
   3246 	* include/bits/stl_function.h (unary_function, binary_function):
   3247 	Add deprecated attribute.
   3248 	(unary_negate, not1, binary_negate, not2, ptr_fun)
   3249 	(pointer_to_unary_function, pointer_to_binary_function)
   3250 	(mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
   3251 	(mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
   3252 	(const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
   3253 	attributes.
   3254 	* include/bits/stl_iterator.h: Disable deprecated warnings for
   3255 	std::iterator base classes.
   3256 	* include/bits/stl_iterator_base_types.h (iterator): Add
   3257 	deprecated attribute.
   3258 	* include/bits/stl_map.h (map::value_compare): Disable
   3259 	deprecated warnings for base class.
   3260 	* include/bits/stl_multimap.h (multimap::value_compare):
   3261 	Likewise.
   3262 	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
   3263 	Add deprecated attribute.
   3264 	* include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
   3265 	* include/bits/stream_iterator.h: Disable deprecated warnings.
   3266 	* include/bits/streambuf_iterator.h: Likewise.
   3267 	* include/ext/bitmap_allocator.h: Remove unary_function base
   3268 	classes.
   3269 	* include/ext/functional: Disable deprecated warnings.
   3270 	* include/ext/rope: Likewise.
   3271 	* include/ext/throw_allocator.h: Likewise.
   3272 	* include/std/type_traits (result_of): Add deprecated attribute.
   3273 	* include/tr1/functional: Disable deprecated warnings.
   3274 	* include/tr1/functional_hash.h: Likewise.
   3275 	* testsuite/20_util/function_objects/binders/1.cc: Add
   3276 	-Wno-disable-deprecations.
   3277 	* testsuite/20_util/function_objects/binders/3113.cc: Likewise.
   3278 	* testsuite/20_util/function_objects/constexpr.cc: Add
   3279 	dg-warning.
   3280 	* testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
   3281 	* testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
   3282 	* testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
   3283 	Likewise.
   3284 	* testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
   3285 	Likewise.
   3286 	* testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
   3287 	Likewise.
   3288 	* testsuite/20_util/reference_wrapper/24803.cc:
   3289 	Likewise.
   3290 	* testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
   3291 	C++20 and check for absence of nested types.
   3292 	* testsuite/20_util/shared_ptr/comparison/less.cc: Remove
   3293 	std::binary_function base class.
   3294 	* testsuite/20_util/temporary_buffer.cc: Add dg-warning.
   3295 	* testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
   3296 	std::iterator base class.
   3297 	* testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
   3298 	Likewise.
   3299 	* testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
   3300 	Likewise.
   3301 	* testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
   3302 	Likewise.
   3303 	* testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
   3304 	Likewise.
   3305 	* testsuite/24_iterators/istreambuf_iterator/92285.cc:
   3306 	Likewise.
   3307 	* testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
   3308 	Likewise.
   3309 	* testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
   3310 	Likewise.
   3311 	* testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
   3312 	Likewise.
   3313 	* testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
   3314 	Likewise.
   3315 	* testsuite/25_algorithms/copy/34595.cc:
   3316 	Likewise.
   3317 	* testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
   3318 	base class.
   3319 	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
   3320 	Disable deprecated warnings.
   3321 	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
   3322 	Likewise.
   3323 	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
   3324 	Likewise.
   3325 	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
   3326 	Likewise.
   3327 	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
   3328 	Likewise.
   3329 	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
   3330 	Likewise.
   3331 	* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
   3332 	Likewise.
   3333 	* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
   3334 	Likewise.
   3335 	* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
   3336 	Likewise.
   3337 	* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
   3338 	Likewise.
   3339 	* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
   3340 	Likewise.
   3341 	* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
   3342 	Likewise.
   3343 	* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
   3344 	Likewise.
   3345 	* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
   3346 	Likewise.
   3347 	* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
   3348 	Likewise.
   3349 	* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
   3350 	Likewise.
   3351 	* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
   3352 	Likewise.
   3353 	* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
   3354 	Likewise.
   3355 	* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
   3356 	Likewise.
   3357 	* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
   3358 	Likewise.
   3359 	* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
   3360 	Likewise.
   3361 	* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
   3362 	Likewise.
   3363 	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
   3364 	Likewise.
   3365 	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
   3366 	Likewise.
   3367 	* testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
   3368 	Likewise.
   3369 	* testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
   3370 	Likewise.
   3371 	* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
   3372 	Likewise.
   3373 	* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
   3374 	Likewise.
   3375 	* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
   3376 	Likewise.
   3377 	* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
   3378 	Likewise.
   3379 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
   3380 	Likewise.
   3381 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
   3382 	Likewise.
   3383 	* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
   3384 	Likewise.
   3385 	* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
   3386 	Likewise.
   3387 	* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
   3388 	Likewise.
   3389 	* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
   3390 	Likewise.
   3391 	* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
   3392 	Likewise.
   3393 	* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
   3394 	Likewise.
   3395 	* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
   3396 	Likewise.
   3397 	* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
   3398 	Likewise.
   3399 	* testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
   3400 	Likewise.
   3401 	* testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
   3402 	Likewise.
   3403 	* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
   3404 	Likewise.
   3405 	* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
   3406 	Likewise.
   3407 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
   3408 	Likewise.
   3409 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
   3410 	Likewise.
   3411 	* testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
   3412 	Likewise.
   3413 	* testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
   3414 	Likewise.
   3415 	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
   3416 	dg-warning.
   3417 	* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
   3418 	Likewise.
   3419 	* testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
   3420 	Likewise.
   3421 	* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
   3422 	Disable deprecated warnings.
   3423 	* testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
   3424 	Likewise.
   3425 	* testsuite/util/regression/trait/erase_if_fn.hpp: Remove
   3426 	std::unary_function base classes.
   3427 	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
   3428 	Remove std::iterator base classes.
   3429 
   3430 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3431 
   3432 	* include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type):
   3433 	Correct type of macro value.
   3434 	(shared_ptr): Add additional friend declarations.
   3435 	(make_shared, allocate_shared): Constrain existing overloads and
   3436 	remove static_assert.
   3437 	* include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite):
   3438 	New macro.
   3439 	(_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial
   3440 	specialization for use with make_shared_for_overwrite.
   3441 	(__cpp_lib_shared_ptr_arrays): Update value for C++20.
   3442 	(_Sp_counted_array_base): New class template.
   3443 	(_Sp_counted_array): New class template.
   3444 	(__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)):
   3445 	New constructor for allocating shared arrays.
   3446 	(__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise.
   3447 	* include/std/version (__cpp_lib_shared_ptr_weak_type): Correct
   3448 	type.
   3449 	(__cpp_lib_shared_ptr_arrays): Update value for C++20.
   3450 	(__cpp_lib_smart_ptr_for_overwrite): New macro.
   3451 	* testsuite/20_util/shared_ptr/creation/99006.cc: Adjust
   3452 	expected errors.
   3453 	* testsuite/20_util/shared_ptr/creation/array.cc: New test.
   3454 	* testsuite/20_util/shared_ptr/creation/overwrite.cc: New test.
   3455 	* testsuite/20_util/shared_ptr/creation/version.cc: New test.
   3456 	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check
   3457 	feature test macro. Test non-trivial default-initialization.
   3458 
   3459 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3460 
   3461 	* include/bits/stl_construct.h (_Construct, _Construct_novalue):
   3462 	Also cast away cv-qualifiers when converting pointer to void.
   3463 	* testsuite/20_util/allocator/void.cc: Test construct function
   3464 	with cv-qualified types.
   3465 
   3466 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3467 
   3468 	PR libstdc++/103992
   3469 	* include/bits/stl_iterator.h (common_iterator): Use
   3470 	std::construct_at instead of placement new.
   3471 	* testsuite/24_iterators/common_iterator/1.cc: Check copy
   3472 	construction is usable in constant expressions.
   3473 
   3474 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3475 
   3476 	* doc/xml/manual/status_cxx2011.xml: Document new tokens
   3477 	accepted by std::random_device constructor.
   3478 	* doc/html/manual/status.html: Regenerate.
   3479 
   3480 2022-01-12  Patrick Palka  <ppalka (a] redhat.com>
   3481 
   3482 	* testsuite/20_util/to_chars/103955.cc: Add explicit dg-do
   3483 	directive.
   3484 
   3485 2022-01-12  Patrick Palka  <ppalka (a] redhat.com>
   3486 
   3487 	PR libstdc++/103955
   3488 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
   3489 	Track the excess precision separately from the effective
   3490 	precision.  Avoid overflow in bounds check by splitting it into
   3491 	two checks.
   3492 	(__floating_to_chars_precision): Avoid overflow in bounds checks
   3493 	similarly.
   3494 	* testsuite/20_util/to_chars/103955.cc: New test.
   3495 
   3496 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3497 
   3498 	PR libstdc++/103726
   3499 	* include/Makefile.am: Install <source_location> for
   3500 	freestanding.
   3501 	* include/Makefile.in: Regenerate.
   3502 	* include/std/version (__cpp_lib_source_location): Define for
   3503 	freestanding.
   3504 
   3505 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3506 
   3507 	* include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
   3508 	Add neoxcept (LWG 3593).
   3509 
   3510 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3511 
   3512 	* include/std/ranges (ranges::__detail::__box): Add constexpr to
   3513 	assignment operators (LWG 3572).
   3514 	* testsuite/std/ranges/adaptors/filter.cc: Check assignment of a
   3515 	view that uses copyable-box.
   3516 
   3517 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3518 
   3519 	PR libstdc++/103726
   3520 	* include/Makefile.am: Install <coroutine> for freestanding.
   3521 	* include/Makefile.in: Regenerate.
   3522 	* include/std/coroutine: Adjust headers and preprocessor
   3523 	conditions.
   3524 	(__coroutine_traits_impl): Use concepts when available.
   3525 	[_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.
   3526 
   3527 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3528 
   3529 	* include/std/ostream (operator<<(basic_ostream&, charT)):
   3530 	Use unformatted input if no padding is needed.
   3531 	(operator<<(basic_ostream<char>&, char)): Likewise.
   3532 
   3533 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3534 
   3535 	PR libstdc++/103891
   3536 	* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
   3537 	Define.
   3538 	* include/std/variant (__cpp_lib_variant): Only define C++20
   3539 	value when the compiler is known to support conditionally
   3540 	trivial destructors.
   3541 	* include/std/version (__cpp_lib_variant): Likewise.
   3542 
   3543 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3544 
   3545 	* include/bits/stl_iterator.h (common_iterator): Add constexpr
   3546 	to all member functions (LWG 3574).
   3547 	* testsuite/24_iterators/common_iterator/1.cc: Evaluate some
   3548 	tests as constant expressions.
   3549 	* testsuite/24_iterators/common_iterator/2.cc: Likewise.
   3550 
   3551 2022-01-10  Jakub Jelinek  <jakub (a] redhat.com>
   3552 
   3553 	PR libstdc++/77760
   3554 	* include/bits/locale_facets_nonio.h (__time_get_state): New struct.
   3555 	(time_get::_M_extract_via_format): Declare new method with
   3556 	__time_get_state& as an extra argument.
   3557 	* include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add
   3558 	__state argument, set various fields in it while parsing.  Handle %j,
   3559 	%U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour
   3560 	for %p immediately.  Add a wrapper around the method without the
   3561 	__state argument for backwards compatibility.
   3562 	(_M_extract_num): Remove all __len == 4 special cases.
   3563 	(time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero
   3564 	initialize __state, pass it to _M_extract_via_format and finalize it
   3565 	at the end.
   3566 	(do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068,
   3567 	69-99 to 1969-1999.  For 3-4 digit parsed years use that as year.
   3568 	(get): If do_get isn't overloaded from the locale_facets_nonio.tcc
   3569 	version, don't call do_get but call _M_extract_via_format instead to
   3570 	pass around state.
   3571 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format
   3572 	with extra __time_get_state and __time_get_state::_M_finalize_state.
   3573 	* src/c++98/locale_facets.cc (is_leap, day_of_the_week,
   3574 	day_of_the_year): New functions in anon namespace.
   3575 	(mon_yday): New var in anon namespace.
   3576 	(__time_get_state::_M_finalize_state): Define.
   3577 	* testsuite/22_locale/time_get/get/char/4.cc: New test.
   3578 	* testsuite/22_locale/time_get/get/wchar_t/4.cc: New test.
   3579 	* testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197
   3580 	as year 197AD instead of error.
   3581 	* testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as
   3582 	year 2001 instead of error.
   3583 	* testsuite/22_locale/time_get/get_year/char/6.cc: New test.
   3584 	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse
   3585 	197 as year 197AD instead of error.
   3586 	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse
   3587 	1 as year 2001 instead of error.
   3588 	* testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test.
   3589 
   3590 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3591 
   3592 	PR libstdc++/103866
   3593 	* acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do
   3594 	nothing for freestanding builds.
   3595 	(GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS.
   3596 	* configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured
   3597 	with --without-headers.  Do not use GCC_HEADER_STDINT for
   3598 	freestanding builds.
   3599 	* libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding
   3600 	for freestanding builds.
   3601 	* configure: Regenerate.
   3602 	* Makefile.in: Regenerate.
   3603 	* doc/Makefile.in: Regenerate.
   3604 	* include/Makefile.in: Regenerate.
   3605 	* libsupc++/Makefile.in: Regenerate.
   3606 	* po/Makefile.in: Regenerate.
   3607 	* python/Makefile.in: Regenerate.
   3608 	* src/Makefile.in: Regenerate.
   3609 	* src/c++11/Makefile.in: Regenerate.
   3610 	* src/c++17/Makefile.in: Regenerate.
   3611 	* src/c++20/Makefile.in: Regenerate.
   3612 	* src/c++98/Makefile.in: Regenerate.
   3613 	* src/filesystem/Makefile.in: Regenerate.
   3614 	* testsuite/Makefile.in: Regenerate.
   3615 
   3616 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3617 
   3618 	* testsuite/28_regex/algorithms/regex_replace/char/103664.cc:
   3619 	Add dg-timeout-factor directive.
   3620 	* testsuite/28_regex/basic_regex/84110.cc: Likewise.
   3621 	* testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise.
   3622 	* testsuite/28_regex/match_results/102667.cc: Likewise.
   3623 
   3624 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3625 
   3626 	* doc/xml/manual/using.xml: Update documentation around default
   3627 	-std option.
   3628 	* doc/html/*: Regenerate.
   3629 
   3630 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3631 
   3632 	PR libstdc++/100017
   3633 	* src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++.
   3634 	* src/c++17/Makefile.in: Regenerate.
   3635 
   3636 2022-01-09  Sandra Loosemore  <sandra (a] codesourcery.com>
   3637 
   3638 	* testsuite/18_support/type_info/constexpr.cc: Add explicit
   3639 	-fdelete-null-pointer-checks option.
   3640 
   3641 2022-01-06  Pavel I. Kryukov  <pavel.kryukov (a] phystech.edu>
   3642 	    Jonathan Wakely  <jwakely (a] redhat.com>
   3643 
   3644 	PR libstdc++/103853
   3645 	* include/bits/forward_list.tcc (forward_list::merge): Check for
   3646 	self-merge.
   3647 	* testsuite/23_containers/forward_list/operations/merge.cc: New test.
   3648 
   3649 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3650 
   3651 	* include/bits/regex.h (basic_regex, match_results): Qualify
   3652 	name in friend declaration, to work around Clang bug.
   3653 
   3654 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3655 
   3656 	* testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
   3657 
   3658 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3659 
   3660 	PR libstdc++/103911
   3661 	* include/std/charconv (__from_chars_alpha_to_num): Return
   3662 	char instead of unsigned char. Change invalid return value to
   3663 	127 instead of using numeric trait.
   3664 	(__from_chars_alnum): Fix comment. Do not use std::isdigit.
   3665 	Change type of variable to char.
   3666 
   3667 2022-01-05  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3668 
   3669 	PR libstdc++/68303
   3670 	* include/bits/hashtable_policy.h
   3671 	(_Hashtable_hash_traits<_Hash>): New.
   3672 	(_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New.
   3673 	(_Hashtable_base<>::_M_key_equals): New.
   3674 	(_Hashtable_base<>::_M_equals): Use latter.
   3675 	(_Hashtable_base<>::_M_key_equals_tr): New.
   3676 	(_Hashtable_base<>::_M_equals_tr): Use latter.
   3677 	* include/bits/hashtable.h
   3678 	(_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits.
   3679 	(_Hashtable<>::find): Loop through elements to look for key if size is lower
   3680 	than __small_size_threshold().
   3681 	(_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
   3682 	(_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise.
   3683 	(_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New.
   3684 	(_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter.
   3685 	(_Hashtable<>::_M_find_before_node(const key_type&)): New.
   3686 	(_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter.
   3687 	(_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise.
   3688 	* src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>.
   3689 	* testsuite/util/testsuite_performance.h
   3690 	(report_performance): Use 9 width to display memory.
   3691 	* testsuite/performance/23_containers/insert_erase/unordered_small_size.cc:
   3692 	New performance test case.
   3693 
   3694 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3695 
   3696 	PR libstdc++/103919
   3697 	* include/bits/basic_string.h (basic_string(const T&, size_t, size_t)):
   3698 	Relax constraints on string_view parameter.
   3699 	* include/bits/cow_string.h (basic_string(const T&, size_t, size_t)):
   3700 	Likewise.
   3701 	* testsuite/21_strings/basic_string/cons/char/103919.cc: New test.
   3702 
   3703 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3704 
   3705 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for
   3706 	ARM EABI.
   3707 	* include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define.
   3708 	* include/std/version (__cpp_lib_constexpr_typeinfo): Define.
   3709 	* libsupc++/tinfo.cc: Add #error to ensure non-inline definition
   3710 	is emitted.
   3711 	(type_info::__equal): Define alias symbol.
   3712 	* libsupc++/typeinfo (type_info::before): Combine different
   3713 	implementations into one.
   3714 	(type_info::operator==): Likewise. Use address equality for
   3715 	constant evaluation. Call __equal for targets that require the
   3716 	definition to be non-inline.
   3717 	* testsuite/18_support/type_info/constexpr.cc: New test.
   3718 
   3719 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3720 
   3721 	* src/c++11/cxx11-ios_failure.cc (io_error_category): Define
   3722 	class and virtual functions as 'final'.
   3723 	(io_category_instance): Use constinit union to make the object
   3724 	immortal.
   3725 	* src/c++11/future.cc (future_error_category): Define class and
   3726 	virtual functions as 'final'.
   3727 	(future_category_instance): Use constinit union.
   3728 
   3729 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3730 
   3731 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
   3732 	versioned namespace from the type name that is printed.
   3733 
   3734 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3735 
   3736 	* python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
   3737 	printer for std::regex NFA states.
   3738 
   3739 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3740 
   3741 	* testsuite/23_containers/forward_list/operations/1.cc: Fill in
   3742 	placeholders in comments.
   3743 	* testsuite/23_containers/forward_list/operations/2.cc:
   3744 	Likewise.
   3745 	* testsuite/23_containers/forward_list/operations/3.cc:
   3746 	Likewise.
   3747 	* testsuite/23_containers/forward_list/operations/4.cc:
   3748 	Likewise.
   3749 	* testsuite/23_containers/forward_list/operations/5.cc:
   3750 	Likewise.
   3751 	* testsuite/23_containers/forward_list/operations/6.cc:
   3752 	Likewise.
   3753 	* testsuite/23_containers/forward_list/operations/7.cc:
   3754 	Likewise.
   3755 
   3756 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3757 
   3758 	PR libstdc++/103848
   3759 	* include/bits/stl_deque.h (operator-): Do not use 0 as null
   3760 	pointer constant.
   3761 
   3762 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3763 
   3764 	* include/bits/alloc_traits.h (allocator_traits<allocator<void>>):
   3765 	Use std::_Construct for construct.
   3766 
   3767 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3768 
   3769 	PR libstdc++/103877
   3770 	* doc/xml/faq.xml: Add '-x c++' to preprocessor command.
   3771 	* doc/html/faq.html: Regenerate.
   3772 
   3773 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3774 
   3775 	* include/bits/regex.h (__regex_algo_impl): Change __policy and
   3776 	__match_mode template parameters to be function parameters.
   3777 	(regex_match, regex_search): Pass policy and match mode as
   3778 	function arguments.
   3779 	* include/bits/regex.tcc (__regex_algo_impl): Change template
   3780 	parameters to function parameters.
   3781 	* include/bits/regex_compiler.h (_RegexTranslatorBase): Use
   3782 	'if constexpr' for conditions using template parameters.
   3783 	(_RegexTranslator): Likewise.
   3784 	* include/bits/regex_executor.tcc (_Executor::_M_handle_accept):
   3785 	Likewise.
   3786 	* testsuite/util/testsuite_regex.h (regex_match_debug)
   3787 	(regex_search_debug): Move template arguments to function
   3788 	arguments.
   3789 
   3790 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3791 
   3792 	* testsuite/util/testsuite_regex.h (regex_match_debug): Compare
   3793 	results even if the match failed.
   3794 
   3795 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3796 
   3797 	* include/bits/regex_compiler.tcc: Adjust all calls to
   3798 	__throw_regex_error.
   3799 	* include/bits/regex_error.h (__throw_regex_error): Add noreturn
   3800 	attribute.
   3801 	* include/bits/regex_scanner.tcc: Likewise.
   3802 	* src/c++11/regex.cc (desc): New helper function.
   3803 	(regex_error::regex_error(error_type)): Use desc to get a string
   3804 	corresponding to the error code.
   3805 
   3806 
   3808 Copyright (C) 2022 Free Software Foundation, Inc.
   3809 
   3810 Copying and distribution of this file, with or without modification,
   3811 are permitted in any medium without royalty provided the copyright
   3812 notice and this notice are preserved.
   3813