Home | History | Annotate | Line # | Download | only in libstdc++-v3
      1 2022-12-24  Iain Sandoe  <iain (a] sandoe.co.uk>
      2 
      3 	* src/c++20/tzdb.cc (remote_version): Look for the tzdata.zi
      4 	file before falling back to system-specific ones on Darwin and
      5 	BSD.
      6 
      7 2022-12-24  Iain Sandoe  <iain (a] sandoe.co.uk>
      8 
      9 	* testsuite/std/time/tzdb/leap_seconds.cc: Initialize the
     10 	override_used test var to false.
     11 
     12 2022-12-23  Eric Botcazou  <ebotcazou (a] adacore.com>
     13 
     14 	* acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Substitute CPPFLAGS.
     15 	(GLIBCXX_ENABLE_LIBSTDCXX_TIME): Set ac_has_sched_yield and
     16 	ac_has_win32_sleep to yes for MinGW.  Change HAVE_WIN32_SLEEP
     17 	into _GLIBCXX_USE_WIN32_SLEEP.
     18 	(GLIBCXX_CHECK_GTHREADS): Add _WIN32_THREADS to compilation flags for
     19 	Win32 threads and force _GTHREAD_USE_MUTEX_TIMEDLOCK to 0 for them.
     20 	Add -D_WIN32_WINNT=0x0600 to compilation flags if yes was configured
     21 	and add it to CPPFLAGS on success.
     22 	* config.h.in: Regenerate.
     23 	* configure: Likewise.
     24 	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32):
     25 	Define to 1.
     26 	* config/os/mingw32/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): Ditto
     27 	* src/c++11/thread.cc (get_nprocs): Provide Win32 implementation if
     28 	_GLIBCXX_USE_GET_NPROCS_WIN32 is defined.  Replace HAVE_WIN32_SLEEP
     29 	with USE_WIN32_SLEEP.
     30 	* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Add
     31 	missing conditional compilation.
     32 	* testsuite/lib/libstdc++.exp (check_v3_target_sleep): Add support for
     33 	_GLIBCXX_USE_WIN32_SLEEP.
     34 	(check_v3_target_nprocs): Likewise for _GLIBCXX_USE_GET_NPROCS_WIN32.
     35 
     36 2022-12-23  Jonathan Wakely  <jwakely (a] redhat.com>
     37 
     38 	* src/c++20/tzdb.cc [__APPLE__] (zoneinfo_dir_override): Add
     39 	definition.
     40 
     41 2022-12-23  Jonathan Wakely  <jwakely (a] redhat.com>
     42 
     43 	* src/c++20/tzdb.cc: Remove static_assert.
     44 
     45 2022-12-23  Arsen Arsenovi  <arsen (a] aarsen.me>
     46 	    Jonathan Wakely  <jwakely (a] redhat.com>
     47 
     48 	PR libstdc++/107792
     49 	PR libstdc++/107778
     50 	* src/experimental/contract.cc (handle_contract_violation): Make
     51 	output more readable.
     52 
     53 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
     54 
     55 	PR libstdc++/105730
     56 	* src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
     57 	Access private data member of base class and call its wait
     58 	member.
     59 
     60 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
     61 
     62 	* include/Makefile.am: Add new header.
     63 	* include/Makefile.in: Regenerate.
     64 	* include/std/chrono (operator<<): Move to new header.
     65 	(nonexistent_local_time::_M_make_what_str): Define correctly.
     66 	(ambiguous_local_time::_M_make_what_str): Likewise.
     67 	* include/bits/chrono_io.h: New file.
     68 	* src/c++20/tzdb.cc (operator<<(ostream&, const Rule&)): Use
     69 	new ostream output for month and weekday types.
     70 	* testsuite/20_util/duration/io.cc: Test std::format support.
     71 	* testsuite/std/time/exceptions.cc: Check what() strings.
     72 	* testsuite/std/time/syn_c++20.cc: Uncomment local_time_format.
     73 	* testsuite/std/time/time_zone/get_info_local.cc: Enable check
     74 	for formatted output of local_info objects.
     75 	* testsuite/std/time/clock/file/io.cc: New test.
     76 	* testsuite/std/time/clock/gps/io.cc: New test.
     77 	* testsuite/std/time/clock/system/io.cc: New test.
     78 	* testsuite/std/time/clock/tai/io.cc: New test.
     79 	* testsuite/std/time/clock/utc/io.cc: New test.
     80 	* testsuite/std/time/day/io.cc: New test.
     81 	* testsuite/std/time/format.cc: New test.
     82 	* testsuite/std/time/hh_mm_ss/io.cc: New test.
     83 	* testsuite/std/time/month/io.cc: New test.
     84 	* testsuite/std/time/weekday/io.cc: New test.
     85 	* testsuite/std/time/year/io.cc: New test.
     86 	* testsuite/std/time/year_month_day/io.cc: New test.
     87 
     88 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
     89 
     90 	* include/std/format (__format::__write_padded_as_spec): New
     91 	function.
     92 	(__format::__formatter_str, __format::__formatter_int::format)
     93 	(formatter<const void*, charT>): Use it.
     94 
     95 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
     96 
     97 	* python/libstdcxx/v6/printers.py (StdChronoDurationPrinter)
     98 	(StdChronoTimePointPrinter, StdChronoZonedTimePrinter)
     99 	(StdChronoCalendarPrinter, StdChronoTimeZonePrinter)
    100 	(StdChronoLeapSecondPrinter, StdChronoTzdbPrinter)
    101 	(StdChronoTimeZoneRulePrinter): New printers.
    102 
    103 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
    104 
    105 	* acinclude.m4 (GLIBCXX_ZONEINFO_DIR): New macro.
    106 	* config.h.in: Regenerate.
    107 	* config/abi/pre/gnu.ver: Export new symbols.
    108 	* configure: Regenerate.
    109 	* configure.ac (GLIBCXX_ZONEINFO_DIR): Use new macro.
    110 	* include/std/chrono (utc_clock::from_sys): Correct handling
    111 	of leap seconds.
    112 	(nonexistent_local_time::_M_make_what_str): Define.
    113 	(ambiguous_local_time::_M_make_what_str): Define.
    114 	(__throw_bad_local_time): Define new function.
    115 	(time_zone, tzdb_list, tzdb): Implement all members.
    116 	(remote_version, zoned_time, get_leap_second_info): Define.
    117 	* include/std/version: Add comment for __cpp_lib_chrono.
    118 	* src/c++20/Makefile.am: Add new file.
    119 	* src/c++20/Makefile.in: Regenerate.
    120 	* src/c++20/tzdb.cc: New file.
    121 	* testsuite/lib/libstdc++.exp: Define effective target tzdb.
    122 	* testsuite/std/time/clock/file/members.cc: Check file_time
    123 	alias and file_clock::now() member.
    124 	* testsuite/std/time/clock/gps/1.cc: Likewise for gps_clock.
    125 	* testsuite/std/time/clock/tai/1.cc: Likewise for tai_clock.
    126 	* testsuite/std/time/syn_c++20.cc: Uncomment everything except
    127 	parse.
    128 	* testsuite/std/time/clock/utc/leap_second_info.cc: New test.
    129 	* testsuite/std/time/exceptions.cc: New test.
    130 	* testsuite/std/time/time_zone/get_info_local.cc: New test.
    131 	* testsuite/std/time/time_zone/get_info_sys.cc: New test.
    132 	* testsuite/std/time/time_zone/requirements.cc: New test.
    133 	* testsuite/std/time/tzdb/1.cc: New test.
    134 	* testsuite/std/time/tzdb/leap_seconds.cc: New test.
    135 	* testsuite/std/time/tzdb_list/1.cc: New test.
    136 	* testsuite/std/time/tzdb_list/requirements.cc: New test.
    137 	* testsuite/std/time/zoned_time/1.cc: New test.
    138 	* testsuite/std/time/zoned_time/custom.cc: New test.
    139 	* testsuite/std/time/zoned_time/deduction.cc: New test.
    140 	* testsuite/std/time/zoned_time/req_neg.cc: New test.
    141 	* testsuite/std/time/zoned_time/requirements.cc: New test.
    142 	* testsuite/std/time/zoned_traits.cc: New test.
    143 
    144 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
    145 
    146 	* include/bits/chrono.h (__is_duration_v, __is_time_point_v):
    147 	New variable templates.
    148 	(duration_cast): Add simplified definition for noconv case.
    149 	(treat_as_floating_point_v): Add explicit specializations.
    150 	(duration::operator%=, floor, ceil, round): Simplify SFINAE
    151 	constraints.
    152 
    153 2022-12-22  Jonathan Wakely  <jwakely (a] redhat.com>
    154 
    155 	* include/std/chrono: Use nodiscard attribute.
    156 
    157 2022-12-21  Jakub Jelinek  <jakub (a] redhat.com>
    158 
    159 	* testsuite/20_util/to_chars/float16_c++23.cc (test): Use 3 argument
    160 	std::to_chars if fmt is std::chars_format{}, rather than 4 argument.
    161 	* testsuite/20_util/to_chars/float128_c++23.cc (test): Likewise, and
    162 	skip second part of testing that requires 5 argument std::to_chars.
    163 
    164 2022-12-19  Arsen Arsenovi  <arsen (a] aarsen.me>
    165 
    166 	* include/experimental/contract: Lowercase the constants in
    167 	contract_violation_continuation_mode.
    168 
    169 2022-12-16  John David Anglin  <danglin (a] gcc.gnu.org>
    170 
    171 	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
    172 
    173 2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
    174 
    175 	* include/std/expected (expected): Add monadic operations.
    176 	(expected<void, E>): Likewise.
    177 	* include/std/version (__cpp_lib_expected): Bump value.
    178 	* testsuite/20_util/expected/synopsis.cc: Adjust expected macro
    179 	value.
    180 	* testsuite/20_util/expected/version.cc: Likewise.
    181 	* testsuite/20_util/expected/illformed_neg.cc: Prune additional
    182 	errors from ill-formed monadic operations.
    183 	* testsuite/20_util/expected/observers.cc: Check error_or.
    184 	* testsuite/20_util/expected/monadic.cc: New test.
    185 
    186 2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
    187 
    188 	* include/std/expected (expected::_M_swap_val_unex): Guard the
    189 	correct object.
    190 	(expected::swap): Move is_swappable
    191 	requirement from static_assert to constraint.
    192 	(swap): Likewise.
    193 	(operator==): Remove noexcept-specifier.
    194 	* testsuite/20_util/expected/swap.cc: Check swapping of
    195 	types without non-throwing move constructor. Check constraints
    196 	on swap.
    197 	* testsuite/20_util/expected/unexpected.cc: Check constraints on
    198 	swap.
    199 	* testsuite/20_util/expected/equality.cc: New test.
    200 
    201 2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
    202 
    203 	* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
    204 	Add static assert for rebind requirement.
    205 	* testsuite/20_util/allocator_traits/members/rebind_alloc.cc:
    206 	Fix invalid rebind member in test allocator.
    207 	* testsuite/20_util/allocator_traits/requirements/rebind_neg.cc:
    208 	New test.
    209 	* testsuite/20_util/scoped_allocator/outermost.cc: Add rebind to
    210 	test allocator.
    211 	* testsuite/23_containers/forward_list/48101_neg.cc: Prune new
    212 	static assert error.
    213 	* testsuite/23_containers/unordered_multiset/48101_neg.cc:
    214 	Likewise.
    215 	* testsuite/23_containers/unordered_set/48101_neg.cc:
    216 	Likewise.
    217 	* testsuite/23_containers/vector/52591.cc: Fix typo in rebind.
    218 
    219 2022-12-16  Jonathan Wakely  <jwakely (a] redhat.com>
    220 
    221 	PR libstdc++/108118
    222 	* include/bits/shared_ptr_base.h (weak_ptr::operator=):
    223 	Implement as move-and-swap exactly as specified in the standard.
    224 	* testsuite/20_util/weak_ptr/cons/self_move.cc: New test.
    225 
    226 2022-12-15  Jakub Jelinek  <jakub (a] redhat.com>
    227 
    228 	PR libstdc++/108075
    229 	* config/abi/pre/gnu.ver (CXXABI_1.3.14): Export
    230 	_ZTIDF[0-9]*[_bx], _ZTIPDF[0-9]*[_bx] and _ZTIPKDF[0-9]*[_bx].
    231 	* testsuite/util/testsuite_abi.cc (check_version): Handle
    232 	CXXABI_1.3.14.
    233 
    234 2022-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
    235 
    236 	PR libstdc++/108097
    237 	* include/std/stacktrace (basic_stracktrace::_Impl): Do not
    238 	multiply N by sizeof(value_type) when allocating.
    239 
    240 2022-12-13  Jakub Jelinek  <jakub (a] redhat.com>
    241 
    242 	* src/libbacktrace/backtrace-rename.h (backtrace_uncompress_zstd):
    243 	Define.
    244 
    245 2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    246 
    247 	* testsuite/20_util/duration/arithmetic/overflow_c++20.cc: New
    248 	test.
    249 
    250 2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    251 
    252 	PR libstdc++/108024
    253 	* include/std/format (basic_format_string): Fix constraint.
    254 	* testsuite/std/format/format_string.cc: New test.
    255 
    256 2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    257 
    258 	* include/std/chrono (hh_mm_ss): Rename __is_unsigned member to
    259 	_S_is_unsigned.
    260 	* include/std/format (basic_format_context): Rename _Out_
    261 	template parameter to _Out2.
    262 	* testsuite/17_intro/names.cc: Add Windows SAL annotation
    263 	macros.
    264 
    265 2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    266 
    267 	PR libstdc++/98034
    268 	* include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases):
    269 	Define macro.
    270 	(atomic_signed_lock_free, atomic_unsigned_lock_free): Define
    271 	aliases.
    272 	* include/std/version (__cpp_lib_atomic_lock_free_type_aliases):
    273 	Define macro.
    274 	* testsuite/29_atomics/atomic/lock_free_aliases.cc: New test.
    275 
    276 2022-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    277 
    278 	* include/std/stacktrace (operator<<): Only output to narrow
    279 	ostreams (LWG 3515).
    280 	* testsuite/19_diagnostics/stacktrace/synopsis.cc:
    281 
    282 2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    283 
    284 	PR libstdc++/108015
    285 	* include/std/chrono (hh_mm_ss): Remove digit separators.
    286 
    287 2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    288 
    289 	* include/ext/pb_ds/detail/type_utils.hpp (PB_DS_STATIC_ASSERT):
    290 	Add unused attribute to avoid -Wunused-local-typedef warnings.
    291 	* testsuite/17_intro/tag_type_explicit_ctor.cc: Add pragma to
    292 	ignore -Wunused-variable warnings
    293 
    294 2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    295 
    296 	* include/bits/chrono.h (duration_cast, floor, round, abs, ceil)
    297 	(time_point_cast): Add [[nodiscard]] attribute and doxygen
    298 	comments.
    299 	(treat_as_floating_point): Add doxygen commen.
    300 
    301 2022-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    302 
    303 	* include/bits/chrono.h (duration, time_point): Change 'struct'
    304 	to 'class'.
    305 
    306 2022-12-07  Jonathan Wakely  <jwakely (a] redhat.com>
    307 	    Franois Dumont  <frs.dumont (a] gmail.com>
    308 
    309 	* include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE]
    310 	(_Error_formatter::_Error_formatter): Pass error handler to
    311 	__glibcxx_backtrace_create_state. Pass 1 for threaded argument.
    312 	(_Error_formatter::_S_err): Define empty function.
    313 	* src/c++11/debug.cc (_Error_formatter::_M_error): Pass error
    314 	handler to __glibcxx_backtrace_full.
    315 
    316 2022-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
    317 
    318 	PR libstdc++/107979
    319 	* testsuite/17_intro/names.cc: Do not check __unused on old
    320 	Glibc versions.
    321 
    322 2022-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
    323 
    324 	PR libstdc++/107871
    325 	* include/std/format (_Iter_sink::_M_overflow): Add cast to
    326 	size_t.
    327 	(_Iter_sink<CharT, contiguous_iterator auto>::_M_make_span): Use
    328 	typedef instead of decltype.
    329 	* testsuite/std/format/functions/107871.cc: New test.
    330 
    331 2022-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
    332 
    333 	* include/std/chrono (chrono::hh_mm_ss): Do not use 64-bit
    334 	representations for all four duration members. Reorder members.
    335 	(hh_mm_ss::hh_mm_ss()): Define as defaulted.
    336 	(hh_mm_ss::hh_mm_ss(Duration)): Delegate to a new private
    337 	constructor, instead of calling chrono::abs repeatedly.
    338 	* testsuite/std/time/hh_mm_ss/1.cc: Check floating-point
    339 	representations. Check default constructor. Check sizes.
    340 
    341 2022-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
    342 
    343 	PR c++/106434
    344 	* include/bits/vector.tcc (insert(const_iterator, const T&)):
    345 	Add assertion and optimization hint that the iterator for the
    346 	insertion point must be non-null.
    347 
    348 2022-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
    349 
    350 	* include/bits/std_mutex.h (mutex): Add nodiscard attribute to
    351 	try_lock member function.
    352 	* include/bits/unique_lock.h (unique_lock): Likewise for
    353 	try_lock, try_lock_until, try_lock_for member functions, and
    354 	owns_lock and mutex member functions.
    355 	* include/std/mutex (recursive_mutex): Likewise for try_lock
    356 	member function.
    357 	(timed_mutex, recursive_timed_mutex, try_lock): Likewise for
    358 	try_lock, try_lock_until, try_lock_for member functions.
    359 	(try_lock): Likewise for non-member function.
    360 	* include/std/shared_mutex (shared_mutex): Likewise for try_lock
    361 	and try_lock_shared member functions.
    362 	(shared_timed_mutex): Likewise for try_lock, try_lock_for,
    363 	try_lock_shared, try_lock_shared_for, try_lock_until, and
    364 	try_lock_shared_until member functions.
    365 	(shared_lock): Likewise for try_lock, try_lock, try_lock_for,
    366 	try_lock_until, owns_lock, and mutex member functions.
    367 	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
    368 	Cast discarded value expression to void.
    369 	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
    370 	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
    371 	* testsuite/30_threads/shared_lock/locking/clock_neg.cc:
    372 	Likewise.
    373 	* testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
    374 	Likewise.
    375 	* testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
    376 	Likewise.
    377 	* testsuite/30_threads/try_lock/4.cc: Likewise.
    378 	* testsuite/30_threads/unique_lock/cons/60497.cc: Likewise.
    379 	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
    380 	* testsuite/30_threads/unique_lock/locking/clock_neg.cc:
    381 	Likewise.
    382 
    383 2022-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
    384 
    385 	* include/std/format (basic_format_parse_context::next_arg_id):
    386 	Only check arg-id is in range during constant evaluation.
    387 	* testsuite/std/format/functions/format.cc: Check "{:#Lx}".
    388 	* testsuite/std/format/parse_ctx.cc: Adjust expected results for
    389 	format-strings using an out-of-range arg-id.
    390 
    391 2022-12-04  Iain Sandoe  <iain (a] sandoe.co.uk>
    392 
    393 	* config/os/bsd/darwin/os_defines.h
    394 	(_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro
    395 	to OS versions that need it.
    396 
    397 2022-12-04  Iain Sandoe  <iain (a] sandoe.co.uk>
    398 
    399 	* config/os/bsd/darwin/os_defines.h (_GLIBCXX_WEAK_DEFINITION): Use the
    400 	implementation namespace for the weak attribute.
    401 
    402 2022-12-02  Bjrn Schpers  <bjoern (a] hazardy.de>
    403 	    Jonathan Wakely  <jwakely (a] redhat.com>
    404 
    405 	* include/std/stacktrace (stacktrace_entry::_S_err_handler): New
    406 	static function.
    407 	(stacktrace_entry, basic_stacktrace): Pass &_S_err_handler to
    408 	all calls to libbacktrace.
    409 
    410 2022-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    411 
    412 	PR libstdc++/107852
    413 	PR libstdc++/106199
    414 	PR libstdc++/100366
    415 	* include/bits/vector.tcc (vector::_M_fill_insert): Copy
    416 	_M_start and _M_finish members before allocating.
    417 	(vector::_M_default_append): Likewise.
    418 	(vector::_M_range_insert): Likewise.
    419 
    420 2022-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    421 
    422 	* include/bits/stl_iterator_base_types.h (__iterator_category):
    423 	Add always_inline attribute.
    424 	* include/bits/stl_vector.h (assign(Iter, Iter)): Call
    425 	_M_assign_aux directly, instead of _M_assign_dispatch.
    426 	(insert(const_iterator, Iter, Iter)): Call _M_range_insert
    427 	directly instead of _M_insert_dispatch.
    428 
    429 2022-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    430 
    431 	* include/std/format: Rename all variables called __used or
    432 	__packed.
    433 	* testsuite/17_intro/badnames.cc: Add no_pch options.
    434 	* testsuite/17_intro/names.cc: Check __packed, __unused and
    435 	__used.
    436 
    437 2022-11-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
    438 
    439 	* testsuite/20_util/function/cons/70692.cc: Adapt dg-error message.
    440 
    441 2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    442 
    443 	PR libstdc++/107801
    444 	* src/c++17/memory_resource.cc (chunk::_M_bytes): Change type
    445 	from uint32_t to bitset::size_type. Adjust static assertion.
    446 	(__pool_resource::_Pool::replenish): Cast to size_t after
    447 	multiplication instead of before.
    448 	(__pool_resource::_M_alloc_pools): Ensure both arguments to
    449 	std::max have type size_t.
    450 
    451 2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    452 
    453 	* include/std/string_view (basic_string_view::copy) Use explicit
    454 	template argument for call to std::min<size_t>.
    455 	(basic_string_view::substr): Likewise.
    456 
    457 2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    458 
    459 	PR libstdc++/107885
    460 	* libsupc++/hash_bytes.cc (_Hash_bytes): Convert to size_t
    461 	instead of implicit integer promotion to 16 bits.
    462 
    463 2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    464 
    465 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
    466 	Replace non-ASCII character.
    467 
    468 2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    469 
    470 	* testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
    471 	Simplify dg-prune-output pattern.
    472 	* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "::__8".
    473 
    474 2022-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    475 
    476 	PR libstdc++/107466
    477 	* include/bits/random.h (subtract_with_carry_engine): Use 32-bit
    478 	type for default seed. Use 0u as default argument for
    479 	subtract_with_carry_engine(result_type) constructor and
    480 	seed(result_type) member function.
    481 	* include/bits/random.tcc (subtract_with_carry_engine): Use
    482 	32-bit type for default seed and engine used for initial state.
    483 	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
    484 	New test.
    485 
    486 2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    487 
    488 	* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT
    489 	unless the AC_MSG_CHECKING happened.
    490 	* configure: Regenerate.
    491 
    492 2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    493 
    494 	PR libstdc++/107850
    495 	* include/bits/erase_if.h (__erase_nodes_if): Use non-const
    496 	reference to the container.
    497 	* include/experimental/map (erase_if): Likewise.
    498 	* include/experimental/set (erase_if): Likewise.
    499 	* include/experimental/unordered_map (erase_if): Likewise.
    500 	* include/experimental/unordered_set (erase_if): Likewise.
    501 	* include/std/map (erase_if): Likewise.
    502 	* include/std/set (erase_if): Likewise.
    503 	* include/std/unordered_map (erase_if): Likewise.
    504 	* include/std/unordered_set (erase_if): Likewise.
    505 	* testsuite/23_containers/map/erasure.cc: Check with
    506 	const-incorrect predicate.
    507 	* testsuite/23_containers/set/erasure.cc: Likewise.
    508 	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
    509 	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
    510 	* testsuite/experimental/map/erasure.cc: Likewise.
    511 	* testsuite/experimental/set/erasure.cc: Likewise.
    512 	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
    513 	* testsuite/experimental/unordered_set/erasure.cc: Likewise.
    514 
    515 2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    516 
    517 	* include/bits/random.h [three_way_comparison] (operator!=):
    518 	Do not define inequality operators when C++20 three way
    519 	comparisons are supported.
    520 	* include/ext/random [three_way_comparison] (operator!=):
    521 	Likewise.
    522 
    523 2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    524 
    525 	* include/bits/stl_iterator_base_funcs.h (__distance):
    526 	Add always_inline attribute to overload for random
    527 	access iterators.
    528 	(advance, distance, next, prev): Add always_inline attribute to
    529 	inline functions that just forward to another function.
    530 
    531 2022-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    532 
    533 	* doc/html/manual/bugs.html: Regenerate.
    534 	* doc/xml/manual/intro.xml: Document LWG 3656 change.
    535 	* include/std/bit (__bit_width, bit_width): Return int.
    536 	* testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: New test.
    537 
    538 2022-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    539 
    540 	PR libstdc++/106201
    541 	* testsuite/27_io/filesystem/iterators/106201.cc: Improve test.
    542 	* testsuite/experimental/filesystem/iterators/106201.cc: New test.
    543 
    544 2022-11-24  Jakub Jelinek  <jakub (a] redhat.com>
    545 
    546 	PR libstdc++/107468
    547 	* src/c++17/fast_float/MERGE: Adjust for merge from upstream.
    548 	* src/c++17/fast_float/fast_float.h: Merge from fast_float
    549 	2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit.
    550 
    551 2022-11-24  Jakub Jelinek  <jakub (a] redhat.com>
    552 
    553 	PR libstdc++/107815
    554 	* testsuite/20_util/to_chars/float128_c++23.cc (test): Disable
    555 	__FLT128_MAX__ test on Solaris.  Fix up commented out debugging
    556 	printouts.
    557 
    558 2022-11-23  Jakub Jelinek  <jakub (a] redhat.com>
    559 
    560 	PR libstdc++/107811
    561 	* src/c++17/floating_from_chars.cc (__floating_from_chars_hex): Guard
    562 	fast_float uses with #if USE_LIB_FAST_FLOAT and for mantissa_bits and
    563 	exponent_bits provide a fallback.
    564 
    565 2022-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
    566 
    567 	PR libstdc++/107814
    568 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
    569 	Use a static buffer with space after it.
    570 
    571 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
    572 
    573 	PR libstdc++/107817
    574 	* include/std/charconv (__from_chars_alnum_to_val): Add
    575 	constexpr for C++20.
    576 	* include/std/format (__is_digit, __is_xdigit): New functions.
    577 	(_Spec::_S_parse_width_or_precision): Use __is_digit.
    578 	(__formatter_fp::parse): Use __is_xdigit.
    579 
    580 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
    581 
    582 	PR libstdc++/106201
    583 	* testsuite/27_io/filesystem/iterators/106201.cc: New test.
    584 
    585 2022-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
    586 
    587 	PR libstdc++/107801
    588 	* src/c++17/memory_resource.cc (pool_sizes): Disable large pools
    589 	for targets with 16-bit int.
    590 
    591 2022-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
    592 
    593 	* include/std/functional (_Bind_front0): New class template.
    594 	(_Bind_front_t): Use _Bind_front0 when there are no bound
    595 	arguments.
    596 	* testsuite/20_util/function_objects/bind_front/107784.cc:
    597 	New test.
    598 
    599 2022-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
    600 
    601 	* include/bits/chrono.h (duration): Check preconditions on
    602 	template arguments before using them.
    603 
    604 2022-11-21  Jonathan Wakely  <jwakely (a] redhat.com>
    605 
    606 	* include/std/tuple: Add better Doxygen comments.
    607 
    608 2022-11-21  Martin Liska  <mliska (a] suse.cz>
    609 
    610 	* src/experimental/Makefile.in: Re-configure.
    611 
    612 2022-11-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
    613 
    614 	* include/std/format: Add std qualification on isxdigit calls.
    615 
    616 2022-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    617 
    618 	* include/bits/range_access.h: Add always_inline attribute to
    619 	trivial functions.
    620 
    621 2022-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    622 
    623 	* include/std/format: Fix -Wsign-compare warnings.
    624 
    625 2022-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    626 
    627 	* include/bits/ptr_traits.h (pointer_traits::pointer_to): Rename
    628 	parameter.
    629 
    630 2022-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    631 
    632 	PR libstdc++/107649
    633 	* include/std/complex (__complex_proj): Fix requires-clause.
    634 
    635 2022-11-19  Jeff Chapman II  <jchapman (a] lock3software.com>
    636 	    Andrew Marmaduke  <amarmaduke (a] lock3software.com>
    637 	    Jason Merrill   <jason (a] redhat.com>
    638 
    639 	* acinclude.m4 (glibcxx_SUBDIRS): Add src/experimental.
    640 	* include/Makefile.am (experimental_headers): Add contract.
    641 	* include/Makefile.in: Regenerate.
    642 	* src/Makefile.am (SUBDIRS): Add experimental.
    643 	* src/Makefile.in: Regenerate.
    644 	* configure: Regenerate.
    645 	* src/experimental/contract.cc: New file.
    646 	* src/experimental/Makefile.am: New file.
    647 	* src/experimental/Makefile.in: New file.
    648 	* include/experimental/contract: New file.
    649 
    650 2022-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
    651 
    652 	PR libstdc++/107720
    653 	* include/std/format [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]:
    654 	Declare overloads of std::to_chars for the alternative long
    655 	double type.
    656 
    657 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    658 
    659 	PR libstdc++/107720
    660 	* include/std/format (__format::_Arg_t): Fix typo in enumerator
    661 	name.
    662 	(_Arg_value::_S_get): Fix missing semi-colons.
    663 
    664 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    665 
    666 	* include/std/chrono (get_leap_second_info): Optimize.
    667 
    668 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    669 
    670 	PR libstdc++/107712
    671 	* include/std/format (__format::__formatter_int::format): Use
    672 	std::toupper when __builtin_toupper isn't available.
    673 	(basic_format_arg::handle): Add 'typename'.
    674 	* include/std/complex (complex<T>): Add 'typename'.
    675 
    676 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    677 
    678 	* include/std/format [__FLT128_DIG__] (_GLIBCXX_FORMAT_F128):
    679 	Only support formatting _Float128 when glibc provides the
    680 	functionality needed for accurate std::to_chars.
    681 
    682 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    683 
    684 	* testsuite/std/time/clock/utc/1.cc: Check handling across leap
    685 	second insertion.
    686 
    687 2022-11-16  Patrick Palka  <ppalka (a] redhat.com>
    688 
    689 	PR libstdc++/107701
    690 	* include/std/iostream (__ioinit): Adjust comment.
    691 	* src/c++98/globals_io.cc: Include "io_base_init.h" here
    692 	instead of ...
    693 	* src/c++98/ios_init.cc: ... here.
    694 	* src/c++98/ios_base_init.h (__ioinit): More comments.
    695 	* testsuite/17_intro/static.cc: dg-do run instead of just link.
    696 
    697 2022-11-16  Jakub Jelinek  <jakub (a] redhat.com>
    698 	    Jonathan Wakely  <jwakely (a] redhat.com>
    699 
    700 	PR libstdc++/107649
    701 	* include/std/complex (__complex_abs, __complex_arg, __complex_cos,
    702 	__complex_cosh, __complex_exp, __complex_log, __complex_sin,
    703 	__complex_sinh, __complex_sqrt, __complex_tan, __complex_tanh,
    704 	__complex_pow): Move __complex__ _Float{16,32,64,128} and
    705 	__complex__ decltype(0.0bf16) overloads earlier in the file.
    706 	(complex): Fix up requires on the partial specialization for extended
    707 	float types.
    708 	(__complex_acos, __complex_asin, __complex_atan, __complex_acosh,
    709 	__complex_asinh, __complex_atanh): Move
    710 	__complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16)
    711 	overloads earlier in the file.
    712 
    713 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    714 
    715 	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Make
    716 	expansion of std::string in manager name more robust.
    717 
    718 2022-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    719 
    720 	* python/libstdcxx/v6/printers.py (is_specialization_of): Fix
    721 	incorrect terminology in docstring and describe arguments.
    722 	(FilteringTypePrinter): Add default argument for new parameter,
    723 	enhance docstring.
    724 
    725 2022-11-16  Franois Dumont  <fdumont (a] gcc.gnu.org>
    726 
    727 	* python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field
    728 	'template'. Add self.targ1 to specify the first template parameter of the instantiation
    729 	to match.
    730 	(add_one_type_printer): Add targ1 optional parameter, default to None.
    731 	Use gdb.types.get_basic_type to compare the type to recognize and the type
    732 	returned from the typedef lookup.
    733 	(register_type_printers): Adapt calls to add_one_type_printers.
    734 
    735 2022-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
    736 
    737 	* testsuite/std/format/functions/format.cc: Do not use
    738 	std::make_unsigned_t<__int128>.
    739 
    740 2022-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
    741 
    742 	* include/std/format (formattable): Only define for C++23/
    743 	* testsuite/std/format/formatter.cc: Moved to...
    744 	* testsuite/std/format/formatter/requirements.cc: ...here.
    745 	* testsuite/std/format/formatter/concept.cc: New test.
    746 	* testsuite/std/format/functions/format.cc: Replace use of
    747 	std::formattable in C++20.
    748 
    749 2022-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
    750 
    751 	PR libstdc++/107693
    752 	* include/std/format (_GLIBCXX_FORMAT_F128): Define to 2 when
    753 	basic_format_arg needs to use its _M_f128 member.
    754 	(__extended_floating_point, __floating_point): Replace with ...
    755 	(__formattable_floating_point): New concept.
    756 	* testsuite/std/format/functions/format.cc: Check whether
    757 	__float128 is supported. Also test _Float128.
    758 
    759 2022-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
    760 
    761 	* doc/xml/manual/documentation_hacking.xml: Document use of
    762 	Markdown for Doxygen comments. Tweak formatting.
    763 	* doc/html/manual/documentation_hacking.html: Regenerate.
    764 
    765 2022-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
    766 
    767 	* python/Makefile.am (install-data-local): Use mkdirs_p for debug
    768 	libdir.
    769 	* python/Makefile.in: Regenerate.
    770 
    771 2022-11-14  Bernhard Reutner-Fischer  <rep.dot.nop (a] gmail.com>
    772 
    773 	* src/Makefile.am (install-debug): Remove use of $(debugdir).
    774 	* src/Makefile.in: Regenerate.
    775 
    776 2022-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
    777 
    778 	* include/std/chrono (utc_clock, tai_clock, gps_clock): Define.
    779 	(clock_time_conversion, clock_cast): Define.
    780 	(sys_info, local_info): Define structs for timezone information.
    781 	(nonexistent_local_time, ambiguous_local_time): Define
    782 	exceptions for invalid times.
    783 	(time_zone, time_zone_link, leap_second, zoned_traits, tzdb)
    784 	(tzdb_list): Define classes representing time zones.
    785 	(get_leap_second_info): Define new function returning leap
    786 	second offset for a given time point.
    787 	* testsuite/std/time/clock/gps/1.cc: New test.
    788 	* testsuite/std/time/clock/tai/1.cc: New test.
    789 	* testsuite/std/time/clock/utc/1.cc: New test.
    790 
    791 2022-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
    792 
    793 	PR libstdc++/104166
    794 	* include/Makefile.am (std_headers): Add <format>.
    795 	* include/Makefile.in: Regenerate.
    796 	* include/precompiled/stdc++.h: Add <format>.
    797 	* include/std/format: New file.
    798 	* python/libstdcxx/v6/printers.py (StdFormatArgsPrinter): New
    799 	printer for std::format_args.
    800 	* testsuite/std/format/arguments/args.cc: New test.
    801 	* testsuite/std/format/error.cc: New test.
    802 	* testsuite/std/format/formatter.cc: New test.
    803 	* testsuite/std/format/functions/format.cc: New test.
    804 	* testsuite/std/format/functions/format_to_n.cc: New test.
    805 	* testsuite/std/format/functions/size.cc: New test.
    806 	* testsuite/std/format/functions/vformat_to.cc: New test.
    807 	* testsuite/std/format/parse_ctx.cc: New test.
    808 	* testsuite/std/format/string.cc: New test.
    809 	* testsuite/std/format/string_neg.cc: New test.
    810 
    811 2022-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
    812 
    813 	* include/bits/charconv.h (__integer_to_chars_is_unsigned):
    814 	New variable template.
    815 	(__to_chars_len, __to_chars_10_impl): Use variable template in
    816 	assertions to allow unsigned __int128 in strict mode.
    817 	* include/std/charconv (__to_chars, __to_chars_16)
    818 	(__to_chars_10, __to_chars_8, __to_chars_2): Likewise.
    819 
    820 2022-11-12  Jakub Jelinek  <jakub (a] redhat.com>
    821 
    822 	PR libstdc++/107636
    823 	* include/std/charconv (to_chars): Fix up powerpc64le _Float128
    824 	overload __extension__ placement.
    825 
    826 2022-11-12  Jonathan Wakely  <jwakely (a] redhat.com>
    827 
    828 	* src/Makefile.am: Simplify debug build targets.
    829 	* src/Makefile.in: Regenerate.
    830 
    831 2022-11-12  Jonathan Wakely  <jwakely (a] redhat.com>
    832 
    833 	PR libstdc++/103755
    834 	* src/c++11/locale-inst-monetary.h: Include new header.
    835 	* src/c++11/locale-inst-numeric.h: Likewise.
    836 	* src/c++11/locale-inst.cc: Likewise.
    837 	(INSTANTIATE_USE_FACET, INSTANTIATE_FACET_ACCESSORS): Move
    838 	macro definitions to ...
    839 	* src/c++11/facet_inst_macros.h: New file.
    840 
    841 2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    842 
    843 	PR libstdc++/95048
    844 	* include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert):
    845 	Construct codecvt directly instead of getting it from the
    846 	locale.
    847 
    848 2022-11-11  Nathaniel Shead  <nathanieloshead (a] gmail.com>
    849 
    850 	PR libstdc++/103295
    851 	* include/bits/basic_string.h (_M_use_local_data): Set active
    852 	member to _M_local_buf.
    853 
    854 2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    855 
    856 	PR libstdc++/95048
    857 	* include/bits/fs_path.h (path::_Codecvt): New class template
    858 	that selects the kind of code conversion done.
    859 	(path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
    860 	(_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
    861 	be used for Windows and POSIX.
    862 	(path::_S_convert(const EcharT*, const EcharT*)): Simplify by
    863 	using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
    864 	(path::_S_str_convert(basic_string_view<value_type>, const A&)):
    865 	Simplify nested conditions.
    866 	* include/experimental/bits/fs_path.h (path::_Cvt): Define
    867 	nested typedef controlling type of code conversion done.
    868 	(path::_Cvt::_S_wconvert): Use new typedef.
    869 	(path::string(const A&)): Likewise.
    870 	* testsuite/27_io/filesystem/path/construct/95048.cc: New test.
    871 	* testsuite/experimental/filesystem/path/construct/95048.cc: New
    872 	test.
    873 
    874 2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    875 
    876 	* testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
    877 	const qualifier.
    878 	* testsuite/26_numerics/valarray/87641.cc (X::operator==):
    879 	Likewise.
    880 
    881 2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    882 
    883 	* include/std/charconv (__from_chars_alnum_to_val_table::value):
    884 	[!__cpp_inline_variables]: Add non-inline definition.
    885 
    886 2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    887 
    888 	* testsuite/experimental/propagate_const/observers/107525.cc:
    889 	Use type trait instead of C++17 variable template.
    890 
    891 2022-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
    892 
    893 	PR libstdc++/103755
    894 	* config/abi/pre/gnu.ver: Tighten patterns for facets in the
    895 	base version. Add exports for __try_use_facet.
    896 	* include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
    897 	__try_use_facet instead of has_facet and use_facet.
    898 	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
    899 	Likewise.
    900 	(basic_filebuf::imbue): Likewise.
    901 	* include/bits/locale_classes.h (locale, locale::id)
    902 	(locale::_Impl): Declare __try_use_facet as a friend.
    903 	* include/bits/locale_classes.tcc (__try_use_facet): Define new
    904 	function template with special cases for default facets.
    905 	(has_facet, use_facet): Call __try_use_facet.
    906 	* include/bits/locale_facets.tcc (__try_use_facet): Declare
    907 	explicit instantiations.
    908 	* include/bits/locale_facets_nonio.tcc (__try_use_facet):
    909 	Likewise.
    910 	* src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS):
    911 	Use new macro for facet accessor instantiations.
    912 	* src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS):
    913 	Likewise.
    914 	* src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new
    915 	macro for instantiating __try_use_facet and use_facet.
    916 	(INSTANTIATE_FACET_ACCESSORS): Define new macro for also
    917 	defining has_facet.
    918 	* src/c++98/compatibility-ldbl.cc (__try_use_facet):
    919 	Instantiate.
    920 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
    921 	expected errors.
    922 
    923 2022-11-10  Jonathan Wakely  <jwakely (a] redhat.com>
    924 
    925 	* include/std/concepts (__detail::__destructible_impl)
    926 	(__detail::__destructible): New variable templates.
    927 	(destructible): Use __detail::__destructible.
    928 	* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
    929 	Add more checks for array and reference types.
    930 
    931 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
    932 
    933 	* testsuite/18_support/new_nothrow.cc: Add missing noexcept
    934 	to operator delete replacements.
    935 	* testsuite/20_util/any/cons/92156.cc: Disable
    936 	-Winit-list-lifetime warnings from instantiating invalid
    937 	specialization of manager function.
    938 	* testsuite/20_util/any/modifiers/92156.cc: Likewise.
    939 	* testsuite/20_util/default_delete/void_neg.cc: Prune additional
    940 	diagnostics.
    941 	* testsuite/20_util/headers/memory/synopsis.cc: Add missing
    942 	noexcept.
    943 	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune
    944 	additional diagnostic.
    945 	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add
    946 	missing noexcept to operator delete replacements.
    947 	* testsuite/21_strings/basic_string/cons/char/103919.cc:
    948 	Likewise.
    949 	* testsuite/23_containers/map/modifiers/emplace/92300.cc:
    950 	Likewise.
    951 	* testsuite/23_containers/map/modifiers/insert/92300.cc:
    952 	Likewise.
    953 	* testsuite/24_iterators/headers/iterator/range_access_c++11.cc:
    954 	Add missing noexcept to synopsis declarations.
    955 	* testsuite/24_iterators/headers/iterator/range_access_c++14.cc:
    956 	Likewise.
    957 	* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
    958 	Likewise.
    959 
    960 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
    961 
    962 	* include/bits/stl_tempbuf.h (_Temporary_buffer): Disable
    963 	warnings about get_temporary_buffer being deprecated.
    964 	* include/ext/functional (mem_fun1, mem_fun1_ref): Disable
    965 	warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and
    966 	const_mem_fun1_ref_t being deprecated.
    967 	* include/std/array (__array_traits<T, 0>): Remove artificial
    968 	attributes which give warnings about being ignored.
    969 	* include/std/spanstream (basic_spanbuf::setbuf): Add assertion
    970 	and adjust to avoid narrowing warning.
    971 	* libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions]
    972 	(make_exception_ptr): Add missing inline specifier.
    973 
    974 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
    975 
    976 	* include/bits/alloc_traits.h (allocator_traits): Add
    977 	always_inline attribute to all member functions.
    978 	(__do_alloc_on_copy, __alloc_on_copy, __do_alloc_on_move)
    979 	(__alloc_on_move, __do_alloc_on_swap, __alloc_on_swap)
    980 	(_Destroy(FwdIter, FwdIter, allocator<T>&)): : Add
    981 	always_inline attribute.
    982 	* include/bits/allocator.h (allocator): Add always_inline
    983 	attribute to all member functions and equality operators.
    984 	* include/bits/new_allocator.h (__new_allocator): Likewise.
    985 	* include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits):
    986 	Likewise.
    987 
    988 2022-11-08  Charles-Franois Natali  <cf.natali (a] gmail.com>
    989 
    990 	PR libstdc++/63746
    991 	* include/bits/fstream.tcc (basic_filbuf::xsputn): Remove
    992 	1024-byte chunking that bypasses the buffer for large writes.
    993 	* testsuite/27_io/basic_filebuf/sputn/char/63746.cc: New test.
    994 
    995 2022-11-08  Will Hawkins  <whh8b (a] obs.cr>
    996 	    Jonathan Wakely  <jwakely (a] redhat.com>
    997 
    998 	* include/bits/basic_string.h (__str_cat): Add common function
    999 	that performs single-allocation string concatenation.
   1000 	(operator+): Use __str_cat.
   1001 	* include/bits/basic_string.tcc (operator+): Move to .h and
   1002 	define inline using __str_cat.
   1003 
   1004 2022-11-08  Jakub Jelinek  <jakub (a] redhat.com>
   1005 
   1006 	* testsuite/20_util/to_chars/float128_c++23.cc (test): Uncomment
   1007 	denorm_min test.
   1008 
   1009 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1010 
   1011 	* doc/xml/authors.xml: Update the blurb listing my doc
   1012 	contributions.
   1013 
   1014 2022-11-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1015 
   1016 	* doc/xml/authors.xml: Remove empty author element.
   1017 	* doc/xml/manual/spine.xml: Likewise.
   1018 	* doc/html/manual/index.html: Regenerate.
   1019 
   1020 2022-11-08  Joseph Myers  <joseph (a] codesourcery.com>
   1021 
   1022 	PR libstdc++/107562
   1023 	* src/c++17/floating_from_chars.cc (from_chars_impl): Fix syntax
   1024 	error.
   1025 
   1026 2022-11-08  Jason Merrill  <jason (a] redhat.com>
   1027 	    Jakub Jelinek  <jakub (a] redhat.com>
   1028 
   1029 	* testsuite/18_support/comparisons/algorithms/fallback.cc: Adjust
   1030 	asserts.
   1031 
   1032 2022-11-07  Jakub Jelinek  <jakub (a] redhat.com>
   1033 
   1034 	PR libstdc++/107562
   1035 	* src/c++17/floating_from_chars.cc (__strtof128): Put __asm before
   1036 	__attribute__.
   1037 	* src/c++17/floating_to_chars.cc (__strfromf128): Likewise.
   1038 
   1039 2022-11-07  Patrick Palka  <ppalka (a] redhat.com>
   1040 
   1041 	* include/std/ranges (as_rvalue_view): Define.
   1042 	(enable_borrowed_range<as_rvalue_view>): Define.
   1043 	(views::__detail::__can_as_rvalue_view): Define.
   1044 	(views::_AsRvalue, views::as_rvalue): Define.
   1045 	* testsuite/std/ranges/adaptors/as_rvalue/1.cc: New test.
   1046 
   1047 2022-11-07  Patrick Palka  <ppalka (a] redhat.com>
   1048 
   1049 	* include/std/ranges (__maybe_const_t): New alias for
   1050 	__detail::__maybe_const_t.
   1051 	(__detail::__cartesian_product_is_random_access): Define.
   1052 	(__detail::__cartesian_product_common_arg): Define.
   1053 	(__detail::__cartesian_product_is_bidirectional): Define.
   1054 	(__detail::__cartesian_product_is_common): Define.
   1055 	(__detail::__cartesian_product_is_sized): Define.
   1056 	(__detail::__cartesian_is_sized_sentinel): Define.
   1057 	(__detail::__cartesian_common_arg_end): Define.
   1058 	(cartesian_product_view): Define.
   1059 	(cartesian_product_view::_Iterator): Define.
   1060 	(views::__detail::__can_cartesian_product_view): Define.
   1061 	(views::_CartesianProduct, views::cartesian_product): Define.
   1062 	* testsuite/std/ranges/cartesian_product/1.cc: New test.
   1063 
   1064 2022-11-07  Jakub Jelinek  <jakub (a] redhat.com>
   1065 
   1066 	PR libstdc++/107468
   1067 	* src/c++17/fast_float/MERGE: Adjust for merge from upstream.
   1068 	* src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were
   1069 	upstreamed.
   1070 	* src/c++17/fast_float/README.md: Merge from fast_float
   1071 	662497742fea7055f0e0ee27e5a7ddc382c2c38e commit.
   1072 	* src/c++17/fast_float/fast_float.h: Likewise.
   1073 	* testsuite/20_util/from_chars/pr107468.cc: New test.
   1074 
   1075 2022-11-07  Jakub Jelinek  <jakub (a] redhat.com>
   1076 
   1077 	* include/std/charconv (from_chars, to_chars): Add _Float128
   1078 	overfloads if _GLIBCXX_HAVE_FLOAT128_MATH is defined.
   1079 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export
   1080 	_ZSt8to_charsPcS_DF128_, _ZSt8to_charsPcS_DF128_St12chars_format,
   1081 	_ZSt8to_charsPcS_DF128_St12chars_formati and
   1082 	_ZSt10from_charsPKcS0_RDF128_St12chars_format.
   1083 	* src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
   1084 	Define if needed.
   1085 	(__strtof128): Declare.
   1086 	(from_chars_impl): Handle _Float128.
   1087 	(from_chars): New _Float128 overload if USE_STRTOF128_FOR_FROM_CHARS
   1088 	is define.
   1089 	* src/c++17/floating_to_chars.cc (__strfromf128): Declare.
   1090 	(FLOAT128_TO_CHARS): Define even when _Float128 is supported and
   1091 	wider than long double.
   1092 	(F128_type): Use _Float128 for that case.
   1093 	(floating_type_traits): Specialize for F128_type rather than
   1094 	__float128.
   1095 	(sprintf_ld): Add length argument.  Handle _Float128.
   1096 	(__floating_to_chars_shortest, __floating_to_chars_precision):
   1097 	Pass length to sprintf_ld.
   1098 	(to_chars): Add _Float128 overloads for the F128_type being
   1099 	_Float128 cases.
   1100 	* testsuite/20_util/to_chars/float128_c++23.cc: New test.
   1101 
   1102 2022-11-06  Patrick Palka  <ppalka (a] redhat.com>
   1103 
   1104 	* include/bits/atomic_wait.h (_detail::__platform_wait_alignment):
   1105 	Declare inline.  Remove redundant static specifier.
   1106 	(__detail::__atomic_spin_count_relax): Declare inline.
   1107 	(__detail::__atomic_spin_count): Likewise.
   1108 	* include/bits/regex_automaton.h (__detail::_S_invalid_state_id):
   1109 	Declare inline for C++17.  Declare constexpr.  Remove
   1110 	redundant const and static specifiers.
   1111 	* include/bits/regex_error.h (regex_constants::error_collate):
   1112 	Declare inline for C++17 as per P0607R0.
   1113 	(regex_constants::error_ctype): Likewise.
   1114 	(regex_constants::error_escape): Likewise.
   1115 	(regex_constants::error_backref): Likewise.
   1116 	(regex_constants::error_brack): Likewise.
   1117 	(regex_constants::error_paren): Likewise.
   1118 	(regex_constants::error_brace): Likewise.
   1119 	(regex_constants::error_badbrace): Likewise.
   1120 	(regex_constants::error_range): Likewise.
   1121 	(regex_constants::error_space): Likewise.
   1122 	(regex_constants::error_badrepeat): Likewise.
   1123 	(regex_constants::error_complexity): Likewise.
   1124 	(regex_constants::error_stack): Likewise.
   1125 	* include/ext/concurrence.h (__gnu_cxx::__default_lock_policy):
   1126 	Likewise.  Remove redundant static specifier.
   1127 	* include/pstl/execution_defs.h (execution::seq): Declare inline
   1128 	for C++17 as per P0607R0.
   1129 	(execution::par): Likewise.
   1130 	(execution::par_unseq): Likewise.
   1131 	(execution::unseq): Likewise.
   1132 
   1133 2022-11-06  Patrick Palka  <ppalka (a] redhat.com>
   1134 
   1135 	PR libstdc++/44952
   1136 	PR libstdc++/39796
   1137 	PR libstdc++/98108
   1138 	* include/std/iostream (__ioinit): No longer define here if
   1139 	the init_priority attribute is usable.
   1140 	* src/c++98/ios_init.cc (__ioinit): Define here instead if
   1141 	init_priority is usable, via ...
   1142 	* src/c++98/ios_base_init.h: ... this new file.
   1143 
   1144 2022-11-05  Jakob Hasse  <0xjakob (a] users.noreply.github.com>
   1145 
   1146 	PR libstdc++/105387
   1147 	* libsupc++/pbase_type_info.cc (__do_catch) [!__cpp_rtti]: Add
   1148 	check that the thrown type is actually a pointer.
   1149 	* testsuite/18_support/105387.cc: New test.
   1150 	* testsuite/18_support/105387_memptr.cc: New test.
   1151 
   1152 2022-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1153 
   1154 	PR libstdc++/107525
   1155 	* include/experimental/propagate_const (operator element_type*()):
   1156 	Move into base class that can be partially specilized to iompose
   1157 	constraints.
   1158 	(operator const element_type*()): Likewise.
   1159 	* testsuite/experimental/propagate_const/observers/107525.cc: New test.
   1160 
   1161 2022-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1162 
   1163 	PR libstdc++/107500
   1164 	* libsupc++/eh_globals.cc (eh_globals): Remove immortalizing
   1165 	wrapper.
   1166 	(__cxxabiv1::__cxa_get_globals_fast): Adjust.
   1167 	(__cxxabiv1::__cxa_get_globals): Adjust.
   1168 
   1169 2022-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1170 
   1171 	PR libstdc++/107511
   1172 	* libsupc++/eh_alloc.cc (_GNU_SOURCE): Define.
   1173 
   1174 2022-11-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1175 
   1176 	* include/bits/ranges_algobase.h (__detail::__copy_or_move):
   1177 	Move output iterator.
   1178 	* testsuite/25_algorithms/copy/constrained.cc: Check copying to
   1179 	move-only output iterator.
   1180 
   1181 2022-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1182 
   1183 	* libsupc++/eh_globals.cc (constant_init::unused): Remove.
   1184 	* src/c++11/system_error.cc (constant_init::unused): Remove.
   1185 	* src/c++17/memory_resource.cc (constant_init::unused): Remove.
   1186 
   1187 2022-11-02  Patrick Palka  <ppalka (a] redhat.com>
   1188 
   1189 	* src/c++17/floating_from_chars.cc (from_chars_impl): In the
   1190 	ERANGE case, distinguish between a denormal result and true
   1191 	underflow by checking if the return value is 0.
   1192 
   1193 2022-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1194 
   1195 	* include/std/expected (expected::_M_invalid): Remove.
   1196 
   1197 2022-11-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1198 
   1199 	* include/std/variant (__variant::_Multi_array::__untag_result):
   1200 	Use pragma to suppress warning.
   1201 
   1202 2022-11-02  Jakub Jelinek  <jakub (a] redhat.com>
   1203 
   1204 	* libsupc++/compare (_Strong_order::_Fp_fmt): Add _Bfloat16.
   1205 	(_Strong_order::_Bfloat16): New static data member.
   1206 	(_Strong_order::_S_fp_fmt): Return _Bfloat16 for std::bfloat16_t.
   1207 
   1208 2022-11-02  Jakub Jelinek  <jakub (a] redhat.com>
   1209 
   1210 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex): Drop const
   1211 	from unbiased_exponent.  Canonicalize denormals such that they have
   1212 	the leading bit set by shifting effective mantissa up and decreasing
   1213 	unbiased_exponent.
   1214 	(__floating_to_chars_shortest): Don't instantiate
   1215 	__floating_to_chars_hex for float16_t either and use float instead.
   1216 	* testsuite/20_util/to_chars/float.cc (float_to_chars_test_cases):
   1217 	Adjust testcases for shortest hex denormals.
   1218 	* testsuite/20_util/to_chars/double.cc (double_to_chars_test_cases):
   1219 	Likewise.
   1220 
   1221 2022-11-01  Jakub Jelinek  <jakub (a] redhat.com>
   1222 
   1223 	* include/std/charconv (__from_chars_float16_t,
   1224 	__from_chars_bfloat16_t): Declare.
   1225 	(from_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads.
   1226 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export
   1227 	_ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format and
   1228 	_ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format.
   1229 	* src/c++17/floating_from_chars.cc
   1230 	(fast_float::floating_type_float16_t,
   1231 	fast_float::floating_type_bfloat16_t): New classes.
   1232 	(fast_float::binary_format<floating_type_float16_t>,
   1233 	fast_float::binary_format<floating_type_bfloat16_t>): New
   1234 	specializations.
   1235 	(fast_float::to_float<floating_type_float16_t>,
   1236 	fast_float::to_float<floating_type_bfloat16_t>,
   1237 	fast_float::to_extended<floating_type_float16_t>,
   1238 	fast_float::to_extended<floating_type_bfloat16_t>): Likewise.
   1239 	(fast_float::from_chars_16): New template function.
   1240 	(__floating_from_chars_hex): Allow instantiation with
   1241 	fast_float::floating_type_{,b}float16_t.
   1242 	(from_chars): Formatting fixes for float/double/long double overloads.
   1243 	(__from_chars_float16_t, __from_chars_bfloat16_t): New functions.
   1244 	* testsuite/20_util/to_chars/float16_c++23.cc: New test.
   1245 
   1246 2022-11-01  Jakub Jelinek  <jakub (a] redhat.com>
   1247 
   1248 	* include/std/charconv (__to_chars_float16_t, __to_chars_bfloat16_t):
   1249 	Declare.
   1250 	(to_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads.
   1251 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export
   1252 	_ZSt20__to_chars_float16_tPcS_fSt12chars_format and
   1253 	_ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format.
   1254 	* src/c++17/floating_to_chars.cc (floating_type_float16_t,
   1255 	floating_type_bfloat16_t): New types.
   1256 	(floating_type_traits<floating_type_float16_t>,
   1257 	floating_type_traits<floating_type_bfloat16_t>,
   1258 	get_ieee_repr<floating_type_float16_t>,
   1259 	get_ieee_repr<floating_type_bfloat16_t>,
   1260 	__handle_special_value<floating_type_float16_t>,
   1261 	__handle_special_value<floating_type_bfloat16_t>): New specializations.
   1262 	(floating_to_shortest_scientific): Handle floating_type_float16_t
   1263 	and floating_type_bfloat16_t like IEEE quad.
   1264 	(__floating_to_chars_shortest): For floating_type_bfloat16_t call
   1265 	__floating_to_chars_hex<float> rather than
   1266 	__floating_to_chars_hex<floating_type_bfloat16_t> to avoid
   1267 	instantiating the latter.
   1268 	(__to_chars_float16_t, __to_chars_bfloat16_t): New functions.
   1269 
   1270 2022-11-01  Jakub Jelinek  <jakub (a] redhat.com>
   1271 
   1272 	* include/std/charconv (from_chars, to_chars): Add _Float{32,64,128}
   1273 	overloads for cases where those types match {float,double,long double}.
   1274 	* include/std/istream (basic_istream::operator>>): Add
   1275 	_Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
   1276 	* include/std/ostream (basic_ostream::operator<<): Add
   1277 	_Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
   1278 	* testsuite/20_util/from_chars/8.cc: New test.
   1279 	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test):
   1280 	Formatting fixes.
   1281 	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: Add
   1282 	dg-options "-std=gnu++2b".
   1283 	(test_functions, main): Formatting fixes.
   1284 	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc:
   1285 	Add dg-options "-std=gnu++2b".
   1286 
   1287 2022-10-31  Jakub Jelinek  <jakub (a] redhat.com>
   1288 
   1289 	* include/std/complex (complex::complex converting ctor): For C++23
   1290 	use explicit specifier with constant expression.  Explicitly cast
   1291 	both parts to _Tp.
   1292 	(__complex_abs, __complex_arg, __complex_cos, __complex_cosh,
   1293 	__complex_exp, __complex_log, __complex_sin, __complex_sinh,
   1294 	__complex_sqrt, __complex_tan, __complex_tanh, __complex_pow): Add
   1295 	__complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16)
   1296 	overloads.
   1297 	(complex<float>::complex converting ctor,
   1298 	complex<double>::complex converting ctor,
   1299 	complex<long double>::complex converting ctor): For C++23 implement
   1300 	as template with explicit specifier with constant expression
   1301 	and explicit casts.
   1302 	(__complex_type): New template.
   1303 	(complex): New partial specialization for types with extended floating
   1304 	point types.
   1305 	(__complex_acos, __complex_asin, __complex_atan, __complex_acosh,
   1306 	__complex_asinh, __complex_atanh): Add __complex__ _Float{16,32,64,128}
   1307 	and __complex__ decltype(0.0bf16) overloads.
   1308 	(__complex_proj): Likewise.  Add template for complex of extended
   1309 	floating point types.
   1310 	* include/bits/cpp_type_traits.h (__is_floating): Specialize for
   1311 	_Float{16,32,64,128} and __gnu_cxx::__bfloat16_t.
   1312 	* testsuite/26_numerics/complex/ext_c++23.cc: New test.
   1313 
   1314 2022-10-31  Jakub Jelinek  <jakub (a] redhat.com>
   1315 
   1316 	* config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH):
   1317 	Uncomment.
   1318 	* include/c_global/cmath (nextafter(_Float16, _Float16)): Make it constexpr.
   1319 	If std::__is_constant_evaluated() call __builtin_nextafterf16.
   1320 	(nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Similarly
   1321 	but call __builtin_nextafterf16b.
   1322 	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): Add
   1323 	static assertions to test constexpr nextafter.
   1324 
   1325 2022-10-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1326 
   1327 	* include/bits/fs_path.h (path::filename()): Fix dangling
   1328 	reference.
   1329 
   1330 2022-10-28  Arsen Arsenovi  <arsen (a] aarsen.me>
   1331 
   1332 	* include/std/functional: Make placeholders inline, if possible.
   1333 
   1334 2022-10-28  Arsen Arsenovi  <arsen (a] aarsen.me>
   1335 
   1336 	* configure.ac: Stop generating gstdint.h.
   1337 	* src/c++11/compatibility-atomic-c++0x.cc: Stop using gstdint.h.
   1338 	* Makefile.in: Regenerate.
   1339 	* aclocal.m4: Regenerate.
   1340 	* config.h.in: Regenerate.
   1341 	* configure: Regenerate.
   1342 	* doc/Makefile.in: Regenerate.
   1343 	* include/Makefile.in: Regenerate.
   1344 	* libsupc++/Makefile.in: Regenerate.
   1345 	* po/Makefile.in: Regenerate.
   1346 	* python/Makefile.in: Regenerate.
   1347 	* src/Makefile.in: Regenerate.
   1348 	* src/c++11/Makefile.in: Regenerate.
   1349 	* src/c++17/Makefile.in: Regenerate.
   1350 	* src/c++20/Makefile.in: Regenerate.
   1351 	* src/c++98/Makefile.in: Regenerate.
   1352 	* src/filesystem/Makefile.in: Regenerate.
   1353 	* src/libbacktrace/Makefile.in: Regenerate.
   1354 	* testsuite/Makefile.in: Regenerate.
   1355 
   1356 2022-10-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1357 
   1358 	PR libstdc++/107376
   1359 	* include/bits/regex_executor.h (_Executor::_Executor): Use same
   1360 	allocator for _M_cur_results and _M_results.
   1361 	* include/bits/regex_executor.tcc (_Executor::_M_main_dispatch):
   1362 	Prevent possibly incorrect allocator propagating to
   1363 	_M_cur_results.
   1364 	* testsuite/28_regex/algorithms/regex_match/107376.cc: New test.
   1365 
   1366 2022-10-26  Marek Polacek  <polacek (a] redhat.com>
   1367 
   1368 	PR c++/106393
   1369 	* include/bits/locale_classes.tcc: Add #pragma to disable
   1370 	-Wdangling-reference with std::use_facet.
   1371 
   1372 2022-10-21  Arsen Arsenovi  <arsen (a] aarsen.me>
   1373 
   1374 	* acinclude.m4: Default hosted to off if building without
   1375 	headers and without newlib.
   1376 	* configure: Regenerate.
   1377 
   1378 2022-10-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1379 
   1380 	* include/bits/mofunc_impl.h (move_only_function::__param_t):
   1381 	Use __is_scalar instead of is_trivially_copyable.
   1382 	* testsuite/20_util/move_only_function/call.cc: Check parameters
   1383 	involving incomplete types.
   1384 
   1385 2022-10-20  Patrick Palka  <ppalka (a] redhat.com>
   1386 
   1387 	* include/std/charconv (__detail::__from_chars_alnum_to_val_table):
   1388 	Redefine as a class template containing the members type, value and
   1389 	_S_make_table.  Don't use a local class as the table type.
   1390 	(__detail::__table): Remove.
   1391 	(__detail::__from_chars_alnum_to_val): Adjust after the above.
   1392 
   1393 2022-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1394 
   1395 	* include/std/ranges (views::__detail::__is_repeat_view): Define
   1396 	and later define a partial specialization.
   1397 	(views::__detail::__take_of_repeat_view): Declare and later define.
   1398 	(views::__detail::__drop_of_repeat_view): Likewise.
   1399 	(views::_Take::operator()): Return a repeat_view if the argument
   1400 	is a repeat_view as per P2474R2.
   1401 	(views::_Drop::operator()): Likewise.
   1402 	(repeat_view): Befriend __take/drop_of_repeat_view.
   1403 	* testsuite/std/ranges/repeat/1.cc (test04): New test.
   1404 
   1405 2022-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1406 
   1407 	PR libstdc++/107313
   1408 	* include/std/ranges (stride_view::_Iterator::operator-): Fix typo.
   1409 	* testsuite/std/ranges/adaptors/stride/1.cc (test03): New test.
   1410 
   1411 2022-10-19  LIU Hao  <lh_mouse (a] 126.com>
   1412 
   1413 	* src/c++11/thread.cc (get_nprocs): Add new implementation
   1414 	for native Windows targets
   1415 
   1416 2022-10-19  LIU Hao  <lh_mouse (a] 126.com>
   1417 
   1418 	* libsupc++/atexit_thread.cc (__cxa_thread_atexit): Use
   1419 	implementation from mcfgthread if available
   1420 	* libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_release,
   1421 	__cxa_guard_abort): Use implementations from mcfgthread if
   1422 	available
   1423 	* configure: Regenerate
   1424 
   1425 2022-10-19  Jakub Jelinek  <jakub (a] redhat.com>
   1426 
   1427 	PR c++/106652
   1428 	* include/std/limits: Fix a typo, 202202L -> 202002L.
   1429 	(numeric_limits::<_Float16>::radix, numeric_limits::<_Float32>::radix,
   1430 	numeric_limits::<_Float64>::radix, numeric_limits::<_Float128>::radix,
   1431 	numeric_limits::<__gnu_cxx::__bfloat16_t>::radix): Use __FLT_RADIX__
   1432 	macro instead of type specific macros.
   1433 	* include/c_global/cmath (nextafter(_Float16, _Float16)): New
   1434 	overload.
   1435 	(nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)):
   1436 	Likewise.
   1437 	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc
   1438 	(test_functions): Uncomment nextafter test.  Fix up sph_neumann call.
   1439 	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: New test.
   1440 
   1441 2022-10-18  Patrick Palka  <ppalka (a] redhat.com>
   1442 
   1443 	* include/std/ranges (stride_view): Define.
   1444 	(stride_view::_Iterator): Define.
   1445 	(views::__detail::__can_stride_view): Define.
   1446 	(views::_Stride, views::stride): Define.
   1447 	* testsuite/std/ranges/adaptors/stride/1.cc: New test.
   1448 
   1449 2022-10-18  Jakub Jelinek  <jakub (a] redhat.com>
   1450 
   1451 	PR c++/106652
   1452 	* include/std/stdfloat: New file.
   1453 	* include/std/numbers (__glibcxx_numbers): Define and use it
   1454 	for __float128 explicit instantiations as well as
   1455 	_Float{16,32,64,128} and __gnu_cxx::__bfloat16_t.
   1456 	* include/std/atomic (atomic<_Float16>, atomic<_Float32>,
   1457 	atomic<_Float64>, atomic<_Float128>, atomic<__gnu_cxx::__bfloat16_t>):
   1458 	New explicit instantiations.
   1459 	* include/std/type_traits (__is_floating_point_helper<_Float16>,
   1460 	__is_floating_point_helper<_Float32>,
   1461 	__is_floating_point_helper<_Float64>,
   1462 	__is_floating_point_helper<_Float128>,
   1463 	__is_floating_point_helper<__gnu_cxx::__bfloat16_t>): Likewise.
   1464 	* include/std/limits (__glibcxx_concat3_, __glibcxx_concat3,
   1465 	__glibcxx_float_n): Define.
   1466 	(numeric_limits<_Float16>, numeric_limits<_Float32>,
   1467 	numeric_limits<_Float64>, numeric_limits<_Float128>,
   1468 	numeric_limits<__gnu_cxx::__bfloat16_t>): New explicit instantiations.
   1469 	* include/bits/std_abs.h (abs): New overloads for
   1470 	_Float{16,32,64,128} and __gnu_cxx::__bfloat16_t.
   1471 	* include/bits/c++config (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY128): Define
   1472 	if long double is IEEE quad.
   1473 	(__gnu_cxx::__bfloat16_t): New using.
   1474 	* include/c_global/cmath (acos, asin, atan, atan2, ceil, cos, cosh,
   1475 	exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin,
   1476 	sinh, sqrt, tan, tanh, fpclassify, isfinite, isinf, isnan, isnormal,
   1477 	signbit, isgreater, isgreaterequal, isless, islessequal,
   1478 	islessgreater, isunordered, acosh, asinh, atanh, cbrt, copysign, erf,
   1479 	erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma,
   1480 	llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
   1481 	nextafter, remainder, rint, round, scalbln, scalbn, tgamma, trunc,
   1482 	lerp): New overloads with _Float{16,32,64,128} or
   1483 	__gnu_cxx::__bfloat16_t types.
   1484 	* config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH):
   1485 	Prepare for definition if glibc 2.26 and later implements *f128 APIs
   1486 	but comment out the actual definition for now.
   1487 	* include/ext/type_traits.h (__promote<_Float16>, __promote<_Float32>,
   1488 	__promote<_Float64>, __promote<_Float128>,
   1489 	__promote<__gnu_cxx::__bfloat16_t>): New specializations.
   1490 	* include/Makefile.am (std_headers): Add stdfloat.
   1491 	* include/Makefile.in: Regenerated.
   1492 	* include/precompiled/stdc++.h: Include stdfloat.
   1493 	* testsuite/18_support/headers/stdfloat/types_std.cc: New test.
   1494 	* testsuite/18_support/headers/limits/synopsis_cxx23.cc: New test.
   1495 	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc:
   1496 	New test.
   1497 	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: New test.
   1498 	* testsuite/26_numerics/numbers/4.cc: New test.
   1499 	* testsuite/29_atomics/atomic_float/requirements_cxx23.cc: New test.
   1500 
   1501 2022-10-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1502 
   1503 	* include/std/charconv (__cpp_lib_constexpr_charconv): Define to
   1504 	correct value.
   1505 	* include/std/version (__cpp_lib_constexpr_charconv): Likewise.
   1506 	* testsuite/20_util/to_chars/constexpr.cc: Check correct value.
   1507 	* testsuite/20_util/to_chars/version.cc: Likewise.
   1508 
   1509 2022-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1510 
   1511 	* src/c++11/debug.cc (print_raw): Move inside #if block.
   1512 
   1513 2022-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1514 
   1515 	* include/bits/charconv.h (__to_chars_10_impl): Add constexpr
   1516 	for C++23. Remove 'static' from array.
   1517 	* include/std/charconv (__cpp_lib_constexpr_charconv): Define.
   1518 	(__to_chars, __to_chars_16): Remove 'static' from array, add
   1519 	constexpr.
   1520 	(__to_chars_10, __to_chars_8, __to_chars_2, __to_chars_i)
   1521 	(to_chars, __raise_and_add, __from_chars_pow2_base)
   1522 	(__from_chars_alnum, from_chars): Add constexpr.
   1523 	(__from_chars_alnum_to_val): Avoid local static during constant
   1524 	evaluation. Add constexpr.
   1525 	* include/std/version (__cpp_lib_constexpr_charconv): Define.
   1526 	* testsuite/20_util/from_chars/constexpr.cc: New test.
   1527 	* testsuite/20_util/to_chars/constexpr.cc: New test.
   1528 	* testsuite/20_util/to_chars/version.cc: New test.
   1529 
   1530 2022-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1531 
   1532 	* include/bits/stl_map.h (map::insert(Pair&&)): Use
   1533 	remove_const_t on argument to __is_pair.
   1534 	* include/bits/stl_pair.h (__is_pair<const pair<T,U>>): Remove
   1535 	partial specialization.
   1536 	* include/bits/uses_allocator_args.h (_Std_pair): Use
   1537 	remove_cv_t as per LWG 3677.
   1538 	* testsuite/20_util/uses_allocator/lwg3677.cc: New test.
   1539 
   1540 2022-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1541 
   1542 	* libsupc++/eh_alloc.cc [USE_POOL]: New macro.
   1543 	[!USE_POOL] (__gnu_cxx::__freeres, pool): Do not define.
   1544 	[_GLIBCXX_EH_POOL_STATIC] (pool::arena): Do not use std::max.
   1545 	(__cxxabiv1::__cxa_allocate_exception) [!USE_POOL]: Do not use
   1546 	pool.
   1547 	(__cxxabiv1::__cxa_free_exception) [!USE_POOL]: Likewise.
   1548 	(__cxxabiv1::__cxa_allocate_dependent_exception) [!USE_POOL]:
   1549 	Likewise.
   1550 	(__cxxabiv1::__cxa_free_dependent_exception) [!USE_POOL]:
   1551 	Likewise.
   1552 
   1553 2022-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1554 
   1555 	* src/c++11/debug.cc (print_raw): Simplify.
   1556 	(print_word): Print indentation by calling fprintf directly.
   1557 	(_Error_formatter::_M_error): Print unindented string by calling
   1558 	fprintf directly.
   1559 
   1560 2022-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1561 
   1562 	* include/std/iostream: Use markdown in Doxygen comment.
   1563 
   1564 2022-10-12  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1565 
   1566 	* include/debug/string: Add using _Base::compare.
   1567 	(__gnu_debug::basic_string<>::compare(const basic_string<>&)): Remove.
   1568 	(__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&)):
   1569 	Remove.
   1570 	(__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&,
   1571 	size_type, size_type)): Remove.
   1572 	* testsuite/util/testsuite_string.h [_GLIBCXX_TEST_DEBUG_STRING]: Include <debug/string>.
   1573 	* testsuite/21_strings/basic_string/operations/compare/char/1.cc: Include testsuite_string.h
   1574 	and use __gnu_test::string.
   1575 	* testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise.
   1576 	* testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise.
   1577 	* testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise.
   1578 	* testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise.
   1579 	* testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise.
   1580 	* testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
   1581 	Include testsuite_string.h
   1582 	and use __gnu_test::wstring.
   1583 	* testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc: Likewise.
   1584 	* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise.
   1585 
   1586 2022-10-12  Patrick Palka  <ppalka (a] redhat.com>
   1587 
   1588 	* include/std/ranges (repeat_view): Define.
   1589 	(repeat_view::_Iterator): Define.
   1590 	(views::__detail::__can_repeat_view): Define.
   1591 	(views::__detail::__can_bounded_repeat_view): Define.
   1592 	(views::_Repeat, views::repeat): Define.
   1593 	* testsuite/std/ranges/repeat/1.cc: New test.
   1594 
   1595 2022-10-12  Martin Liska  <mliska (a] suse.cz>
   1596 
   1597 	* configure: Regenerate.
   1598 
   1599 2022-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1600 
   1601 	PR bootstrap/107221
   1602 	* libsupc++/eh_alloc.cc (pool): Change preprocessor condition
   1603 	for using __mutex from __GTHREADS to _GLIBCXX_HOSTED.
   1604 	(pool::allocate): Remove namespace qualification to use
   1605 	pool::__scoped_lock instead of __gnu_cxx::__scoped_lock.
   1606 
   1607 2022-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1608 
   1609 	PR libstdc++/68606
   1610 	* Makefile.in: Regenerate.
   1611 	* acinclude.m4 (GLIBCXX_EMERGENCY_EH_ALLOC): New macro.
   1612 	* configure: Regenerate.
   1613 	* configure.ac: Use GLIBCXX_EMERGENCY_EH_ALLOC.
   1614 	* crossconfig.m4: Check for secure_getenv.
   1615 	* doc/Makefile.in: Regenerate.
   1616 	* doc/xml/manual/configure.xml: Document new configure options.
   1617 	* doc/xml/manual/evolution.xml: Document addition of tunables.
   1618 	* doc/xml/manual/using_exceptions.xml: Document emergency
   1619 	buffer and tunables.
   1620 	* doc/html/*: Regenerate.
   1621 	* include/Makefile.in: Regenerate.
   1622 	* libsupc++/Makefile.am: Use EH_POOL_FLAGS.
   1623 	* libsupc++/Makefile.in: Regenerate.
   1624 	* libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define in units
   1625 	of sizeof(void*) not including the ABI's exception header.
   1626 	(EMERGENCY_OBJ_COUNT): Define as target-independent calculation
   1627 	based on word size.
   1628 	(MAX_OBJ_COUNT): Define macro for upper limit on pool size.
   1629 	(pool) [_GLIBCXX_EH_POOL_STATIC]: Use fixed-size buffer.
   1630 	(pool::buffer_size_in_bytes): New static member function.
   1631 	(pool::pool): Parse GLIBCXX_TUNABLES environment variable to set
   1632 	pool size at runtime.
   1633 	(pool::in_pool): Use std::less<void*> for total order.
   1634 	(__freeres) [_GLIBCXX_EH_POOL_STATIC]: Do nothing.
   1635 	(__cxa_free_exception, __cxa_free_dependent_exception): Add
   1636 	[[unlikely]] attributes.
   1637 	* po/Makefile.in: Regenerate.
   1638 	* python/Makefile.in: Regenerate.
   1639 	* src/Makefile.in: Regenerate.
   1640 	* src/c++11/Makefile.in: Regenerate.
   1641 	* src/c++17/Makefile.in: Regenerate.
   1642 	* src/c++20/Makefile.in: Regenerate.
   1643 	* src/c++98/Makefile.in: Regenerate.
   1644 	* src/filesystem/Makefile.in: Regenerate.
   1645 	* src/libbacktrace/Makefile.in: Regenerate.
   1646 	* testsuite/Makefile.in: Regenerate.
   1647 
   1648 2022-10-11  Olivier Hainque  <hainque (a] adacore.com>
   1649 	    Olivier Hainque  <hainque (a] adacore.com>
   1650 
   1651 	* configure: Regenerate.
   1652 
   1653 2022-10-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1654 
   1655 	* include/std/type_traits (make_signed, make_unsigned): Remove
   1656 	constraints on primary template.
   1657 	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
   1658 	Undo changes to expected error in C++20 mode.
   1659 	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
   1660 	Likewise.
   1661 	* testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
   1662 	Likewise.
   1663 	* testsuite/20_util/make_signed/requirements/uninstantiated.cc:
   1664 	New test.
   1665 	* testsuite/20_util/make_unsigned/requirements/uninstantiated.cc:
   1666 	New test.
   1667 
   1668 2022-10-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1669 
   1670 	* include/std/type_traits (make_signed, make_unsigned): Add
   1671 	specializations for cv bool. Add requires-clause for C++20 to
   1672 	improve diagnostics for non-integral, non-enum cases.
   1673 	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
   1674 	Check cv bool.
   1675 	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
   1676 	Likewise.
   1677 	* testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
   1678 	Adjust expected errors for C++20 and later.
   1679 	* testsuite/lib/prune.exp: Prune "in requirements  [with ...]"
   1680 	lines from diagnostics.
   1681 
   1682 2022-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1683 
   1684 	* acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Add libstdcxx-hosted
   1685 	enable arg as an alias for hosted-libstdcxx enable arg.
   1686 	* configure: Regenerate.
   1687 
   1688 2022-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1689 
   1690 	* include/bits/std_function.h: Include <new> but do not include
   1691 	<bits/stl_function.h>.
   1692 	* include/std/functional: Do not include <new>.
   1693 
   1694 2022-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1695 
   1696 	* doc/xml/manual/intro.xml: Add role="bold" attribute to
   1697 	emphasis elements for issue titles.
   1698 	* doc/html/manual/bugs.html: Regenerate.
   1699 
   1700 2022-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1701 
   1702 	* include/Makefile.in: Regenerate.
   1703 
   1704 2022-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1705 
   1706 	* include/bits/invoke.h (__invoke_r): Check
   1707 	__has_builtin(__reference_converts_from_temporary) before using
   1708 	built-in.
   1709 
   1710 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1711 
   1712 	* testsuite/std/ranges/adaptors/join_with/1.cc: Remove unused
   1713 	<sstream header.
   1714 	(test04): Remove constexpr for old std::string ABI and test at
   1715 	runtime.
   1716 
   1717 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1718 
   1719 	* include/std/type_traits (remove_cv): Use __remove_cv built-in.
   1720 	(remove_reference): Use __remove_reference built-in.
   1721 	(remove_cvref): Use __remove_cvref built-in. Remove inheritance
   1722 	for fallback implementation.
   1723 
   1724 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1725 
   1726 	* include/bits/random.h (__is_seed_seq): Replace with ...
   1727 	(_If_seed_seq_for): ... this.
   1728 	* include/ext/random: Adjust to use _If_seed_seq_for.
   1729 
   1730 2022-10-04  Patrick Palka  <ppalka (a] redhat.com>
   1731 
   1732 	* include/std/ranges (join_with_view::_Iterator::operator*):
   1733 	Replace use of std::visit with manual visitation.
   1734 	(join_with_view::_Iterator::operator++): Likewise.
   1735 	(join_with_view::_Iterator::operator--): Likewise.
   1736 	(join_with_view::_Iterator::iter_move): Likewise.
   1737 	(join_with_view::_Iterator::iter_swap): Likewise.
   1738 
   1739 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1740 
   1741 	* testsuite/25_algorithms/stable_sort/mem_check.cc: Do nto run
   1742 	for freestanding.
   1743 
   1744 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1745 
   1746 	PR libstdc++/107139
   1747 	* include/std/coroutine: Remove all _GLIBCXXHOSTED preprocessor
   1748 	conditionals.
   1749 
   1750 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1751 
   1752 	PR libstdc++/107134
   1753 	* include/c_global/cstdint [!_GLIBCXX_HOSTED]: Include
   1754 	<stdint-gcc.h> directly.
   1755 
   1756 2022-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1757 
   1758 	PR libstdc++/107135
   1759 	* include/bits/functexcept.h [!_GLIBCXX_HOSTED]
   1760 	(__throw_invalid_argument, __throw_out_of_range)
   1761 	(__throw_out_of_range_fmt, __throw_runtime_error)
   1762 	(__throw_overflow_error): Define inline.
   1763 	* include/std/bitset (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]:
   1764 	Replace __builtin_abort with __throw_invalid_argument.
   1765 
   1766 2022-10-04  Patrick Palka  <ppalka (a] redhat.com>
   1767 
   1768 	* include/std/ranges: Include <variant> for C++23.
   1769 	(__detail::__compatible_joinable_ranges): Define.
   1770 	(__detail::__bidirectional_common): Define.
   1771 	(join_with_view): Define.
   1772 	(join_with_view::_Iterator): Define.
   1773 	(join_with_view::_Sentinel): Define.
   1774 	(views::__detail::__can_join_with_view): Define.
   1775 	(views::_JoinWith, views::join_with): Define.
   1776 	* testsuite/std/ranges/adaptors/join_with/1.cc: New test.
   1777 
   1778 2022-10-04  Arsen Arsenovi  <arsen (a] aarsen.me>
   1779 
   1780 	* include/std/iostream: Use ///< for inline documentation.
   1781 	* include/std/limits: Likewise.
   1782 	* include/experimental/internet: Likewise.
   1783 
   1784 2022-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1785 
   1786 	* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
   1787 	* doc/html/manual/status.html: Regenerate.
   1788 
   1789 2022-10-03  Arsen Arsenovi  <arsen (a] aarsen.me>
   1790 
   1791 	PR libstdc++/103626
   1792 	* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc:
   1793 	Require ET hosted.
   1794 	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
   1795 	* testsuite/18_support/new_nothrow.cc: Likewise.
   1796 	* testsuite/20_util/allocator/105975.cc: Likewise.
   1797 	* testsuite/20_util/allocator/14176.cc: Likewise.
   1798 	* testsuite/20_util/allocator/64135.cc: Likewise.
   1799 	* testsuite/20_util/allocator/89510.cc: Likewise.
   1800 	* testsuite/20_util/allocator/lwg3190.cc: Likewise.
   1801 	* testsuite/20_util/allocator/overaligned.cc: Likewise.
   1802 	* testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
   1803 	* testsuite/20_util/allocator/requirements/constexpr.cc:
   1804 	Likewise.
   1805 	* testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc:
   1806 	Likewise.
   1807 	* testsuite/20_util/allocator/requirements/typedefs.cc:
   1808 	Likewise.
   1809 	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
   1810 	Likewise.
   1811 	* testsuite/20_util/allocator/void.cc: Likewise.
   1812 	* testsuite/20_util/allocator_traits/header-2.cc: Likewise.
   1813 	* testsuite/20_util/allocator_traits/header.cc: Likewise.
   1814 	* testsuite/20_util/allocator_traits/members/92878_92947.cc:
   1815 	Likewise.
   1816 	* testsuite/20_util/allocator_traits/members/pointers.cc:
   1817 	Likewise.
   1818 	* testsuite/20_util/allocator_traits/requirements/typedefs.cc:
   1819 	Likewise.
   1820 	* testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
   1821 	Likewise.
   1822 	* testsuite/20_util/bind/42593.cc: Likewise.
   1823 	* testsuite/20_util/bitset/access/dr396.cc: Likewise.
   1824 	* testsuite/20_util/bitset/access/to_string.cc: Likewise.
   1825 	* testsuite/20_util/bitset/cons/16020.cc: Likewise.
   1826 	* testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise.
   1827 	* testsuite/20_util/bitset/cons/dr396.cc: Likewise.
   1828 	* testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise.
   1829 	* testsuite/20_util/bitset/ext/15361.cc: Likewise.
   1830 	* testsuite/20_util/bitset/operations/13838.cc: Likewise.
   1831 	* testsuite/20_util/bitset/operations/96303.cc: Likewise.
   1832 	* testsuite/20_util/bitset/version.cc: Likewise.
   1833 	* testsuite/20_util/enable_shared_from_this/56383.cc: Likewise.
   1834 	* testsuite/20_util/enable_shared_from_this/89303.cc: Likewise.
   1835 	* testsuite/20_util/enable_shared_from_this/members/assign.cc:
   1836 	Likewise.
   1837 	* testsuite/20_util/enable_shared_from_this/members/const.cc:
   1838 	Likewise.
   1839 	* testsuite/20_util/enable_shared_from_this/members/reinit.cc:
   1840 	Likewise.
   1841 	* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc:
   1842 	Likewise.
   1843 	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
   1844 	Likewise.
   1845 	* testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc:
   1846 	Likewise.
   1847 	* testsuite/20_util/forward/1.cc: Likewise.
   1848 	* testsuite/20_util/forward/1_neg.cc: Likewise.
   1849 	* testsuite/20_util/function/1.cc: Likewise.
   1850 	* testsuite/20_util/function/10.cc: Likewise.
   1851 	* testsuite/20_util/function/2.cc: Likewise.
   1852 	* testsuite/20_util/function/3.cc: Likewise.
   1853 	* testsuite/20_util/function/4.cc: Likewise.
   1854 	* testsuite/20_util/function/43397.cc: Likewise.
   1855 	* testsuite/20_util/function/48541.cc: Likewise.
   1856 	* testsuite/20_util/function/5.cc: Likewise.
   1857 	* testsuite/20_util/function/58569.cc: Likewise.
   1858 	* testsuite/20_util/function/6.cc: Likewise.
   1859 	* testsuite/20_util/function/60594.cc: Likewise.
   1860 	* testsuite/20_util/function/65760.cc: Likewise.
   1861 	* testsuite/20_util/function/69222.cc: Likewise.
   1862 	* testsuite/20_util/function/7.cc: Likewise.
   1863 	* testsuite/20_util/function/77322.cc: Likewise.
   1864 	* testsuite/20_util/function/8.cc: Likewise.
   1865 	* testsuite/20_util/function/9.cc: Likewise.
   1866 	* testsuite/20_util/function/91456.cc: Likewise.
   1867 	* testsuite/20_util/function/assign/move.cc: Likewise.
   1868 	* testsuite/20_util/function/assign/move_target.cc: Likewise.
   1869 	* testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
   1870 	* testsuite/20_util/function/cons/55320.cc: Likewise.
   1871 	* testsuite/20_util/function/cons/57465.cc: Likewise.
   1872 	* testsuite/20_util/function/cons/72820.cc: Likewise.
   1873 	* testsuite/20_util/function/cons/addressof.cc: Likewise.
   1874 	* testsuite/20_util/function/cons/callable.cc: Likewise.
   1875 	* testsuite/20_util/function/cons/deduction.cc: Likewise.
   1876 	* testsuite/20_util/function/cons/lwg2774.cc: Likewise.
   1877 	* testsuite/20_util/function/cons/move.cc: Likewise.
   1878 	* testsuite/20_util/function/cons/move_target.cc: Likewise.
   1879 	* testsuite/20_util/function/cons/noexcept.cc: Likewise.
   1880 	* testsuite/20_util/function/cons/non_copyconstructible.cc:
   1881 	Likewise.
   1882 	* testsuite/20_util/function/cons/refqual.cc: Likewise.
   1883 	* testsuite/20_util/function/cons/70692.cc: Likewise.
   1884 	* testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
   1885 	* testsuite/20_util/function/invoke/forwarding.cc: Likewise.
   1886 	* testsuite/20_util/function/invoke/move_only.cc: Likewise.
   1887 	* testsuite/20_util/function/null_pointer_comparisons.cc:
   1888 	Likewise.
   1889 	* testsuite/20_util/function/requirements/explicit_instantiation.cc:
   1890 	Likewise.
   1891 	* testsuite/20_util/function/target_no_rtti.cc: Likewise.
   1892 	* testsuite/20_util/function_objects/83607.cc: Likewise.
   1893 	* testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise.
   1894 	* testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise.
   1895 	* testsuite/20_util/headers/functional/types_std_c++0x.cc:
   1896 	Likewise.
   1897 	* testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise.
   1898 	* testsuite/20_util/is_function/35637.cc: Likewise.
   1899 	* testsuite/20_util/move/1.cc: Likewise.
   1900 	* testsuite/20_util/move_only_function/call.cc: Likewise.
   1901 	* testsuite/20_util/move_only_function/cons.cc: Likewise.
   1902 	* testsuite/20_util/move_only_function/move.cc: Likewise.
   1903 	* testsuite/20_util/move_only_function/version.cc: Likewise.
   1904 	* testsuite/20_util/owner_less/cmp.cc: Likewise.
   1905 	* testsuite/20_util/owner_less/noexcept.cc: Likewise.
   1906 	* testsuite/20_util/owner_less/void.cc: Likewise.
   1907 	* testsuite/20_util/pointer_safety/1.cc: Likewise.
   1908 	* testsuite/20_util/scoped_allocator/65279.cc: Likewise.
   1909 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise.
   1910 	* testsuite/20_util/scoped_allocator/construct_pair.cc:
   1911 	Likewise.
   1912 	* testsuite/20_util/scoped_allocator/dr2586.cc: Likewise.
   1913 	* testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc:
   1914 	Likewise.
   1915 	* testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
   1916 	* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
   1917 	* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
   1918 	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
   1919 	Likewise.
   1920 	* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
   1921 	* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
   1922 	* testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise.
   1923 	* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
   1924 	* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc:
   1925 	Likewise.
   1926 	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
   1927 	Likewise.
   1928 	* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc:
   1929 	Likewise.
   1930 	* testsuite/20_util/shared_ptr/atomic/1.cc: Likewise.
   1931 	* testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
   1932 	* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
   1933 	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
   1934 	* testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
   1935 	* testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
   1936 	* testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise.
   1937 	* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
   1938 	* testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
   1939 	Likewise.
   1940 	* testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise.
   1941 	* testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
   1942 	* testsuite/20_util/shared_ptr/cons/39405.cc: Likewise.
   1943 	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
   1944 	* testsuite/20_util/shared_ptr/cons/46910.cc: Likewise.
   1945 	* testsuite/20_util/shared_ptr/cons/51365.cc: Likewise.
   1946 	* testsuite/20_util/shared_ptr/cons/52924.cc: Likewise.
   1947 	* testsuite/20_util/shared_ptr/cons/55123.cc: Likewise.
   1948 	* testsuite/20_util/shared_ptr/cons/58659.cc: Likewise.
   1949 	* testsuite/20_util/shared_ptr/cons/58839.cc: Likewise.
   1950 	* testsuite/20_util/shared_ptr/cons/61036.cc: Likewise.
   1951 	* testsuite/20_util/shared_ptr/cons/79467.cc: Likewise.
   1952 	* testsuite/20_util/shared_ptr/cons/80229.cc: Likewise.
   1953 	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
   1954 	* testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
   1955 	* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
   1956 	* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
   1957 	* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
   1958 	* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
   1959 	* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
   1960 	* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
   1961 	* testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise.
   1962 	* testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise.
   1963 	* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
   1964 	* testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
   1965 	Likewise.
   1966 	* testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
   1967 	* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
   1968 	* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
   1969 	* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc:
   1970 	Likewise.
   1971 	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc:
   1972 	Likewise.
   1973 	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
   1974 	Likewise.
   1975 	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
   1976 	Likewise.
   1977 	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
   1978 	* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
   1979 	* testsuite/20_util/shared_ptr/creation/36949.cc: Likewise.
   1980 	* testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc:
   1981 	Likewise.
   1982 	* testsuite/20_util/shared_ptr/creation/58594.cc: Likewise.
   1983 	* testsuite/20_util/shared_ptr/creation/87278.cc: Likewise.
   1984 	* testsuite/20_util/shared_ptr/creation/92878_92947.cc:
   1985 	Likewise.
   1986 	* testsuite/20_util/shared_ptr/creation/99006.cc: Likewise.
   1987 	* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
   1988 	* testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
   1989 	* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
   1990 	* testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
   1991 	* testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
   1992 	* testsuite/20_util/shared_ptr/creation/private.cc: Likewise.
   1993 	* testsuite/20_util/shared_ptr/creation/single_allocation.cc:
   1994 	Likewise.
   1995 	* testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
   1996 	Likewise.
   1997 	* testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
   1998 	* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
   1999 	* testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
   2000 	* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
   2001 	* testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
   2002 	* testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise.
   2003 	* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
   2004 	* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
   2005 	* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
   2006 	* testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc:
   2007 	Likewise.
   2008 	* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
   2009 	* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
   2010 	* testsuite/20_util/shared_ptr/observers/array.cc: Likewise.
   2011 	* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
   2012 	* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
   2013 	* testsuite/20_util/shared_ptr/observers/owner_before.cc:
   2014 	Likewise.
   2015 	* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
   2016 	* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
   2017 	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc:
   2018 	Likewise.
   2019 	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc:
   2020 	Likewise.
   2021 	* testsuite/20_util/shared_ptr/requirements/weak_type.cc:
   2022 	Likewise.
   2023 	* testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
   2024 	Likewise.
   2025 	* testsuite/20_util/temporary_buffer.cc: Likewise.
   2026 	* testsuite/20_util/tuple/48476.cc: Likewise.
   2027 	* testsuite/20_util/tuple/cons/90700.cc: Likewise.
   2028 	* testsuite/20_util/tuple/cons/96803.cc: Likewise.
   2029 	* testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise.
   2030 	* testsuite/20_util/tuple/cons/allocators.cc: Likewise.
   2031 	* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
   2032 	Likewise.
   2033 	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
   2034 	* testsuite/20_util/tuple/p2321r2.cc: Likewise.
   2035 	* testsuite/20_util/unique_ptr/creation/92878_92947.cc:
   2036 	Likewise.
   2037 	* testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
   2038 	* testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise.
   2039 	* testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
   2040 	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
   2041 	Likewise.
   2042 	* testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
   2043 	Likewise.
   2044 	* testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
   2045 	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
   2046 	* testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
   2047 	* testsuite/20_util/uses_allocator/uninitialized_construct.cc:
   2048 	Likewise.
   2049 	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
   2050 	* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
   2051 	* testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
   2052 	Likewise.
   2053 	* testsuite/20_util/weak_ptr/lock/1.cc: Likewise.
   2054 	* testsuite/20_util/weak_ptr/observers/owner_before.cc:
   2055 	Likewise.
   2056 	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
   2057 	Likewise.
   2058 	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
   2059 	Likewise.
   2060 	* testsuite/21_strings/basic_string/version.cc: Likewise.
   2061 	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
   2062 	Likewise.
   2063 	* testsuite/21_strings/c_strings/char/69626.cc: Likewise.
   2064 	* testsuite/21_strings/char_traits/requirements/version.cc:
   2065 	Likewise.
   2066 	* testsuite/23_containers/vector/requirements/version.cc:
   2067 	Likewise.
   2068 	* testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
   2069 	Likewise.
   2070 	* testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
   2071 	Likewise.
   2072 	* testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
   2073 	Likewise.
   2074 	* testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
   2075 	Likewise.
   2076 	* testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise.
   2077 	* testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
   2078 	Likewise.
   2079 	* testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
   2080 	Likewise.
   2081 	* testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
   2082 	Likewise.
   2083 	* testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
   2084 	Likewise.
   2085 	* testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
   2086 	Likewise.
   2087 	* testsuite/25_algorithms/constexpr_macro.cc: Likewise.
   2088 	* testsuite/25_algorithms/equal/constrained.cc: Likewise.
   2089 	* testsuite/25_algorithms/headers/cstdlib/functions_std.cc:
   2090 	Likewise.
   2091 	* testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
   2092 	* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
   2093 	Likewise.
   2094 	* testsuite/25_algorithms/make_heap/movable.cc: Likewise.
   2095 	* testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
   2096 	* testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
   2097 	* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
   2098 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
   2099 	Likewise.
   2100 	* testsuite/25_algorithms/sort/35588.cc: Likewise.
   2101 	* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
   2102 	* testsuite/25_algorithms/stable_partition/constrained.cc:
   2103 	Likewise.
   2104 	* testsuite/25_algorithms/stable_partition/mem_check.cc:
   2105 	Likewise.
   2106 	* testsuite/25_algorithms/stable_partition/moveable.cc:
   2107 	Likewise.
   2108 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
   2109 	Likewise.
   2110 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
   2111 	Likewise.
   2112 	* testsuite/25_algorithms/stable_sort/1.cc: Likewise.
   2113 	* testsuite/26_numerics/complex/2.cc: Likewise.
   2114 	* testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
   2115 	* testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise.
   2116 	* testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise.
   2117 	* testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise.
   2118 	* testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise.
   2119 	* testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise.
   2120 	* testsuite/26_numerics/headers/cstdlib/functions_std.cc:
   2121 	Likewise.
   2122 	* testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise.
   2123 	* testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise.
   2124 	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc:
   2125 	Likewise.
   2126 	* testsuite/26_numerics/lerp/version.cc: Likewise.
   2127 	* testsuite/26_numerics/midpoint/version.cc: Likewise.
   2128 	* testsuite/27_io/basic_syncbuf/2.cc: Likewise.
   2129 	* testsuite/27_io/basic_syncstream/2.cc: Likewise.
   2130 	* testsuite/27_io/fpos/14320-1.cc: Likewise.
   2131 	* testsuite/27_io/fpos/14320-2.cc: Likewise.
   2132 	* testsuite/27_io/fpos/14320-3.cc: Likewise.
   2133 	* testsuite/27_io/fpos/14320-4.cc: Likewise.
   2134 	* testsuite/27_io/spanstream/version.cc: Likewise.
   2135 	* testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
   2136 	* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
   2137 	* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
   2138 	* testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
   2139 	* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
   2140 	* testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
   2141 	* testsuite/30_threads/barrier/2.cc: Likewise.
   2142 	* testsuite/30_threads/condition_variable_any/stop_token/2.cc:
   2143 	Likewise.
   2144 	* testsuite/30_threads/jthread/version.cc: Likewise.
   2145 	* testsuite/30_threads/latch/2.cc: Likewise.
   2146 	* testsuite/30_threads/semaphore/2.cc: Likewise.
   2147 	* testsuite/30_threads/stop_token/2.cc: Likewise.
   2148 	* testsuite/abi/pr42230.cc: Likewise.
   2149 	* testsuite/ext/shared_ptr/1.cc: Likewise.
   2150 	* testsuite/libstdc++-xmethods/shared_ptr.cc: Likewise.
   2151 	* testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
   2152 	* testsuite/std/ranges/adaptors/p1739.cc: Likewise.
   2153 	* testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
   2154 	* testsuite/std/ranges/p2325.cc: Likewise.
   2155 
   2156 2022-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2157 
   2158 	* include/std/bitset (bitset(const C*, size_type n, C, C))
   2159 	[!_GLIBCXX_HOSTED]: Remove std::basic_string dependency.
   2160 	(_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: Abort instead of
   2161 	throwing.
   2162 
   2163 2022-10-03  Arsen Arsenovi  <arsen (a] aarsen.me>
   2164 
   2165 	PR libstdc++/103626
   2166 	* include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash.
   2167 	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET
   2168 	hosted.
   2169 	* testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
   2170 
   2171 2022-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2172 
   2173 	PR libstdc++/103626
   2174 	* testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
   2175 	Also require hosted.
   2176 	(check_effective_target_hosted): New proc.
   2177 
   2178 2022-10-03  Arsen Arsenovi  <arsen (a] aarsen.me>
   2179 	    Jonathan Wakely  <jwakely (a] redhat.com>
   2180 
   2181 	PR libstdc++/103626
   2182 	* testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]:
   2183 	Do not include C headers that aren't valid for freestanding.
   2184 	* testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]:
   2185 	Do not test tag types that aren't defined for freestanding.
   2186 	* testsuite/18_support/headers/cstdlib/functions_std.cc: Do not
   2187 	check for std::getenv and std::system for freestanding.
   2188 	* testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]:
   2189 	Do not test hosted parts of the standard library.
   2190 	* testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]:
   2191 	Likewise.
   2192 	* testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]:
   2193 	Likewise.
   2194 	* testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]:
   2195 	Likewise.
   2196 	* testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise.
   2197 	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]:
   2198 	Likewise.
   2199 	* testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]:
   2200 	Likewise.
   2201 	* testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise.
   2202 	* testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise.
   2203 	* testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise.
   2204 
   2205 2022-10-03  Arsen Arsenovi  <arsen (a] aarsen.me>
   2206 
   2207 	PR libstdc++/106953
   2208 	* include/Makefile.am [!_GLIBCXX_HOSTED]: Remove
   2209 	install-freestanding-headers, unifying it with the usual
   2210 	install-headers
   2211 	* include/Makefile.in: Regenerate.
   2212 
   2213 2022-10-03  Arsen Arsenovi  <arsen (a] aarsen.me>
   2214 	    Jonathan Wakely  <jwakely (a] redhat.com>
   2215 
   2216 	PR libstdc++/103626
   2217 	* include/Makefile.am: Add new header.
   2218 	* include/Makefile.in: Regenerate.
   2219 	* include/bits/requires_hosted.h: New header.
   2220 	* include/experimental/algorithm: Include
   2221 	<bits/requires_hosted.h>.
   2222 	* include/experimental/any: Likewise.
   2223 	* include/experimental/array: Likewise.
   2224 	* include/experimental/buffer: Likewise.
   2225 	* include/experimental/chrono: Likewise.
   2226 	* include/experimental/deque: Likewise.
   2227 	* include/experimental/executor: Likewise.
   2228 	* include/experimental/filesystem: Likewise.
   2229 	* include/experimental/forward_list: Likewise.
   2230 	* include/experimental/functional: Likewise.
   2231 	* include/experimental/internet: Likewise.
   2232 	* include/experimental/io_context: Likewise.
   2233 	* include/experimental/iterator: Likewise.
   2234 	* include/experimental/list: Likewise.
   2235 	* include/experimental/map: Likewise.
   2236 	* include/experimental/memory: Likewise.
   2237 	* include/experimental/memory_resource: Likewise.
   2238 	* include/experimental/net: Likewise.
   2239 	* include/experimental/netfwd: Likewise.
   2240 	* include/experimental/numeric: Likewise.
   2241 	* include/experimental/optional: Likewise.
   2242 	* include/experimental/propagate_const: Likewise.
   2243 	* include/experimental/random: Likewise.
   2244 	* include/experimental/ratio: Likewise.
   2245 	* include/experimental/regex: Likewise.
   2246 	* include/experimental/scope: Likewise.
   2247 	* include/experimental/set: Likewise.
   2248 	* include/experimental/simd: Likewise.
   2249 	* include/experimental/socket: Likewise.
   2250 	* include/experimental/source_location: Likewise.
   2251 	* include/experimental/string: Likewise.
   2252 	* include/experimental/string_view: Likewise.
   2253 	* include/experimental/system_error: Likewise.
   2254 	* include/experimental/timer: Likewise.
   2255 	* include/experimental/tuple: Likewise.
   2256 	* include/experimental/unordered_map: Likewise.
   2257 	* include/experimental/unordered_set: Likewise.
   2258 	* include/experimental/utility: Likewise.
   2259 	* include/experimental/vector: Likewise.
   2260 	* include/std/barrier: Likewise.
   2261 	* include/std/chrono: Likewise.
   2262 	* include/std/condition_variable: Likewise.
   2263 	* include/std/deque: Likewise.
   2264 	* include/std/execution: Likewise.
   2265 	* include/std/filesystem: Likewise.
   2266 	* include/std/forward_list: Likewise.
   2267 	* include/std/fstream: Likewise.
   2268 	* include/std/future: Likewise.
   2269 	* include/std/iomanip: Likewise.
   2270 	* include/std/ios: Likewise.
   2271 	* include/std/iosfwd: Likewise.
   2272 	* include/std/iostream: Likewise.
   2273 	* include/std/istream: Likewise.
   2274 	* include/std/latch: Likewise.
   2275 	* include/std/list: Likewise.
   2276 	* include/std/locale: Likewise.
   2277 	* include/std/map: Likewise.
   2278 	* include/std/memory_resource: Likewise.
   2279 	* include/std/mutex: Likewise.
   2280 	* include/std/ostream: Likewise.
   2281 	* include/std/queue: Likewise.
   2282 	* include/std/random: Likewise.
   2283 	* include/std/regex: Likewise.
   2284 	* include/std/semaphore: Likewise.
   2285 	* include/std/set: Likewise.
   2286 	* include/std/shared_mutex: Likewise.
   2287 	* include/std/spanstream: Likewise.
   2288 	* include/std/sstream: Likewise.
   2289 	* include/std/stack: Likewise.
   2290 	* include/std/stacktrace: Likewise.
   2291 	* include/std/stop_token: Likewise.
   2292 	* include/std/streambuf: Likewise.
   2293 	* include/std/string: Likewise.
   2294 	* include/std/syncstream: Likewise.
   2295 	* include/std/system_error: Likewise.
   2296 	* include/std/thread: Likewise.
   2297 	* include/std/unordered_map: Likewise.
   2298 	* include/std/unordered_set: Likewise.
   2299 	* include/std/valarray: Likewise.
   2300 	* include/std/vector: Likewise.
   2301 	* include/tr1/array: Likewise.
   2302 	* include/tr1/ccomplex: Likewise.
   2303 	* include/tr1/cctype: Likewise.
   2304 	* include/tr1/cfenv: Likewise.
   2305 	* include/tr1/cfloat: Likewise.
   2306 	* include/tr1/cinttypes: Likewise.
   2307 	* include/tr1/climits: Likewise.
   2308 	* include/tr1/cmath: Likewise.
   2309 	* include/tr1/complex: Likewise.
   2310 	* include/tr1/complex.h: Likewise.
   2311 	* include/tr1/cstdarg: Likewise.
   2312 	* include/tr1/cstdbool: Likewise.
   2313 	* include/tr1/cstdint: Likewise.
   2314 	* include/tr1/cstdio: Likewise.
   2315 	* include/tr1/cstdlib: Likewise.
   2316 	* include/tr1/ctgmath: Likewise.
   2317 	* include/tr1/ctime: Likewise.
   2318 	* include/tr1/ctype.h: Likewise.
   2319 	* include/tr1/cwchar: Likewise.
   2320 	* include/tr1/cwctype: Likewise.
   2321 	* include/tr1/fenv.h: Likewise.
   2322 	* include/tr1/float.h: Likewise.
   2323 	* include/tr1/functional: Likewise.
   2324 	* include/tr1/inttypes.h: Likewise.
   2325 	* include/tr1/limits.h: Likewise.
   2326 	* include/tr1/math.h: Likewise.
   2327 	* include/tr1/memory: Likewise.
   2328 	* include/tr1/random: Likewise.
   2329 	* include/tr1/regex: Likewise.
   2330 	* include/tr1/stdarg.h: Likewise.
   2331 	* include/tr1/stdbool.h: Likewise.
   2332 	* include/tr1/stdint.h: Likewise.
   2333 	* include/tr1/stdio.h: Likewise.
   2334 	* include/tr1/stdlib.h: Likewise.
   2335 	* include/tr1/tgmath.h: Likewise.
   2336 	* include/tr1/tuple: Likewise.
   2337 	* include/tr1/type_traits: Likewise.
   2338 	* include/tr1/unordered_map: Likewise.
   2339 	* include/tr1/unordered_set: Likewise.
   2340 	* include/tr1/utility: Likewise.
   2341 	* include/tr1/wchar.h: Likewise.
   2342 	* include/tr1/wctype.h: Likewise.
   2343 	* include/c_global/cmath: Likewise.
   2344 	* include/ext/algorithm: Include <bits/requires_hosted.h>.
   2345 	* include/ext/bitmap_allocator.h: Likewise.
   2346 	* include/ext/cmath: Likewise.
   2347 	* include/ext/codecvt_specializations.h: Likewise.
   2348 	* include/ext/debug_allocator.h: Likewise.
   2349 	* include/ext/enc_filebuf.h: Likewise.
   2350 	* include/ext/extptr_allocator.h: Likewise.
   2351 	* include/ext/functional: Likewise.
   2352 	* include/ext/malloc_allocator.h: Likewise.
   2353 	* include/ext/memory: Likewise.
   2354 	* include/ext/mt_allocator.h: Likewise.
   2355 	* include/ext/new_allocator.h: Likewise.
   2356 	* include/ext/numeric: Likewise.
   2357 	* include/ext/pod_char_traits.h: Likewise.
   2358 	* include/ext/pool_allocator.h: Likewise.
   2359 	* include/ext/random: Likewise.
   2360 	* include/ext/random.tcc: Likewise.
   2361 	* include/ext/rb_tree: Likewise.
   2362 	* include/ext/rc_string_base.h: Likewise.
   2363 	* include/ext/rope: Likewise.
   2364 	* include/ext/ropeimpl.h: Likewise.
   2365 	* include/ext/slist: Likewise.
   2366 	* include/ext/sso_string_base.h: Likewise.
   2367 	* include/ext/stdio_filebuf.h: Likewise.
   2368 	* include/ext/stdio_sync_filebuf.h: Likewise.
   2369 	* include/ext/string_conversions.h: Likewise.
   2370 	* include/ext/throw_allocator.h: Likewise.
   2371 	* include/ext/vstring.h: Likewise.
   2372 	* include/ext/vstring.tcc: Likewise.
   2373 	* include/ext/vstring_fwd.h: Likewise.
   2374 	* include/ext/vstring_util.h: Likewise.
   2375 	* include/std/charconv: Likewise.
   2376 	(__cpp_lib_to_chars): Do not define for freestanding.
   2377 	* include/std/version: Adjust which macros get defined in
   2378 	freestanding.
   2379 	* include/ext/pointer.h [!_GLIBCXX_HOSTED]: Omit iostream
   2380 	functionality from freestanding.
   2381 	* include/std/algorithm [!_GLIBCXX_HOSTED]: Omit PSTL algos.
   2382 	* include/std/memory [!_GLIBCXX_HOSTED]: Omit
   2383 	<bits/stl_tempbuf.h> in freestanding
   2384 	* include/bits/algorithmfwd.h [!_GLIBCXX_HOSTED]: Omit leftover
   2385 	random_shuffle and stable_partition definition.
   2386 	* include/bits/stl_algo.h [!_GLIBCXX_HOSTED]: Omit
   2387 	random_shuffle and stable_partition from freestanding.
   2388 	* include/bits/ranges_algo.h [!_GLIBCXX_HOSTED]: Omit
   2389 	stable_partition from freestanding.
   2390 	* include/bits/concept_check.h: Remove needless HOSTED check.
   2391 	* include/std/iterator: Include <bits/ranges_base.h>.
   2392 	* include/std/numeric (__cpp_lib_parallel_algorithms): Do not
   2393 	define for freestanding.
   2394 	* include/std/functional (__cpp_lib_boyer_moore_searcher):
   2395 	Likewise.
   2396 	* testsuite/lib/prune.exp: Match error for hosted-only libstdc++
   2397 	tests.
   2398 
   2399 2022-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2400 	    Arsen Arsenovi  <arsen (a] aarsen.me>
   2401 
   2402 	* include/precompiled/extc++.h [!_GLIBCXX_HOSTED]: Do not
   2403 	include headers that aren't valid for freestanding.
   2404 	* include/precompiled/stdc++.h [!_GLIBCXX_HOSTED]: Likewise.
   2405 
   2406 2022-10-03  Arsen Arsenovi  <arsen (a] aarsen.me>
   2407 
   2408 	* configure.ac: Remove any lines that unconditionally include
   2409 	<stdio.h> from ac_includes_default, when running Autoconf <2.70.
   2410 	* configure: Regenerate.
   2411 
   2412 2022-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2413 
   2414 	PR libstdc++/103626
   2415 	* acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED
   2416 	to __STDC_HOSTED__ for non-freestanding installations.
   2417 	* configure: Regenerate.
   2418 	* include/Makefile.am (${host_builddir}/c++config.h): Adjust
   2419 	grep pattern.
   2420 	* include/Makefile.in: Regenerate.
   2421 	* testsuite/lib/libstdc++.exp (v3-build_support): Use
   2422 	-fno-freestanding.
   2423 	* testsuite/libstdc++-abi/abi.exp: Likewise.
   2424 
   2425 2022-10-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2426 
   2427 	* testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
   2428 	Change body of unused operator<< overload to throw if called.
   2429 	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
   2430 	Likewise.
   2431 
   2432 2022-10-03  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2433 
   2434 	* python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version
   2435 	namespace for __cxx11 symbols.
   2436 	(add_one_template_type_printer): Likewise.
   2437 	(add_one_type_printer): Likewise.
   2438 	(FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al
   2439 	ambiguous typedef matching both std:: and std::__cxx11:: symbols.
   2440 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete
   2441 	\#define _GLIBCXX_USE_CXX11_ABI 0.
   2442 	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept
   2443 	std::__cxx11::list.
   2444 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   2445 	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
   2446 	* testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20
   2447 	and debug mode.
   2448 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
   2449 
   2450 2022-09-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2451 
   2452 	* testsuite/20_util/bitset/access/to_ulong.cc: Construct bitset
   2453 	from binary literal instead of using stringstream.
   2454 
   2455 2022-09-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2456 
   2457 	* include/std/bitset (operator>>): Use a simple buffer instead
   2458 	of std::basic_string.
   2459 
   2460 2022-09-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2461 
   2462 	* include/std/bitset (_M_copy_from_ptr, _M_copy_from_string)
   2463 	(_M_copy_to_string): Change access to private.
   2464 	(_M_copy_from_string(const basic_string&, size_t, size_t)):
   2465 	Remove.
   2466 	(_M_copy_to_string(const basic_string&)): Remove.
   2467 
   2468 2022-09-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2469 
   2470 	* testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output
   2471 	directive.
   2472 
   2473 2022-09-30  Torbjrn SVENSSON  <torbjorn.svensson (a] foss.st.com>
   2474 	    Yvan ROUX   <yvan.roux (a] foss.st.com>
   2475 
   2476 	* testsuite/20_util/bind/ref_neg.cc: Prune Windows paths too.
   2477 
   2478 2022-09-30  Arsen Arsenovi  <arsen (a] aarsen.me>
   2479 
   2480 	* include/std/bitset: Include <bits/stl_algobase.h>.
   2481 
   2482 2022-09-29  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2483 
   2484 	* python/libstdcxx/v6/printers.py (add_one_template_type_printer): Register
   2485 	printer for types in std::__debug namespace with template parameters in std::__8
   2486 	namespace.
   2487 
   2488 2022-09-29  Patrick Palka  <ppalka (a] redhat.com>
   2489 
   2490 	* include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Remove
   2491 	__remove_cv and use __remove_cv_t instead.
   2492 
   2493 2022-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2494 
   2495 	* include/std/type_traits (__is_invocable_impl): Check
   2496 	__has_builtin(__reference_converts_from_temporary) before using
   2497 	built-in.
   2498 
   2499 2022-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2500 
   2501 	* doc/xml/manual/evolution.xml: Document std::bind API
   2502 	changes.
   2503 	* doc/xml/manual/intro.xml: Document LWG 2487 status.
   2504 	* doc/xml/manual/using.xml: Clarify default value of
   2505 	_GLIBCXX_USE_DEPRECATED.
   2506 	* doc/html/*: Regenerate.
   2507 	* include/std/functional (_Bind::operator()(Args&&...) volatile)
   2508 	(_Bind::operator()(Args&&...) const volatile)
   2509 	(_Bind_result::operator()(Args&&...) volatile)
   2510 	(_Bind_result::operator()(Args&&...) const volatile): Replace
   2511 	with deleted overload for C++20 and later.
   2512 	* testsuite/20_util/bind/cv_quals.cc: Check for deprecated
   2513 	warnings in C++17.
   2514 	* testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for
   2515 	ill-formed in C++20.
   2516 
   2517 2022-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2518 
   2519 	PR libstdc++/70692
   2520 	* include/bits/invoke.h [__cplusplus < 201703] (__invoke_r):
   2521 	Remove is_invocable and is_convertible constraints.
   2522 	* include/std/type_traits (__is_invocable_impl::_S_conv): Use
   2523 	non-deduced context for parameter.
   2524 	(__is_invocable_impl::_S_test): Remove _Check_noex template
   2525 	parameter and use deduced noexcept value in its place. Add bool
   2526 	parameter to detect dangling references.
   2527 	(__is_invocable_impl::type): Adjust call to _S_test to avoid
   2528 	deducing unnecessary noexcept property..
   2529 	(__is_invocable_impl::__nothrow_type): Rename to ...
   2530 	(__is_invocable_impl::__nothrow_conv): ... this. Adjust call
   2531 	to _S_test to deduce noexcept property.
   2532 	* testsuite/20_util/bind/dangling_ref.cc: New test.
   2533 	* testsuite/20_util/function/cons/70692.cc: New test.
   2534 	* testsuite/20_util/function_objects/invoke/dangling_ref.cc:
   2535 	New test.
   2536 	* testsuite/20_util/is_invocable/dangling_ref.cc: New test.
   2537 	* testsuite/30_threads/packaged_task/cons/dangling_ref.cc:
   2538 	New test.
   2539 
   2540 2022-09-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2541 
   2542 	PR c++/107049
   2543 	* testsuite/20_util/is_convertible/requirements/access.cc: New
   2544 	test.
   2545 
   2546 2022-09-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2547 
   2548 	PR c++/106651
   2549 	* include/bits/std_function.h (__function_guide_t): New alias
   2550 	template.
   2551 	[__cpp_static_call_operator] (__function_guide_static_helper):
   2552 	New class template.
   2553 	(function): Use __function_guide_t in deduction guide.
   2554 	* include/std/future (packaged_task): Use __function_guide_t in
   2555 	deduction guide.
   2556 	* testsuite/20_util/function/cons/deduction_c++23.cc: New test.
   2557 	* testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
   2558 	New test.
   2559 
   2560 2022-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2561 
   2562 	* include/bits/ptr_traits.h (__ptr_traits_elem) [__cpp_concepts]:
   2563 	Also define the __ptr_traits_elem class template for the
   2564 	concepts case.
   2565 	(pointer_traits<Ptr>): Remove constrained partial
   2566 	specialization.
   2567 	* testsuite/20_util/pointer_traits/lwg3545.cc: Check for
   2568 	ambiguitiy with program-defined partial specialization.
   2569 
   2570 2022-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2571 
   2572 	* include/std/type_traits (is_convertible, is_convertible_v):
   2573 	Define using new built-in.
   2574 	(is_nothrow_convertible is_nothrow_convertible_v): Likewise.
   2575 
   2576 2022-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2577 
   2578 	PR libstdc++/107037
   2579 	* include/std/bitset (_Base_bitset::_M_do_reset): Use
   2580 	preprocessor conditional around non-C++03 code.
   2581 	* testsuite/20_util/bitset/107037.cc: New test.
   2582 
   2583 2022-09-24  Jonathan Wakely  <jwakely (a] redhat.com>
   2584 
   2585 	* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
   2586 	Only instantiate is_empty if needed.
   2587 	* include/bits/ptr_traits.h (__ptr_traits_impl::difference_type)
   2588 	(__ptr_traits_impl::rebind): Use __detected_or.
   2589 	* include/experimental/type_traits (is_same_v): Add a partial
   2590 	specialization instead of instantiating the std::is_same class
   2591 	template.
   2592 	(detected_t): Redefine in terms of detected_or_t.
   2593 	(is_detected, is_detected_v): Redefine in terms of detected_t.
   2594 	* include/std/type_traits [__cpp_concepts] (__detected_or): Add
   2595 	new definition using concepts.
   2596 	(__detector::value_t): Rename to __is_detected.
   2597 	* testsuite/17_intro/names.cc: Check value_t isn't used.
   2598 
   2599 2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2600 
   2601 	* testsuite/20_util/is_assignable/requirements/access.cc:
   2602 	New test.
   2603 
   2604 2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2605 
   2606 	PR libstdc++/91456
   2607 	* include/std/type_traits (__is_nothrow_invocable_lib): Remove.
   2608 	(__is_invocable_impl::__nothrow_type): New member type which
   2609 	checks if the conversion can throw.
   2610 	(__is_nt_invocable_impl): Replace class template with alias
   2611 	template to __is_nt_invocable_impl::__nothrow_type.
   2612 	* testsuite/20_util/is_nothrow_invocable/91456.cc: New test.
   2613 	* testsuite/20_util/is_nothrow_convertible/value.cc: Remove
   2614 	macro used by value_ext.cc test.
   2615 	* testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove
   2616 	test for non-standard __is_nothrow_invocable_lib trait.
   2617 
   2618 2022-09-23  Marek Polacek  <polacek (a] redhat.com>
   2619 
   2620 	PR c++/106784
   2621 	* include/std/type_traits: Rename __is_nothrow_convertible to
   2622 	__is_nothrow_convertible_lib.
   2623 	* testsuite/20_util/is_nothrow_convertible/value_ext.cc: Likewise.
   2624 
   2625 2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2626 
   2627 	* include/std/bitset (operator>>): Do not copy for N==0.
   2628 	* testsuite/20_util/bitset/io/input.cc: Add comment.
   2629 
   2630 2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2631 
   2632 	* include/debug/bitset (__debug::bitset): Add constexpr to all
   2633 	member functions.
   2634 	(operator&, operator|, operator^): Add inline and constexpr.
   2635 	(operator>>, operator<<): Add inline.
   2636 	* testsuite/20_util/bitset/access/constexpr.cc: Only check using
   2637 	constexpr std::string for the cxx11 ABI.
   2638 	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
   2639 	* testsuite/20_util/headers/bitset/synopsis.cc: Check constexpr
   2640 	for C++23.
   2641 
   2642 2022-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2643 
   2644 	* include/std/bitset (bitset::_M_copy_to_string): Find set bits
   2645 	instead of iterating over individual bits.
   2646 
   2647 2022-09-22  Jonathan Wakely  <jwakely (a] redhat.com>
   2648 
   2649 	* include/std/bitset (bitset): Add constexpr for C++23. Guard
   2650 	members using std::string with _GLIBCXX_HOSTED.
   2651 	* include/std/version (__cpp_lib_constexpr_bitset): Define.
   2652 	* testsuite/20_util/bitset/access/constexpr.cc: New test.
   2653 	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: New test.
   2654 	* testsuite/20_util/bitset/count/constexpr.cc: New test.
   2655 	* testsuite/20_util/bitset/ext/constexpr.cc: New test.
   2656 	* testsuite/20_util/bitset/operations/constexpr_c++23.cc: New test.
   2657 	* testsuite/20_util/bitset/version.cc: New test.
   2658 
   2659 2022-09-22  Jonathan Wakely  <jwakely (a] redhat.com>
   2660 
   2661 	* testsuite/23_containers/bitset/18604.cc: Moved to...
   2662 	* testsuite/20_util/bitset/18604.cc: ...here.
   2663 	* testsuite/23_containers/bitset/45713.cc: Moved to...
   2664 	* testsuite/20_util/bitset/45713.cc: ...here.
   2665 	* testsuite/23_containers/bitset/to_string/dr396.cc: Moved to...
   2666 	* testsuite/20_util/bitset/access/dr396.cc: ...here.
   2667 	* testsuite/23_containers/bitset/to_string/1.cc: Moved to...
   2668 	* testsuite/20_util/bitset/access/to_string.cc: ...here.
   2669 	* testsuite/23_containers/bitset/to_ullong/1.cc: Moved to...
   2670 	* testsuite/20_util/bitset/access/to_ullong.cc: ...here.
   2671 	* testsuite/23_containers/bitset/to_ulong/1.cc: Moved to...
   2672 	* testsuite/20_util/bitset/access/to_ulong.cc: ...here.
   2673 	* testsuite/23_containers/bitset/cons/1.cc: Moved to...
   2674 	* testsuite/20_util/bitset/cons/1.cc: ...here.
   2675 	* testsuite/23_containers/bitset/cons/16020.cc: Moved to...
   2676 	* testsuite/20_util/bitset/cons/16020.cc: ...here.
   2677 	* testsuite/23_containers/bitset/cons/2.cc: Moved to...
   2678 	* testsuite/20_util/bitset/cons/2.cc: ...here.
   2679 	* testsuite/23_containers/bitset/cons/3.cc: Moved to...
   2680 	* testsuite/20_util/bitset/cons/3.cc: ...here.
   2681 	* testsuite/23_containers/bitset/cons/38244.cc: Moved to...
   2682 	* testsuite/20_util/bitset/cons/38244.cc: ...here.
   2683 	* testsuite/23_containers/bitset/cons/50268.cc: Moved to...
   2684 	* testsuite/20_util/bitset/cons/50268.cc: ...here.
   2685 	* testsuite/23_containers/bitset/cons/6282.cc: Moved to...
   2686 	* testsuite/20_util/bitset/cons/6282.cc: ...here.
   2687 	* testsuite/23_containers/bitset/cons/constexpr.cc: Moved to...
   2688 	* testsuite/20_util/bitset/cons/constexpr.cc: ...here.
   2689 	* testsuite/23_containers/bitset/cons/dr1325-1.cc: Moved to...
   2690 	* testsuite/20_util/bitset/cons/dr1325-1.cc: ...here.
   2691 	* testsuite/23_containers/bitset/cons/dr1325-2.cc: Moved to...
   2692 	* testsuite/20_util/bitset/cons/dr1325-2.cc: ...here.
   2693 	* testsuite/23_containers/bitset/cons/dr396.cc: Moved to...
   2694 	* testsuite/20_util/bitset/cons/dr396.cc: ...here.
   2695 	* testsuite/23_containers/bitset/debug/invalidation/1.cc: Moved to...
   2696 	* testsuite/20_util/bitset/debug/invalidation/1.cc: ...here.
   2697 	* testsuite/23_containers/bitset/ext/15361.cc: Moved to...
   2698 	* testsuite/20_util/bitset/ext/15361.cc: ...here.
   2699 	* testsuite/23_containers/bitset/hash/1.cc: Moved to...
   2700 	* testsuite/20_util/bitset/hash/1.cc: ...here.
   2701 	* testsuite/23_containers/bitset/input/1.cc: Moved to...
   2702 	* testsuite/20_util/bitset/io/input.cc: ...here.
   2703 	* testsuite/23_containers/bitset/count/6124.cc: Moved to...
   2704 	* testsuite/20_util/bitset/observers/6124.cc: ...here.
   2705 	* testsuite/23_containers/bitset/all/1.cc: Moved to...
   2706 	* testsuite/20_util/bitset/observers/all.cc: ...here.
   2707 	* testsuite/23_containers/bitset/test/1.cc: Moved to...
   2708 	* testsuite/20_util/bitset/observers/test.cc: ...here.
   2709 	* testsuite/23_containers/bitset/operations/1.cc: Moved to...
   2710 	* testsuite/20_util/bitset/operations/1.cc: ...here.
   2711 	* testsuite/23_containers/bitset/operations/13838.cc: Moved to...
   2712 	* testsuite/20_util/bitset/operations/13838.cc: ...here.
   2713 	* testsuite/23_containers/bitset/operations/2.cc: Moved to...
   2714 	* testsuite/20_util/bitset/operations/2.cc: ...here.
   2715 	* testsuite/23_containers/bitset/operations/96303.cc: Moved to...
   2716 	* testsuite/20_util/bitset/operations/96303.cc: ...here.
   2717 	* testsuite/23_containers/bitset/operations/constexpr-2.cc: Moved to...
   2718 	* testsuite/20_util/bitset/operations/constexpr-2.cc: ...here.
   2719 	* testsuite/23_containers/bitset/operations/constexpr.cc: Moved to...
   2720 	* testsuite/20_util/bitset/operations/constexpr.cc: ...here.
   2721 	* testsuite/23_containers/bitset/requirements/constexpr_functions.cc: Moved to...
   2722 	* testsuite/20_util/bitset/requirements/constexpr_functions.cc: ...here.
   2723 	* testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc: Moved to...
   2724 	* testsuite/20_util/bitset/requirements/explicit_instantiation/1.cc: ...here.
   2725 	* testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc: Moved to...
   2726 	* testsuite/20_util/bitset/requirements/explicit_instantiation/1_c++0x.cc: ...here.
   2727 	* testsuite/23_containers/headers/bitset/synopsis.cc: Moved to...
   2728 	* testsuite/20_util/headers/bitset/synopsis.cc: ...here.
   2729 
   2730 2022-09-22  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2731 
   2732 	* python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing
   2733 	types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue,
   2734 	std::__debug::priority_queue.
   2735 
   2736 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2737 
   2738 	PR libstdc++/91456
   2739 	* testsuite/20_util/function/91456.cc: Add comment with PR
   2740 	number.
   2741 	* testsuite/20_util/is_invocable/91456.cc: Likewise. Replace
   2742 	std::function checks with std::is_invocable_r checks.
   2743 
   2744 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2745 
   2746 	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
   2747 	unnecessary main function.
   2748 	* testsuite/17_intro/headers/c++2011/all_attributes.cc:
   2749 	Likewise.
   2750 	* testsuite/17_intro/headers/c++2014/all_attributes.cc:
   2751 	Likewise.
   2752 	* testsuite/17_intro/headers/c++2017/all_attributes.cc:
   2753 	Likewise.
   2754 	* testsuite/17_intro/headers/c++2020/all_attributes.cc:
   2755 	Likewise.
   2756 
   2757 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2758 
   2759 	* testsuite/20_util/headers/memory/synopsis.cc: Add declarations
   2760 	from C++11 and later.
   2761 
   2762 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2763 
   2764 	* doc/xml/manual/documentation_hacking.xml: Remove trailing
   2765 	whitespace.
   2766 	* doc/xml/manual/policy_data_structures.xml: Likewise.
   2767 
   2768 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2769 
   2770 	* include/c_compatibility/stdlib.h [!_GLIBCXX_HOSTED]: Add
   2771 	using-declaration for _Exit.
   2772 
   2773 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2774 
   2775 	* testsuite/18_support/uncaught_exception/14026.cc: Qualify
   2776 	call to std::abort.
   2777 
   2778 2022-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2779 
   2780 	* include/bits/ranges_base.h: Include <initializer_list>.
   2781 
   2782 2022-09-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2783 
   2784 	* include/c_global/cstdlib [!_GLIBCXX_HOSTED] (quick_exit): Fix
   2785 	missing space.
   2786 
   2787 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2788 
   2789 	PR libstdc++/106953
   2790 	* include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define
   2791 	shared_ptr members.
   2792 	* include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare
   2793 	std::allocator_traits<std::allocator<T>> specializations for
   2794 	freestanding.
   2795 	* include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do
   2796 	not declare for freestanding.
   2797 	* include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition):
   2798 	Do not define for freestanding.
   2799 	[!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary
   2800 	buffers for freestanding.
   2801 	* include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare
   2802 	streambuf iterators and overloaded algorithms using them.
   2803 	* include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not
   2804 	define specialized overloads for std::allocator.
   2805 	* include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique)
   2806 	(make_unique_for_overwrite, operator<<): Do not define for
   2807 	freestanding.
   2808 	* include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare.
   2809 	Use _GLIBCXX_NOTHROW instead of throw().
   2810 	* include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore
   2811 	_GLIBCXX_DEBUG for freestanding.
   2812 	* include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise.
   2813 	* include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom
   2814 	__int_traits if <ext/numeric_traits.h> is available.
   2815 	* include/std/functional [!_GLIBCXX_HOSTED]: Do not include
   2816 	headers that aren't valid for freestanding.
   2817 	(boyer_moore_searcher, boyer_moore_horspool_searcher): Do not
   2818 	define for freestanding.
   2819 	* include/std/iterator [!_GLIBCXX_HOSTED]: Do not include
   2820 	headers that aren't valid for freestanding.
   2821 	* include/std/memory [!_GLIBCXX_HOSTED]: Likewise.
   2822 	* include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not
   2823 	define for freestanding.
   2824 	(views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]:
   2825 	Do not define partial specialization for freestanding.
   2826 
   2827 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2828 
   2829 	* include/bits/alloc_traits.h (__alloc_swap)
   2830 	(__shrink_to_fit_aux): Move here, from ...
   2831 	* include/bits/allocator.h: ... here.
   2832 	* include/ext/alloc_traits.h: Do not include allocator.h.
   2833 
   2834 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2835 
   2836 	* include/bits/stl_algo.h: Include <bits/stl_algobase.h>.
   2837 	* include/bits/stl_tempbuf.h: Include headers for __try and
   2838 	__catch macros, std::pair, and __gnu_cxx::__numeric_traits.
   2839 	* include/bits/stream_iterator.h: Include <iosfwd> and headers
   2840 	for std::addressof and std::iterator.
   2841 	* include/bits/streambuf_iterator.h: Include header for
   2842 	std::iterator.
   2843 	* include/std/iterator: Do not include <iosfwd>.
   2844 
   2845 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2846 
   2847 	* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
   2848 	Store value with non-zero padding bits after construction.
   2849 
   2850 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2851 
   2852 	* include/tr1/random.h (__detail::_Adaptor::_BEngine): Remove.
   2853 	(__detail::_Adaptor::_M_g): Make public.
   2854 	(__detail::_Adaptor<_Engine*, _Dist>): Remove partial
   2855 	specialization.
   2856 	(variate_generate::_Value): New helper to simplify handling of
   2857 	_Engine* and _Engine& template arguments.
   2858 	(variate_generate::engine_value_type): Define to underlying
   2859 	engine type, not adapted type.
   2860 	(variate_generate::engine()): Return underlying engine instead
   2861 	of adaptor.
   2862 	* testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc:
   2863 	Fix comment.
   2864 	* testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc:
   2865 	Check member typedefs have the correct types.
   2866 
   2867 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2868 
   2869 	* include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE]
   2870 	(_Error_formatter): Use 0 as null pointer constant.
   2871 
   2872 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2873 
   2874 	* include/bits/allocator.h (__alloc_neq): Remove.
   2875 	* include/bits/stl_list.h (list::_M_check_equal_allocators):
   2876 	Compare allocators directly, without __alloc_neq.
   2877 
   2878 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2879 
   2880 	* doc/doxygen/user.cfg.in (PREDEFINED): Remove __allocator_base.
   2881 	* include/bits/allocator.h: Fix nesting of Doxygen commands.
   2882 
   2883 2022-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2884 
   2885 	* doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 and
   2886 	GLIBCXX_3.4.31 versions.
   2887 	* doc/html/manual/abi.html: Regenerate.
   2888 
   2889 2022-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2890 
   2891 	* include/std/memory: Do not include <bits/stl_algobase.h>.
   2892 
   2893 2022-09-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2894 
   2895 	* include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK):
   2896 	Replace with ...
   2897 	(_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag.
   2898 	(_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using
   2899 	try_lock_failed flag
   2900 	(_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ...
   2901 	(_GLIBCXX_TSAN_MUTEX_LOCKED): ... this.
   2902 	(_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag.
   2903 	(_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag.
   2904 	(_Sp_atomic::_Atomic_count::lock): Use new macros.
   2905 
   2906 2022-09-15  Patrick Palka  <ppalka (a] redhat.com>
   2907 
   2908 	* include/bits/ranges_algo.h (__adjacent_find_fn, adjacent_find):
   2909 	Move to ...
   2910 	* include/bits/ranges_util.h: ... here.
   2911 	* include/std/ranges (chunk_by_view): Define.
   2912 	(chunk_by_view::_Iterator): Define.
   2913 	(__detail::__can_chunk_by_view): Define.
   2914 	(_ChunkBy, chunk_by): Define.
   2915 	* testsuite/std/ranges/adaptors/chunk_by/1.cc: New test.
   2916 
   2917 2022-09-15  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2918 
   2919 	* testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
   2920 	Adapt dg-prune-output to _GLIBCXX_INLINE_VERSION mode.
   2921 
   2922 2022-09-15  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2923 
   2924 	* config/abi/pre/gnu-versioned-namespace.ver: Remove obsolete std::__detail::__8
   2925 	symbols.
   2926 
   2927 2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2928 
   2929 	* include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY)
   2930 	(_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK)
   2931 	(_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK)
   2932 	(_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL):
   2933 	Define macros for TSan annotation functions.
   2934 	(_Sp_atomic::_Atomic_count): Add annotations.
   2935 
   2936 2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2937 
   2938 	* include/bits/stl_tempbuf.h: Include <new>.
   2939 
   2940 2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2941 
   2942 	* testsuite/17_intro/names.cc: Explain why poison pragma can't
   2943 	be used.
   2944 
   2945 2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2946 
   2947 	* include/std/future
   2948 	(_State_baseV2::__setter(exception_ptr&, promise&)): Add
   2949 	assertion for LWG 2276 precondition.
   2950 	* testsuite/30_threads/promise/members/set_exception_neg.cc:
   2951 	New test.
   2952 
   2953 2022-09-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2954 
   2955 	* doc/xml/manual/intro.xml: Document LWG 1203.
   2956 	* doc/html/*: Regenerate.
   2957 
   2958 2022-09-14  Philipp Fent  <fent (a] in.tum.de>
   2959 
   2960 	* python/libstdcxx/v6/printers.py (access_streambuf_ptrs):
   2961 	New helper function.
   2962 	(StdStringBufPrinter, StdStringStreamPrinter): New printers.
   2963 	(build_libstdcxx_dictionary): Register stringstream printers.
   2964 	* testsuite/libstdc++-prettyprinters/debug.cc: Check string
   2965 	streams.
   2966 	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
   2967 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   2968 
   2969 2022-09-13  Patrick Palka  <ppalka (a] redhat.com>
   2970 
   2971 	* include/std/ranges (__detail::__slide_caches_nothing): Define.
   2972 	(__detail::__slide_caches_last): Define.
   2973 	(__detail::__slide_caches_first): Define.
   2974 	(slide_view): Define.
   2975 	(enable_borrowed_range<slide_view>): Define.
   2976 	(slide_view::_Iterator): Define.
   2977 	(slide_view::_Sentinel): Define.
   2978 	(views::__detail::__can_slide_view): Define.
   2979 	(views::_Slide, views::slide): Define.
   2980 	* testsuite/std/ranges/adaptors/slide/1.cc: New test.
   2981 
   2982 2022-09-13  Patrick Palka  <ppalka (a] redhat.com>
   2983 
   2984 	* include/std/ranges (__detail::__div_ceil): Define.
   2985 	(chunk_view): Define.
   2986 	(chunk_view::_OuterIter): Define.
   2987 	(chunk_view::_OuterIter::value_type): Define.
   2988 	(chunk_view::_InnerIter): Define.
   2989 	(chunk_view<_Vp>): Define partial specialization for forward
   2990 	ranges.
   2991 	(enable_borrowed_range<chunk_view>): Define.
   2992 	(chunk_view<_Vp>::_Iterator): Define.
   2993 	(views::__detail::__can_chunk_view): Define.
   2994 	(views::_Chunk, views::chunk): Define.
   2995 	* testsuite/std/ranges/adaptors/chunk/1.cc: New test.
   2996 
   2997 2022-09-13  Patrick Palka  <ppalka (a] redhat.com>
   2998 
   2999 	* include/std/ranges (join_view::_Iterator::_M_satisfy):
   3000 	Adjust resetting _M_inner as per LWG 3569.
   3001 	(join_view::_Iterator::_M_inner): Wrap in std::optional
   3002 	as per LWG 3569.
   3003 	(join_view::_Iterator::_Iterator): Relax constraints as
   3004 	per LWG 3569.
   3005 	(join_view::_Iterator::operator*): Adjust as per LWG 3569.
   3006 	(join_view::_Iterator::operator->): Likewise.
   3007 	(join_view::_Iterator::operator++): Likewise.
   3008 	(join_view::_Iterator::operator--): Likewise.
   3009 	(join_view::_Iterator::iter_move): Likewise.
   3010 	(join_view::_Iterator::iter_swap): Likewise.
   3011 	* testsuite/std/ranges/adaptors/join.cc (test14): New test.
   3012 
   3013 2022-09-13  Patrick Palka  <ppalka (a] redhat.com>
   3014 
   3015 	* include/debug/safe_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
   3016 	Add parentheses to avoid -Wparentheses warning.
   3017 
   3018 2022-09-12  Patrick Palka  <ppalka (a] redhat.com>
   3019 
   3020 	PR libstdc++/106320
   3021 	* testsuite/std/ranges/adaptors/join.cc (test13): New test.
   3022 
   3023 2022-09-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3024 
   3025 	* testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Fix
   3026 	comments.
   3027 	* testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
   3028 	Likewise.
   3029 
   3030 2022-09-12  Jakub Jelinek  <jakub (a] redhat.com>
   3031 
   3032 	PR tree-optimization/105329
   3033 	* acinclude.m4 (libtool_VERSION): Change to 6:31:0.
   3034 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Don't export
   3035 	std::basic_string methods with name length of 15.
   3036 	(GLIBCXX_3.4.31): Export std::basic_string::_M_replace_cold.
   3037 	* testsuite/util/testsuite_abi.cc (check_version): Handle
   3038 	GLIBCXX_3.4.31.
   3039 	* include/bits/basic_string.h (std::basic_string::_M_replace_cold):
   3040 	Declare.
   3041 	* include/bits/basic_string.tcc (std::basic_string::_M_replace_cold):
   3042 	Define and export even for C++20.
   3043 	(std::basic_string::_M_replace): Use __builtin_expect, outline
   3044 	the overlapping case to _M_replace_cold.
   3045 	* configure: Regenerated.
   3046 
   3047 2022-09-09  Jonathan Wakely  <jwakely (a] redhat.com>
   3048 
   3049 	* include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
   3050 	Rename __weak to __is_weak.
   3051 	* testsuite/17_intro/names.cc: Add __weak and __strong.
   3052 
   3053 2022-09-09  Patrick Palka  <ppalka (a] redhat.com>
   3054 
   3055 	PR libstdc++/106803
   3056 	* include/std/ranges (views::_ZipTransform::operator()): Correct
   3057 	return type in the empty case.
   3058 	(views::_AdjacentTransform::operator()): Likewise.
   3059 
   3060 2022-09-09  Patrick Palka  <ppalka (a] redhat.com>
   3061 
   3062 	PR libstdc++/106798
   3063 	* include/std/ranges (adjacent_view::_Iterator::_Iterator): Fix
   3064 	typo.
   3065 	* testsuite/std/ranges/adaptors/adjacent/1.cc (test04): New test.
   3066 
   3067 2022-09-09  Patrick Palka  <ppalka (a] redhat.com>
   3068 
   3069 	PR libstdc++/106766
   3070 	* include/std/ranges (zip_view::_Iterator::operator-): Use
   3071 	__to_unsigned_like instead of make_unsigned_t.
   3072 	(zip_view::_Sentinel::operator-): Likewise.
   3073 	* testsuite/std/ranges/zip/1.cc (test04): New test.
   3074 
   3075 2022-09-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3076 
   3077 	* testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New.
   3078 	(__gnu_test::malloc_info): New, replace mallinfo on current platform
   3079 	supporting it and use mallinfo2 when glibc >= 2.33.
   3080 
   3081 2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3082 
   3083 	PR c++/106838
   3084 	* testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
   3085 	Prune additional errors from front-end.
   3086 	* testsuite/20_util/is_move_constructible/incomplete_neg.cc:
   3087 	Likewise.
   3088 	* testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc:
   3089 	Likewise.
   3090 	* testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc:
   3091 	Likewise.
   3092 	* testsuite/20_util/is_swappable_with/incomplete_neg.cc:
   3093 	Likewise.
   3094 
   3095 2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3096 
   3097 	* include/c_global/cstddef (byte): Add always_inline attribute
   3098 	to all operator overloads.
   3099 	(to_integer): Add always_inline attribute.
   3100 
   3101 2022-09-08  Thomas Rodgers  <trodgers (a] redhat.com>
   3102 	    Jakub Jelinek  <jakub (a] redhat.com>
   3103 	    Jonathan Wakely  <jwakely (a] redhat.com>
   3104 
   3105 	* include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding):
   3106 	New function.
   3107 	(__atomic_impl::clear_padding): Likewise.
   3108 	(__atomic_impl::__compare_exchange): Likewise.
   3109 	(__atomic_impl::compare_exchange_weak): Delegate to
   3110 	__compare_exchange.
   3111 	(__atomic_impl::compare_exchange_strong): Likewise.
   3112 	* include/std/atomic (atomic<T>::atomic(T)): Clear padding when
   3113 	possible in a constexpr function.
   3114 	(atomic::store): Clear padding.
   3115 	(atomic::exchange): Likewise.
   3116 	(atomic::compare_exchange_weak): Use __compare_exchange.
   3117 	(atomic::compare_exchange_strong): Likewise.
   3118 	* testsuite/29_atomics/atomic/compare_exchange_padding.cc: New
   3119 	test.
   3120 	* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
   3121 	New test.
   3122 
   3123 2022-09-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3124 
   3125 	* include/std/system_error (__adl_only::make_error_code): Add
   3126 	deleted function.
   3127 	(__adl_only::make_error_condition): Likewise.
   3128 	(error_code::error_code(ErrorCodeEnum)): Add using-declaration
   3129 	for deleted function.
   3130 	(error_condition::error_condition(ErrorConditionEnum)):
   3131 	Likewise.
   3132 	* testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test.
   3133 	* testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test.
   3134 
   3135 2022-09-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3136 
   3137 	* include/std/barrier: Add missing runtime exception.
   3138 
   3139 2022-09-07  Patrick Palka  <ppalka (a] redhat.com>
   3140 
   3141 	* include/std/type_traits (is_reference): Make the primary
   3142 	template derive from false_type.  Define two partial
   3143 	specializations that derive from true_type.
   3144 
   3145 2022-09-07  Patrick Palka  <ppalka (a] redhat.com>
   3146 
   3147 	* include/std/type_traits (__is_void_helper): Remove.
   3148 	(is_void): Make the primary template derive from false_type,
   3149 	and define four explicit specializations that derive from
   3150 	true_type.
   3151 	(__is_null_pointer_helper, is_null_pointer): Likewise.
   3152 
   3153 2022-09-07  Jason Merrill  <jason (a] redhat.com>
   3154 
   3155 	* libsupc++/dyncast.cc (__dynamic_cast): Avoid virtual function
   3156 	call in simple success case.
   3157 
   3158 2022-09-06  Philipp Fent  <fent (a] in.tum.de>
   3159 
   3160 	* testsuite/libstdc++-prettyprinters/48362.cc: Fix expected
   3161 	tuple indices.
   3162 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
   3163 
   3164 2022-09-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3165 
   3166 	* include/std/type_traits (__success_type, __failure_type): Move
   3167 	definitions later in the file.
   3168 
   3169 2022-09-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3170 
   3171 	* include/std/type_traits (is_trivial_v, is_trivially_copyable_v)
   3172 	(is_standard_layout_v, is_pod_v, is_literal_type_v): Use
   3173 	built-in instead of class template.
   3174 	(is_same_v): Add partial specialization for true case.
   3175 
   3176 2022-09-02  Patrick Palka  <ppalka (a] redhat.com>
   3177 
   3178 	* include/std/tuple (tuple::_UseOtherCtor): Use ::type when
   3179 	deriving from __and_, __or_ or __not_.
   3180 	* include/std/type_traits (negation): Likewise.
   3181 	(is_unsigned): Likewise.
   3182 	(__is_implicitly_default_constructible): Likewise.
   3183 	(is_trivially_destructible): Likewise.
   3184 	(__is_nt_invocable_impl): Likewise.
   3185 
   3186 2022-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3187 
   3188 	* include/std/type_traits (is_constructible_v)
   3189 	(is_default_constructible_v, is_copy_constructible_v)
   3190 	(is_move_constructible_v): Define using __is_constructible.
   3191 	(is_assignable_v, is_copy_assignable_v, is_move_assignable_v):
   3192 	Define using __is_assignable.
   3193 	(is_trivially_constructible_v)
   3194 	(is_trivially_default_constructible_v)
   3195 	(is_trivially_copy_constructible_v)
   3196 	(is_trivially_move_constructible_v): Define using
   3197 	__is_trivially_constructible.
   3198 	(is_trivially_assignable_v, is_trivially_copy_assignable_v)
   3199 	(is_trivially_move_assignable_v): Define using
   3200 	__is_trivially_assignable.
   3201 	(is_nothrow_constructible_v)
   3202 	(is_nothrow_default_constructible_v)
   3203 	(is_nothrow_copy_constructible_v)
   3204 	(is_nothrow_move_constructible_v): Define using
   3205 	__is_nothrow_constructible.
   3206 	(is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
   3207 	(is_nothrow_move_assignable_v): Define using
   3208 	__is_nothrow_assignable.
   3209 
   3210 2022-09-02  Patrick Palka  <ppalka (a] redhat.com>
   3211 
   3212 	* include/std/type_traits (__or_, __and_, __not_): Redefine as a
   3213 	class template instead of as an alias template.
   3214 	* testsuite/20_util/logical_traits/requirements/short_circuit.cc:
   3215 	Add more tests for conjunction and disjunction.  Add corresponding
   3216 	tests for __and_ and __or_.
   3217 
   3218 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3219 
   3220 	* include/std/ranges (adjacent_transform_view::_Iterator): Add
   3221 	typename keyword before dependent qualified-id.
   3222 
   3223 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3224 
   3225 	* include/std/type_traits (__is_referenceable): Remove.
   3226 	(__add_lvalue_reference_helper, __add_rvalue_reference_helper):
   3227 	Use __void_t instead of __is_referenceable.
   3228 	(__add_pointer_helper): Likewise.
   3229 	(add_pointer): Add partial specializations for reference types.
   3230 
   3231 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3232 
   3233 	* include/std/type_traits (__is_constructible_impl): Replace
   3234 	class template with alias template.
   3235 	(is_default_constructible, is_nothrow_constructible)
   3236 	(is_nothrow_constructible): Simplify base-specifier.
   3237 	(__is_copy_constructible_impl, __is_move_constructible_impl)
   3238 	(__is_nothrow_copy_constructible_impl)
   3239 	(__is_nothrow_move_constructible_impl): Remove class templates.
   3240 	(is_copy_constructible, is_move_constructible)
   3241 	(is_nothrow_constructible, is_nothrow_default_constructible)
   3242 	(is_nothrow_copy_constructible, is_nothrow_move_constructible):
   3243 	Adjust base-specifiers to use __is_constructible_impl.
   3244 	(__is_copy_assignable_impl, __is_move_assignable_impl)
   3245 	(__is_nt_copy_assignable_impl, __is_nt_move_assignable_impl):
   3246 	Remove class templates.
   3247 	(__is_assignable_impl): New alias template.
   3248 	(is_assignable, is_copy_assignable, is_move_assignable):
   3249 	Adjust base-specifiers to use new alias template.
   3250 	(is_nothrow_copy_assignable, is_nothrow_move_assignable):
   3251 	Adjust base-specifiers to use existing alias template.
   3252 	(__is_trivially_constructible_impl): New alias template.
   3253 	(is_trivially_constructible, is_trivially_default_constructible)
   3254 	(is_trivially_copy_constructible)
   3255 	(is_trivially_move_constructible): Adjust base-specifiers to use
   3256 	new alias template.
   3257 	(__is_trivially_assignable_impl): New alias template.
   3258 	(is_trivially_assignable, is_trivially_copy_assignable)
   3259 	(is_trivially_move_assignable): Adjust base-specifier to use
   3260 	new alias template.
   3261 	(__add_lval_ref_t, __add_rval_ref_t): New alias templates.
   3262 	(add_lvalue_reference, add_rvalue_reference): Use new alias
   3263 	templates.
   3264 
   3265 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3266 
   3267 	* include/std/type_traits (__decay_selector): Add partial
   3268 	specializations for array types. Only check for function types
   3269 	when not dealing with an array.
   3270 	(decay): Add partial specializations for reference types.
   3271 
   3272 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3273 
   3274 	* include/std/type_traits (is_lvalue_reference_v)
   3275 	(is_rvalue_reference_v, is_reference_v, is_const_v)
   3276 	(is_volatile_v): Define using partial specializations instead
   3277 	of instantiating class templates.
   3278 
   3279 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3280 
   3281 	* include/std/type_traits (is_enum_v, is_class_v, is_union_v)
   3282 	(is_empty_v, is_polymoprhic_v, is_abstract_v, is_final_v)
   3283 	(is_base_of_v, is_aggregate_v): Use built-in directly instead of
   3284 	instantiating class template.
   3285 
   3286 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3287 
   3288 	* include/std/type_traits (is_scoped_enum): Remove workaround.
   3289 
   3290 2022-09-01  Patrick Palka  <ppalka (a] redhat.com>
   3291 
   3292 	* include/std/ranges (__detail::__unarize): Define.
   3293 	(adjacent_view::_Iterator): Befriend adjacent_transform_view.
   3294 	(adjacent_transform_view): Define.
   3295 	(adjacent_transform_view::_Iterator): Define.
   3296 	(adjacent_transform_view::_Sentinel): Define.
   3297 	(views::__detail::__can_adjacent_transform_view): Define.
   3298 	(views::_AdjacentTransform): Define.
   3299 	(views::adjacent_transform): Define.
   3300 	(views::pairwise_transform): Define.
   3301 	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc: New test.
   3302 
   3303 2022-09-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3304 
   3305 	* include/std/type_traits (__is_array_known_bounds): Add partial
   3306 	specialization instead of using std::extent.
   3307 	(__is_array_unknown_bounds): Likewise.
   3308 	(extent): Add partial specializations to stop recursion after
   3309 	the result is found.
   3310 	(is_array_v): Add partial specializations instead of
   3311 	instantiating the class template.
   3312 	(rank_v, extent_v): Likewise.
   3313 	(is_bounded_array_v, is_unbounded_array_v): Likewise.
   3314 	(is_bounded_array, is_unbounded_array): Define in terms of the
   3315 	variable templates.
   3316 
   3317 2022-08-31  Patrick Palka  <ppalka (a] redhat.com>
   3318 
   3319 	* include/bits/ranges_base.h (__advance_fn::operator()): Add
   3320 	parentheses in assert condition to avoid -Wparentheses warning.
   3321 	* include/std/ranges: (take_view::take_view): Uglify 'base'.
   3322 	(take_while_view::take_while_view): Likewise.
   3323 	(elements_view::elements_view): Likewise.
   3324 	(views::_Zip::operator()): Adjust position of [[nodiscard]] for
   3325 	compatibility with -fconcepts-ts.
   3326 	(zip_transform_view::_Sentinel): Uglify 'OtherConst'.
   3327 	(views::_ZipTransform::operator()): Adjust position of
   3328 	[[nodiscard]] for compatibilty with -fconcepts-ts.
   3329 
   3330 2022-08-31  Martin Liska  <mliska (a] suse.cz>
   3331 
   3332 	* configure: Regenerate.
   3333 	* crossconfig.m4: Remove deprecated ports.
   3334 
   3335 2022-08-31  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3336 
   3337 	* include/debug/debug.h: Use nullptr rather than '0' in checks in post-C++11.
   3338 	* include/debug/string: Likewise.
   3339 	* testsuite/21_strings/basic_string/operations/ends_with/char.cc: Use __gnu_test::string.
   3340 	* testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: Likewise.
   3341 	* testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: Likewise.
   3342 	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: Likewise.
   3343 	* testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: Likewise.
   3344 	* testsuite/21_strings/basic_string/operations/starts_with/char.cc: Likewise..
   3345 
   3346 2022-08-31  Patrick Palka  <ppalka (a] redhat.com>
   3347 
   3348 	* include/std/ranges (adjacent_view): Define.
   3349 	(enable_borrowed_range<adjacent_view>): Define.
   3350 	(__detail::__repeated_tuple): Define.
   3351 	(adjacent_view::_Iterator): Define.
   3352 	(adjacent_view::_Sentinel): Define.
   3353 	(views::__detail::__can_adjacent_view): Define.
   3354 	(views::_Adjacent): Define.
   3355 	(views::adjacent): Define.
   3356 	(views::pairwise): Define.
   3357 	* testsuite/std/ranges/adaptors/adjacent/1.cc: New test.
   3358 
   3359 2022-08-31  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3360 
   3361 	* include/debug/formatter.h
   3362 	[_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare.
   3363 	[_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare.
   3364 	[_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define.
   3365 	[_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define.
   3366 	[_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define.
   3367 	[_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare.
   3368 	[_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New.
   3369 	[_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New.
   3370 	* src/c++11/debug.cc [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New.
   3371 	(_Error_formatter::_M_error()): Adapt.
   3372 	* src/libbacktrace/Makefile.am: Add backtrace.c.
   3373 	* src/libbacktrace/Makefile.in: Regenerate.
   3374 	* src/libbacktrace/backtrace-rename.h (backtrace_full): New.
   3375 	* testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: New test.
   3376 	* doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE.
   3377 	* doc/xml/manual/using.xml: Likewise.
   3378 
   3379 2022-08-31  Patrick Palka  <ppalka (a] redhat.com>
   3380 
   3381 	* testsuite/20_util/logical_traits/requirements/short_circuit.cc: New test.
   3382 
   3383 2022-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3384 
   3385 	* include/bits/refwrap.h (reference_wrapper::operator()): Add
   3386 	noexcept-specifier and use __invoke_result instead of result_of.
   3387 	* testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test.
   3388 
   3389 2022-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3390 
   3391 	* testsuite/20_util/reference_wrapper/invoke-2.cc: Improve
   3392 	comments.
   3393 	* testsuite/20_util/reference_wrapper/invoke-3.cc: Likewise.
   3394 	* testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
   3395 
   3396 2022-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3397 
   3398 	* include/bits/basic_string.h (basic_string): Add nodiscard
   3399 	attribute to all relevant functions.
   3400 	* include/std/string_view (basic_string_view): Likewise.
   3401 	* testsuite/21_strings/basic_string/capacity/1.cc: Cast unused
   3402 	results to void.
   3403 	* testsuite/21_strings/basic_string/capacity/char/1.cc:
   3404 	Likewise.
   3405 	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc:
   3406 	Likewise.
   3407 	* testsuite/21_strings/basic_string/cons/char/self_move.cc:
   3408 	Likewise.
   3409 	* testsuite/21_strings/basic_string/element_access/char/1.cc:
   3410 	Likewise.
   3411 	* testsuite/21_strings/basic_string/element_access/char/21674.cc:
   3412 	Likewise.
   3413 	* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
   3414 	Likewise.
   3415 	* testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
   3416 	Likewise.
   3417 	* testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
   3418 	* testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
   3419 	* testsuite/21_strings/basic_string/operations/contains/nonnull.cc:
   3420 	Add -Wno-unused-result to options.
   3421 	* testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
   3422 	Likewise.
   3423 	* testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
   3424 	Likewise.
   3425 	* testsuite/21_strings/basic_string/operators/char/1.cc: Cast
   3426 	unused results to void.
   3427 	* testsuite/21_strings/basic_string/operators/wchar_t/1.cc:
   3428 	Likewise.
   3429 	* testsuite/21_strings/basic_string_view/capacity/1.cc:
   3430 	Likewise.
   3431 	* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
   3432 	Likewise.
   3433 	* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
   3434 	Likewise.
   3435 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
   3436 	Likewise.
   3437 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
   3438 	Likewise.
   3439 	* testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc:
   3440 	Likewise.
   3441 	Add -Wno-unused-result to options.
   3442 	* testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
   3443 	Likewise.
   3444 	* testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
   3445 	Likewise.
   3446 	* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Cast
   3447 	unused results to void.
   3448 	* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc:
   3449 	Likewise.
   3450 	* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
   3451 	* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc:
   3452 	Likewise.
   3453 
   3454 2022-08-27  Patrick Palka  <ppalka (a] redhat.com>
   3455 
   3456 	* testsuite/20_util/logical_traits/requirements/base_classes.cc: New test.
   3457 
   3458 2022-08-26  Patrick Palka  <ppalka (a] redhat.com>
   3459 
   3460 	* include/std/ranges (zip_view::_Iterator::operator<): Remove
   3461 	as per LWG 3692.
   3462 	(zip_view::_Iterator::operator>): Likewise.
   3463 	(zip_view::_Iterator::operator<=): Likewise.
   3464 	(zip_view::_Iterator::operator>=): Likewise.
   3465 	(zip_view::_Iterator::operator<=>): Remove three_way_comparable
   3466 	constraint as per LWG 3692.
   3467 	(zip_transform_view::_Iterator): Ditto as per LWG 3702.
   3468 
   3469 2022-08-26  Patrick Palka  <ppalka (a] redhat.com>
   3470 
   3471 	* include/std/ranges (zip_view::_Iterator): Befriend
   3472 	zip_transform_view.
   3473 	(__detail::__range_iter_cat): Define.
   3474 	(zip_transform_view): Define.
   3475 	(zip_transform_view::_Iterator): Define.
   3476 	(zip_transform_view::_Sentinel): Define.
   3477 	(views::__detail::__can_zip_transform_view): Define.
   3478 	(views::_ZipTransform): Define.
   3479 	(views::zip_transform): Define.
   3480 	* testsuite/std/ranges/zip_transform/1.cc: New test.
   3481 
   3482 2022-08-26  Patrick Palka  <ppalka (a] redhat.com>
   3483 
   3484 	* include/std/type_traits (enable_if, __enable_if_t): Define them
   3485 	earlier.
   3486 	(__detail::__first_t): Define.
   3487 	(__detail::__or_fn, __detail::__and_fn): Declare.
   3488 	(__or_, __and_): Redefine as alias templates in terms of __or_fn
   3489 	and __and_fn.
   3490 	(__not_): Redefine as an alias template.
   3491 	(__detail::__disjunction_impl, __detail::__conjunction_impl):
   3492 	Define.
   3493 	(conjuction, disjunction): Redefine in terms of __disjunction_impl
   3494 	and __conjunction_impl.
   3495 
   3496 2022-08-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3497 
   3498 	* include/std/system_error (error_code::_Check): New alias
   3499 	template for constructor SFINAE constraint.
   3500 	(error_code::error_code(ErrorCodeEnum)): Use it.
   3501 	(error_code::operator=(ErrorCodeEnum)): Remove.
   3502 	(error_condition::_Check): New alias template for constraint.
   3503 	(error_condition::error_condition(ErrorConditionEnum)): Use it.
   3504 	(error_condition::operator=(ErrorConditionEnum)): Remove.
   3505 	* testsuite/19_diagnostics/error_code/cons/1.cc: Check
   3506 	constructor taking user-defined error enum.
   3507 	* testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
   3508 
   3509 2022-08-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3510 
   3511 	* include/bits/basic_string.h (starts_with, ends_with, contains):
   3512 	Add nonnull attribute.
   3513 	* include/bits/cow_string.h (starts_with, ends_with, contains):
   3514 	Likewise.
   3515 	* include/std/string_view (starts_with, ends_with, contains):
   3516 	Likewise.
   3517 	* testsuite/21_strings/basic_string/operations/contains/nonnull.cc
   3518 	* testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc
   3519 	* testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc
   3520 	* testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc
   3521 	* testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc
   3522 	* testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc
   3523 
   3524 2022-08-25  Patrick Palka  <ppalka (a] redhat.com>
   3525 
   3526 	* include/std/ranges (lazy_split_view::_OuterIter::_M_current):
   3527 	Remove redundant comment.
   3528 	(lazy_split_view::_M_current): Likewise.
   3529 	(common_view::common_view): Remove commented out view-converting
   3530 	constructor as per LWG3405.
   3531 	(elements_view::_Iterator::_Iterator): Uglify 'current' and 'i'.
   3532 
   3533 2022-08-24  Patrick Palka  <ppalka (a] redhat.com>
   3534 
   3535 	* include/bits/ranges_algo.h (__min_fn, min): Move to ...
   3536 	* include/bits/ranges_util.h: ... here, in order to avoid
   3537 	including all of ranges_algo.h from <ranges>.
   3538 	* include/std/ranges (__detail::__zip_is_common): Define for
   3539 	C++23 as per P2321R2.
   3540 	(__detail::__tuple_or_pair): Likewise.
   3541 	(__detail::__tuple_or_pair_t): Likewise.
   3542 	(__detail::__tuple_transform): Likewise.
   3543 	(__detail::__tuple_for_each): Likewise.
   3544 	(zip_view): Likewise.
   3545 	(enable_borrowed_range<zip_view>): Likewise.
   3546 	(__detail::__all_random_access): Likewise.
   3547 	(__detail::__all_bidirectional): Likewise.
   3548 	(__detail::__all_forward): Likewise.
   3549 	(__detail::__zip_view_iter_cat): Likewise.
   3550 	(zip_view::_Iterator): Likewise.
   3551 	(zip_view::_Sentinel): Likewise.
   3552 	* testsuite/std/ranges/zip/1.cc: New test.
   3553 
   3554 2022-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3555 
   3556 	Revert:
   3557 	2022-08-24  Will Hawkins  <whh8b (a] obs.cr>
   3558 
   3559 	* include/bits/basic_string.h (operator+(const string&, const char*)):
   3560 	Remove naive implementation.
   3561 	* include/bits/basic_string.tcc (operator+(const string&, const char*)):
   3562 	Add single-allocation implementation.
   3563 
   3564 2022-08-24  Patrick Palka  <ppalka (a] redhat.com>
   3565 
   3566 	* include/bits/stl_pair.h (pair::swap const): Add non-standard
   3567 	is_swappable_v constraints.
   3568 	* include/std/tuple (tuple::swap const): Likewise.
   3569 	* testsuite/20_util/tuple/cons/noexcept_specs.cc: Correct some
   3570 	asserts in C++23 mode.
   3571 
   3572 2022-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3573 
   3574 	* include/bits/stl_algo.h (__stable_sort): Cast size to
   3575 	iterator's difference type.
   3576 	* testsuite/25_algorithms/stable_sort/4.cc: New test.
   3577 
   3578 2022-08-24  Will Hawkins  <whh8b (a] obs.cr>
   3579 
   3580 	* include/bits/basic_string.h (operator+(const string&, const char*)):
   3581 	Remove naive implementation.
   3582 	* include/bits/basic_string.tcc (operator+(const string&, const char*)):
   3583 	Add single-allocation implementation.
   3584 
   3585 2022-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3586 
   3587 	* testsuite/20_util/duration_cast/rounding.cc: Check abs with
   3588 	non-reduced duration.
   3589 
   3590 2022-08-23  Patrick Palka  <ppalka (a] redhat.com>
   3591 
   3592 	* include/bits/stl_bvector.h (_Bit_reference::operator=): Define
   3593 	const overload for C++23 as per P2321R2.
   3594 	* include/bits/stl_pair.h (pair::swap): Likewise.
   3595 	(pair::pair): Define additional converting constructors for
   3596 	C++23 as per P2321R2.
   3597 	(pair::operator=): Define const overloads for C++23 as per
   3598 	P2321R2.
   3599 	(swap): Define overload taking const pair& for C++23 as per
   3600 	P2321R2.
   3601 	(basic_common_reference): Define partial specialization for
   3602 	pair for C++23 as per P2321R2.
   3603 	(common_type): Likewise.
   3604 	* include/bits/uses_allocator_args.h
   3605 	(uses_allocator_construction_args): Define additional pair
   3606 	overloads for C++23 as per P2321R2.
   3607 	* include/std/tuple (_Tuple_impl::_Tuple_impl): Define
   3608 	additional converting constructors for C++23 as per P2321R2.
   3609 	(_Tuple_impl::_M_assign): Define const overloads for C++23
   3610 	as per P2321R2.
   3611 	(_Tuple_impl::_M_swap): Likewise.
   3612 	(tuple::__constructible): Define as a convenient renaming of
   3613 	_TCC<true>::__constructible.
   3614 	(tuple::__convertible): As above but for _TCC<true>::__convertible.
   3615 	(tuple::tuple): Define additional converting constructors for
   3616 	C++23 as per P2321R2.
   3617 	(tuple::operator=): Define const overloads for C++23 as per
   3618 	P2321R2.
   3619 	(tuple::swap): Likewise.
   3620 	(basic_common_reference): Define partial specialization for
   3621 	tuple for C++23 as per P2321R2.
   3622 	(common_type): Likewise.
   3623 	* testsuite/20_util/pair/p2321r2.cc: New test.
   3624 	* testsuite/20_util/tuple/p2321r2.cc: New test.
   3625 	* testsuite/23_containers/vector/bool/element_access/1.cc: New test.
   3626 
   3627 2022-08-23  Patrick Palka  <ppalka (a] redhat.com>
   3628 
   3629 	* include/std/tuple (_TupleConstraints::__convertible): Define.
   3630 	(_TupleConstraints::__constructible): Define.
   3631 	(_TupleConstraints::__is_explicitly_constructible): Redefine this
   3632 	in terms of __convertible and __constructible.
   3633 	(_TupleConstraints::__is_implicitly_constructible): Likewise.
   3634 
   3635 2022-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3636 
   3637 	PR libstdc++/106589
   3638 	* include/std/variant (__do_visit): Handle is_void<R> for zero
   3639 	argument case.
   3640 	* testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v).
   3641 
   3642 2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3643 
   3644 	PR libstdc++/105678
   3645 	* doc/xml/manual/using.xml: Document -lstdc++_libbacktrace
   3646 	requirement for using std::stacktrace. Also adjust -frtti and
   3647 	-fexceptions to document non-default (i.e. negative) forms.
   3648 	* doc/html/*: Regenerate.
   3649 
   3650 2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3651 
   3652 	PR libstdc++/106695
   3653 	* include/bits/std_thread.h (thread::_State_impl): Forward
   3654 	individual arguments to _Invoker constructor.
   3655 	(thread::_Invoker): Add constructor. Delete copies.
   3656 	* include/std/future (__future_base::_Deferred_state): Forward
   3657 	individual arguments to _Invoker constructor.
   3658 	(__future_base::_Async_state_impl): Likewise.
   3659 	* testsuite/30_threads/async/106695.cc: New test.
   3660 	* testsuite/30_threads/thread/106695.cc: New test.
   3661 
   3662 2022-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3663 
   3664 	PR libstdc++/106607
   3665 	* include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value):
   3666 	Use built-ins to check for integer overflow in back-reference
   3667 	number.
   3668 	* testsuite/28_regex/basic_regex/106607.cc: New test.
   3669 
   3670 2022-08-17  Keef Aragon  <keef.aragon (a] konscious.net>
   3671 
   3672 	* libsupc++/eh_alloc.cc (pool::free): Inverse comparison.
   3673 
   3674 2022-08-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3675 
   3676 	* include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry.
   3677 	(_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator
   3678 	parameter is value-initialized.
   3679 	(_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise.
   3680 	* include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt
   3681 	checks.
   3682 	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New.
   3683 	Adapt checks.
   3684 	* src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version.
   3685 	(print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names.
   3686 	* testsuite/23_containers/deque/debug/iterator1_neg.cc: New test.
   3687 	* testsuite/23_containers/deque/debug/iterator2_neg.cc: New test.
   3688 	* testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test.
   3689 	* testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test.
   3690 	* testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test.
   3691 
   3692 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3693 
   3694 	* include/experimental/scope (__cpp_lib_experimental_scope):
   3695 	Define.
   3696 	* testsuite/experimental/scopeguard/uniqueres.cc: Check macro.
   3697 
   3698 2022-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3699 
   3700 	* include/Makefile.am: Add new header.
   3701 	* include/Makefile.in: Regenerate.
   3702 	* include/experimental/scope: New file.
   3703 	* testsuite/experimental/scopeguard/uniqueres.cc: New test.
   3704 	* testsuite/experimental/scopeguard/exit.cc: New test.
   3705 
   3706 2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3707 
   3708 	* include/std/string_view (basic_string_view(Range&&)): Add
   3709 	explicit as per P2499R0.
   3710 	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
   3711 	Adjust implicit conversions. Check implicit conversions fail.
   3712 	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
   3713 	Likewise.
   3714 
   3715 2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3716 
   3717 	* include/bits/fs_dir.h (directory_iterator): Add comparison
   3718 	with std::default_sentinel_t. Remove redundant operator!= for
   3719 	C++20.
   3720 	* (recursive_directory_iterator): Likewise.
   3721 	* include/bits/iterator_concepts.h [!__cpp_lib_concepts]
   3722 	(default_sentinel_t, default_sentinel): Define even if concepts
   3723 	are not supported.
   3724 	* include/bits/regex.h (regex_iterator): Add comparison with
   3725 	std::default_sentinel_t. Remove redundant operator!= for C++20.
   3726 	(regex_token_iterator): Likewise.
   3727 	(regex_token_iterator::_M_end_of_seq()): Add noexcept.
   3728 	* testsuite/27_io/filesystem/iterators/lwg3719.cc: New test.
   3729 	* testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
   3730 	New test.
   3731 	* testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
   3732 	New test.
   3733 
   3734 2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3735 
   3736 	* include/std/expected (unexpected::_M_val): Rename to _M_unex.
   3737 	(bad_expected_access::_M_val): Likewise.
   3738 
   3739 2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3740 
   3741 	* include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update
   3742 	value to 202207L.
   3743 	* include/std/version (__cpp_lib_ios_noreplace): Likewise.
   3744 	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check
   3745 	for new value.
   3746 	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
   3747 	Likewise.
   3748 
   3749 2022-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3750 
   3751 	PR libstdc++/106183
   3752 	* include/bits/atomic_wait.h (__waiter_pool_base::_M_notify):
   3753 	Move increment of _M_ver here.
   3754 	[!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment.
   3755 	Use relaxed memory order and always notify all waiters.
   3756 	(__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]:
   3757 	Check value again after locking mutex.
   3758 	(__waiter_base::_M_notify): Remove increment of _M_ver.
   3759 
   3760 2022-08-04  Ulrich Drepper  <drepper (a] gmail.com>
   3761 
   3762 	* python/libstdcxx/v6/printers.py (class StdTuplePrinter): Use
   3763 	zero-based indeces just like std:get takes.
   3764 
   3765 2022-07-29  Jonathan Wakely  <jwakely (a] redhat.com>
   3766 
   3767 	PR libstdc++/104443
   3768 	* include/bits/stl_iterator.h (common_iterator::operator->):
   3769 	Change return type to just auto.
   3770 
   3771 2022-07-26  Thomas Rodgers  <trodgers (a] redhat.com>
   3772 
   3773 	* include/bits/atomic_wait.h (__atomic_spin): Merge spin loops.
   3774 
   3775 2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3776 
   3777 	PR libstdc++/100823
   3778 	* include/bits/stl_iterator.h (common_iterator): Define
   3779 	destructor, copy constructor and move constructor as trivial
   3780 	when the underlying types allow.
   3781 	* testsuite/24_iterators/common_iterator/100823.cc: Check
   3782 	triviality of special members.
   3783 
   3784 2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3785 
   3786 	PR libstdc++/100823
   3787 	* include/bits/stl_iterator.h (common_iterator): Define move
   3788 	constructor and move assignment operator.
   3789 	(common_iterator::_M_assign): New function implementing
   3790 	assignment.
   3791 	(common_iterator::operator=): Use _M_assign.
   3792 	(common_iterator::_S_valueless): New constant.
   3793 	* testsuite/24_iterators/common_iterator/100823.cc: New test.
   3794 
   3795 2022-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3796 
   3797 	* include/bits/stl_iterator.h (common_iterator): Fix incorrect
   3798 	uses of is_nothrow_assignable_v. Fix inconsistent constraints on
   3799 	friend declaration. Do not move argument in copy constructor.
   3800 	* testsuite/24_iterators/common_iterator/1.cc: Check for
   3801 	noexcept constructibnle/assignable.
   3802 
   3803 2022-07-19  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3804 
   3805 	* include/debug/debug.h [_GLIBCXX_DEBUG](__glibcxx_requires_string): Define
   3806 	using _GLIBCXX_DEBUG_PEDASSERT.
   3807 	[_GLIBCXX_DEBUG](__glibcxx_requires_string_len): Likewise.
   3808 	* include/debug/macros.h
   3809 	(__glibcxx_check_string, __glibcxx_check_string_len): Move...
   3810 	* include/debug/string
   3811 	(__glibcxx_check_string, __glibcxx_check_string_len): ...here. And define depending
   3812 	on _GLIBCXX_DEBUG_PEDANTIC no matter if _GLIBCXX_DEBUG is defined.
   3813 	Add using of std::string find, rfind, find_first_of, find_last_of, find_first_not_of
   3814 	and find_last_not_of. Remove debug implementations having no debug assertion.
   3815 	* testsuite/util/testsuite_string.h: New file. Provides __gnu_test::string and
   3816 	__gnu_test::wtring which definition depends on _GLIBCXX_DEBUG.
   3817 	* testsuite/21_strings/basic_string/debug/find1_neg.cc: New test case.
   3818 	* testsuite/21_strings/basic_string/debug/find2_neg.cc: New test case.
   3819 	* testsuite/21_strings/basic_string/operations/find/char/1.cc:
   3820 	Include <testsuite_string.h> and use __gnu_test::string.
   3821 	* testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise.
   3822 	* testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise.
   3823 	* testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise.
   3824 	* testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise.
   3825 	* testsuite/21_strings/basic_string/operations/find/char/6.cc: Likewise.
   3826 	* testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
   3827 	Include <testsuite_string.h> and use __gnu_test::wstring.
   3828 	* testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise.
   3829 	* testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise.
   3830 	* testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise.
   3831 	* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise.
   3832 	* testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: Likewise.
   3833 
   3834 2022-07-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3835 
   3836 	* include/std/type_traits (__cpp_lib_reference_from_temporary)
   3837 	(reference_constructs_from_temporary)
   3838 	(reference_converts_from_temporary): Only define when the
   3839 	built-ins are available.
   3840 
   3841 2022-07-19  Marco Falke  <falke.marco (a] gmail.com>
   3842 
   3843 	* include/std/charconv (__from_chars_alnum_to_val): Replace
   3844 	implicit conversion from int to unsigned char with explicit
   3845 	cast.
   3846 
   3847 2022-07-19  Sebastian Huber  <sebastian.huber (a] embedded-brains.de>
   3848 
   3849 	* configure: Regnerate.
   3850 	* configure.ac (newlib, *-rtems*): Remove HAVE_POLL.
   3851 
   3852 2022-07-18  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3853 
   3854 	* include/bits/stl_algo.h
   3855 	(__merge_adaptive): Adapt to merge only when buffer is large enough..
   3856 	(__merge_adaptive_resize): New, adapt merge when buffer is too small.
   3857 	(__inplace_merge): Adapt, use latter.
   3858 	(__stable_sort_adaptive): Adapt to sort only when buffer is large enough.
   3859 	(__stable_sort_adaptive_resize): New, adapt sort when buffer is too small.
   3860 	(__stable_sort): Adapt, use latter.
   3861 
   3862 2022-07-15  Marek Polacek  <polacek (a] redhat.com>
   3863 
   3864 	PR c++/104477
   3865 	* include/std/type_traits (reference_constructs_from_temporary,
   3866 	reference_converts_from_temporary): New class templates.
   3867 	(reference_constructs_from_temporary_v,
   3868 	reference_converts_from_temporary_v): New variable templates.
   3869 	(__cpp_lib_reference_from_temporary): Define for C++23.
   3870 	* include/std/version (__cpp_lib_reference_from_temporary): Define for
   3871 	C++23.
   3872 	* testsuite/20_util/variable_templates_for_traits.cc: Test
   3873 	reference_constructs_from_temporary_v and
   3874 	reference_converts_from_temporary_v.
   3875 	* testsuite/20_util/reference_from_temporary/value.cc: New test.
   3876 	* testsuite/20_util/reference_from_temporary/value2.cc: New test.
   3877 	* testsuite/20_util/reference_from_temporary/version.cc: New test.
   3878 
   3879 2022-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3880 
   3881 	PR libstdc++/106248
   3882 	* include/std/istream [C++17] (operator>>(istream&, char*)):
   3883 	Set eofbit if we stopped extracting at EOF.
   3884 	* testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc:
   3885 	New test.
   3886 	* testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc:
   3887 	New test.
   3888 
   3889 2022-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3890 
   3891 	* include/bits/stl_iterator.h (__iter_to_alloc_t): Replace
   3892 	add_const_t with const-qualifier.
   3893 	* include/bits/utility.h (tuple_element<N, cv T>): Likewise for
   3894 	all cv-qualifiers.
   3895 	* include/std/type_traits (add_const, add_volatile): Replace
   3896 	typedef-declaration with using-declaration.
   3897 	(add_cv): Replace add_const and add_volatile with cv-qualifiers.
   3898 	* include/std/variant (variant_alternative<N, cv T>): Replace
   3899 	add_const_t, add_volatile_t and add_cv_t etc. with cv-qualifiers.
   3900 
   3901 2022-07-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3902 
   3903 	* include/std/string: Remove obsolete comment about char_traits.h including
   3904 	stl_algobase.h.
   3905 
   3906 2022-07-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3907 
   3908 	PR c++/89074
   3909 	* include/bits/char_traits.h (__gnu_cxx::char_traits::move):
   3910 	Remove workaround for front-end bug.
   3911 
   3912 2022-07-05  Alexandre Oliva  <oliva (a] adacore.com>
   3913 
   3914 	* testsuite/util/testsuite_fs.h (nonexistent_path): Explain
   3915 	why we need the typecast.
   3916 
   3917 2022-07-05  Alexandre Oliva  <oliva (a] adacore.com>
   3918 
   3919 	* testsuite/util/testsuite_fs.h (nonexistent_path): Convert
   3920 	the getpid result to an integral type.
   3921 
   3922 2022-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3923 
   3924 	PR libstdc++/106162
   3925 	* include/Makefile.am (largefile-config.h): Add
   3926 	stamp-${host_alias} prerequisite.
   3927 	* include/Makefile.in: Regenerate.
   3928 
   3929 2022-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   3930 
   3931 	* include/bits/fs_ops.h: Add nodiscard to all pure functions.
   3932 	* include/experimental/bits/fs_ops.h: Likewise.
   3933 	* testsuite/27_io/filesystem/operations/all.cc: Do not discard
   3934 	results of absolute and canonical.
   3935 	* testsuite/27_io/filesystem/operations/absolute.cc: Cast
   3936 	discarded result to void.
   3937 	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
   3938 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   3939 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   3940 	* testsuite/27_io/filesystem/operations/read_symlink.cc:
   3941 	Likewise.
   3942 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   3943 	* testsuite/27_io/filesystem/operations/symlink_status.cc:
   3944 	Likewise.
   3945 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   3946 	Likewise.
   3947 	* testsuite/experimental/filesystem/operations/canonical.cc:
   3948 	Likewise.
   3949 	* testsuite/experimental/filesystem/operations/exists.cc:
   3950 	Likewise.
   3951 	* testsuite/experimental/filesystem/operations/is_empty.cc:
   3952 	Likewise.
   3953 	* testsuite/experimental/filesystem/operations/read_symlink.cc:
   3954 	Likewise.
   3955 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3956 	Likewise.
   3957 
   3958 2022-07-01  Sebastian Huber  <sebastian.huber (a] embedded-brains.de>
   3959 
   3960 	* configure: Regnerate.
   3961 	* configure.ac (newlib, *-rtems*): Enable TLS support for all RTEMS
   3962 	targets except bfin, lm32, mips, moxie, or1k, and v850.
   3963 	For all RTEMS targets, define HAVE_ALIGNED_ALLOC, HAVE_AT_QUICK_EXIT,
   3964 	HAVE_LINK, HAVE_POLL, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV,
   3965 	HAVE_SLEEP, HAVE_SOCKATMARK, HAVE_STRERROR_L, HAVE_SYMLINK,
   3966 	HAVE_TRUNCATE, and HAVE_USLEEP.
   3967 	* crossconfig.m4 (*-rtems*): Remove.
   3968 
   3969 2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3970 
   3971 	* include/bits/utility.h: Fix comment typos.
   3972 
   3973 2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3974 
   3975 	* src/c++17/fs_ops.cc (fs::temp_directory_path()): Include path
   3976 	in exception.
   3977 	(fs::temp_directory_path(error_code&)): Rearrange to more
   3978 	closely match the structure of the first overload.
   3979 	* src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
   3980 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   3981 	Check that exception contains the path.
   3982 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3983 	Likewise.
   3984 
   3985 2022-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3986 
   3987 	PR libstdc++/88881
   3988 	* src/filesystem/ops.cc (has_trailing_slash): New helper
   3989 	function.
   3990 	(fs::status): Strip trailing slashes.
   3991 	(fs::symlink_status): Likewise.
   3992 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3993 	Clean the environment before each test and use TMP instead of
   3994 	TMPDIR so the test passes on Windows.
   3995 
   3996 2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3997 
   3998 	* src/filesystem/dir-common.h (_Dir_base::_At_path):
   3999 	Use char_type consistently for paths.
   4000 
   4001 2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4002 
   4003 	* src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with
   4004 	current() returning _At_path.
   4005 	(_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust.
   4006 	* src/filesystem/dir-common.h (_Dir_base::_At_path): New class.
   4007 	(_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path.
   4008 	* src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with
   4009 	current() returning _At_path.
   4010 	(_Dir::_Dir, _Dir::open_subdir): Adjust.
   4011 
   4012 2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4013 
   4014 	* src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
   4015 	Always store pathname if we don't have openat or unlinkat,
   4016 	because the full path is needed to open sub-directories and
   4017 	remove entries.
   4018 
   4019 2022-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4020 
   4021 	* testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math
   4022 	functions are available.
   4023 
   4024 2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   4025 
   4026 	* testsuite/20_util/to_chars/long_double.cc: Use cmath
   4027 	long double overloads for nexttoward and ldexp.
   4028 
   4029 2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   4030 
   4031 	* testsuite/experimental/simd/standard_abi_usable.cc: Require
   4032 	cmath support.
   4033 	* testsuite/experimental/simd/standard_abi_usable_2.cc:
   4034 	Likewise.
   4035 
   4036 2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   4037 
   4038 	* testsuite/26_numerics/complex/proj.cc: Skip test in the
   4039 	circumstances in which the implementation of proj is known to
   4040 	be broken.
   4041 
   4042 2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   4043 
   4044 	* src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
   4045 	_GLIBCXX_HAVE_OPENAT.
   4046 
   4047 2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   4048 
   4049 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc
   4050 	(test06): Don't create symlinks when NO_SYMLINKS is defined.
   4051 
   4052 2022-06-27  Alexandre Oliva  <oliva (a] adacore.com>
   4053 
   4054 	* testsuite/lib/dg-options.exp (add_options_for_net_ts):
   4055 	Add -Wl,--gc-sections for RTEMS targets.
   4056 	* testsuite/experimental/net/timer/waitable/dest.cc: Link-time
   4057 	xfail on RTEMS.
   4058 	* testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
   4059 	* testsuite/experimental/net/internet/resolver/ops/lookup.cc:
   4060 	Execution-time xfail on RTEMS.
   4061 	* testsuite/experimental/net/internet/resolver/ops/reverse.cc:
   4062 	Likewise.
   4063 
   4064 2022-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4065 
   4066 	* testsuite/ext/mt_allocator/22309_thread.cc: Include <string>.
   4067 
   4068 2022-06-27  Joel Brobecker  <brobecker (a] adacore.com>
   4069 	    Jonathan Wakely  <jwakely (a] redhat.com>
   4070 
   4071 	* testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path):
   4072 	Always include a counter in the filename returned.
   4073 
   4074 2022-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4075 
   4076 	* include/bits/move_only_function.h (_Never_valueless_alt):
   4077 	Define partial specialization for std::move_only_function.
   4078 
   4079 2022-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4080 
   4081 	* include/std/variant (_Build_FUN::_S_fun): Define fallback case
   4082 	as deleted.
   4083 	(__accepted_index, _Extra_visit_slot_needed): Replace class
   4084 	templates with variable templates.
   4085 
   4086 2022-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4087 
   4088 	* include/bits/fs_path.h (__is_path_iter_src): Replace class
   4089 	template with variable template.
   4090 
   4091 2022-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4092 
   4093 	* include/bits/chrono.h (is_clock_v): Define to false.
   4094 	(is_clock_v<T>): Define partial specialization for true cases.
   4095 	(is_clock): Define in terms of is_clock_v.
   4096 
   4097 2022-06-24  Xi Ruoyao  <xry111 (a] xry111.site>
   4098 
   4099 	* scripts/extract_symvers.in: Use grep -E instead of egrep.
   4100 	* scripts/run_doxygen: Likewise.
   4101 
   4102 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4103 
   4104 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
   4105 	openat.
   4106 	* configure, config.h.in: Rebuilt.
   4107 	* src/filesystem/dir-common.h (openat): Use ::openat if
   4108 	_GLIBCXX_HAVE_OPENAT.
   4109 	* src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
   4110 	_GLIBCXX_HAVE_OPENAT.
   4111 
   4112 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4113 
   4114 	* testsuite/27_io/filesystem/operations/rename.cc: xfail on
   4115 	rtems.
   4116 	* testsuite/experimental/filesystem/operations/rename.cc:
   4117 	Likewise.
   4118 
   4119 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4120 
   4121 	* testsuite/util/testsuite_fs.h (NO_LAST_WRITE_TIME): Define
   4122 	when appropriate.
   4123 	* testsuite/lib/libstdc++.exp
   4124 	(check_v3_target_fs_last_write_time): New.
   4125 	* testsuite/lib/dg-options.exp (dg-require-target-fs-lwt):
   4126 	New.
   4127 	* testsuite/27_io/filesystem/operations/last_write_time.cc:
   4128 	Skip the test if the features are unavailable.
   4129 	* testsuite/experimental/filesystem/operations/last_write_time.cc:
   4130 	Likewise.
   4131 
   4132 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4133 
   4134 	* testsuite/util/testsuite_fs.h (NO_SPACE): Define if
   4135 	appropriate.
   4136 	* testsuite/lib/libstdc++.exp (check_v3_target_fs_space): New.
   4137 	* testsuite/lib/dg-options.exp (dg-require-target-fs-space):
   4138 	New.
   4139 	* testsuite/27_io/filesystem/operations/space.cc: Require
   4140 	target-fs-space.
   4141 	* testsuite/experimental/filesystem/operations/space.cc:
   4142 	Likewise.
   4143 
   4144 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4145 
   4146 	* testsuite/util/testsuite_fs.h (NO_SYMLINKS): Define on
   4147 	mingw and when create_symlink is a dummy.
   4148 	* testsuite/27_io/filesystem/operations/symlink_status.cc:
   4149 	Drop mingw xfail.
   4150 	(test01, test02): Don't create symlinks when NO_SYMLINKS is
   4151 	defined.
   4152 	* testsuite/27_io/filesystem/operations/canonical.cc (test03):
   4153 	Likewise.
   4154 	* testsuite/27_io/filesystem/operations/copy.cc (test02):
   4155 	Likewise.
   4156 	* testsuite/27_io/filesystem/operations/create_directories.cc
   4157 	(test04): Likewise.
   4158 	* testsuite/27_io/filesystem/operations/create_directory.cc
   4159 	(test01): Likewise.
   4160 	* testsuite/27_io/filesystem/operations/permissions.cc
   4161 	(test03, test04): Likewise.
   4162 	* testsuite/27_io/filesystem/operations/remove.cc (test01):
   4163 	Likewise.
   4164 	* testsuite/27_io/filesystem/operations/remove_all.cc (test01):
   4165 	Likewise.
   4166 	* testsuite/27_io/filesystem/operations/rename.cc
   4167 	(test_symlinks): Likewise.
   4168 	* testsuite/27_io/filesystem/operations/weakly_canonical.cc
   4169 	(test01): Likewise.
   4170 	* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
   4171 	(test06): Likewise.
   4172 	* testsuite/experimental/filesystem/operations/copy.cc
   4173 	(test01): Likewise.
   4174 	* testsuite/experimental/filesystem/operations/create_directories.cc
   4175 	(test04): Likewise.
   4176 	* testsuite/experimental/filesystem/operations/create_directory.cc
   4177 	(test01): Likewise.
   4178 	* testsuite/experimental/filesystem/operations/permissions.cc
   4179 	(test03, test04): Likewise.
   4180 	* testsuite/experimental/filesystem/operations/remove.cc
   4181 	(test01): Likewise.
   4182 	* testsuite/experimental/filesystem/operations/remove_all.cc
   4183 	(test01): Likewise.
   4184 	* testsuite/experimental/filesystem/operations/rename.cc
   4185 	(test01): Likewise.
   4186 	* testsuite/lib/libstdc++.exp
   4187 	(v3_check_preprocessor_condition): Add optional inc parameter.
   4188 	Add it to the test program after include bits/c++config.h.
   4189 	(check_v3_target_fs_symlinks): New.
   4190 	* testsuite/lib/dg-options.exp
   4191 	(dg-require-target-fs-symlinks): New.
   4192 	* testsuite/27_io/filesystem/operations/read_symlink.cc:
   4193 	Replace mingw xfail with require target-fs-symlinks.
   4194 	* testsuite/experimental/filesystem/operations/read_symlink.cc:
   4195 	Likewise.
   4196 
   4197 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4198 
   4199 	* testsuite/27_io/filesystem/operations/copy.cc (test02):
   4200 	Select TO after creating FROM.
   4201 	(test03, test04): Likewise.
   4202 	* testsuite/experimental/filesystem/operations/copy.cc
   4203 	(test02, test03, test04): Likewise.
   4204 
   4205 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4206 
   4207 	* testsuite/30_threads/thread/native_handle/cancel.cc: Add an
   4208 	explicit cancellation point in case sleep_for lacks one.
   4209 
   4210 2022-06-24  Alexandre Oliva  <oliva (a] adacore.com>
   4211 
   4212 	* testsuite/lib/dg-options.exp (add_options_for_net_ts): Add
   4213 	-lbsd for RTEMS targets.
   4214 
   4215 2022-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4216 
   4217 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
   4218 	rmdir to remove directories.
   4219 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   4220 	Likewise.
   4221 
   4222 2022-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4223 
   4224 	* testsuite/26_numerics/random/random_device/entropy.cc: Use
   4225 	numeric_limits<unsigned>::digits.
   4226 
   4227 2022-06-22  Alexandre Oliva  <oliva (a] adacore.com>
   4228 
   4229 	* libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS]
   4230 	(__eh_globals_init::~__eh_globals_init): Clear _S_init first.
   4231 
   4232 2022-06-22  Alexandre Oliva  <oliva (a] adacore.com>
   4233 
   4234 	* testsuite/30_threads/this_thread/60421.cc (test02): Call
   4235 	sched_yield.
   4236 
   4237 2022-06-22  Alexandre Oliva  <oliva (a] adacore.com>
   4238 
   4239 	* testsuite/20_util/to_chars/long_double.cc: Require cmath.
   4240 
   4241 2022-06-22  Alexandre Oliva  <oliva (a] adacore.com>
   4242 
   4243 	* testsuite/23_containers/bitset/cons/dr1325-2.cc: Work around
   4244 	global struct bitset.
   4245 	* testsuite/23_containers/bitset/ext/15361.cc: Likewise.
   4246 	* testsuite/23_containers/bitset/input/1.cc: Likewise.
   4247 	* testsuite/23_containers/bitset/to_string/1.cc: Likewise.
   4248 	* testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
   4249 
   4250 2022-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4251 
   4252 	* testsuite/21_strings/basic_string/cons/char/105995.cc: Add
   4253 	missing #include.
   4254 
   4255 2022-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4256 
   4257 	PR libstdc++/105995
   4258 	* include/bits/basic_string.h (_M_use_local_data): Initialize
   4259 	the entire SSO buffer.
   4260 	* testsuite/21_strings/basic_string/cons/char/105995.cc: New test.
   4261 
   4262 2022-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4263 
   4264 	PR libstdc++/101482
   4265 	* include/ext/vstring.h (operator==): Always check lengths
   4266 	before comparing.
   4267 
   4268 2022-06-15  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4269 
   4270 	PR libstdc++/105717
   4271 	* include/bits/hashtable_policy.h (_ConvertToValueType): New.
   4272 	* include/bits/hashtable.h (_Hashtable<>::_M_insert_unique_aux): New.
   4273 	(_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Use latters.
   4274 	(_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, false_type)): Likewise.
   4275 	(_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&,
   4276 	const allocator_type&, true_type)): Use this.insert range.
   4277 	(_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&,
   4278 	const allocator_type&, false_type)): Use _M_insert.
   4279 	* testsuite/23_containers/unordered_map/cons/56112.cc: Check how many times conversion
   4280 	is done.
   4281 	* testsuite/23_containers/unordered_map/insert/105717.cc: New test.
   4282 	* testsuite/23_containers/unordered_set/insert/105717.cc: New test.
   4283 
   4284 2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4285 
   4286 	PR libstdc++/62187
   4287 	* include/bits/basic_string.h (operator==): Always compare
   4288 	lengths before checking string contents.
   4289 	[!__cpp_lib_three_way_comparison] (operator==, operator!=):
   4290 	Reorder arguments.
   4291 
   4292 2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4293 
   4294 	PR libstdc++/59048
   4295 	* include/bits/basic_string.h (compare): Define inline.
   4296 	* include/bits/basic_string.tcc (compare): Remove out-of-line
   4297 	definitions.
   4298 	* include/bits/cow_string.h (compare): Define inline.
   4299 	* testsuite/21_strings/basic_string/operations/compare/char/3.cc:
   4300 	New test.
   4301 
   4302 2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4303 
   4304 	* include/bits/new_allocator.h: Fix indentation.
   4305 	* include/ext/malloc_allocator.h: Likewise.
   4306 
   4307 2022-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4308 
   4309 	PR libstdc++/105957
   4310 	* include/bits/allocator.h (allocator::allocate): Check for
   4311 	overflow in constexpr allocation.
   4312 	* testsuite/20_util/allocator/105975.cc: New test.
   4313 
   4314 2022-06-13  Mark Mentovai  <mark (a] mentovai.com>
   4315 
   4316 	* include/experimental/bits/fs_path.h (__detail::__null_terminated):
   4317 	Rename to __nul_terminated to avoid colliding with a macro in
   4318 	Apple's SDK.
   4319 
   4320 2022-06-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4321 
   4322 	* include/std/atomic (__atomic_val_t): Use __type_identity_t
   4323 	instead of atomic<T>::value_type, as per LWG 3220.
   4324 	* testsuite/29_atomics/atomic/lwg3220.cc: New test.
   4325 
   4326 2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4327 
   4328 	PR libstdc++/105844
   4329 	* include/experimental/numeric (experimental::gcd): Simplify
   4330 	assertions. Use __abs_r instead of __absu.
   4331 	(experimental::lcm): Likewise. Remove use of __detail::__lcm so
   4332 	overflow can be detected.
   4333 	* include/std/numeric (__detail::__absu): Rename to __abs_r and
   4334 	change to allow signed result type, so overflow can be detected.
   4335 	(__detail::__lcm): Remove.
   4336 	(gcd): Simplify assertions. Use __abs_r instead of __absu.
   4337 	(lcm): Likewise. Remove use of __detail::__lcm so overflow can
   4338 	be detected.
   4339 	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines.
   4340 	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
   4341 	* testsuite/26_numerics/gcd/105844.cc: New test.
   4342 	* testsuite/26_numerics/lcm/105844.cc: New test.
   4343 
   4344 2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4345 
   4346 	PR libstdc++/105880
   4347 	* libsupc++/eh_globals.cc (eh_globals): Ensure constant init and
   4348 	prevent destruction during termination.
   4349 	(__eh_globals_init::_M_init): Replace with static member _S_init.
   4350 	(__cxxabiv1::__cxa_get_globals_fast): Update.
   4351 	(__cxxabiv1::__cxa_get_globals): Likewise.
   4352 
   4353 2022-06-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4354 
   4355 	* include/bits/basic_string.h (__hash_str_base): New class
   4356 	template.
   4357 	(hash<basic_string<C, char_traits<C>, A>>): Define partial
   4358 	specialization for each of the standard character types.
   4359 	(hash<string>, hash<wstring>, hash<u8string>, hash<u16string>)
   4360 	(hash<u32string>): Remove explicit specializations.
   4361 	* include/std/string (__hash_string_base): Remove class
   4362 	template.
   4363 	(hash<pmr::string>, hash<pmr::wstring>, hash<pmr::u8string>)
   4364 	(hash<pmr::u16string>, hash<pmr::u32string>): Remove explicit
   4365 	specializations.
   4366 	* testsuite/21_strings/basic_string/hash/hash.cc: Test with
   4367 	custom allocators.
   4368 	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
   4369 	Likewise.
   4370 
   4371 2022-05-27  Jonathan Wakely  <jwakely (a] redhat.com>
   4372 
   4373 	PR libstdc++/105671
   4374 	* include/std/sstream (basic_stringbuf::_M_high_mark): Add
   4375 	always_inline attribute.
   4376 
   4377 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4378 
   4379 	PR libstdc++/105681
   4380 	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
   4381 	Limit ga_sizes array to values that fit in size_t.
   4382 	* include/ext/random [__SIZE_WIDTH < 32] (sfmt86243)
   4383 	(sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091)
   4384 	(sfmt216091_64): Do not declare.
   4385 
   4386 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4387 
   4388 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make
   4389 	lookup for ios_errc and future_errc check versioned namespace.
   4390 	(StdAtomicPrinter): Strip versioned namespace from typename.
   4391 
   4392 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4393 
   4394 	* src/c++11/Makefile.am: Add new source file.
   4395 	* src/c++11/Makefile.in: Regenerate.
   4396 	* src/c++11/cxx11-ios_failure.cc (iostream_category):
   4397 	Move to ...
   4398 	* src/c++11/ios_errcat.cc: New file.
   4399 	* testsuite/27_io/ios_base/failure/error_code.cc: Check that
   4400 	std::iostream_category() is defined and used for std::io_errc.
   4401 
   4402 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4403 
   4404 	* include/bits/stl_iterator.h (counted_iterator::operator++(int)):
   4405 	Add 'constexpr' as per LWG 3643.
   4406 	* testsuite/24_iterators/counted_iterator/lwg3643.cc: New test.
   4407 
   4408 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4409 
   4410 	* include/bits/functional_hash.h (__is_fast_hash): Add doxygen
   4411 	comment.
   4412 	* include/bits/hashtable.h: Do not include <bits/stl_function.h>
   4413 	here.
   4414 	* include/bits/hashtable_policy.h: Include <bits/stl_pair.h> and
   4415 	<bits/functional_hash.h>.
   4416 	* include/bits/unordered_map.h: Include required headers.
   4417 	* include/bits/unordered_set.h: Likewise.
   4418 	* include/std/unordered_map: Do not include headers for indirect
   4419 	dependencies.
   4420 	* include/std/unordered_set: Likewise.
   4421 
   4422 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4423 
   4424 	* include/bits/ranges_algobase.h: Do not include
   4425 	<bits/stl_iterator_base_types.h>.
   4426 	* include/std/string: Likewise.
   4427 	* include/std/variant: Likewise.
   4428 
   4429 2022-05-26  Nathan Sidwell  <nathan (a] acm.org>
   4430 
   4431 	* include/bits/hashtable.h: Include required headers.
   4432 	* include/bits/hashtable_policy.h: Likewise.
   4433 	* include/bits/stl_heap.h: Likewise.
   4434 	* include/bits/stl_iterator_base_funcs.h: Likewise.
   4435 
   4436 2022-05-26  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4437 
   4438 	* python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__):
   4439 	Strip typename from version namespace.
   4440 
   4441 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4442 
   4443 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip
   4444 	versioned namespace from the template argument too.
   4445 
   4446 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4447 
   4448 	* testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
   4449 	Moved to...
   4450 	* testsuite/21_strings/basic_string/modifiers/pop_back/char.cc:
   4451 	...here.
   4452 	* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
   4453 	Moved to...
   4454 	* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t.cc:
   4455 	...here.
   4456 	* testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc:
   4457 	Moved to...
   4458 	* testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
   4459 	...here.
   4460 	* testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc:
   4461 	Moved to...
   4462 	* testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
   4463 	...here.
   4464 	* testsuite/21_strings/basic_string/operations/contains/char/1.cc:
   4465 	Moved to...
   4466 	* testsuite/21_strings/basic_string/operations/contains/char.cc:
   4467 	...here.
   4468 	* testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc:
   4469 	Moved to...
   4470 	* testsuite/21_strings/basic_string/operations/contains/wchar_t.cc:
   4471 	...here.
   4472 	* testsuite/21_strings/basic_string/operations/data/char/1.cc:
   4473 	Moved to...
   4474 	* testsuite/21_strings/basic_string/operations/data/char.cc:
   4475 	...here.
   4476 	* testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
   4477 	Moved to...
   4478 	* testsuite/21_strings/basic_string/operations/data/wchar_t.cc:
   4479 	...here.
   4480 	* testsuite/21_strings/basic_string/operations/ends_with/char/1.cc:
   4481 	Moved to...
   4482 	* testsuite/21_strings/basic_string/operations/ends_with/char.cc:
   4483 	...here.
   4484 	* testsuite/21_strings/basic_string/operations/ends_with/wchar_t/1.cc:
   4485 	Moved to...
   4486 	* testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
   4487 	...here.
   4488 	* testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
   4489 	Moved to...
   4490 	* testsuite/21_strings/basic_string/operations/starts_with/char.cc:
   4491 	...here.
   4492 	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
   4493 	Moved to...
   4494 	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
   4495 	...here.
   4496 	* testsuite/21_strings/basic_string/operations/substr/char/1.cc:
   4497 	Moved to...
   4498 	* testsuite/21_strings/basic_string/operations/substr/char.cc:
   4499 	...here.
   4500 	* testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc:
   4501 	Moved to...
   4502 	* testsuite/21_strings/basic_string/operations/substr/wchar_t.cc:
   4503 	...here.
   4504 	* testsuite/21_strings/basic_string/range_access/char/1.cc:
   4505 	Moved to...
   4506 	* testsuite/21_strings/basic_string/range_access/char.cc:
   4507 	...here.
   4508 	* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
   4509 	Moved to...
   4510 	* testsuite/21_strings/basic_string/range_access/wchar_t.cc:
   4511 	...here.
   4512 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
   4513 	Moved to...
   4514 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char.cc:
   4515 	...here.
   4516 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
   4517 	Moved to...
   4518 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t.cc:
   4519 	...here.
   4520 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
   4521 	Moved to...
   4522 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char.cc:
   4523 	...here.
   4524 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
   4525 	Moved to...
   4526 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t.cc:
   4527 	...here.
   4528 	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
   4529 	Moved to...
   4530 	* testsuite/21_strings/basic_string_view/modifiers/swap/char.cc:
   4531 	...here.
   4532 	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
   4533 	Moved to...
   4534 	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t.cc:
   4535 	...here.
   4536 	* testsuite/21_strings/basic_string_view/operations/contains/char/1.cc:
   4537 	Moved to...
   4538 	* testsuite/21_strings/basic_string_view/operations/contains/char.cc:
   4539 	...here.
   4540 	* testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc:
   4541 	Moved to...
   4542 	* testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc:
   4543 	...here.
   4544 	* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
   4545 	Moved to...
   4546 	* testsuite/21_strings/basic_string_view/operations/data/char.cc:
   4547 	...here.
   4548 	* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
   4549 	Moved to...
   4550 	* testsuite/21_strings/basic_string_view/operations/data/wchar_t.cc:
   4551 	...here.
   4552 	* testsuite/21_strings/basic_string_view/operations/ends_with/char/1.cc:
   4553 	Moved to...
   4554 	* testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
   4555 	...here.
   4556 	* testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t/1.cc:
   4557 	Moved to...
   4558 	* testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
   4559 	...here.
   4560 	* testsuite/21_strings/basic_string_view/operations/starts_with/char/1.cc:
   4561 	Moved to...
   4562 	* testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
   4563 	...here.
   4564 	* testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t/1.cc:
   4565 	Moved to...
   4566 	* testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
   4567 	...here.
   4568 	* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
   4569 	Moved to...
   4570 	* testsuite/21_strings/basic_string_view/operations/substr/char.cc:
   4571 	...here.
   4572 	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
   4573 	Moved to...
   4574 	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
   4575 	...here.
   4576 	* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
   4577 	Moved to...
   4578 	* testsuite/21_strings/basic_string_view/range_access/char.cc:
   4579 	...here.
   4580 	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
   4581 	Moved to...
   4582 	* testsuite/21_strings/basic_string_view/range_access/wchar_t.cc:
   4583 	...here.
   4584 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
   4585 	Moved to...
   4586 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char.cc:
   4587 	...here.
   4588 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
   4589 	Moved to...
   4590 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t.cc:
   4591 	...here.
   4592 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
   4593 	Moved to...
   4594 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t.cc:
   4595 	...here.
   4596 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
   4597 	Moved to...
   4598 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t.cc:
   4599 	...here.
   4600 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc:
   4601 	Moved to...
   4602 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
   4603 	...here.
   4604 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
   4605 	Moved to...
   4606 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t.cc:
   4607 	...here.
   4608 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
   4609 	Moved to...
   4610 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char.cc:
   4611 	...here.
   4612 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
   4613 	Moved to...
   4614 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t.cc:
   4615 	...here.
   4616 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
   4617 	Moved to...
   4618 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t.cc:
   4619 	...here.
   4620 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
   4621 	Moved to...
   4622 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t.cc:
   4623 	...here.
   4624 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
   4625 	Moved to...
   4626 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/int.cc:
   4627 	...here.
   4628 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
   4629 	Moved to...
   4630 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t.cc:
   4631 	...here.
   4632 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc:
   4633 	Moved to...
   4634 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char.cc:
   4635 	...here.
   4636 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc:
   4637 	Moved to...
   4638 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t.cc:
   4639 	...here.
   4640 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc:
   4641 	Moved to...
   4642 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t.cc:
   4643 	...here.
   4644 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t/1.cc:
   4645 	Moved to...
   4646 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t.cc:
   4647 	...here.
   4648 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc:
   4649 	Moved to...
   4650 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/short.cc:
   4651 	...here.
   4652 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc:
   4653 	Moved to...
   4654 	* testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t.cc:
   4655 	...here.
   4656 
   4657 2022-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4658 
   4659 	* testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc:
   4660 	Moved to...
   4661 	* testsuite/20_util/duration/requirements/explicit_instantiation.cc: ...here.
   4662 	* testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc:
   4663 	Moved to...
   4664 	* testsuite/20_util/time_point/requirements/explicit_instantiation.cc: ...here.
   4665 	* testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc:
   4666 	Moved to...
   4667 	* testsuite/20_util/unique_ptr/requirements/explicit_instantiation.cc: ...here.
   4668 
   4669 2022-05-25  Jason Merrill  <jason (a] redhat.com>
   4670 
   4671 	* testsuite/20_util/function_objects/constexpr_searcher.cc: Add
   4672 	constexpr.
   4673 
   4674 2022-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   4675 
   4676 	* testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc:
   4677 	Run fewer iterations for simulator targets.
   4678 	* testsuite/26_numerics/random/binomial_distribution/operators/values.cc:
   4679 	Likewise.
   4680 	* testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
   4681 	Likewise.
   4682 	* testsuite/26_numerics/random/geometric_distribution/operators/values.cc:
   4683 	Likewise.
   4684 	* testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc:
   4685 	Likewise.
   4686 	* testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
   4687 	Likewise.
   4688 	* testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc:
   4689 	Likewise.
   4690 
   4691 2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   4692 
   4693 	* include/bits/char_traits.h: Only include <cstdint> when
   4694 	necessary.
   4695 	* include/std/stacktrace: Use __UINTPTR_TYPE__ instead of
   4696 	uintptr_t.
   4697 	* src/c++11/cow-stdexcept.cc: Include <stdint.h>.
   4698 	* src/c++17/floating_to_chars.cc: Likewise.
   4699 	* testsuite/20_util/assume_aligned/1.cc: Include <cstdint>.
   4700 	* testsuite/20_util/assume_aligned/3.cc: Likewise.
   4701 	* testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
   4702 
   4703 2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   4704 
   4705 	* include/bits/basic_string.h: Do not include <ext/atomicity.h>
   4706 	here.
   4707 	* include/bits/cow_string.h: Include it here.
   4708 
   4709 2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   4710 
   4711 	* include/Makefile.am: Add new header.
   4712 	* include/Makefile.in: Regenerate.
   4713 	* include/bits/memory_resource.h: New file.
   4714 	* include/std/deque: Include <bits/memory_resource.h>.
   4715 	* include/std/forward_list: Likewise.
   4716 	* include/std/list: Likewise.
   4717 	* include/std/map: Likewise.
   4718 	* include/std/memory_resource (pmr::memory_resource): Move to
   4719 	new <bits/memory_resource.h> header.
   4720 	(pmr::polymorphic_allocator): Likewise.
   4721 	* include/std/regex: Likewise.
   4722 	* include/std/set: Likewise.
   4723 	* include/std/stacktrace: Likewise.
   4724 	* include/std/string: Likewise.
   4725 	* include/std/unordered_map: Likewise.
   4726 	* include/std/unordered_set: Likewise.
   4727 	* include/std/vector: Likewise.
   4728 	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
   4729 	Remove <memory_resource> header and check construction.
   4730 	* testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
   4731 	* testsuite/23_containers/forward_list/pmr_typedefs.cc:
   4732 	Likewise.
   4733 	* testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
   4734 	* testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
   4735 	* testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
   4736 	* testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
   4737 	* testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
   4738 	* testsuite/23_containers/unordered_map/pmr_typedefs.cc:
   4739 	Likewise.
   4740 	* testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
   4741 	Likewise.
   4742 	* testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
   4743 	Likewise.
   4744 	* testsuite/23_containers/unordered_set/pmr_typedefs.cc:
   4745 	Likewise.
   4746 	* testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
   4747 	* testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
   4748 
   4749 2022-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   4750 
   4751 	* include/std/memory_resource (polymorphic_allocator): Add
   4752 	non-template equality operator, as proposed for LWG 3683.
   4753 	* testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test.
   4754 
   4755 2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4756 
   4757 	* src/c++17/memory_resource.cc (set_default_resource): Use
   4758 	memory_order_acq_rel.
   4759 	(get_default_resource): Use memory_order_acquire.
   4760 
   4761 2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4762 
   4763 	* include/std/memory_resource (new_delete_resource): Add
   4764 	nodiscard, returns_nonnull and const attributes.
   4765 	(null_memory_resource): Likewise.
   4766 	(set_default_resource, get_default_resource): Add returns_nonnull
   4767 	attribute.
   4768 	(memory_resource::is_equal): Add nodiscard attribute.
   4769 	(operator==, operator!=): Likewise.
   4770 
   4771 2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4772 
   4773 	* include/bits/ios_base.h (io_category): Add const and nodiscard
   4774 	attributes.
   4775 	(make_error_code, make_error_condition): Add nodiscard.
   4776 	* include/std/future (future_category): Add const and nodiscard.
   4777 	(make_error_code, make_error_condition): Add nodiscard.
   4778 	* include/std/system_error (generic_category system_category):
   4779 	Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute.
   4780 	(error_code::value, error_code::category, error_code::operator bool)
   4781 	(error_condition::value, error_condition::category)
   4782 	(error_condition::operator bool, make_error_code)
   4783 	(make_error_condition, operator==, operator!=, operator<=>): Add
   4784 	nodiscard.
   4785 
   4786 2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4787 
   4788 	* testsuite/20_util/expected/synopsis.cc: Skip for versioned
   4789 	namespace.
   4790 	* testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise.
   4791 
   4792 2022-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4793 
   4794 	* src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE] (cxx11_sources):
   4795 	Do not build the compatibility*-c++0x.cc objects.
   4796 	* src/Makefile.in: Regenerate.
   4797 	* src/c++11/compatibility-c++0x.cc [_GLIBCXX_INLINE_VERSION]:
   4798 	Refuse to build for the versioned namespace.
   4799 	* src/c++11/compatibility-chrono.cc: Likewise.
   4800 	* src/c++11/compatibility-condvar.cc: Likewise.
   4801 	* src/c++11/compatibility-thread-c++0x.cc: Likewise.
   4802 	* src/c++11/chrono.cc (system_clock, steady_clock):
   4803 	Use macros to define in inline namespace _V2, matching the
   4804 	declarations in <system_error>.
   4805 	* src/c++11/system_error.cc (system_category, generic_category):
   4806 	Likewise.
   4807 
   4808 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4809 
   4810 	* doc/xml/manual/prerequisites.xml: Fix attributes for external
   4811 	hyperlink.
   4812 	* doc/html/manual/setup.html: Regenerate.
   4813 
   4814 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4815 
   4816 	* doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support.
   4817 	* doc/html/*: Regenerate.
   4818 
   4819 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4820 
   4821 	* doc/xml/manual/intro.xml: Include new chapter.
   4822 	* doc/xml/manual/status_cxx2020.xml: Tweak release numbers.
   4823 	* doc/xml/manual/status_cxx2023.xml: New file.
   4824 	* doc/html/*: Regenerate.
   4825 
   4826 2022-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4827 
   4828 	* doc/html/manual/status.html: Regenerate.
   4829 	* doc/xml/manual/status_cxx2020.xml: Fix supported version for
   4830 	C++20 bit operations.
   4831 
   4832 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4833 
   4834 	* include/bits/std_thread.h (thread::_State, thread::_State_ptr):
   4835 	Declare as private unless _GLIBCXX_THREAD_IMPL is defined.
   4836 	* src/c++11/thread.cc (_GLIBCXX_THREAD_IMPL): Define.
   4837 
   4838 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4839 
   4840 	* include/std/future (launch): Make operators noexcept.
   4841 
   4842 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4843 
   4844 	* doc/doxygen/user.cfg.in (PREDEFINED): Replace __exception_ptr
   4845 	with "__unspecified__".
   4846 	* libsupc++/exception_ptr.h: Improve doxygen docs.
   4847 	(__exception_ptr::swap): Also declare in namespace std.
   4848 
   4849 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4850 
   4851 	* libsupc++/nested_exception.h (throw_with_nested) [C++17]: Use
   4852 	if-constexpr instead of tag dispatching.
   4853 	(rethrow_if_nested) [C++17]: Likewise.
   4854 	(rethrow_if_nested) [!__cpp_rtti]: Do not use dynamic_cast if it
   4855 	would require RTTI.
   4856 	* testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
   4857 	New test.
   4858 
   4859 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4860 
   4861 	* doc/doxygen/user.cfg.in (PREDEFINED): Define
   4862 	_GTHREAD_USE_MUTEX_TIMEDLOCK macro.
   4863 	* include/bits/std_mutex.h (mutex, lock_guard): Use @since and
   4864 	@headerfile.
   4865 	* include/bits/unique_lock.h (unique_lock): Likewise.
   4866 	* include/std/mutex (recursive_mutex, timed_mutex)
   4867 	(recursive_timed_mutex, scoped_lock): Likewise.
   4868 
   4869 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4870 
   4871 	* doc/doxygen/user.cfg.in (PREDEFINED): Define
   4872 	_GLIBCXX23_CONSTEXPR macro.
   4873 	* include/backward/auto_ptr.h (auto_ptr): Use @deprecated.
   4874 	* include/bits/unique_ptr.h (default_delete): Use @since and
   4875 	@headerfile.
   4876 	* include/std/scoped_allocator: Remove @ingroup from @file
   4877 	block.
   4878 
   4879 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4880 
   4881 	* include/bits/std_thread.h (thread, thread::id): Improve
   4882 	doxygen docs.
   4883 	* include/std/future: Likewise.
   4884 	* include/std/thread (jthread): Likewise.
   4885 
   4886 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4887 
   4888 	* include/bits/ostream_insert.h: Mark helper functions as
   4889 	undocumented by Doxygen.
   4890 	* include/bits/stl_algo.h: Use markdown for formatting and mark
   4891 	helper functions as undocumented.
   4892 	* include/bits/stl_numeric.h:  Likewise.
   4893 	* include/bits/stl_pair.h (pair): Add @headerfile.
   4894 
   4895 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4896 
   4897 	* doc/doxygen/user.cfg.in (PREDEFINED): Define __allocator_base
   4898 	so that Doxygen shows the right base-class for std::allocator.
   4899 	* include/bits/alloc_traits.h: Improve doxygen docs.
   4900 	* include/bits/allocator.h: Likewise.
   4901 	* include/bits/new_allocator.h: Likewise.
   4902 	* include/ext/new_allocator.h: Likewise.
   4903 
   4904 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4905 
   4906 	* doc/doxygen/user.cfg.in (PREDEFINED): Define macro
   4907 	_GLIBCXX_DOXYGEN_ONLY to expand its argument.
   4908 	* include/bits/c++config (_GLIBCXX_DOXYGEN_ONLY): Define.
   4909 	* include/bits/regex.h: Improve doxygen docs.
   4910 	* include/bits/regex_constants.h: Likewise.
   4911 	* include/bits/regex_error.h: Likewise.
   4912 
   4913 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4914 
   4915 	* include/std/atomic: Suppress doxygen docs for
   4916 	implementation details.
   4917 	* include/bits/atomic_base.h: Likewise.
   4918 	* include/bits/shared_ptr_atomic.h: Use markdown. Fix grouping
   4919 	so that std::atomic is not added to the pointer abstractions
   4920 	group.
   4921 
   4922 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4923 
   4924 	* include/std/system_error: Improve doxygen comments.
   4925 
   4926 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4927 
   4928 	* include/bits/ptr_traits.h: Add some doxygen comments.
   4929 
   4930 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4931 
   4932 	* doc/doxygen/user.cfg.in (PREDEFINED): Expand new macros to
   4933 	nothing.
   4934 	* include/bits/c++config (_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE)
   4935 	(_GLIBCXX_END_INLINE_ABI_NAMESPACE): Define new macros.
   4936 	* include/bits/algorithmfwd.h (_V2::__rotate): Use new macros
   4937 	for the namespace.
   4938 	* include/bits/chrono.h (chrono::_V2::system_clock): Likewise.
   4939 	* include/bits/stl_algo.h (_V2::__rotate): Likewise.
   4940 	* include/std/condition_variable (_V2::condition_variable_any):
   4941 	Likewise.
   4942 	* include/std/system_error (_V2::error_category): Likewise.
   4943 
   4944 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4945 
   4946 	* include/bits/mofunc_impl.h: Fix doxygen command.
   4947 
   4948 2022-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4949 
   4950 	* doc/doxygen/user.cfg.in (GROUP_NESTED_COMPOUNDS): Set to NO.
   4951 	(CLASS_DIAGRAMS): Remove obsolete option.
   4952 
   4953 2022-05-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4954 
   4955 	* config/locale/dragonfly/numeric_members.cc: Remove whitespace.
   4956 	* config/locale/gnu/numeric_members.cc: Likewise.
   4957 	* include/bits/locale_facets_nonio.h: Likewise.
   4958 	* libsupc++/typeinfo: Likewise.
   4959 
   4960 2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4961 
   4962 	PR libstdc++/105284
   4963 	* include/std/iosfwd: Add declarations for <spanstream> class
   4964 	templates and typedefs.
   4965 	* include/std/spanstream (basic_spanbuf, basic_ispanstream)
   4966 	(basic_ospanstream, basic_spanstream): Remove default template
   4967 	arguments.
   4968 	* testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream>
   4969 	declarations.
   4970 	* testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream>
   4971 	default arguments.
   4972 
   4973 2022-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4974 
   4975 	PR libstdc++/105284
   4976 	* include/std/iosfwd: Add declarations for <synstream> class
   4977 	templates and typedefs.
   4978 	* include/std/syncstream (basic_syncbuf, basic_osyncstream):
   4979 	Remove default template arguments.
   4980 	* testsuite/27_io/headers/iosfwd/synopsis.cc: New test.
   4981 	* testsuite/27_io/headers/iosfwd/types.cc: New test.
   4982 
   4983 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   4984 
   4985 	* include/bits/random.tcc (operator==): Only check
   4986 	normal_distribution::_M_saved_available once.
   4987 	* testsuite/26_numerics/random/normal_distribution/operators/equal.cc:
   4988 	Check equality after state changes.
   4989 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   4990 	lineno.
   4991 
   4992 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   4993 
   4994 	PR libstdc++/105502
   4995 	* include/bits/random.tcc
   4996 	(operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
   4997 	Update state when __state_avail is false.
   4998 	* testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
   4999 	Check that deserialized object equals serialized one.
   5000 
   5001 2022-05-06  Alexandre Oliva  <oliva (a] adacore.com>
   5002 
   5003 	* include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX
   5004 	for double, long long, and 64-bit long intrinsic types.
   5005 	[__ALTIVEC__] (__intrinsic_type): Mention 128-bit in
   5006 	preexisting long double diagnostic, adjust no-VSX double
   5007 	diagnostic to cover 64-bit long double as well.
   5008 
   5009 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5010 
   5011 	PR libstdc++/104731
   5012 	* testsuite/27_io/filesystem/iterators/error_reporting.cc:
   5013 	Use a trailing char array as storage for dirent::d_name.
   5014 
   5015 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5016 
   5017 	* include/std/stacktrace: Do not include <cxxabi.h>.
   5018 	(__cxa_demangle): Declare.
   5019 
   5020 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5021 
   5022 	PR libstdc++/99871
   5023 	* include/bits/specfun.h: Use visibility attribute on namespace,
   5024 	instead of pragma push/pop.
   5025 	* libsupc++/compare: Likewise.
   5026 	* libsupc++/exception: Likewise.
   5027 	* libsupc++/exception.h: Likewise.
   5028 	* libsupc++/exception_ptr.h: Likewise.
   5029 	* libsupc++/initializer_list: Likewise.
   5030 	* libsupc++/nested_exception.h: Likewise.
   5031 
   5032 2022-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5033 
   5034 	* doc/xml/manual/test.xml: Remove requirement for copyright and
   5035 	GPL notice in tests.
   5036 	* doc/html/manual/test.html: Regenerate.
   5037 
   5038 2022-05-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5039 
   5040 	* include/experimental/memory_resource [!__cpp_rtti]
   5041 	(__resource_adaptor_imp::do_is_equal): Do not use dynamic_cast
   5042 	when RTTI is disabled.
   5043 	* testsuite/17_intro/freestanding.cc: Require RTTI.
   5044 	* testsuite/18_support/exception/38732.cc: Likewise.
   5045 	* testsuite/18_support/exception_ptr/rethrow_exception.cc:
   5046 	Likewise.
   5047 	* testsuite/18_support/nested_exception/68139.cc: Likewise.
   5048 	* testsuite/18_support/nested_exception/rethrow_if_nested.cc:
   5049 	Likewise.
   5050 	* testsuite/18_support/type_info/103240.cc: Likewise.
   5051 	* testsuite/18_support/type_info/fundamental.cc: Likewise.
   5052 	* testsuite/18_support/type_info/hash_code.cc: Likewise.
   5053 	* testsuite/20_util/any/assign/emplace.cc: Likewise.
   5054 	* testsuite/20_util/any/cons/in_place.cc: Likewise.
   5055 	* testsuite/20_util/any/misc/any_cast.cc: Likewise.
   5056 	* testsuite/20_util/any/observers/type.cc: Likewise.
   5057 	* testsuite/20_util/function/1.cc: Likewise.
   5058 	* testsuite/20_util/function/2.cc: Likewise.
   5059 	* testsuite/20_util/function/3.cc: Likewise.
   5060 	* testsuite/20_util/function/4.cc: Likewise.
   5061 	* testsuite/20_util/function/5.cc: Likewise.
   5062 	* testsuite/20_util/function/6.cc: Likewise.
   5063 	* testsuite/20_util/function/7.cc: Likewise.
   5064 	* testsuite/20_util/function/8.cc: Likewise.
   5065 	* testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
   5066 	* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
   5067 	* testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
   5068 	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
   5069 	Likewise.
   5070 	* testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise.
   5071 	* testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
   5072 	* testsuite/20_util/typeindex/comparison_operators_c++20.cc:
   5073 	Likewise.
   5074 	* testsuite/20_util/typeindex/hash.cc: Likewise.
   5075 	* testsuite/20_util/typeindex/hash_code.cc: Likewise.
   5076 	* testsuite/20_util/typeindex/name.cc: Likewise.
   5077 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise.
   5078 	* testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
   5079 	Likewise.
   5080 	* testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
   5081 	Likewise.
   5082 	* testsuite/22_locale/locale/13630.cc: Check type without using
   5083 	RTTI.
   5084 	* testsuite/23_containers/array/requirements/non_default_constructible.cc:
   5085 	Require RTTI.
   5086 	* testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
   5087 	* testsuite/27_io/fpos/14320-1.cc: Check type without using RTTI.
   5088 	* testsuite/27_io/fpos/mbstate_t/12065.cc: Require RTTI.
   5089 	* testsuite/27_io/ios_base/failure/dual_abi.cc: Likewise.
   5090 	* testsuite/experimental/any/misc/any_cast.cc: Likewise.
   5091 	* testsuite/experimental/any/observers/type.cc: Likewise.
   5092 	* testsuite/experimental/memory_resource/resource_adaptor.cc:
   5093 	Likewise.
   5094 	* testsuite/lib/libstdc++.exp (check_effective_target_rtti):
   5095 	Define new proc.
   5096 	* testsuite/tr1/3_function_objects/function/1.cc: Likewise.
   5097 	* testsuite/tr1/3_function_objects/function/2.cc: Likewise.
   5098 	* testsuite/tr1/3_function_objects/function/3.cc: Likewise.
   5099 	* testsuite/tr1/3_function_objects/function/4.cc: Likewise.
   5100 	* testsuite/tr1/3_function_objects/function/5.cc: Likewise.
   5101 	* testsuite/tr1/3_function_objects/function/6.cc: Likewise.
   5102 	* testsuite/tr1/3_function_objects/function/7.cc: Likewise.
   5103 	* testsuite/tr1/3_function_objects/function/8.cc: Likewise.
   5104 	* testsuite/tr2/bases/value.cc: Likewise.
   5105 	* testsuite/tr2/direct_bases/value.cc: Likewise.
   5106 	* testsuite/util/exception/safety.h [!__cpp_rtti]: Don't print
   5107 	types without RTTI.
   5108 
   5109 2022-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5110 
   5111 	PR libstdc++/104719
   5112 	* include/std/array (array::size(), array::max_size())
   5113 	(array::empty(), array::data()): Add  always_inline attribute.
   5114 
   5115 2022-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5116 
   5117 	PR libstdc++/104719
   5118 	* include/std/array (__array_traits::_S_ref): Remove.
   5119 	(__array_traits::_S_ptr): Remove.
   5120 	(__array_traits<T, 0>::_Type): Define operator[] and operator T*
   5121 	to provide an array-like API.
   5122 	(array::_AT_Type): Remove public typeef.
   5123 	(array::operator[], array::at, array::front, array::back): Use
   5124 	index operator to access _M_elems instead of _S_ref.
   5125 	(array::data): Use implicit conversion from _M_elems to pointer.
   5126 	(swap(array&, array&)): Use __enable_if_t helper.
   5127 	(get<I>): Use index operator to access _M_elems.
   5128 	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
   5129 	Adjust dg-error line numbers.
   5130 
   5131 2022-05-03  Alexandre Oliva  <oliva (a] adacore.com>
   5132 
   5133 	PR c++/105324
   5134 	* testsuite/20_util/from_chars/pr105324.cc: Guard test body
   5135 	with conditional for floating-point overloads of from_char.
   5136 
   5137 2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   5138 
   5139 	PR libstdc++/103911
   5140 	* src/c++17/floating_from_chars.cc (find_end_of_float): Accept
   5141 	two delimeters for the exponent part in the form of a possibly
   5142 	NULL string of length two.  Don't use std::tolower.
   5143 	(pattern): Adjust calls to find_end_of_float accordingly.
   5144 
   5145 2022-05-02  Patrick Palka  <ppalka (a] redhat.com>
   5146 
   5147 	PR libstdc++/105441
   5148 	* src/c++17/floating_from_chars.cc (__floating_from_chars_hex):
   5149 	Also accept 'P' as the start of the exponent.
   5150 	* testsuite/20_util/from_chars/7.cc: Add corresponding testcase.
   5151 
   5152 2022-04-29  Jonathan Wakely  <jwakely (a] redhat.com>
   5153 
   5154 	PR libstdc++/105417
   5155 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
   5156 	Regenerate.
   5157 	* src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]:
   5158 	Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I>
   5159 	symbols as aliases for corresponding symbols without abi-tag.
   5160 
   5161 2022-04-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   5162 
   5163 	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
   5164 	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
   5165 	Likewise.
   5166 	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
   5167 	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
   5168 	Likewise.
   5169 
   5170 2022-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   5171 
   5172 	PR libstdc++/99290
   5173 	* src/c++17/fs_ops.cc (fs::copy): Pass error_code to
   5174 	directory_iterator constructor, and check on each iteration.
   5175 	* src/filesystem/ops.cc (fs::copy): Likewise.
   5176 	* testsuite/27_io/filesystem/operations/copy.cc: Check for
   5177 	errors during recursion.
   5178 	* testsuite/experimental/filesystem/operations/copy.cc:
   5179 	Likewise.
   5180 
   5181 2022-04-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   5182 
   5183 	* config/abi/pre/gnu-versioned-namespace.ver: Remove
   5184 	std::random_device::* pattern.
   5185 
   5186 2022-04-27  Jakub Jelinek  <jakub (a] redhat.com>
   5187 
   5188 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   5189 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   5190 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   5191 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   5192 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   5193 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   5194 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   5195 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   5196 
   5197 2022-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   5198 
   5199 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add
   5200 	support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>.
   5201 	(StdAtomicPrinter): New printer.
   5202 	(build_libstdcxx_dictionary): Register new printer.
   5203 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic.
   5204 	* testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart
   5205 	pointers.
   5206 
   5207 2022-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   5208 
   5209 	* include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add
   5210 	constructor for constant initialization from nullptr_t.
   5211 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   5212 	Check for new constructor.
   5213 
   5214 2022-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   5215 
   5216 	* include/bits/fs_path.h (hash<filesystem::path>): Define.
   5217 	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
   5218 	Check std::hash specialization.
   5219 
   5220 2022-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   5221 
   5222 	* include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define
   5223 	conditionally.
   5224 	* include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
   5225 	Define for C++23.
   5226 	(default_delete, default_delete<T[]>, __uniq_ptr_impl)
   5227 	(unique_ptr, unique_ptr<T[], D>): Add constexpr to all member
   5228 	functions.
   5229 	* include/std/version (__cpp_lib_constexpr_memory): Define new
   5230 	value for C++23.
   5231 	* testsuite/20_util/unique_ptr/assign/constexpr.cc: New test.
   5232 	* testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test.
   5233 	* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test.
   5234 	* testsuite/20_util/unique_ptr/creation/constexpr.cc: New test.
   5235 	* testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test.
   5236 	* testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc:
   5237 	New test.
   5238 
   5239 2022-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   5240 
   5241 	PR libstdc++/105375
   5242 	* include/std/future (packaged_task): Add deduction guides.
   5243 	* testsuite/30_threads/packaged_task/cons/deduction.cc: New test.
   5244 
   5245 2022-04-25  Philipp Fent  <fent (a] in.tum.de>
   5246 
   5247 	* python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator):
   5248 	Rename as iterator.
   5249 	(StdInitializerListPrinter): Define new printer.
   5250 	(build_libstdcxx_dictionary): Register new printer.
   5251 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for
   5252 	initializer_list.
   5253 
   5254 2022-04-22  Thomas W Rodgers  <trodgers (a] redhat.com>
   5255 
   5256 	PR libstdc++/102994
   5257 	* include/bits/atomic_base.h (atomic_flag::notify_one,
   5258 	notify_all): Remove const qualification.
   5259 	(__atomic_base::notify_one, notify_all): Likewise.
   5260 	* include/std/atomic (atomic<bool>::notify_one, notify_all):
   5261 	Likewise.
   5262 	(atomic::notify_one, notify_all): Likewise.
   5263 	(atomic<T*>::notify_one, notify_all): Likewise.
   5264 	(atomic_notify_one, atomic_notify_all): Likewise.
   5265 	* testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test
   5266 	to account for change in notify_one/notify_all signature.
   5267 
   5268 2022-04-21  Patrick Palka  <ppalka (a] redhat.com>
   5269 
   5270 	* include/std/charconv (__from_chars_alnum_to_val_table):
   5271 	Simplify initialization of __lower/__upper_letters.
   5272 	(__from_chars_alnum_to_val): Default the template parameter to
   5273 	false.
   5274 	* src/c++17/floating_from_chars.cc (starts_with_ci): Don't
   5275 	assume the uppercase and lowercase letters are contiguous.
   5276 	(__floating_from_chars_hex): Likewise.
   5277 
   5278 2022-04-21  Patrick Palka  <ppalka (a] redhat.com>
   5279 
   5280 	PR c++/105297
   5281 	PR c++/105322
   5282 	* include/std/charconv (__from_chars_alnum_to_val): Make
   5283 	initializer for __table dependent in an artificial way.
   5284 
   5285 2022-04-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5286 
   5287 	PR libstdc++/105324
   5288 	* src/c++17/floating_from_chars.cc (buffer_resource::do_allocate):
   5289 	Remove assertion.
   5290 	* testsuite/20_util/from_chars/pr105324.cc: New test.
   5291 
   5292 2022-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   5293 
   5294 	* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
   5295 	Check correct feature test macro.
   5296 
   5297 2022-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   5298 
   5299 	PR libstdc++/93602
   5300 	* doc/xml/manual/prerequisites.xml: Document libiconv
   5301 	workarounds.
   5302 	* doc/html/manual/setup.html: Regenerate.
   5303 	* src/Makefile.am (CXXLINK): Add $(LTLIBICONV).
   5304 	* src/Makefile.in: Regenerate.
   5305 
   5306 2022-04-19  Patrick Palka  <ppalka (a] redhat.com>
   5307 
   5308 	* src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't
   5309 	define.
   5310 	(__floating_to_chars_shortest): Add __builtin_unreachable calls to
   5311 	squelch false-positive -Wmaybe-uninitialized and -Wreturn-type
   5312 	warnings.
   5313 	(__floating_to_chars_precision): Likewise.
   5314 
   5315 2022-04-19  Philipp Fent  <fent (a] in.tum.de>
   5316 
   5317 	* python/libstdcxx/v6/printers.py (StdSpanPrinter): Define.
   5318 	* testsuite/libstdc++-prettyprinters/cxx20.cc: Test it.
   5319 
   5320 2022-04-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5321 
   5322 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators.
   5323 	* configure: Regenerate.
   5324 
   5325 2022-04-18  Patrick Palka  <ppalka (a] redhat.com>
   5326 
   5327 	* include/std/charconv (__from_chars_pow2_base): Manually
   5328 	unroll the first iteration of the main loop and simplify
   5329 	accordingly.
   5330 
   5331 2022-04-15  Patrick Palka  <ppalka (a] redhat.com>
   5332 
   5333 	PR libstdc++/104858
   5334 	* include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing
   5335 	__first twice at the start.
   5336 	* testsuite/25_algorithms/minmax/constrained.cc (test06): New test.
   5337 
   5338 2022-04-15  Patrick Palka  <ppalka (a] redhat.com>
   5339 
   5340 	* include/std/charconv (__from_chars_alnum_to_val_table): Define.
   5341 	(__from_chars_alnum_to_val): Define.
   5342 	(__from_chars_binary): Rename to ...
   5343 	(__from_chars_pow2_base): ... this.  Generalize to handle any
   5344 	power-of-two base using __from_chars_alnum_to_val.
   5345 	(__from_chars_digit): Optimize digit recognition to a single
   5346 	test instead of two tests.  Use [[__unlikely___]] attribute.
   5347 	(__from_chars_alpha_to_num): Remove.
   5348 	(__from_chars_alnum): Use __from_chars_alnum_to_val.  Use a
   5349 	nested loop for the overflow case.  Maintain a lower bound
   5350 	on the number of available bits in the result and use it to
   5351 	omit the overflow check.
   5352 	(from_chars): Adjust appropriately.
   5353 	* src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove.
   5354 	(__floating_from_chars_hex): Use __from_chars_alnum_to_val
   5355 	to recognize a hex digit instead.
   5356 
   5357 2022-04-14  Palmer Dabbelt  <palmer (a] rivosinc.com>
   5358 
   5359 	* acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex
   5360 	for RISC-V.
   5361 	* configure: Regenerate.
   5362 
   5363 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5364 
   5365 	* doc/xml/manual/intro.xml: Fix comment.
   5366 
   5367 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5368 
   5369 	* include/precompiled/stdc++.h: Include <stacktrace> and
   5370 	<stdatomic.h> for C++23.
   5371 
   5372 2022-04-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5373 
   5374 	PR libstdc++/105269
   5375 	* include/bits/stl_vector.h (__cpp_lib_constexpr_vector):
   5376 	Define.
   5377 	* include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h):
   5378 	Define.
   5379 	* include/std/optional (__cpp_lib_optional): Define new value
   5380 	for C++23.
   5381 	(__cpp_lib_monadic_optional): Remove.
   5382 	* include/std/version (__cpp_lib_constexpr_vector): Define.
   5383 	(__cpp_lib_stdatomic_h): Define.
   5384 	(__cpp_lib_optional): Define new value for C++23.
   5385 	(__cpp_lib_monadic_optional): Remove.
   5386 	* testsuite/20_util/optional/monadic/and_then.cc: Adjust.
   5387 	* testsuite/20_util/optional/requirements.cc: Adjust for C++23.
   5388 	* testsuite/20_util/optional/version.cc: Likewise.
   5389 	* testsuite/23_containers/vector/cons/constexpr.cc: Check
   5390 	feature test macro.
   5391 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
   5392 	Likewise.
   5393 	* testsuite/20_util/optional/monadic/version.cc: Removed.
   5394 	* testsuite/23_containers/vector/requirements/version.cc: New test.
   5395 	* testsuite/29_atomics/headers/stdatomic.h/version.cc: New test.
   5396 
   5397 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   5398 
   5399 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap.
   5400 	* config.h.in: Regenerate.
   5401 	* configure: Regenerate.
   5402 
   5403 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   5404 
   5405 	* include/std/stacktrace (basic_stacktrace::current): Reallocate
   5406 	a smaller container if the unused capacity is larger than the
   5407 	used size.
   5408 
   5409 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   5410 
   5411 	* include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone
   5412 	or _Impl::_M_assign to initialize elements in allocated storage.
   5413 	(basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of
   5414 	_Impl::_M_destroy.
   5415 	(basic_stacktrace::_Impl::_M_destroy()): Replace with ...
   5416 	(basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New
   5417 	function.
   5418 	(basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct
   5419 	new element using allocator.
   5420 	(basic_stacktrace::_Impl::_M_clone): New function.
   5421 	(basic_stacktrace::_Impl::_M_xclone): New function.
   5422 	(basic_stacktrace::_Impl::_M_assign): New function.
   5423 
   5424 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   5425 
   5426 	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
   5427 	Use nothrow new instead of try block for std::allocator.
   5428 	(basic_stacktrace::_Impl::_M_deallocate): Use delete for
   5429 	std::allocator.
   5430 
   5431 2022-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   5432 
   5433 	* include/std/stacktrace (basic_stacktrace::current): Replace
   5434 	calls to _M_reserve and _S_curr_cb with call to _M_prepare.
   5435 	Check return value of backtrace_simple when max depth given.
   5436 	(basic_stacktrace::_M_reserve): Remove.
   5437 	(basic_stacktrace::_S_curr_cb): Remove.
   5438 	(basic_stacktrace::_M_prepare(size_type)): New function to
   5439 	reserve initial capacity and return callback.
   5440 	(basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n
   5441 	and remove redundant zeroing of _M_frames and _M_capacity.
   5442 	(basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]]
   5443 	attribute. Assign _Impl instead of swapping.
   5444 	* testsuite/19_diagnostics/stacktrace/current.cc: New test.
   5445 
   5446 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5447 
   5448 	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
   5449 	Change [[unlikely]] attribute to [[likely]].
   5450 
   5451 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5452 
   5453 	PR libstdc++/105031
   5454 	* include/std/stacktrace (basic_stacktrace::basic_stacktrace):
   5455 	Fix allocator usage in constructors.
   5456 	(basic_stacktrace::operator=(const basic_stacktrace&)): Do not
   5457 	try to reallocate using const allocator.
   5458 	(basic_stacktrace::operator=(basic_stacktrace&&)): Fix
   5459 	if-constexpr with non-constant condition. Do not allocate new
   5460 	storage if allocator propagates. Do not set _M_size if
   5461 	allocation fails.
   5462 	(basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add
   5463 	assertion that non-propagating allocators are equal.
   5464 	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test.
   5465 
   5466 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5467 
   5468 	* include/std/stacktrace (basic_stacktrace::current): Duplicate
   5469 	implementation into each overload. Add noinline attribute and
   5470 	skip current frame.
   5471 	(basic_stacktrace::max_size()): Call _Impl::_S_max_size.
   5472 	(basic_stacktrace::_S_curr_cb()): New function defining lambda.
   5473 	(basic_stacktrace::_Impl::_S_max_size): New function defining
   5474 	maximum size in terms of allocator and size_type.
   5475 	(basic_stacktrace::_Impl::_M_allocate): Check against
   5476 	max_size().
   5477 	* testsuite/19_diagnostics/stacktrace/entry.cc: Call function
   5478 	for non-constexpr checks. Check line number is correct.
   5479 
   5480 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5481 
   5482 	* testsuite/20_util/stacktrace/entry.cc: Moved to...
   5483 	* testsuite/19_diagnostics/stacktrace/entry.cc: ...here.
   5484 	* testsuite/20_util/stacktrace/synopsis.cc: Moved to...
   5485 	* testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here.
   5486 	* testsuite/20_util/stacktrace/version.cc: Moved to...
   5487 	* testsuite/19_diagnostics/stacktrace/version.cc: ...here.
   5488 
   5489 2022-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5490 
   5491 	* include/experimental/bits/fs_path.h (path): Define special
   5492 	members after path::_Cmpt is complete.
   5493 
   5494 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5495 
   5496 	PR libstdc++/105153
   5497 	* include/std/expected
   5498 	(expected<void,E>::expected(expected<U,G>&&)): Fix constraints.
   5499 	* testsuite/20_util/expected/cons.cc: Check constructor.
   5500 
   5501 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5502 
   5503 	PR libstdc++/105154
   5504 	* include/std/expected (expected<void, E>::swap): Set
   5505 	_M_has_value to false for objects that previously had a value.
   5506 	* testsuite/20_util/expected/swap.cc: Fix test to check void
   5507 	specialization.
   5508 
   5509 2022-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5510 
   5511 	PR libstdc++/105146
   5512 	* include/std/expected (bad_expected_access): Move constructor
   5513 	parameter.
   5514 	* testsuite/20_util/expected/bad.cc: New test.
   5515 
   5516 2022-04-07  Hans-Peter Nilsson  <hp (a] axis.com>
   5517 
   5518 	* testsuite/20_util/expected/requirements.cc: Correct minimal-size
   5519 	test.
   5520 
   5521 2022-04-02  Jakub Jelinek  <jakub (a] redhat.com>
   5522 
   5523 	PR libstdc++/105128
   5524 	* include/std/source_location (std::source_location::__impl): Move
   5525 	definition before using __builtin_ret_type.
   5526 
   5527 2022-04-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5528 
   5529 	* include/std/utility (unreachable): Define for C++23.
   5530 	* include/std/version (__cpp_lib_unreachable): Define.
   5531 	* src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid
   5532 	arguments. Handle only the function being given.
   5533 	* testsuite/20_util/unreachable/1.cc: New test.
   5534 	* testsuite/20_util/unreachable/version.cc: New test.
   5535 
   5536 2022-04-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5537 
   5538 	* include/experimental/bits/fs_fwd.h (copy_file): Remove
   5539 	incorrect noexcept from declaration.
   5540 	* include/experimental/bits/fs_path.h (path::begin, path::end):
   5541 	Add noexcept to declarations, to match definitions.
   5542 
   5543 2022-04-01  Timm Bder  <tbaeder (a] redhat.com>
   5544 
   5545 	* include/bits/fs_ops.h: Fix filename in Doxygen comment.
   5546 	* include/experimental/bits/fs_ops.h: Likewise.
   5547 
   5548 2022-03-31  Jonathan Wakely  <jwakely (a] redhat.com>
   5549 
   5550 	* libsupc++/new_opa.cc (aligned_alloc): Add comment.
   5551 
   5552 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   5553 
   5554 	* testsuite/18_support/exception/38732.cc: Disable for C++23.
   5555 	* testsuite/18_support/headers/exception/synopsis.cc: Likewise.
   5556 	* testsuite/18_support/unexpected_handler.cc: Likewise.
   5557 
   5558 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   5559 
   5560 	* libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add
   5561 	static data members for _Fp_fmt enumerators.
   5562 
   5563 2022-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   5564 
   5565 	* include/std/version (__cpp_lib_variant): Fix conditions to
   5566 	match <variant>.
   5567 	(__cpp_lib_expected): Fix condition to match <expected>.
   5568 
   5569 2022-03-28  Jonathan Wakely  <jwakely (a] redhat.com>
   5570 
   5571 	* testsuite/20_util/optional/monadic/and_then.cc: Fix typo.
   5572 	* testsuite/20_util/optional/monadic/transform.cc: Likewise.
   5573 	* testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
   5574 	* testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
   5575 	* testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
   5576 	* testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
   5577 	* testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
   5578 	* testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
   5579 
   5580 2022-03-27  Jonathan Wakely  <jwakely (a] redhat.com>
   5581 
   5582 	* doc/doxygen/user.cfg.in: Add new header.
   5583 	* include/Makefile.am: Likewise.
   5584 	* include/Makefile.in: Regenerate.
   5585 	* include/precompiled/stdc++.h: Add new header.
   5586 	* include/std/version (__cpp_lib_expected): Define.
   5587 	* libsupc++/exception [__cplusplus > 202002] (unexpected)
   5588 	(unexpected_handler, set_unexpected): Do not declare for C++23.
   5589 	* include/std/expected: New file.
   5590 	* testsuite/20_util/expected/assign.cc: New test.
   5591 	* testsuite/20_util/expected/cons.cc: New test.
   5592 	* testsuite/20_util/expected/illformed_neg.cc: New test.
   5593 	* testsuite/20_util/expected/observers.cc: New test.
   5594 	* testsuite/20_util/expected/requirements.cc: New test.
   5595 	* testsuite/20_util/expected/swap.cc: New test.
   5596 	* testsuite/20_util/expected/synopsis.cc: New test.
   5597 	* testsuite/20_util/expected/unexpected.cc: New test.
   5598 	* testsuite/20_util/expected/version.cc: New test.
   5599 
   5600 2022-03-25  Jonathan Wakely  <jwakely (a] redhat.com>
   5601 
   5602 	* include/std/bit (bit_cast, byteswap, endian): Add doxygen
   5603 	comments.
   5604 
   5605 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5606 
   5607 	PR libstdc++/105027
   5608 	* include/std/bit (bit_cast): Add constraints.
   5609 	* testsuite/26_numerics/bit/bit.cast/105027.cc: New test.
   5610 
   5611 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5612 
   5613 	* include/std/version [!_GLIBCXX_HOSTED]
   5614 	(__cpp_lib_hardware_interference_size): Define for freestanding.
   5615 	(__cpp_lib_bit_cast): Likewise.
   5616 	(__cpp_lib_is_layout_compatible): Likewise.
   5617 	(__cpp_lib_is_pointer_interconvertible): Likewise.
   5618 	(__cpp_lib_adaptor_iterator_pair_constructor): Do not define for
   5619 	freestanding.
   5620 	(__cpp_lib_invoke_r): Likewise.
   5621 	(__cpp_lib_ios_noreplace): Likewise.
   5622 	(__cpp_lib_monadic_optional): Likewise.
   5623 	(__cpp_lib_move_only_function): Likewise.
   5624 	(__cpp_lib_spanstream): Likewise.
   5625 	(__cpp_lib_stacktrace): Likewise.
   5626 	(__cpp_lib_string_contains): Likewise.
   5627 	(__cpp_lib_string_resize_and_overwrite): Likewise.
   5628 	(__cpp_lib_to_underlying): Likewise.
   5629 
   5630 2022-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5631 
   5632 	PR libstdc++/105021
   5633 	* include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include
   5634 	<bits/atomic_wait.h> for freestanding.
   5635 
   5636 2022-03-22  Hans-Peter Nilsson  <hp (a] axis.com>
   5637 
   5638 	* testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]:
   5639 	Conditionalize call to fesetround.
   5640 
   5641 2022-03-21  Jakub Jelinek  <jakub (a] redhat.com>
   5642 
   5643 	PR libstdc++/104990
   5644 	* include/bits/locale_facets_nonio.tcc (get): Don't check if do_get
   5645 	isn't overloaded if __clang__ is defined.
   5646 
   5647 2022-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5648 
   5649 	PR libstdc++/104242
   5650 	* include/std/any (any(T&&)): Revert change to constraints.
   5651 	* testsuite/20_util/any/cons/104242.cc: New test.
   5652 
   5653 2022-03-18  Jonathan Wakely  <jwakely (a] redhat.com>
   5654 
   5655 	PR libstdc++/92546
   5656 	* include/pstl/glue_algorithm_defs.h: Replace <functional> with
   5657 	<bits/stl_pair.h>.
   5658 	* include/pstl/utils.h: Replace <iterator> with <type_traits>.
   5659 	(__pstl::__internal::__except_handler): Use std::__terminate
   5660 	instead of std::terminate.
   5661 	* src/c++17/fs_path.cc: Include <array>.
   5662 	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Include
   5663 	<functional>.
   5664 	* testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
   5665 	* testsuite/25_algorithms/clamp/constrained.cc: Likewise.
   5666 	* testsuite/25_algorithms/equal/constrained.cc: Likewise.
   5667 	* testsuite/25_algorithms/for_each/constrained.cc: Likewise.
   5668 	* testsuite/25_algorithms/includes/constrained.cc: Likewise.
   5669 	* testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
   5670 	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
   5671 	* testsuite/25_algorithms/is_permutation/constrained.cc: Include
   5672 	<iterator>.
   5673 	* testsuite/25_algorithms/is_sorted/constexpr.cc: Include
   5674 	<functional>.
   5675 	* testsuite/25_algorithms/is_sorted_until/constexpr.cc:
   5676 	Likewise.
   5677 	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
   5678 	Likewise.
   5679 	* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
   5680 	Likewise.
   5681 	* testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
   5682 	Include <array>.
   5683 	* testsuite/25_algorithms/lower_bound/constexpr.cc: Include
   5684 	<functional>.
   5685 	* testsuite/25_algorithms/max/constrained.cc: Likewise.
   5686 	* testsuite/25_algorithms/max_element/constrained.cc: Likewise.
   5687 	* testsuite/25_algorithms/min/constrained.cc: Likewise.
   5688 	* testsuite/25_algorithms/min_element/constrained.cc: Likewise.
   5689 	* testsuite/25_algorithms/minmax_element/constrained.cc:
   5690 	Likewise.
   5691 	* testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
   5692 	* testsuite/25_algorithms/move/93872.cc: Likewise.
   5693 	* testsuite/25_algorithms/move_backward/93872.cc: Include
   5694 	<iterator>.
   5695 	* testsuite/25_algorithms/nth_element/constexpr.cc: Include
   5696 	<functional>.
   5697 	* testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
   5698 	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
   5699 	Likewise.
   5700 	* testsuite/25_algorithms/search/constexpr.cc: Likewise.
   5701 	* testsuite/25_algorithms/search_n/constrained.cc: Likewise.
   5702 	* testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
   5703 	* testsuite/25_algorithms/set_difference/constrained.cc:
   5704 	Likewise.
   5705 	* testsuite/25_algorithms/set_intersection/constexpr.cc:
   5706 	Likewise.
   5707 	* testsuite/25_algorithms/set_intersection/constrained.cc:
   5708 	Likewise.
   5709 	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
   5710 	Likewise.
   5711 	* testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
   5712 	* testsuite/25_algorithms/set_union/constrained.cc: Likewise.
   5713 	* testsuite/25_algorithms/sort/constexpr.cc: Likewise.
   5714 	* testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
   5715 	* testsuite/25_algorithms/transform/constrained.cc: Likewise.
   5716 	* testsuite/25_algorithms/unique/constexpr.cc: Likewise.
   5717 	* testsuite/25_algorithms/unique/constrained.cc: Likewise.
   5718 	* testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
   5719 	* testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
   5720 	* testsuite/std/ranges/adaptors/elements.cc: Include <vector>.
   5721 	* testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
   5722 	* testsuite/std/ranges/adaptors/split.cc: Likewise.
   5723 
   5724 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5725 
   5726 	PR libstdc++/92546
   5727 	* include/bits/fs_path.h (path::make_preferred): Use
   5728 	handwritten loop instead of std::replace.
   5729 
   5730 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5731 
   5732 	PR middle-end/104966
   5733 	* include/bits/locale_facets_nonio.tcc
   5734 	(__moneypunct_cache::_M_cache): Replace try-catch with RAII and
   5735 	make all string copies before any stores to *this.
   5736 
   5737 2022-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5738 
   5739 	* testsuite/util/testsuite_character.h: Fix comment.
   5740 
   5741 2022-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   5742 
   5743 	PR libstdc++/103407
   5744 	* config/abi/pre/gnu.ver: Make version for std::from_chars
   5745 	depend on HAVE_USELOCALE macro.
   5746 	* testsuite/util/testsuite_abi.cc (compare_symbols): Treat
   5747 	std::from_chars for floating-point types as undesignated if
   5748 	not found in the baseline symbols file.
   5749 
   5750 2022-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   5751 
   5752 	* include/std/charconv (__cpp_lib_to_chars): Only define when
   5753 	both from_chars and to_chars are supported for floating-point
   5754 	types.
   5755 	(from_chars, to_chars): Adjust preprocessor conditions guarding
   5756 	declarations.
   5757 	* include/std/version (__cpp_lib_to_chars): Adjust condition to
   5758 	match <charconv> definition.
   5759 	* src/c++17/floating_from_chars.cc (from_chars_strtod): New
   5760 	function template.
   5761 	(from_chars): Simplify preprocessor checks and use
   5762 	from_chars_strtod when appropriate.
   5763 
   5764 2022-03-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5765 
   5766 	PR libstdc++/104875
   5767 	* src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to
   5768 	hold octets that will be left-shifted.
   5769 
   5770 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5771 
   5772 	PR libstdc++/104870
   5773 	* src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32
   5774 	before using fast_float.
   5775 
   5776 2022-03-10  Detlef Vollmann  <dv (a] vollmann.ch>
   5777 
   5778 	PR libstdc++/104866
   5779 	* include/bits/this_thread_sleep.h: Fix order of #endif and
   5780 	closing brace of namespace.
   5781 
   5782 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5783 
   5784 	* libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]:
   5785 	Handle NaN.
   5786 
   5787 2022-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5788 
   5789 	* libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use
   5790 	<=> comparison.
   5791 
   5792 2022-03-09  Patrick Palka  <ppalka (a] redhat.com>
   5793 
   5794 	PR libstdc++/104859
   5795 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
   5796 	Be explicit when narrowing the shifted effective_mantissa,
   5797 	since it may have an integer-class type.
   5798 
   5799 2022-03-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5800 
   5801 	* include/bits/uses_allocator_args.h: Remove incorrect copyright
   5802 	notice.
   5803 
   5804 2022-03-07  Jonathan Wakely  <jwakely (a] redhat.com>
   5805 
   5806 	PR libstdc++/104807
   5807 	* include/bits/c++config (__terminate, __glibcxx_assert_fail):
   5808 	Replace _GLIBCXX_VISIBILITY on function with visibility pragma.
   5809 	(__is_constant_evaluated): Add visibility pragma.
   5810 
   5811 2022-03-07  Rasmus Villemoes  <rasmus.villemoes (a] prevas.dk>
   5812 
   5813 	* config/locale/vxworks/ctype_members.cc: Remove <iostream>
   5814 	include.
   5815 
   5816 2022-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5817 
   5818 	* include/bits/c++config (__glibcxx_assert_fail): Add visibility
   5819 	attribute.
   5820 	(__terminate): Likewise.
   5821 
   5822 2022-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5823 
   5824 	* libsupc++/compare (strong_order::_S_fp_cmp): Move typedef
   5825 	inside #if condition.
   5826 
   5827 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   5828 
   5829 	PR libstdc++/104748
   5830 	* testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for
   5831 	constexpr test.
   5832 
   5833 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   5834 
   5835 	* testsuite/17_intro/names.cc (func): Undef on AIX.
   5836 
   5837 2022-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   5838 
   5839 	PR libstdc++/96526
   5840 	* libsupc++/compare (strong_order): Add missing support for
   5841 	floating-point types.
   5842 	* testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
   5843 	New test.
   5844 
   5845 2022-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5846 
   5847 	PR middle-end/103984
   5848 	* include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use
   5849 	default member initializer.
   5850 
   5851 2022-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   5852 
   5853 	PR libstdc++/104602
   5854 	* include/std/source_location (source_location::current): Use
   5855 	deduced type of __builtin_source_location().
   5856 
   5857 2022-02-22  Patrick Palka  <ppalka (a] redhat.com>
   5858 
   5859 	* include/bits/ranges_base.h (__detail::__is_initializer_list):
   5860 	Define.
   5861 	(viewable_range): Adjust as per P2415R2.
   5862 	* include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
   5863 	* include/std/ranges (owning_view): Define as per P2415R2.
   5864 	(enable_borrowed_range<owning_view>): Likewise.
   5865 	(views::__detail::__can_subrange): Replace with ...
   5866 	(views::__detail::__can_owning_view): ... this.
   5867 	(views::_All::_S_noexcept): Sync with operator().
   5868 	(views::_All::operator()): Use owning_view instead of subrange
   5869 	as per P2415R2.
   5870 	* include/std/version (__cpp_lib_ranges): Adjust value.
   5871 	* testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that
   5872 	views::all uses owning_view instead of subrange.
   5873 	(test08): New test.
   5874 	* testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust
   5875 	now that rvalue non-view non-borrowed ranges are viewable.
   5876 	* testsuite/std/ranges/adaptors/split.cc (test06): Likewise.
   5877 
   5878 2022-02-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5879 
   5880 	PR libstdc++/104559
   5881 	* doc/xml/manual/evolution.xml: Document deprecation.
   5882 	* doc/html/manual/api.html: Regenerate.
   5883 	* include/bits/stl_bvector.h (insert(const_iterator, const bool&)):
   5884 	Remove default argument.
   5885 	(insert(const_iterator)): New overload with deprecated attribute.
   5886 	* testsuite/23_containers/vector/bool/modifiers/insert/104559.cc:
   5887 	New test.
   5888 
   5889 2022-02-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5890 
   5891 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace
   5892 	code that call cat->name() on std::error_category objects.
   5893 	Identify known categories by symbol name and use a hardcoded
   5894 	name. Print error code values as enumerators where appopriate.
   5895 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected
   5896 	name of custom category. Check io_errc and future_errc errors.
   5897 
   5898 2022-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
   5899 
   5900 	PR libstdc++/104542
   5901 	* include/bits/uses_allocator_args.h (make_obj_using_allocator)
   5902 	(uninitialized_construct_using_allocator): Add constexpr.
   5903 	* testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr.
   5904 	* testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test.
   5905 
   5906 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5907 
   5908 	PR libstdc++/100912
   5909 	* config/locale/gnu/c_locale.h (__convert_from_v): Use inline
   5910 	namespace for IEEE128 long double mode.
   5911 	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol
   5912 	version and export __gnu_cxx_ieee128::__convert_from_v.
   5913 	* include/bits/locale_facets_nonio.tcc (money_put::__do_put):
   5914 	Make __ibm128 overload use snprintf directly
   5915 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
   5916 	Remove stable IEEE128/LDBL versions.
   5917 
   5918 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5919 
   5920 	PR libstdc++/103891
   5921 	* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
   5922 	Remove.
   5923 	* include/std/variant: Check feature test macros instead.
   5924 	* include/std/version: Likewise.
   5925 
   5926 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5927 
   5928 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   5929 	Fix typo.
   5930 
   5931 2022-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   5932 
   5933 	* src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on
   5934 	LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128.
   5935 
   5936 2022-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5937 
   5938 	* testsuite/20_util/temporary_buffer.cc: Fix dg-warning target
   5939 	selector.
   5940 
   5941 2022-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5942 
   5943 	* testsuite/20_util/monotonic_buffer_resource/allocate.cc:
   5944 	Ignore -Walloc-larger-than warning.
   5945 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   5946 	Likewise.
   5947 	* testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1
   5948 	to avoid linker error for __atomic_is_lock_free.
   5949 
   5950 2022-02-10  Thomas Rodgers  <rodgert (a] appliantology.com>
   5951 
   5952 	* include/bits/atomic_wait.h (__waiter_base::_S_do_spin,
   5953 	__waiter_base::_S_do_spin_v): Change memory order from relaxed
   5954 	to acquire.
   5955 
   5956 2022-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5957 
   5958 	* include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add
   5959 	using-declaration.
   5960 	(atomic_fetch_xor_explicit): Likewise.
   5961 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check
   5962 	arithmetic and logical operations for atomic_int.
   5963 
   5964 2022-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5965 
   5966 	* src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
   5967 	when <dirent.h> is not available.
   5968 	(_GLIBCXX_HAVE_UNLINKAT):  Likewise.
   5969 
   5970 2022-02-09  Thomas Rodgers  <rodgert (a] appliantology.com>
   5971 
   5972 	PR libstdc++/104442
   5973 	* include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin
   5974 	loop inside do loop so that threads failing the wait, reload
   5975 	_M_ver.
   5976 
   5977 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5978 
   5979 	* src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
   5980 	parameter to _Dir_base&&.
   5981 	* src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
   5982 	* src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
   5983 	parameter to _Dir_base&&.
   5984 
   5985 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5986 
   5987 	* acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about
   5988 	checking for CAS on correct word size.
   5989 
   5990 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5991 
   5992 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   5993 	Adjust expected results for Windows.
   5994 
   5995 2022-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5996 
   5997 	PR libstdc++/104161
   5998 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
   5999 	[i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
   6000 	instead of checking for errno values indicating a directory.
   6001 	* src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
   6002 	logic to non-throwing overload.
   6003 	(fs::remove_all(const path&, error_code&)): Add comments.
   6004 	* src/filesystem/ops-common.h: Likewise.
   6005 
   6006 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6007 
   6008 	* src/filesystem/dir-common.h (_Dir_base::openat): Change return
   6009 	type to use portable posix::DIR alias.
   6010 
   6011 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6012 
   6013 	* include/c_compatibility/stdatomic.h [__clang__]: Use
   6014 	#include_next <stdatomic.h>.
   6015 
   6016 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6017 
   6018 	* include/experimental/bits/fs_ops.h (fs::copy_file): Remove
   6019 	noexcept.
   6020 	(fs::create_directories): Likewise.
   6021 	(fs::remove_all): Likewise.
   6022 	* src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
   6023 	(fs::create_directories): Likewise.
   6024 	(fs::remove_all): Likewise.
   6025 
   6026 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6027 
   6028 	PR libstdc++/104161
   6029 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
   6030 	and unlinkat.
   6031 	* config.h.in: Regenerate.
   6032 	* configure: Regenerate.
   6033 	* include/bits/fs_dir.h (recursive_directory_iterator): Declare
   6034 	remove_all overloads as friends.
   6035 	(recursive_directory_iterator::__erase): Declare new member
   6036 	function.
   6037 	* include/bits/fs_fwd.h (remove, remove_all): Declare.
   6038 	* src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
   6039 	constructor. Pass file descriptor argument to base constructor.
   6040 	(_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
   6041 	(_Dir::unlink, _Dir::rmdir): Define new member functions.
   6042 	(directory_iterator): Pass filename_only argument to _Dir
   6043 	constructor.
   6044 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
   6045 	parameters to take a _Dir rvalue instead of creating one.
   6046 	(_Dir_stack::orig): Add data member for storing original path.
   6047 	(_Dir_stack::report_error): Define new member function.
   6048 	(__directory_iterator_nofollow): Move here from dir-common.h and
   6049 	fix value to be a power of two.
   6050 	(__directory_iterator_filename_only): Define new constant.
   6051 	(recursive_directory_iterator): Construct _Dir object and move
   6052 	into _M_dirs stack. Pass skip_permission_denied argument to first
   6053 	advance call.
   6054 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
   6055 	(recursive_directory_iterator::__erase): Define new member
   6056 	function.
   6057 	* src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
   6058 	(fs::remove_all): Use new recursive_directory_iterator::__erase
   6059 	member function.
   6060 	* src/filesystem/dir-common.h (_Dir_base): Add int parameter to
   6061 	constructor and use openat to implement nofollow semantics.
   6062 	(_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
   6063 	Define new member functions.
   6064 	(__directory_iterator_nofollow): Move to fs_dir.cc.
   6065 	* src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
   6066 	base constructor.
   6067 	(_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
   6068 	functions.
   6069 	(recursive_directory_iterator::_Dir_stack): Adjust constructor
   6070 	parameters to take a _Dir rvalue instead of creating one.
   6071 	(recursive_directory_iterator): Check for new nofollow option.
   6072 	Construct _Dir object and move into _M_dirs stack. Pass
   6073 	skip_permission_denied argument to first advance call.
   6074 	(recursive_directory_iterator::increment): Use _Dir::open_subdir.
   6075 	* src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
   6076 
   6077 2022-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6078 
   6079 	* include/bits/allocator.h: Qualify std::allocator_traits in
   6080 	deprecated warnings.
   6081 	* libsupc++/exception (uncaught_exception): Add suggestion to
   6082 	deprecated warning.
   6083 
   6084 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   6085 
   6086 	* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
   6087 	Add [[maybe_unused]] attribute.
   6088 	* src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
   6089 	Likewise.
   6090 
   6091 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   6092 
   6093 	* testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
   6094 	custom comparison function for multiset.
   6095 	* testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
   6096 	comparison function for set.
   6097 
   6098 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   6099 
   6100 	* include/bits/boost_concept_check.h (_OutputIteratorConcept):
   6101 	Change member function to data member of function pointer type.
   6102 
   6103 2022-02-02  Martin Sebor  <msebor (a] redhat.com>
   6104 
   6105 	PR libstdc++/101831
   6106 	* include/std/array (begin): Declare const member function attribute
   6107 	const.
   6108 	(end, rbegin, rend, size, max_size, empty, data): Same.
   6109 	* testsuite/23_containers/array/capacity/empty.cc: Add test cases.
   6110 	* testsuite/23_containers/array/capacity/max_size.cc: Same.
   6111 	* testsuite/23_containers/array/capacity/size.cc: Same.
   6112 	* testsuite/23_containers/array/iterators/begin_end.cc: New test.
   6113 
   6114 2022-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   6115 
   6116 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
   6117 	autoconf macro to check whether d_type is present.
   6118 	* testsuite/experimental/filesystem/iterators/error_reporting.cc:
   6119 	Likewise.
   6120 
   6121 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   6122 
   6123 	* testsuite/27_io/filesystem/iterators/97731.cc: New test.
   6124 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   6125 	Check follow_directory_symlink option.
   6126 	* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
   6127 	Likewise.
   6128 
   6129 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   6130 
   6131 	* src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
   6132 	Reset state to past-the-end iterator on error.
   6133 	(fs::recursive_directory_iterator::pop(error_code&)): Likewise.
   6134 	(fs::recursive_directory_iterator::pop()): Check _M_dirs before
   6135 	it might get reset.
   6136 	* src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
   6137 	for the TS implementation.
   6138 	* testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
   6139 	* testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
   6140 
   6141 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   6142 
   6143 	* include/bits/fs_fwd.h (filesystem::perms): Fix comment.
   6144 
   6145 2022-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   6146 
   6147 	PR libstdc++/104301
   6148 	* acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages
   6149 	for stdio_pure and stdio_posix options.
   6150 	* configure: Regenerate.
   6151 
   6152 2022-02-01  Thomas Rodgers  <rodgert (a] appliantology.com>
   6153 
   6154 	* include/bits/atomic_wait.h: Change memory order from
   6155 	Acquire/Release with relaxed loads to SeqCst+Release for
   6156 	accesses to the waiter's count.
   6157 
   6158 2022-01-31  Martin Liska  <mliska (a] suse.cz>
   6159 
   6160 	* acinclude.m4: Detect *_ld_is_mold and use it.
   6161 	* configure: Regenerate.
   6162 
   6163 2022-01-30  Hans-Peter Nilsson  <hp (a] axis.com>
   6164 
   6165 	* testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on
   6166 	simulator targets.
   6167 	* testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise.
   6168 
   6169 2022-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   6170 
   6171 	PR libstdc++/100516
   6172 	* include/bits/deque.tcc (_M_range_initialize<ForwardIterator>):
   6173 	Add __builtin_unreachable to loop.
   6174 	* testsuite/23_containers/deque/100516.cc: New test.
   6175 
   6176 2022-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   6177 
   6178 	* include/bits/ranges_base.h (ranges::advance): Avoid signed
   6179 	overflow. Do nothing if already equal to desired result.
   6180 	* testsuite/24_iterators/range_operations/advance_overflow.cc:
   6181 	New test.
   6182 
   6183 2022-01-27  Martin Liska  <mliska (a] suse.cz>
   6184 
   6185 	PR libstdc++/104259
   6186 	* acinclude.m4: Fix typo.
   6187 	* configure: Regenerate.
   6188 
   6189 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   6190 
   6191 	PR libstdc++/104019
   6192 	* include/bits/istream.tcc (basic_istream::sentry): Add braces
   6193 	around try-block.
   6194 	* include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init):
   6195 	Add pragmas to disable bogus warnings from PR 61596.
   6196 
   6197 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   6198 
   6199 	PR libstdc++/104217
   6200 	* src/c++17/fs_ops.cc (_GNU_SOURCE): Define.
   6201 	* src/filesystem/dir.cc (_GNU_SOURCE): Define.
   6202 	* src/filesystem/ops.cc (_GNU_SOURCE): Define.
   6203 
   6204 2022-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   6205 
   6206 	PR libstdc++/104161
   6207 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
   6208 	fdopendir.
   6209 	* config.h.in: Regenerate.
   6210 	* configure: Regenerate.
   6211 	* src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
   6212 	and pass it to base class constructor.
   6213 	(directory_iterator): Pass nofollow flag to _Dir constructor.
   6214 	(fs::recursive_directory_iterator::increment): Likewise.
   6215 	* src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
   6216 	directory_iterator constructor. Move error check outside loop.
   6217 	* src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
   6218 	constructor and when it's set use ::open with O_NOFOLLOW and
   6219 	O_DIRECTORY.
   6220 	* src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
   6221 	and pass it to base class constructor.
   6222 	(directory_iterator): Pass nofollow flag to _Dir constructor.
   6223 	(fs::recursive_directory_iterator::increment): Likewise.
   6224 	* src/filesystem/ops.cc (remove_all): Use nofollow option for
   6225 	directory_iterator constructor. Move error check outside loop.
   6226 
   6227 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   6228 
   6229 	PR libstdc++/104032
   6230 	* include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use
   6231 	mem-initializer for _M_buf.
   6232 	(basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed
   6233 	member access.
   6234 	* testsuite/27_io/spanstream/2.cc: New test.
   6235 
   6236 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   6237 
   6238 	* src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS):
   6239 	Define macro for case where std::from_chars is implemented in
   6240 	terms of strtod, strtof or strtold.
   6241 	(buffer_resource, valid_fmt, find_end_of_float, pattern)
   6242 	(from_chars_impl, make_result, reserve_string): Do not define
   6243 	unless USE_STRTOD_FOR_FROM_CHARS is defined.
   6244 	(from_chars): Define when at least one of USE_LIB_FAST_FLOAT and
   6245 	USE_STRTOD_FOR_FROM_CHARS is defined, instead of
   6246 	_GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it
   6247 	is binary64.
   6248 
   6249 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   6250 
   6251 	PR libstdc++/104174
   6252 	* include/bits/hashtable_policy.h (_Map_base): Add partial
   6253 	specialization for maps with const key types.
   6254 	* testsuite/23_containers/unordered_map/104174.cc: New test.
   6255 
   6256 2022-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
   6257 
   6258 	PR libstdc++/104019
   6259 	* include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release):
   6260 	Set members to zero without type punning.
   6261 
   6262 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   6263 
   6264 	* testsuite/20_util/shared_ptr/cons/array.cc: Fix comment.
   6265 
   6266 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   6267 
   6268 	PR libstdc++/87193
   6269 	PR libstdc++/104019
   6270 	* include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal):
   6271 	Define as type long.
   6272 	* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
   6273 	Likewise.
   6274 	* include/bits/basic_string.h (__cpp_lib_string_udls): Likewise.
   6275 	* include/bits/chrono.h (__cpp_lib_chrono): Likewise.
   6276 	(__cpp_lib_chrono_udls): Likewise.
   6277 	* include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise.
   6278 	* include/bits/node_handle.h (__cpp_lib_node_extract): Likewise.
   6279 	* include/bits/range_access.h (__cpp_lib_nonmember_container_access):
   6280 	Likewise.
   6281 	* include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this):
   6282 	Likewise.
   6283 	* include/bits/stl_algo.h (__cpp_lib_clamp): Likewise.
   6284 	(__cpp_lib_sample): Likewise.
   6285 	* include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops):
   6286 	Likewise.
   6287 	* include/bits/stl_function.h (__cpp_lib_transparent_operators):
   6288 	Likewise.
   6289 	* include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator):
   6290 	Likewise.
   6291 	* include/bits/stl_map.h (__cpp_lib_map_try_emplace):
   6292 	Likewise.
   6293 	* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
   6294 	Likewise.
   6295 	* include/bits/unique_ptr.h (__cpp_lib_make_unique):
   6296 	Likewise.
   6297 	* include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace):
   6298 	Likewise.
   6299 	* include/c_global/cmath (__cpp_lib_hypot): Likewise.
   6300 	* include/c_global/cstddef (__cpp_lib_byte): Likewise.
   6301 	* include/std/atomic (__cpp_lib_atomic_is_always_lock_free):
   6302 	Likewise.
   6303 	* include/std/complex (__cpp_lib_complex_udls): Likewise.
   6304 	* include/std/filesystem (__cpp_lib_filesystem): Likewise.
   6305 	* include/std/functional (__cpp_lib_not_fn): Likewise.
   6306 	(__cpp_lib_boyer_moore_searcher): Likewise.
   6307 	* include/std/iomanip (__cpp_lib_quoted_string_io): Likewise.
   6308 	* include/std/mutex (__cpp_lib_scoped_lock): Likewise.
   6309 	* include/std/numeric (__cpp_lib_gcd_lcm): Likewise.
   6310 	(__cpp_lib_gcd, __cpp_lib_lcm): Likewise.
   6311 	* include/std/tuple (__cpp_lib_apply): Likewise.
   6312 	(__cpp_lib_make_from_tuple): Likewise.
   6313 	* include/std/type_traits (__cpp_lib_integral_constant_callable)
   6314 	(__cpp_lib_bool_constant, __cpp_lib_logical_traits)
   6315 	(__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases)
   6316 	(__cpp_lib_result_of_sfinae, __cpp_lib_void_t)
   6317 	(__cpp_lib_is_swappable, __cpp_lib_is_invocable)
   6318 	(__cpp_lib_has_unique_object_representations)
   6319 	(__cpp_lib_is_aggregate): Likewise.
   6320 	* include/std/version: Likewise.
   6321 	* libsupc++/new (__cpp_lib_launder): Likewise.
   6322 
   6323 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   6324 
   6325 	* include/std/version (__cpp_lib_shared_ptr_arrays): Fix
   6326 	condition for C++17 definition.
   6327 
   6328 2022-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   6329 
   6330 	* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
   6331 	Add constexpr.
   6332 	(_Sp_atomic::_M_ptr): Add default member-initializer.
   6333 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
   6334 	Check constant initialization.
   6335 	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
   6336 
   6337 2022-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
   6338 
   6339 	* src/c++11/cxx11-ios_failure.cc (__constinit): Define as
   6340 	equivalent attribute for Clang.
   6341 	* src/c++11/future.cc (__constinit): Likewise.
   6342 	* src/c++11/system_error.cc (__constinit): Likewise.
   6343 	* src/c++17/memory_resource.cc (__constinit): Likewise.
   6344 
   6345 2022-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
   6346 
   6347 	* scripts/testsuite_flags.in: Only add src/filesystem/.libs and
   6348 	src/libbacktrace/.libs to LDFLAGS if those directories exist.
   6349 
   6350 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6351 
   6352 	* configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4
   6353 	from default flags.
   6354 	* configure: Regenerate.
   6355 
   6356 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6357 
   6358 	PR libstdc++/104123
   6359 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include
   6360 	<stddef.h>.
   6361 
   6362 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6363 
   6364 	* scripts/testsuite_flags.in: Add src/libbacktrace/.libs to
   6365 	linker search paths.
   6366 	* src/Makefile.am: Fix src/debug/libbacktrace build.
   6367 	* src/Makefile.in: Regenerate.
   6368 	* src/libbacktrace/Makefile.am: Use per-library CPPFLAGS
   6369 	variable. Use symlinks for the source files.
   6370 	* src/libbacktrace/Makefile.in: Regenerate.
   6371 
   6372 2022-01-19  Matthias Kretz  <m.kretz (a] gsi.de>
   6373 
   6374 	* include/experimental/bits/simd.h (__floating_point_flags): Do
   6375 	not rely on math_errhandling to expand to a constant expression.
   6376 
   6377 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6378 
   6379 	* doc/xml/manual/evolution.xml: Document deprecations.
   6380 	* doc/xml/manual/status_cxx2017.xml: Update status.
   6381 	* doc/html/*: Regenerate.
   6382 
   6383 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6384 
   6385 	* include/bits/stl_tempbuf.h (get_temporary_buffer): Change
   6386 	_GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED.
   6387 
   6388 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6389 
   6390 	* include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused
   6391 	function.
   6392 
   6393 2022-01-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6394 
   6395 	PR libstdc++/104101
   6396 	* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock):
   6397 	Only use __thread_relax if __cpp_lib_atomic_wait is defined.
   6398 
   6399 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6400 
   6401 	PR libstdc++/104099
   6402 	* include/bits/basic_string.h (basic_string(nullptr_t)): Only
   6403 	define for C++23.
   6404 	(operator=(nullptr_t)): Likewise.
   6405 	* include/bits/cow_string.h: Likewise.
   6406 	* include/std/string_view (basic_string_view(nullptr_t)):
   6407 	Likewise.
   6408 	* testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust
   6409 	expected error. Add examples that become ill-formed in C++23.
   6410 	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
   6411 	Adjust expected errors.
   6412 	* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
   6413 	Likewise.
   6414 
   6415 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6416 
   6417 	PR libstdc++/104098
   6418 	* include/bits/stl_iterator.h (reverse_iterator): Check
   6419 	__cpp_lib_concepts instead of __cplusplus.
   6420 
   6421 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6422 
   6423 	PR libstdc++/101124
   6424 	* include/bits/stl_pair.h (pair): Adjust constraints on
   6425 	deprecated constructors accepting literal zero as null pointer
   6426 	constant. Improve wording of deprecated attribute.
   6427 	* testsuite/20_util/pair/cons/99957.cc: Check that deprecated
   6428 	constructors do not cause ambiguities for copyable types.
   6429 
   6430 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6431 
   6432 	* include/bits/stl_function.h (ptr_fun): Fix suggestion for
   6433 	non-deprecated alternative.
   6434 
   6435 2022-01-18  Tom Honermann  <tom (a] honermann.net>
   6436 
   6437 	* acinclude.m4: Define config macros if uchar.h provides
   6438 	c8rtomb() and mbrtoc8().
   6439 	* config.h.in: Regenerate.
   6440 	* configure: Regenerate.
   6441 	* include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define.
   6442 	* include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise.
   6443 	* include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise.
   6444 	* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
   6445 	New test.
   6446 	* testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc:
   6447 	New test.
   6448 
   6449 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6450 
   6451 	* include/Makefile.am: Install new header.
   6452 	* include/Makefile.in: Regenerate.
   6453 	* include/c_compatibility/stdatomic.h: New file.
   6454 	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test.
   6455 
   6456 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6457 
   6458 	PR libstdc++/104080
   6459 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   6460 	* src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
   6461 	Define in terms of __BYTE_ORDER__.
   6462 
   6463 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6464 
   6465 	PR libstdc++/104080
   6466 	* src/c++17/fast_float/LOCAL_PATCHES: UPDATE.
   6467 	* src/c++17/fast_float/fast_float.h (round): Use explicit
   6468 	template argument list for std::min.
   6469 
   6470 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6471 
   6472 	* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
   6473 	* doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for
   6474 	upcoming release.
   6475 	* doc/html/manual/status.html: Regenerate.
   6476 
   6477 2022-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6478 
   6479 	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve
   6480 	comments.
   6481 	* configure: Regenerate.
   6482 
   6483 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   6484 
   6485 	* src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT):
   6486 	Conditionally define, and use it to conditionally include
   6487 	fast_float.
   6488 	(from_chars): Use fast_float for float and double when
   6489 	USE_LIB_FAST_FLOAT.
   6490 
   6491 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   6492 
   6493 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   6494 	* src/c++17/fast_float/fast_float.h (from_chars_advanced): In
   6495 	case of over/underflow, return errc::result_out_of_range and don't
   6496 	modify 'value'.
   6497 
   6498 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   6499 
   6500 	* src/c++17/fast_float/LOCAL_PATCHES: Update.
   6501 	* src/c++17/fast_float/fast_float.h: Apply local modifications.
   6502 
   6503 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   6504 
   6505 	* src/c++17/fast_float/LOCAL_PATCHES: New file.
   6506 	* src/c++17/fast_float/MERGE: New file.
   6507 	* src/c++17/fast_float/README.md: New file, copied from the
   6508 	fast_float repository.
   6509 	* src/c++17/fast_float/fast_float.h: New file, an amalgamation
   6510 	of the fast_float library.
   6511 
   6512 2022-01-17  Patrick Palka  <ppalka (a] redhat.com>
   6513 
   6514 	* src/c++17/floating_from_chars.cc: Include <bit>.
   6515 	(ascii_to_hexit, starts_with_ci): Conditionally define.
   6516 	(__floating_from_chars_hex):  Conditionally define.
   6517 	(from_chars): Use __floating_from_chars_hex for
   6518 	chars_format::hex parsing of binary32/64 float/double.
   6519 	(testsuite/20_util/from_chars/7.cc): New test.
   6520 	* testsuite/20_util/from_chars/7.cc: New file.
   6521 
   6522 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6523 
   6524 	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro.
   6525 	* configure.ac: Use GLIBCXX_ENABLE_BACKTRACE.
   6526 	* include/Makefile.am: Add new header.
   6527 	* include/Makefile.in: Regenerate.
   6528 	* include/std/stacktrace: New header.
   6529 	* include/std/version (__cpp_lib_stacktrace): Define.
   6530 	* Makefile.in: Regenerate.
   6531 	* config.h.in: Regenerate.
   6532 	* configure: Regenerate.
   6533 	* doc/Makefile.in: Regenerate.
   6534 	* libsupc++/Makefile.in: Regenerate.
   6535 	* po/Makefile.in: Regenerate.
   6536 	* python/Makefile.in: Regenerate.
   6537 	* src/Makefile.am: Regenerate.
   6538 	* src/Makefile.in: Regenerate.
   6539 	* src/c++11/Makefile.in: Regenerate.
   6540 	* src/c++17/Makefile.in: Regenerate.
   6541 	* src/c++20/Makefile.in: Regenerate.
   6542 	* src/c++98/Makefile.in: Regenerate.
   6543 	* src/filesystem/Makefile.in: Regenerate.
   6544 	* testsuite/Makefile.in: Regenerate.
   6545 	* src/libbacktrace/Makefile.am: New file.
   6546 	* src/libbacktrace/Makefile.in: New file.
   6547 	* src/libbacktrace/backtrace-rename.h: New file.
   6548 	* src/libbacktrace/backtrace-supported.h.in: New file.
   6549 	* src/libbacktrace/config.h.in: New file.
   6550 	* testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
   6551 	New proc.
   6552 	* testsuite/20_util/stacktrace/entry.cc: New test.
   6553 	* testsuite/20_util/stacktrace/synopsis.cc: New test.
   6554 	* testsuite/20_util/stacktrace/version.cc: New test.
   6555 
   6556 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6557 
   6558 	* doc/xml/manual/status_cxx2020.xml: Use final C++20 option
   6559 	names.
   6560 	* doc/html/manual/status.html: Regenerate.
   6561 
   6562 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6563 
   6564 	PR libstdc++/103650
   6565 	* include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
   6566 	* include/Makefile.in: Regenerate.
   6567 	* testsuite/17_intro/headers/c++1998/103650.cc: New test.
   6568 
   6569 2022-01-17  Matthias Kretz  <m.kretz (a] gsi.de>
   6570 
   6571 	* include/experimental/bits/simd.h (__floating_point_flags): Do
   6572 	not rely on the presence of the math_errhandling macro.
   6573 
   6574 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6575 
   6576 	* include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename
   6577 	to qualified-id for dependent type.
   6578 
   6579 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6580 
   6581 	* doc/xml/manual/status_cxx2020.xml: Update.
   6582 	* doc/html/manual/status.html: Regenerate.
   6583 
   6584 2022-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6585 	    Thomas Rodgers  <trodgers (a] redhat.com>
   6586 
   6587 	* include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr):
   6588 	New macro.
   6589 	(_Sp_atomic): New class template.
   6590 	(atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial
   6591 	specializations.
   6592 	* include/bits/shared_ptr_base.h (__shared_count, __weak_count)
   6593 	(__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend.
   6594 	* include/std/version (__cpp_lib_atomic_shared_ptr): New macro.
   6595 	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New
   6596 	test.
   6597 	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test.
   6598 
   6599 2022-01-15  Matthias Kretz  <m.kretz (a] gsi.de>
   6600 
   6601 	* include/experimental/bits/simd.h: Move feature detection bools
   6602 	and add __have_avx512bitalg, __have_avx512vbmi2,
   6603 	__have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
   6604 	__have_avx512vnni, __have_avx512vpopcntdq.
   6605 	(__detail::__machine_flags): New function which returns a unique
   6606 	uint64 depending on relevant -m and -f flags.
   6607 	(__detail::__odr_helper): New type alias for either an anonymous
   6608 	type or a type specialized with the __machine_flags number.
   6609 	(_SimdIntOperators): Change template parameters from _Impl to
   6610 	_Tp, _Abi because _Impl now has an __odr_helper parameter which
   6611 	may be _OdrEnforcer from the anonymous namespace, which makes
   6612 	for a bad base class.
   6613 	(many): Either add __odr_helper template parameter or mark as
   6614 	always_inline.
   6615 	* include/experimental/bits/simd_detail.h: Add defines for
   6616 	AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
   6617 	AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
   6618 	* include/experimental/bits/simd_builtin.h: Add __odr_helper
   6619 	template parameter or mark as always_inline.
   6620 	* include/experimental/bits/simd_fixed_size.h: Ditto.
   6621 	* include/experimental/bits/simd_math.h: Ditto.
   6622 	* include/experimental/bits/simd_scalar.h: Ditto.
   6623 	* include/experimental/bits/simd_neon.h: Add __odr_helper
   6624 	template parameter.
   6625 	* include/experimental/bits/simd_ppc.h: Ditto.
   6626 	* include/experimental/bits/simd_x86.h: Ditto.
   6627 
   6628 2022-01-14  Uro Bizjak  <ubizjak (a] gmail.com>
   6629 
   6630 	* testsuite/22_locale/numpunct/members/char/3.cc:
   6631 	Require pt_PT locale instead of nl_NL.
   6632 	(test02): Use pt_PT locale instead of nl_NL.
   6633 
   6634 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   6635 
   6636 	PR libstdc++/91260
   6637 	PR libstdc++/91383
   6638 	PR libstdc++/95065
   6639 	* include/backward/binders.h (bind1st, bind2nd): Add deprecated
   6640 	attribute.
   6641 	* include/bits/refwrap.h (_Maybe_unary_or_binary_function):
   6642 	Disable deprecated warnings for base classes.
   6643 	(_Reference_wrapper_base): Likewise.
   6644 	* include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
   6645 	* include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
   6646 	* include/bits/stl_function.h (unary_function, binary_function):
   6647 	Add deprecated attribute.
   6648 	(unary_negate, not1, binary_negate, not2, ptr_fun)
   6649 	(pointer_to_unary_function, pointer_to_binary_function)
   6650 	(mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
   6651 	(mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
   6652 	(const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
   6653 	attributes.
   6654 	* include/bits/stl_iterator.h: Disable deprecated warnings for
   6655 	std::iterator base classes.
   6656 	* include/bits/stl_iterator_base_types.h (iterator): Add
   6657 	deprecated attribute.
   6658 	* include/bits/stl_map.h (map::value_compare): Disable
   6659 	deprecated warnings for base class.
   6660 	* include/bits/stl_multimap.h (multimap::value_compare):
   6661 	Likewise.
   6662 	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
   6663 	Add deprecated attribute.
   6664 	* include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
   6665 	* include/bits/stream_iterator.h: Disable deprecated warnings.
   6666 	* include/bits/streambuf_iterator.h: Likewise.
   6667 	* include/ext/bitmap_allocator.h: Remove unary_function base
   6668 	classes.
   6669 	* include/ext/functional: Disable deprecated warnings.
   6670 	* include/ext/rope: Likewise.
   6671 	* include/ext/throw_allocator.h: Likewise.
   6672 	* include/std/type_traits (result_of): Add deprecated attribute.
   6673 	* include/tr1/functional: Disable deprecated warnings.
   6674 	* include/tr1/functional_hash.h: Likewise.
   6675 	* testsuite/20_util/function_objects/binders/1.cc: Add
   6676 	-Wno-disable-deprecations.
   6677 	* testsuite/20_util/function_objects/binders/3113.cc: Likewise.
   6678 	* testsuite/20_util/function_objects/constexpr.cc: Add
   6679 	dg-warning.
   6680 	* testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
   6681 	* testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
   6682 	* testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
   6683 	Likewise.
   6684 	* testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
   6685 	Likewise.
   6686 	* testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
   6687 	Likewise.
   6688 	* testsuite/20_util/reference_wrapper/24803.cc:
   6689 	Likewise.
   6690 	* testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
   6691 	C++20 and check for absence of nested types.
   6692 	* testsuite/20_util/shared_ptr/comparison/less.cc: Remove
   6693 	std::binary_function base class.
   6694 	* testsuite/20_util/temporary_buffer.cc: Add dg-warning.
   6695 	* testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
   6696 	std::iterator base class.
   6697 	* testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
   6698 	Likewise.
   6699 	* testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
   6700 	Likewise.
   6701 	* testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
   6702 	Likewise.
   6703 	* testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
   6704 	Likewise.
   6705 	* testsuite/24_iterators/istreambuf_iterator/92285.cc:
   6706 	Likewise.
   6707 	* testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
   6708 	Likewise.
   6709 	* testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
   6710 	Likewise.
   6711 	* testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
   6712 	Likewise.
   6713 	* testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
   6714 	Likewise.
   6715 	* testsuite/25_algorithms/copy/34595.cc:
   6716 	Likewise.
   6717 	* testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
   6718 	base class.
   6719 	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
   6720 	Disable deprecated warnings.
   6721 	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
   6722 	Likewise.
   6723 	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
   6724 	Likewise.
   6725 	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
   6726 	Likewise.
   6727 	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
   6728 	Likewise.
   6729 	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
   6730 	Likewise.
   6731 	* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
   6732 	Likewise.
   6733 	* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
   6734 	Likewise.
   6735 	* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
   6736 	Likewise.
   6737 	* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
   6738 	Likewise.
   6739 	* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
   6740 	Likewise.
   6741 	* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
   6742 	Likewise.
   6743 	* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
   6744 	Likewise.
   6745 	* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
   6746 	Likewise.
   6747 	* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
   6748 	Likewise.
   6749 	* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
   6750 	Likewise.
   6751 	* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
   6752 	Likewise.
   6753 	* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
   6754 	Likewise.
   6755 	* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
   6756 	Likewise.
   6757 	* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
   6758 	Likewise.
   6759 	* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
   6760 	Likewise.
   6761 	* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
   6762 	Likewise.
   6763 	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
   6764 	Likewise.
   6765 	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
   6766 	Likewise.
   6767 	* testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
   6768 	Likewise.
   6769 	* testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
   6770 	Likewise.
   6771 	* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
   6772 	Likewise.
   6773 	* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
   6774 	Likewise.
   6775 	* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
   6776 	Likewise.
   6777 	* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
   6778 	Likewise.
   6779 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
   6780 	Likewise.
   6781 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
   6782 	Likewise.
   6783 	* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
   6784 	Likewise.
   6785 	* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
   6786 	Likewise.
   6787 	* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
   6788 	Likewise.
   6789 	* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
   6790 	Likewise.
   6791 	* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
   6792 	Likewise.
   6793 	* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
   6794 	Likewise.
   6795 	* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
   6796 	Likewise.
   6797 	* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
   6798 	Likewise.
   6799 	* testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
   6800 	Likewise.
   6801 	* testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
   6802 	Likewise.
   6803 	* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
   6804 	Likewise.
   6805 	* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
   6806 	Likewise.
   6807 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
   6808 	Likewise.
   6809 	* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
   6810 	Likewise.
   6811 	* testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
   6812 	Likewise.
   6813 	* testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
   6814 	Likewise.
   6815 	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
   6816 	dg-warning.
   6817 	* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
   6818 	Likewise.
   6819 	* testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
   6820 	Likewise.
   6821 	* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
   6822 	Disable deprecated warnings.
   6823 	* testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
   6824 	Likewise.
   6825 	* testsuite/util/regression/trait/erase_if_fn.hpp: Remove
   6826 	std::unary_function base classes.
   6827 	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
   6828 	Remove std::iterator base classes.
   6829 
   6830 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   6831 
   6832 	* include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type):
   6833 	Correct type of macro value.
   6834 	(shared_ptr): Add additional friend declarations.
   6835 	(make_shared, allocate_shared): Constrain existing overloads and
   6836 	remove static_assert.
   6837 	* include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite):
   6838 	New macro.
   6839 	(_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial
   6840 	specialization for use with make_shared_for_overwrite.
   6841 	(__cpp_lib_shared_ptr_arrays): Update value for C++20.
   6842 	(_Sp_counted_array_base): New class template.
   6843 	(_Sp_counted_array): New class template.
   6844 	(__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)):
   6845 	New constructor for allocating shared arrays.
   6846 	(__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise.
   6847 	* include/std/version (__cpp_lib_shared_ptr_weak_type): Correct
   6848 	type.
   6849 	(__cpp_lib_shared_ptr_arrays): Update value for C++20.
   6850 	(__cpp_lib_smart_ptr_for_overwrite): New macro.
   6851 	* testsuite/20_util/shared_ptr/creation/99006.cc: Adjust
   6852 	expected errors.
   6853 	* testsuite/20_util/shared_ptr/creation/array.cc: New test.
   6854 	* testsuite/20_util/shared_ptr/creation/overwrite.cc: New test.
   6855 	* testsuite/20_util/shared_ptr/creation/version.cc: New test.
   6856 	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check
   6857 	feature test macro. Test non-trivial default-initialization.
   6858 
   6859 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   6860 
   6861 	* include/bits/stl_construct.h (_Construct, _Construct_novalue):
   6862 	Also cast away cv-qualifiers when converting pointer to void.
   6863 	* testsuite/20_util/allocator/void.cc: Test construct function
   6864 	with cv-qualified types.
   6865 
   6866 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   6867 
   6868 	PR libstdc++/103992
   6869 	* include/bits/stl_iterator.h (common_iterator): Use
   6870 	std::construct_at instead of placement new.
   6871 	* testsuite/24_iterators/common_iterator/1.cc: Check copy
   6872 	construction is usable in constant expressions.
   6873 
   6874 2022-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   6875 
   6876 	* doc/xml/manual/status_cxx2011.xml: Document new tokens
   6877 	accepted by std::random_device constructor.
   6878 	* doc/html/manual/status.html: Regenerate.
   6879 
   6880 2022-01-12  Patrick Palka  <ppalka (a] redhat.com>
   6881 
   6882 	* testsuite/20_util/to_chars/103955.cc: Add explicit dg-do
   6883 	directive.
   6884 
   6885 2022-01-12  Patrick Palka  <ppalka (a] redhat.com>
   6886 
   6887 	PR libstdc++/103955
   6888 	* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
   6889 	Track the excess precision separately from the effective
   6890 	precision.  Avoid overflow in bounds check by splitting it into
   6891 	two checks.
   6892 	(__floating_to_chars_precision): Avoid overflow in bounds checks
   6893 	similarly.
   6894 	* testsuite/20_util/to_chars/103955.cc: New test.
   6895 
   6896 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6897 
   6898 	PR libstdc++/103726
   6899 	* include/Makefile.am: Install <source_location> for
   6900 	freestanding.
   6901 	* include/Makefile.in: Regenerate.
   6902 	* include/std/version (__cpp_lib_source_location): Define for
   6903 	freestanding.
   6904 
   6905 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6906 
   6907 	* include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
   6908 	Add neoxcept (LWG 3593).
   6909 
   6910 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6911 
   6912 	* include/std/ranges (ranges::__detail::__box): Add constexpr to
   6913 	assignment operators (LWG 3572).
   6914 	* testsuite/std/ranges/adaptors/filter.cc: Check assignment of a
   6915 	view that uses copyable-box.
   6916 
   6917 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6918 
   6919 	PR libstdc++/103726
   6920 	* include/Makefile.am: Install <coroutine> for freestanding.
   6921 	* include/Makefile.in: Regenerate.
   6922 	* include/std/coroutine: Adjust headers and preprocessor
   6923 	conditions.
   6924 	(__coroutine_traits_impl): Use concepts when available.
   6925 	[_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.
   6926 
   6927 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6928 
   6929 	* include/std/ostream (operator<<(basic_ostream&, charT)):
   6930 	Use unformatted input if no padding is needed.
   6931 	(operator<<(basic_ostream<char>&, char)): Likewise.
   6932 
   6933 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6934 
   6935 	PR libstdc++/103891
   6936 	* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
   6937 	Define.
   6938 	* include/std/variant (__cpp_lib_variant): Only define C++20
   6939 	value when the compiler is known to support conditionally
   6940 	trivial destructors.
   6941 	* include/std/version (__cpp_lib_variant): Likewise.
   6942 
   6943 2022-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6944 
   6945 	* include/bits/stl_iterator.h (common_iterator): Add constexpr
   6946 	to all member functions (LWG 3574).
   6947 	* testsuite/24_iterators/common_iterator/1.cc: Evaluate some
   6948 	tests as constant expressions.
   6949 	* testsuite/24_iterators/common_iterator/2.cc: Likewise.
   6950 
   6951 2022-01-10  Jakub Jelinek  <jakub (a] redhat.com>
   6952 
   6953 	PR libstdc++/77760
   6954 	* include/bits/locale_facets_nonio.h (__time_get_state): New struct.
   6955 	(time_get::_M_extract_via_format): Declare new method with
   6956 	__time_get_state& as an extra argument.
   6957 	* include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add
   6958 	__state argument, set various fields in it while parsing.  Handle %j,
   6959 	%U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour
   6960 	for %p immediately.  Add a wrapper around the method without the
   6961 	__state argument for backwards compatibility.
   6962 	(_M_extract_num): Remove all __len == 4 special cases.
   6963 	(time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero
   6964 	initialize __state, pass it to _M_extract_via_format and finalize it
   6965 	at the end.
   6966 	(do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068,
   6967 	69-99 to 1969-1999.  For 3-4 digit parsed years use that as year.
   6968 	(get): If do_get isn't overloaded from the locale_facets_nonio.tcc
   6969 	version, don't call do_get but call _M_extract_via_format instead to
   6970 	pass around state.
   6971 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format
   6972 	with extra __time_get_state and __time_get_state::_M_finalize_state.
   6973 	* src/c++98/locale_facets.cc (is_leap, day_of_the_week,
   6974 	day_of_the_year): New functions in anon namespace.
   6975 	(mon_yday): New var in anon namespace.
   6976 	(__time_get_state::_M_finalize_state): Define.
   6977 	* testsuite/22_locale/time_get/get/char/4.cc: New test.
   6978 	* testsuite/22_locale/time_get/get/wchar_t/4.cc: New test.
   6979 	* testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197
   6980 	as year 197AD instead of error.
   6981 	* testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as
   6982 	year 2001 instead of error.
   6983 	* testsuite/22_locale/time_get/get_year/char/6.cc: New test.
   6984 	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse
   6985 	197 as year 197AD instead of error.
   6986 	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse
   6987 	1 as year 2001 instead of error.
   6988 	* testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test.
   6989 
   6990 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6991 
   6992 	PR libstdc++/103866
   6993 	* acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do
   6994 	nothing for freestanding builds.
   6995 	(GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS.
   6996 	* configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured
   6997 	with --without-headers.  Do not use GCC_HEADER_STDINT for
   6998 	freestanding builds.
   6999 	* libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding
   7000 	for freestanding builds.
   7001 	* configure: Regenerate.
   7002 	* Makefile.in: Regenerate.
   7003 	* doc/Makefile.in: Regenerate.
   7004 	* include/Makefile.in: Regenerate.
   7005 	* libsupc++/Makefile.in: Regenerate.
   7006 	* po/Makefile.in: Regenerate.
   7007 	* python/Makefile.in: Regenerate.
   7008 	* src/Makefile.in: Regenerate.
   7009 	* src/c++11/Makefile.in: Regenerate.
   7010 	* src/c++17/Makefile.in: Regenerate.
   7011 	* src/c++20/Makefile.in: Regenerate.
   7012 	* src/c++98/Makefile.in: Regenerate.
   7013 	* src/filesystem/Makefile.in: Regenerate.
   7014 	* testsuite/Makefile.in: Regenerate.
   7015 
   7016 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   7017 
   7018 	* testsuite/28_regex/algorithms/regex_replace/char/103664.cc:
   7019 	Add dg-timeout-factor directive.
   7020 	* testsuite/28_regex/basic_regex/84110.cc: Likewise.
   7021 	* testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise.
   7022 	* testsuite/28_regex/match_results/102667.cc: Likewise.
   7023 
   7024 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   7025 
   7026 	* doc/xml/manual/using.xml: Update documentation around default
   7027 	-std option.
   7028 	* doc/html/*: Regenerate.
   7029 
   7030 2022-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   7031 
   7032 	PR libstdc++/100017
   7033 	* src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++.
   7034 	* src/c++17/Makefile.in: Regenerate.
   7035 
   7036 2022-01-09  Sandra Loosemore  <sandra (a] codesourcery.com>
   7037 
   7038 	* testsuite/18_support/type_info/constexpr.cc: Add explicit
   7039 	-fdelete-null-pointer-checks option.
   7040 
   7041 2022-01-06  Pavel I. Kryukov  <pavel.kryukov (a] phystech.edu>
   7042 	    Jonathan Wakely  <jwakely (a] redhat.com>
   7043 
   7044 	PR libstdc++/103853
   7045 	* include/bits/forward_list.tcc (forward_list::merge): Check for
   7046 	self-merge.
   7047 	* testsuite/23_containers/forward_list/operations/merge.cc: New test.
   7048 
   7049 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7050 
   7051 	* include/bits/regex.h (basic_regex, match_results): Qualify
   7052 	name in friend declaration, to work around Clang bug.
   7053 
   7054 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7055 
   7056 	* testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
   7057 
   7058 2022-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7059 
   7060 	PR libstdc++/103911
   7061 	* include/std/charconv (__from_chars_alpha_to_num): Return
   7062 	char instead of unsigned char. Change invalid return value to
   7063 	127 instead of using numeric trait.
   7064 	(__from_chars_alnum): Fix comment. Do not use std::isdigit.
   7065 	Change type of variable to char.
   7066 
   7067 2022-01-05  Franois Dumont  <fdumont (a] gcc.gnu.org>
   7068 
   7069 	PR libstdc++/68303
   7070 	* include/bits/hashtable_policy.h
   7071 	(_Hashtable_hash_traits<_Hash>): New.
   7072 	(_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New.
   7073 	(_Hashtable_base<>::_M_key_equals): New.
   7074 	(_Hashtable_base<>::_M_equals): Use latter.
   7075 	(_Hashtable_base<>::_M_key_equals_tr): New.
   7076 	(_Hashtable_base<>::_M_equals_tr): Use latter.
   7077 	* include/bits/hashtable.h
   7078 	(_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits.
   7079 	(_Hashtable<>::find): Loop through elements to look for key if size is lower
   7080 	than __small_size_threshold().
   7081 	(_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
   7082 	(_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise.
   7083 	(_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New.
   7084 	(_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter.
   7085 	(_Hashtable<>::_M_find_before_node(const key_type&)): New.
   7086 	(_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter.
   7087 	(_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise.
   7088 	* src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>.
   7089 	* testsuite/util/testsuite_performance.h
   7090 	(report_performance): Use 9 width to display memory.
   7091 	* testsuite/performance/23_containers/insert_erase/unordered_small_size.cc:
   7092 	New performance test case.
   7093 
   7094 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7095 
   7096 	PR libstdc++/103919
   7097 	* include/bits/basic_string.h (basic_string(const T&, size_t, size_t)):
   7098 	Relax constraints on string_view parameter.
   7099 	* include/bits/cow_string.h (basic_string(const T&, size_t, size_t)):
   7100 	Likewise.
   7101 	* testsuite/21_strings/basic_string/cons/char/103919.cc: New test.
   7102 
   7103 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7104 
   7105 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for
   7106 	ARM EABI.
   7107 	* include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define.
   7108 	* include/std/version (__cpp_lib_constexpr_typeinfo): Define.
   7109 	* libsupc++/tinfo.cc: Add #error to ensure non-inline definition
   7110 	is emitted.
   7111 	(type_info::__equal): Define alias symbol.
   7112 	* libsupc++/typeinfo (type_info::before): Combine different
   7113 	implementations into one.
   7114 	(type_info::operator==): Likewise. Use address equality for
   7115 	constant evaluation. Call __equal for targets that require the
   7116 	definition to be non-inline.
   7117 	* testsuite/18_support/type_info/constexpr.cc: New test.
   7118 
   7119 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7120 
   7121 	* src/c++11/cxx11-ios_failure.cc (io_error_category): Define
   7122 	class and virtual functions as 'final'.
   7123 	(io_category_instance): Use constinit union to make the object
   7124 	immortal.
   7125 	* src/c++11/future.cc (future_error_category): Define class and
   7126 	virtual functions as 'final'.
   7127 	(future_category_instance): Use constinit union.
   7128 
   7129 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7130 
   7131 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
   7132 	versioned namespace from the type name that is printed.
   7133 
   7134 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7135 
   7136 	* python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
   7137 	printer for std::regex NFA states.
   7138 
   7139 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7140 
   7141 	* testsuite/23_containers/forward_list/operations/1.cc: Fill in
   7142 	placeholders in comments.
   7143 	* testsuite/23_containers/forward_list/operations/2.cc:
   7144 	Likewise.
   7145 	* testsuite/23_containers/forward_list/operations/3.cc:
   7146 	Likewise.
   7147 	* testsuite/23_containers/forward_list/operations/4.cc:
   7148 	Likewise.
   7149 	* testsuite/23_containers/forward_list/operations/5.cc:
   7150 	Likewise.
   7151 	* testsuite/23_containers/forward_list/operations/6.cc:
   7152 	Likewise.
   7153 	* testsuite/23_containers/forward_list/operations/7.cc:
   7154 	Likewise.
   7155 
   7156 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7157 
   7158 	PR libstdc++/103848
   7159 	* include/bits/stl_deque.h (operator-): Do not use 0 as null
   7160 	pointer constant.
   7161 
   7162 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7163 
   7164 	* include/bits/alloc_traits.h (allocator_traits<allocator<void>>):
   7165 	Use std::_Construct for construct.
   7166 
   7167 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7168 
   7169 	PR libstdc++/103877
   7170 	* doc/xml/faq.xml: Add '-x c++' to preprocessor command.
   7171 	* doc/html/faq.html: Regenerate.
   7172 
   7173 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7174 
   7175 	* include/bits/regex.h (__regex_algo_impl): Change __policy and
   7176 	__match_mode template parameters to be function parameters.
   7177 	(regex_match, regex_search): Pass policy and match mode as
   7178 	function arguments.
   7179 	* include/bits/regex.tcc (__regex_algo_impl): Change template
   7180 	parameters to function parameters.
   7181 	* include/bits/regex_compiler.h (_RegexTranslatorBase): Use
   7182 	'if constexpr' for conditions using template parameters.
   7183 	(_RegexTranslator): Likewise.
   7184 	* include/bits/regex_executor.tcc (_Executor::_M_handle_accept):
   7185 	Likewise.
   7186 	* testsuite/util/testsuite_regex.h (regex_match_debug)
   7187 	(regex_search_debug): Move template arguments to function
   7188 	arguments.
   7189 
   7190 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7191 
   7192 	* testsuite/util/testsuite_regex.h (regex_match_debug): Compare
   7193 	results even if the match failed.
   7194 
   7195 2022-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7196 
   7197 	* include/bits/regex_compiler.tcc: Adjust all calls to
   7198 	__throw_regex_error.
   7199 	* include/bits/regex_error.h (__throw_regex_error): Add noreturn
   7200 	attribute.
   7201 	* include/bits/regex_scanner.tcc: Likewise.
   7202 	* src/c++11/regex.cc (desc): New helper function.
   7203 	(regex_error::regex_error(error_type)): Use desc to get a string
   7204 	corresponding to the error code.
   7205 
   7206 
   7208 Copyright (C) 2022 Free Software Foundation, Inc.
   7209 
   7210 Copying and distribution of this file, with or without modification,
   7211 are permitted in any medium without royalty provided the copyright
   7212 notice and this notice are preserved.
   7213