Home | History | Annotate | Line # | Download | only in libstdc++-v3
      1 2021-12-15  Franois Dumont  <fdumont (a] gcc.gnu.org>
      2 
      3 	* include/bits/stl_iterator.h
      4 	(std::pointer_traits<__gnu_cxx::__normal_iterator<>>): Remove.
      5 	(std::__to_address(const __gnu_cxx::__normal_iterator<>&)): New for C++11 to C++17.
      6 	* include/debug/safe_iterator.h
      7 	(std::__to_address(const __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<>,
      8 	_Sequence>&)): New for C++11 to C++17.
      9 	* testsuite/24_iterators/normal_iterator/to_address.cc: Add check on std::vector::iterator
     10 	to validate both __gnu_cxx::__normal_iterator<> __to_address overload in normal mode and
     11 	__gnu_debug::_Safe_iterator in _GLIBCXX_DEBUG mode.
     12 
     13 2021-12-15  Jakub Jelinek  <jakub (a] redhat.com>
     14 
     15 	PR libstdc++/71557
     16 	* include/bits/locale_facets_nonio.tcc (_M_extract_via_format):
     17 	Compare characters other than format specifiers and whitespace
     18 	case insensitively.
     19 	(_M_extract_name): Compare characters case insensitively.
     20 	* testsuite/22_locale/time_get/get/char/71557.cc: New test.
     21 	* testsuite/22_locale/time_get/get/wchar_t/71557.cc: New test.
     22 
     23 2021-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
     24 
     25 	PR libstdc++/103687
     26 	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore
     27 	original locale before returning.
     28 	* testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p
     29 	in locale's T_FMT and adjust accordingly.
     30 	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
     31 
     32 2021-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
     33 
     34 	PR libstdc++/102447
     35 	* include/bits/regex_compiler.h (_Compiler::_BracketState): New
     36 	class.
     37 	(_Compiler::_BrackeyMatcher): New alias template.
     38 	(_Compiler::_M_expression_term): Change pair<bool, CharT>
     39 	parameter to _BracketState. Process first character for
     40 	ECMAScript syntax as well as POSIX.
     41 	* include/bits/regex_compiler.tcc
     42 	(_Compiler::_M_insert_bracket_matcher): Pass _BracketState.
     43 	(_Compiler::_M_expression_term): Use _BracketState to store
     44 	state between calls. Improve handling of dashes in ranges.
     45 	* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
     46 	Add more tests for ranges containing dashes. Check invalid
     47 	ranges with character class at the beginning.
     48 
     49 2021-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
     50 
     51 	* include/ext/pointer.h (_Relative_pointer_impl::_UIntPtrType):
     52 	Rename to uintptr_t and define as __UINTPTR_TYPE__.
     53 
     54 2021-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
     55 
     56 	* include/bits/regex_constants.h (__syntax_option, __match_flag):
     57 	Remove.
     58 	(syntax_option_type, match_flag_type): Define enumerators.
     59 	Use to initialize globals. Add constexpr to compound assignment
     60 	operators.
     61 	* include/bits/regex_error.h (error_type): Add comment.
     62 	* testsuite/28_regex/constants/constexpr.cc: Remove comment.
     63 	* testsuite/28_regex/constants/error_type.cc: Improve comment.
     64 	* testsuite/28_regex/constants/match_flag_type.cc: Check bitmask
     65 	requirements.
     66 	* testsuite/28_regex/constants/syntax_option_type.cc: Likewise.
     67 
     68 2021-12-14  Jonathan Wakely  <jwakely (a] redhat.com>
     69 
     70 	* include/bits/regex_compiler.tcc (_Compiler::_M_match_token):
     71 	Use reserved name for parameter.
     72 	* testsuite/17_intro/names.cc: Check "token".
     73 
     74 2021-12-13  Jonathan Wakely  <jwakely (a] redhat.com>
     75 
     76 	* scripts/make_exports.pl: Replace '?' with '.' when turning
     77 	a glob into a regex.
     78 
     79 2021-12-13  Jonathan Wakely  <jwakely (a] redhat.com>
     80 
     81 	* include/bits/ranges_base.h (ranges::size, ranges::empty): Add
     82 	explicit check for unbounded arrays before using ranges::begin.
     83 	* testsuite/std/ranges/access/empty.cc: Check handling of unbounded
     84 	arrays.
     85 	* testsuite/std/ranges/access/size.cc: Likewise.
     86 
     87 2021-12-13  Jonathan Wakely  <jwakely (a] redhat.com>
     88 
     89 	PR libstdc++/103664
     90 	* include/bits/regex.h (__regex_replace): Declare.
     91 	(regex_replace): Use it.
     92 	* include/bits/regex.tcc (__regex_replace): Replace regex_replace
     93 	definition with __regex_replace.
     94 	* testsuite/28_regex/algorithms/regex_replace/char/103664.cc: New test.
     95 
     96 2021-12-11  Jason Merrill  <jason (a] redhat.com>
     97 
     98 	PR c++/103534
     99 	* include/bits/basic_string.h (append (basic_string)): Call pointer
    100 	append instead of _M_append directly.
    101 
    102 2021-12-10  Jakub Jelinek  <jakub (a] redhat.com>
    103 
    104 	PR libstdc++/71367
    105 	* config/locale/dragonfly/time_members.cc (_M_initialize_timepunct):
    106 	Initialize "C" _M_am_pm_format to %I:%M:%S %p rather than empty
    107 	string.
    108 	* config/locale/gnu/time_members.cc (_M_initialize_timepunct):
    109 	Likewise.
    110 	* config/locale/generic/time_members.cc (_M_initialize_timepunct):
    111 	Likewise.
    112 	* include/bits/locale_facets_nonio.h (_M_am_pm_format): New method.
    113 	* include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Handle
    114 	%r.
    115 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_am_pm_format
    116 	with const _CharT** argument, ensure it isn't exported in GLIBCXX_3.4.
    117 	* testsuite/22_locale/time_get/get/char/71367.cc: New test.
    118 	* testsuite/22_locale/time_get/get/wchar_t/71367.cc: New test.
    119 
    120 2021-12-10  Jakub Jelinek  <jakub (a] redhat.com>
    121 
    122 	PR libstdc++/78714
    123 	* include/bits/locale_facets_nonio.tcc (_M_extract_via_format):
    124 	Mention in function comment it interprets strptime format string
    125 	rather than strftime.  Handle %a and %A the same by accepting both
    126 	full and abbreviated names.  Similarly handle %h, %b and %B the same.
    127 	Handle %d and %e the same by accepting possibly optional single space
    128 	and 1 or 2 digits.  For %I store tm_hour 0 instead of tm_hour 12.  For
    129 	%t and %n skip any whitespace.  Handle %p and %%.  For whitespace in
    130 	the string skip any whitespace.
    131 	(_M_extract_num): For __len == 2 accept 1 or 2 digits rather than
    132 	always 2.  Don't punt early if __value * __mult is larget than __max
    133 	or smaller than __min - __mult, instead punt if __value > __max.
    134 	At the end verify __value is in between __min and __max and punt
    135 	otherwise.
    136 	(_M_extract_name): Allow non-unique names or names which are prefixes
    137 	of other names.  Don't recompute lengths of names for every character.
    138 	* testsuite/22_locale/time_get/get/char/3.cc: New test.
    139 	* testsuite/22_locale/time_get/get/wchar_t/3.cc: New test.
    140 	* testsuite/22_locale/time_get/get_date/char/12791.cc (test01): Use
    141 	62 instead 60 and expect 6 to be accepted and thus *ret01 == '2'.
    142 	* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc (test01):
    143 	Similarly.
    144 	* testsuite/22_locale/time_get/get_time/char/2.cc (test02): Add " PM"
    145 	to the string.
    146 	* testsuite/22_locale/time_get/get_time/char/5.cc (test01): Expect
    147 	tm_hour 1 rather than 0.
    148 	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc (test02): Add
    149 	" PM" to the string.
    150 	* testsuite/22_locale/time_get/get_time/wchar_t/5.cc (test01): Expect
    151 	tm_hour 1 rather than 0.
    152 
    153 2021-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
    154 
    155 	PR libstdc++/103638
    156 	* include/bits/atomic_timed_wait.h: Check _GLIBCXX_HAS_GTHREADS
    157 	before using std::mutex and std::__condvar.
    158 
    159 2021-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
    160 
    161 	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add _GLIBCXX_
    162 	prefix to NO_SLEEP macro.
    163 	* config.h.in: Regenerate.
    164 	* configure: Regenerate.
    165 
    166 2021-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
    167 
    168 	* include/bits/char_traits.h: Change pragma push to pop.
    169 
    170 2021-12-10  Thomas Rodgers  <rodgert (a] twrodgers.com>
    171 
    172 	PR libstdc++/102994
    173 	* include/bits/atomic_base.h (__atomic_base<_PTp*>::wait()):
    174 	Add const qualifier.
    175 	* include/std/atomic (atomic<_Tp*>::wait(), atomic_wait()):
    176 	Likewise.
    177 	* testsuite/29_atomics/atomic/wait_notify/102994.cc:
    178 	New test.
    179 
    180 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    181 
    182 	* include/bits/stl_iterator.h (operator==, operator<=>): Define
    183 	overloads for homogeneous specializations of reverse_iterator,
    184 	__normal_iterator and move_iterator.
    185 
    186 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    187 
    188 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Remove
    189 	dg-error for c++20.
    190 
    191 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    192 
    193 	PR libstdc++/85813
    194 	* libsupc++/exception_ptr.h (__dest_thunk): Add macro for
    195 	destructor calling convention.
    196 	(make_exception_ptr): Enable non-throwing implementation for
    197 	-fno-exceptions and for non-standard calling conventions. Use
    198 	always_inline attribute on the useless no-rtti no-exceptions
    199 	definition.
    200 	* testsuite/18_support/exception_ptr/64241.cc: Add -fno-rtti so
    201 	the no-op implementation is still used.
    202 
    203 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    204 
    205 	PR libstdc++/103630
    206 	* libsupc++/exception_ptr.h (exception_ptr): Fix exception
    207 	specifications on inline definitions.
    208 	(make_exception_ptr): Decay the template parameter. Use typeid
    209 	of the static type.
    210 	* testsuite/18_support/exception_ptr/103630.cc: New test.
    211 
    212 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    213 
    214 	PR libstdc++/59769
    215 	* config/io/basic_file_stdio.cc (fopen_mode): Add support for
    216 	exclusive mode.
    217 	* include/bits/ios_base.h (_S_noreplace): Define new enumerator.
    218 	(ios_base::__noreplace): Define.
    219 	(ios_base::noreplace): Define for C++23.
    220 	* include/std/version (__cpp_lib_ios_noreplace): Define.
    221 	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc: New test.
    222 	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: New test.
    223 
    224 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    225 
    226 	PR libstdc++/103382
    227 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Do not export old
    228 	symbol if .symver renaming is supported.
    229 	(GLIBCXX_3.4.30): Export new symbol if .symver renaming is
    230 	supported.
    231 	* doc/xml/manual/evolution.xml: Document change.
    232 	* doc/html/manual/api.html: Regenerate.
    233 	* include/bits/std_mutex.h (__condvar::wait, __condvar::wait_until):
    234 	Remove noexcept.
    235 	* include/std/condition_variable (condition_variable::wait):
    236 	Likewise.
    237 	* src/c++11/condition_variable.cc (condition_variable::wait):
    238 	Likewise.
    239 	* src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
    240 	Define nothrow wrapper around std::condition_variable::wait and
    241 	export the old symbol as an alias to it.
    242 	* testsuite/30_threads/condition_variable/members/103382.cc: New test.
    243 
    244 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    245 
    246 	PR libstdc++/92300
    247 	* include/bits/stl_map.h (insert(Pair&&), emplace(Args&&...)):
    248 	Check whether the arguments can be looked up directly without
    249 	constructing a temporary node first.
    250 	* include/bits/stl_pair.h (__is_pair): Move to here, from ...
    251 	* include/bits/uses_allocator_args.h (__is_pair): ... here.
    252 	* testsuite/23_containers/map/modifiers/emplace/92300.cc: New test.
    253 	* testsuite/23_containers/map/modifiers/insert/92300.cc: New test.
    254 
    255 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    256 
    257 	* include/bits/cow_string.h (basic_string::_M_leak_hard): Do not
    258 	reallocate an empty string.
    259 
    260 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    261 
    262 	PR libstdc++/103332
    263 	PR libstdc++/102958
    264 	PR libstdc++/103483
    265 	* include/bits/char_traits.h: Suppress stringop and array-bounds
    266 	warnings.
    267 
    268 2021-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    269 
    270 	PR libstdc++/64135
    271 	* config/allocator/new_allocator_base.h: Include
    272 	<bits/new_allocator.h> instead of <ext/new_allocator.h>.
    273 	(__allocator_base): Use std::__new_allocator instead of
    274 	__gnu_cxx::new_allocator.
    275 	* doc/xml/manual/allocator.xml: Document new default base class
    276 	for std::allocator.
    277 	* doc/xml/manual/evolution.xml: Likewise.
    278 	* doc/html/*: Regenerate.
    279 	* include/Makefile.am: Add bits/new_allocator.h.
    280 	* include/Makefile.in: Regenerate.
    281 	* include/experimental/memory_resource (new_delete_resource):
    282 	Use std::__new_allocator instead of __gnu_cxx::new_allocator.
    283 	* include/ext/new_allocator.h (new_allocator): Derive from
    284 	std::__new_allocator. Move implementation to ...
    285 	* include/bits/new_allocator.h: New file.
    286 	* testsuite/20_util/allocator/64135.cc: New test.
    287 
    288 2021-12-08  Jonathan Wakely  <jwakely (a] redhat.com>
    289 
    290 	* include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release()):
    291 	Make shift width conditional on __double_word condition.
    292 
    293 2021-12-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
    294 
    295 	* include/std/deque (erase_if): Use _GLIBCXX_STD_C container reference and
    296 	__niter_wrap to limit _GLIBCXX_DEBUG mode impact.
    297 	* include/std/vector (erase_if): Likewise.
    298 
    299 2021-12-08  Maged Michael  <maged.michael (a] gmail.com>
    300 	    Jonathan Wakely  <jwakely (a] redhat.com>
    301 
    302 	* include/bits/c++config (_GLIBCXX_TSAN): Define macro
    303 	indicating that TSan is in use.
    304 	* include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release):
    305 	Replace definition in primary template with explicit
    306 	specializations for _S_mutex and _S_atomic policies.
    307 	(_Sp_counted_base<_S_mutex>::_M_release): New specialization.
    308 	(_Sp_counted_base<_S_atomic>::_M_release): New specialization,
    309 	using a single atomic load to access both reference counts at
    310 	once.
    311 	(_Sp_counted_base::_M_release_last_use): New member function.
    312 
    313 2021-12-07  Tamar Christina  <tamar.christina (a] arm.com>
    314 
    315 	Revert:
    316 	2021-11-19  Tamar Christina  <tamar.christina (a] arm.com>
    317 
    318 	PR libstdc++/103305
    319 	* config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit,
    320 	space, print, graph, cntrl, punct, alnum, blank): Use short or long
    321 	names depending on if short ones are defined.
    322 
    323 2021-12-04  Jonathan Wakely  <jwakely (a] redhat.com>
    324 
    325 	PR libstdc++/103549
    326 	* include/bits/regex.h (match_results): Give names to template
    327 	parameters in first declaration.
    328 	(match_results::_M_begin): Add default member-initializer.
    329 
    330 2021-12-03  Jonathan Wakely  <jwakely (a] redhat.com>
    331 
    332 	* include/bits/stl_tree.h (_Rb_tree::_Auto_node): Define new
    333 	RAII helper for creating and inserting new nodes.
    334 	(_Rb_tree::_M_insert_node): Use trailing-return-type to simplify
    335 	out-of-line definition.
    336 	(_Rb_tree::_M_insert_lower_node): Likewise.
    337 	(_Rb_tree::_M_insert_equal_lower_node): Likewise.
    338 	(_Rb_tree::_M_emplace_unique): Likewise. Use _Auto_node.
    339 	(_Rb_tree::_M_emplace_equal): Likewise.
    340 	(_Rb_tree::_M_emplace_hint_unique): Likewise.
    341 	(_Rb_tree::_M_emplace_hint_equal): Likewise.
    342 
    343 2021-12-02  Jonathan Wakely  <jwakely (a] redhat.com>
    344 
    345 	* src/c++11/cow-stdexcept.cc [_GLIBCXX_FULLY_DYNAMIC_STRING]
    346 	(logic_error, runtime_error): Remove custom definitions.
    347 
    348 2021-12-02  Jonathan Wakely  <jwakely (a] redhat.com>
    349 
    350 	PR libstdc++/103340
    351 	PR libstdc++/103400
    352 	PR libstdc++/103381
    353 	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap
    354 	and pool options.
    355 	* configure: Regenerate.
    356 	* config/allocator/bitmap_allocator_base.h: Removed.
    357 	* config/allocator/mt_allocator_base.h: Removed.
    358 	* config/allocator/pool_allocator_base.h: Removed.
    359 	* doc/xml/manual/allocator.xml: Update.
    360 	* doc/xml/manual/configure.xml: Update.
    361 	* doc/xml/manual/evolution.xml: Document removal.
    362 	* doc/xml/manual/mt_allocator.xml: Editorial tweaks.
    363 	* doc/html/manual/*: Regenerate.
    364 
    365 2021-12-02  Jonathan Wakely  <jwakely (a] redhat.com>
    366 
    367 	* include/bits/cow_string.h (basic_string::_M_is_leaked()):
    368 	Revert change to check __is_single_threaded() before using
    369 	atomic load.
    370 
    371 2021-12-01  Jonathan Wakely  <jwakely (a] redhat.com>
    372 
    373 	PR libstdc++/103501
    374 	* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)):
    375 	Clear container if elements have been moved-from.
    376 	* testsuite/23_containers/map/allocator/move_cons.cc: Expect
    377 	moved-from container to be empty.
    378 	* testsuite/23_containers/multimap/allocator/move_cons.cc:
    379 	Likewise.
    380 	* testsuite/23_containers/multiset/allocator/103501.cc: New test.
    381 	* testsuite/23_containers/set/allocator/103501.cc: New test.
    382 
    383 2021-12-01  Jonathan Wakely  <jwakely (a] redhat.com>
    384 
    385 	* doc/doxygen/user.cfg.in (PREDEFINED): Change macro name.
    386 	* include/bits/allocator.h (allocate, deallocate): Use
    387 	std::__is_constant_evaluated() unconditionally, instead of
    388 	checking whether std::is_constant_evaluated() (or the built-in)
    389 	can be used.
    390 	* include/bits/basic_string.h: Check new macro. call
    391 	std::is_constant_evaluated() directly in C++20-only code that is
    392 	guarded by a suitable macro.
    393 	* include/bits/basic_string.tcc: Likewise.
    394 	* include/bits/c++config (__is_constant_evaluated): Define.
    395 	(_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Replace with ...
    396 	(_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED): New macro.
    397 	* include/bits/char_traits.h (char_traits): Replace conditional
    398 	calls to std::is_constant_evaluated with unconditional calls to
    399 	std::__is_constant_evaluated.
    400 	* include/bits/cow_string.h: Use new macro.
    401 	* include/bits/ranges_algobase.h (__copy_or_move): Replace
    402 	conditional calls to std::is_constant_evaluated with unconditional
    403 	calls to std::__is_constant_evaluated.
    404 	(__copy_or_move_backward, __fill_n_fn): Likewise.
    405 	* include/bits/ranges_cmp.h (ranges::less): Likewise.
    406 	* include/bits/stl_algobase.h (lexicographical_compare_three_way):
    407 	Likewise.
    408 	* include/bits/stl_bvector.h: Call std::is_constant_evaluated
    409 	directly in C++20-only code that is guarded by a suitable macro.
    410 	* include/bits/stl_construct.h (_Construct, _Destroy, _Destroy_n):
    411 	Replace is_constant_evaluated with __is_constant_evaluated.
    412 	* include/bits/stl_function.h (greater, less, greater_equal)
    413 	(less_equal): Replace __builtin_is_constant_evaluated and
    414 	__builtin_constant_p with __is_constant_evaluated.
    415 	* include/bits/stl_vector.h: Call std::is_constant_evaluated()
    416 	in C++20-only code.
    417 	* include/debug/helper_functions.h (__check_singular): Use
    418 	__is_constant_evaluated instead of built-in, or remove check
    419 	entirely.
    420 	* include/std/array (operator<=>): Use __is_constant_evaluated
    421 	unconditionally.
    422 	* include/std/bit (__bit_ceil): Likewise.
    423 	* include/std/type_traits (is_constant_evaluated): Define using
    424 	'if consteval' if possible.
    425 	* include/std/version: Use new macro.
    426 	* libsupc++/compare: Use __is_constant_evaluated instead of
    427 	__builtin_is_constant_evaluated.
    428 	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
    429 	Adjust dg-error lines.
    430 
    431 2021-12-01  Jonathan Wakely  <jwakely (a] redhat.com>
    432 
    433 	* include/bits/cow_string.h (basic_string::_M_is_leaked): Use
    434 	non-atomic load when __is_single_threaded() is true.
    435 	(basic_string::_M_is_shared): Likewise.
    436 	(basic_string::(basic_string&&)) [_GLIBCXX_FULLY_DYNAMIC_STRING]:
    437 	Use non-atomic store when rvalue is not shared.
    438 
    439 2021-12-01  Jonathan Wakely  <jwakely (a] redhat.com>
    440 
    441 	* src/c++17/fs_path.cc (path::_M_split_cmpts()): Remove
    442 	micro-optimization for "/" path.
    443 	* src/filesystem/path.cc (path::_M_split_cmpts()): Only access
    444 	the contents of _M_pathname using const member functions.
    445 
    446 2021-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    447 
    448 	* testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow
    449 	moved-from string to be non-empty.
    450 	* testsuite/21_strings/basic_string/cons/char/moveable2.cc:
    451 	Likewise.
    452 	* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
    453 	Likewise.
    454 	* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc:
    455 	Likewise.
    456 	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
    457 	Likewise.
    458 	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
    459 	Likewise.
    460 	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
    461 	Construct empty string before setting oom flag.
    462 	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
    463 	Likewise.
    464 
    465 2021-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    466 
    467 	* include/bits/cow_string.h (basic_string(basic_string&&)): Fix
    468 	mem-initializer for _GLIBCXX_FULLY_DYNAMIC_STRING==0 case.
    469 	* testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc:
    470 	Remove outdated comment.
    471 	* testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc:
    472 	Likewise.
    473 
    474 2021-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    475 
    476 	* src/c++20/sstream-inst.cc (_GLIBCXX_USE_CXX11_ABI): Define to
    477 	select new ABI.
    478 
    479 2021-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    480 
    481 	* include/bits/stl_vector.h (vector::_S_do_relocate): Remove
    482 	C++20 constexpr specifier.
    483 	(vector::_S_relocate) [__cpp_if_constexpr]: Call __relocate_a
    484 	directly without tag dispatching.
    485 
    486 2021-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    487 
    488 	PR libstdc++/103453
    489 	* config/allocator/malloc_allocator_base.h
    490 	(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define for Clang.
    491 	* config/allocator/new_allocator_base.h
    492 	(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Likewise.
    493 
    494 2021-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    495 
    496 	* doc/xml/manual/debug_mode.xml: Replace "his or her" with "their".
    497 	* doc/html/manual/debug_mode_design.html: Regenerate.
    498 
    499 2021-11-30  Jakub Jelinek  <jakub (a] redhat.com>
    500 
    501 	* include/std/bit (byteswap): Add [[nodiscard]].
    502 
    503 2021-11-28  Jakub Jelinek  <jakub (a] redhat.com>
    504 
    505 	* include/std/bit (__cpp_lib_byteswap, byteswap): Define.
    506 	* include/std/version (__cpp_lib_byteswap): Define.
    507 	* testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: New test.
    508 	* testsuite/26_numerics/bit/bit.byteswap/version.cc: New test.
    509 
    510 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    511 
    512 	* testsuite/24_iterators/move_iterator/dr3265.cc: Fix test to
    513 	account for LWG 3435 resolution.
    514 
    515 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    516 
    517 	* include/bits/stl_uninitialized.h (__relocate_a_1): Do not use
    518 	memmove during constant evaluation.
    519 	* include/bits/stl_vector.h (vector::_S_use_relocate()): Do not
    520 	check is_constant_evaluated in always-constexpr function.
    521 
    522 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    523 
    524 	PR libstdc++/96592
    525 	* include/std/tuple (tuple::is_constructible): Remove.
    526 
    527 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    528 
    529 	* testsuite/29_atomics/atomic_float/1.cc: Reorder directives.
    530 
    531 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    532 
    533 	* testsuite/23_containers/unordered_map/modifiers/move_assign.cc:
    534 	Change dg-do compile to run.
    535 	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
    536 	Likewise.
    537 
    538 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    539 
    540 	* testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
    541 	Remove xfail selector.
    542 	* testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
    543 	Likewise.
    544 	Likewise.
    545 	* testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
    546 	Likewise.
    547 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
    548 	Likewise.
    549 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
    550 	Likewise.
    551 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
    552 	Likewise.
    553 	* testsuite/23_containers/span/101411.cc: Likewise.
    554 	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
    555 	* testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
    556 	Likewise.
    557 	* testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
    558 	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise.
    559 	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
    560 	Likewise.
    561 	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
    562 	Likewise.
    563 	* testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
    564 	Likewise.
    565 	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
    566 	Likewise.
    567 	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
    568 	Likewise.
    569 	* testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
    570 	Likewise.
    571 
    572 2021-11-26  Jonathan Wakely  <jwakely (a] redhat.com>
    573 
    574 	* testsuite/20_util/pointer_traits/lwg3545.cc: Move to_address
    575 	tests to ...
    576 	* testsuite/20_util/to_address/lwg3545.cc: ... here. Add -std
    577 	option before checking effective target.
    578 
    579 2021-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    580 
    581 	* testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
    582 	Remove dg-error for C++11_only error.
    583 
    584 2021-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    585 
    586 	PR libstdc++/96416
    587 	* include/bits/ptr_traits.h (pointer_traits): Reimplement to be
    588 	SFINAE-friendly (LWG 3545).
    589 	* testsuite/20_util/pointer_traits/lwg3545.cc: New test.
    590 	* testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line.
    591 	* testsuite/20_util/to_address/lwg3545.cc: New test.
    592 
    593 2021-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    594 
    595 	PR libstdc++/101608
    596 	* include/bits/ranges_algobase.h (__fill_n_fn): Check for
    597 	constant evaluation before using memset.
    598 	* testsuite/25_algorithms/fill_n/constrained.cc: Check
    599 	byte-sized values as well.
    600 
    601 2021-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    602 
    603 	* testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
    604 	debug mode.
    605 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
    606 
    607 2021-11-24  Jonathan Wakely  <jwakely (a] redhat.com>
    608 
    609 	* testsuite/lib/libstdc++.exp: Rename effective target keywords
    610 	to avoid dashes in the name.
    611 	* testsuite/*: Update effective targe keywords.
    612 
    613 2021-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
    614 
    615 	PR libstdc++/103086
    616 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr
    617 	with non-empty pointer and non-empty deleter.
    618 
    619 2021-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
    620 
    621 	* testsuite/18_support/50594.cc: Check effective target.
    622 	* testsuite/20_util/allocator/1.cc: Likewise.
    623 	* testsuite/20_util/allocator/overaligned.cc: Likewise.
    624 	* testsuite/23_containers/unordered_map/96088.cc: Likewise.
    625 	* testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
    626 	* testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
    627 	* testsuite/23_containers/unordered_set/96088.cc: Likewise.
    628 	* testsuite/ext/throw_allocator/check_delete.cc: Likewise.
    629 	* testsuite/ext/throw_allocator/check_new.cc: Likewise.
    630 	* testsuite/lib/libstdc++.exp (check_effective_target_std_allocator_new):
    631 	Define new proc.
    632 
    633 2021-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
    634 
    635 	PR libstdc++/103381
    636 	* include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
    637 	instead of <functional>.
    638 
    639 2021-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
    640 
    641 	* include/bits/c++config (_GLIBCXX14_DEPRECATED): Fix condition
    642 	checking for C++14.
    643 
    644 2021-11-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
    645 
    646 	* include/bits/erase_if.h (__erase_nodes_if): Add _UnsafeContainer template
    647 	parameter. Use it to get iterators to work with.
    648 	* include/debug/macros.h (__glibcxx_check_erase2): New.
    649 	* include/debug/map.h (map<>::erase(_Base_const_iterator)): New.
    650 	(map<>::erase(const_iterator)): Use latter.
    651 	* include/debug/multimap.h (multimap<>::erase(_Base_const_iterator)): New.
    652 	(multimap<>::erase(const_iterator)): Use latter.
    653 	* include/debug/multiset.h (multiset<>::erase(_Base_const_iterator)): New.
    654 	(multiset<>::erase(const_iterator)): Use latter.
    655 	* include/debug/set.h (set<>::erase(_Base_const_iterator)): New.
    656 	(set<>::erase(const_iterator)): Use latter.
    657 	* include/debug/unordered_map (unordered_map<>::erase(_Base_const_iterator)): New.
    658 	(unordered_multimap<>::erase(const_iterator)): New.
    659 	* include/debug/unordered_set (unordered_set<>::erase(_Base_const_iterator)): New.
    660 	(unordered_multiset<>::erase(const_iterator)): New.
    661 	* include/experimental/map (erase_if): Adapt.
    662 	* include/experimental/set (erase_if): Adapt.
    663 	* include/experimental/unordered_map (erase_if): Adapt.
    664 	* include/experimental/unordered_set (erase_if): Adapt.
    665 	* include/std/map (erase_if): Adapt.
    666 	* include/std/set (erase_if): Adapt.
    667 	* include/std/unordered_map (erase_if): Adapt.
    668 	* include/std/unordered_set (erase_if): Adapt.
    669 
    670 2021-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    671 
    672 	* testsuite/27_io/basic_istringstream/cons/char/1.cc: Check all
    673 	constructors.
    674 	* testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
    675 	Likewise.
    676 	* testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
    677 	* testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
    678 	Likewise.
    679 	* testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
    680 	* testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
    681 	Likewise.
    682 
    683 2021-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    684 
    685 	* src/c++98/locale_init.cc (_S_initialize_once): Check if
    686 	initialization has already been done.
    687 	(_S_initialize): Replace __gthread_active_p with
    688 	__is_single_threaded. Use __builtin_expect.
    689 
    690 2021-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    691 
    692 	PR libstdc++/103295
    693 	* include/bits/basic_string.tcc (_M_construct): Use the
    694 	traits assign member to write into allcoated memory.
    695 
    696 2021-11-19  Iain Sandoe  <iain (a] sandoe.co.uk>
    697 
    698 	* testsuite/lib/prune.exp: Prune dsymutil (ld64) warning.
    699 
    700 2021-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    701 
    702 	PR libstdc++/103332
    703 	PR libstdc++/102958
    704 	* testsuite/21_strings/basic_string/capacity/char/1.cc: Add
    705 	-Wno-stringop-overflow.
    706 	* testsuite/21_strings/basic_string/operators/char/1.cc:
    707 	Likewise.
    708 	* testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc:
    709 	Add -Wno-stringop-overread.
    710 
    711 2021-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    712 
    713 	PR libstdc++/103295
    714 	* include/bits/basic_string.h (_Alloc_traits): Replace typedef
    715 	with struct for C++20 mode.
    716 	* include/bits/basic_string.tcc (_M_replace): Use _Alloc_traits
    717 	for allocation.
    718 	* include/bits/char_traits.h (__gnu_cxx::char_traits::assign):
    719 	Use std::_Construct during constant evaluation.
    720 	(__gnu_cxx::char_traits::assign(CharT*, const CharT*, size_t)):
    721 	Likewise. Replace std::fill_n with memset or manual loop.
    722 	(__gnu_cxx::char_traits::copy): Likewise, replacing std::copy
    723 	with memcpy.
    724 	* include/ext/vstring.h: Include <bits/stl_algobase.h> for
    725 	std::min.
    726 	* include/std/string_view: Likewise.
    727 	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
    728 	Add constexpr test.
    729 
    730 2021-11-19  Tamar Christina  <tamar.christina (a] arm.com>
    731 
    732 	PR libstdc++/103305
    733 	* config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit,
    734 	space, print, graph, cntrl, punct, alnum, blank): Use short or long
    735 	names depending on if short ones are defined.
    736 
    737 2021-11-18  Jonathan Wakely  <jwakely (a] redhat.com>
    738 
    739 	* include/bits/char_traits.h (__gnu_cxx::char_traits::move):
    740 	Do not compare unrelated pointers during constant evaluation.
    741 	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
    742 	Improve tests for char_traits::move.
    743 
    744 2021-11-18  Jonathan Wakely  <jwakely (a] redhat.com>
    745 
    746 	* acinclude.m4: Replace AC_CACHE_VAL with AC_CACHE_CHECK.
    747 	* configure: Regenerate.
    748 
    749 2021-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
    750 
    751 	* include/experimental/internet (address): Use std::_Construct
    752 	to initialize union members.
    753 
    754 2021-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
    755 
    756 	* include/bits/basic_string.h (_M_construct_aux): Only define
    757 	for C++98. Remove constexpr.
    758 	(_M_construct_aux_2): Likewise.
    759 	(_M_construct(InputIter, InputIter)): Remove.
    760 	(basic_string(const basic_string&)): Call _M_construct with
    761 	iterator category argument.
    762 	(basic_string(const basic_string&, size_type, const Alloc&)):
    763 	Likewise.
    764 	(basic_string(const basic_string&, size_type, size_type)):
    765 	Likewise.
    766 	(basic_string(const charT*, size_type, const Alloc&)): Likewise.
    767 	Check for null pointer.
    768 	(basic_string(const charT*, const Alloc&)): Likewise.
    769 	(basic_string(initializer_list<charT>, const Alloc&)): Call
    770 	_M_construct with iterator category argument.
    771 	(basic_string(const basic_string&, const Alloc&)): Likewise.
    772 	(basic_string(basic_string&&, const Alloc&)): Likewise.
    773 	(basic_string(_InputIter, _InputIter, const Alloc&)): Likewise
    774 	for C++11 and later, call _M_construct_aux for C++98.
    775 	* include/bits/basic_string.tcc
    776 	(_M_construct(I, I, input_iterator_tag)): Replace try-block with
    777 	RAII type.
    778 	(_M_construct(I, I, forward_iterator_tag)): Likewise. Remove
    779 	__is_null_pointer check.
    780 
    781 2021-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
    782 
    783 	PR libstdc++/103295
    784 	* include/bits/basic_string.h (_M_use_local_data()): New
    785 	member function to make local buffer the active member.
    786 	(assign(const basic_string&)): Use it.
    787 	* include/bits/basic_string.tcc (_M_construct, reserve()):
    788 	Likewise.
    789 
    790 2021-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
    791 
    792 	PR libstdc++/103240
    793 	* libsupc++/tinfo2.cc (type_info::before): Use unadjusted name
    794 	to check for the '*' prefix.
    795 	* testsuite/util/testsuite_shared.cc: Add type_info object for
    796 	use in new test.
    797 	* testsuite/18_support/type_info/103240.cc: New test.
    798 
    799 2021-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    800 
    801 	* include/bits/basic_string.h (operator<=>): Use constexpr
    802 	unconditionally.
    803 	* testsuite/21_strings/basic_string/modifiers/constexpr.cc:
    804 	Require cxx11-abit effective target.
    805 	* testsuite/21_strings/headers/string/synopsis.cc: Add
    806 	conditional constexpr to declarations, and adjust relational
    807 	operators for C++20.
    808 
    809 2021-11-16  Patrick Palka  <ppalka (a] redhat.com>
    810 
    811 	* src/c++17/ryu/MERGE: Update the commit hash.
    812 	* src/c++17/ryu/d2s_intrinsics.h: Merge from Ryu's master
    813 	branch.
    814 
    815 2021-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    816 
    817 	* include/bits/basic_string.h (basic_string, operator""s): Add
    818 	constexpr for C++20.
    819 	(basic_string::basic_string(basic_string&&)): Only copy
    820 	initialized portion of the buffer.
    821 	(basic_string::basic_string(basic_string&&, const Alloc&)):
    822 	Likewise.
    823 	* include/bits/basic_string.tcc (basic_string): Add constexpr
    824 	for C++20.
    825 	(basic_string::swap(basic_string&)): Only copy initialized
    826 	portions of the buffers.
    827 	(basic_string::_M_replace): Add constexpr implementation that
    828 	doesn't depend on pointer comparisons.
    829 	* include/bits/cow_string.h: Adjust comment.
    830 	* include/ext/type_traits.h (__is_null_pointer): Add constexpr.
    831 	* include/std/string (erase, erase_if): Add constexpr.
    832 	* include/std/version (__cpp_lib_constexpr_string): Update
    833 	value.
    834 	* testsuite/21_strings/basic_string/cons/char/constexpr.cc:
    835 	New test.
    836 	* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
    837 	New test.
    838 	* testsuite/21_strings/basic_string/literals/constexpr.cc:
    839 	New test.
    840 	* testsuite/21_strings/basic_string/modifiers/constexpr.cc: New test.
    841 	* testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc:
    842 	New test.
    843 	* testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc:
    844 	New test.
    845 	* testsuite/21_strings/basic_string/version.cc: New test.
    846 
    847 2021-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    848 
    849 	* include/bits/stl_bvector.h (swap(_Bit_reference, _Bit_reference))
    850 	(swap(_Bit_reference, bool&), swap(bool&, _Bit_reference)):
    851 	Define as hidden friends of _Bit_reference.
    852 
    853 2021-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    854 
    855 	* testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
    856 	Fix reads past the end of strings.
    857 	* testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
    858 	Likewise.
    859 	* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
    860 	Likewise.
    861 
    862 2021-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    863 
    864 	* testsuite/21_strings/basic_string/allocator/71964.cc: Fix
    865 	typo.
    866 	* testsuite/23_containers/set/allocator/71964.cc: Likewise.
    867 
    868 2021-11-15  Jason Merrill  <jason (a] redhat.com>
    869 
    870 	* testsuite/20_util/to_address/1_neg.cc: Adjust error.
    871 	* testsuite/26_numerics/random/concept.cc: Adjust asserts.
    872 
    873 2021-11-15  Franois Dumont  <fdumont (a] gcc.gnu.org>
    874 
    875 	* include/bits/hashtable_policy.h:
    876 	(_Hash_code_base<>::_M_hash_code(const _Hash&, const _Hash_node_value<_Value, true>&)): New.
    877 	(_Hash_code_base<>::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): New.
    878 	* include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Use latter.
    879 	(_Hashtable<>::_M_merge_multi): Likewise.
    880 	* testsuite/23_containers/unordered_multiset/modifiers/merge.cc (test05): New test.
    881 	* testsuite/23_containers/unordered_set/modifiers/merge.cc (test04): New test.
    882 
    883 2021-11-15  Jason Merrill  <jason (a] redhat.com>
    884 
    885 	* src/c++17/memory_resource.cc: Add missing constexpr.
    886 	* include/experimental/internet: Only mark copy constructor
    887 	as constexpr with __cpp_constexpr_dynamic_alloc.
    888 
    889 2021-11-14  Franois Dumont  <fdumont (a] gcc.gnu.org>
    890 
    891 	* include/debug/safe_container.h (_Safe_container<>::_M_safe): Remove.
    892 	* include/debug/deque (deque::operator=(initializer_list<>)): Replace
    893 	_M_base() call with _Base:: call.
    894 	(deque::operator[](size_type)): Likewise.
    895 	* include/debug/forward_list (forward_list(forward_list&&, const allocator_type&)):
    896 	Remove _M_safe() and _M_base() calls.
    897 	(forward_list::operator=(initializer_list<>)): Remove _M_base() calls.
    898 	(forward_list::splice_after, forward_list::merge): Likewise.
    899 	* include/debug/list (list(list&&, const allocator_type&)):
    900 	Remove _M_safe() and _M_base() calls.
    901 	(list::operator=(initializer_list<>)): Remove _M_base() calls.
    902 	(list::splice, list::merge): Likewise.
    903 	* include/debug/map.h (map(map&&, const allocator_type&)):
    904 	Remove _M_safe() and _M_base() calls.
    905 	(map::operator=(initializer_list<>)): Remove _M_base() calls.
    906 	* include/debug/multimap.h (multimap(multimap&&, const allocator_type&)):
    907 	Remove _M_safe() and _M_base() calls.
    908 	(multimap::operator=(initializer_list<>)): Remove _M_base() calls.
    909 	* include/debug/set.h (set(set&&, const allocator_type&)):
    910 	Remove _M_safe() and _M_base() calls.
    911 	(set::operator=(initializer_list<>)): Remove _M_base() calls.
    912 	* include/debug/multiset.h (multiset(multiset&&, const allocator_type&)):
    913 	Remove _M_safe() and _M_base() calls.
    914 	(multiset::operator=(initializer_list<>)): Remove _M_base() calls.
    915 	* include/debug/string (basic_string(basic_string&&, const allocator_type&)):
    916 	Remove _M_safe() and _M_base() calls.
    917 	(basic_string::operator=(initializer_list<>)): Remove _M_base() call.
    918 	(basic_string::operator=(const _CharT*), basic_string::operator=(_CharT)): Likewise.
    919 	(basic_string::operator[](size_type), basic_string::operator+=(const basic_string&)):
    920 	Likewise.
    921 	(basic_string::operator+=(const _Char*), basic_string::operator+=(_CharT)): Likewise.
    922 	* include/debug/unordered_map (unordered_map(unordered_map&&, const allocator_type&)):
    923 	Remove _M_safe() and _M_base() calls.
    924 	(unordered_map::operator=(initializer_list<>), unordered_map::merge):
    925 	Remove _M_base() calls.
    926 	(unordered_multimap(unordered_multimap&&, const allocator_type&)):
    927 	Remove _M_safe() and _M_base() calls.
    928 	(unordered_multimap::operator=(initializer_list<>), unordered_multimap::merge):
    929 	Remove _M_base() calls.
    930 	* include/debug/unordered_set (unordered_set(unordered_set&&, const allocator_type&)):
    931 	Remove _M_safe() and _M_base() calls.
    932 	(unordered_set::operator=(initializer_list<>), unordered_set::merge):
    933 	Remove _M_base() calls.
    934 	(unordered_multiset(unordered_multiset&&, const allocator_type&)):
    935 	Remove _M_safe() and _M_base() calls.
    936 	(unordered_multiset::operator=(initializer_list<>), unordered_multiset::merge):
    937 	Remove _M_base() calls.
    938 	* include/debug/vector (vector(vector&&, const allocator_type&)):
    939 	Remove _M_safe() and _M_base() calls.
    940 	(vector::operator=(initializer_list<>)): Remove _M_base() calls.
    941 	(vector::operator[](size_type)): Likewise.
    942 
    943 2021-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
    944 
    945 	* include/Makefile.am: Add spanstream header.
    946 	* include/Makefile.in: Regenerate.
    947 	* include/precompiled/stdc++.h: Add spanstream header.
    948 	* include/std/version (__cpp_lib_spanstream): Define.
    949 	* include/std/spanstream: New file.
    950 	* testsuite/27_io/spanstream/1.cc: New test.
    951 	* testsuite/27_io/spanstream/version.cc: New test.
    952 
    953 2021-11-13  Hans-Peter Nilsson  <hp (a] axis.com>
    954 
    955 	PR libstdc++/103166
    956 	* acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
    957 	Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_COMPILE.
    958 	* configure: Regenerate.
    959 
    960 2021-11-12  Jonathan Wakely  <jwakely (a] redhat.com>
    961 
    962 	PR libstdc++/59675
    963 	* acinclude.m4 (libtool_VERSION): Bump version.
    964 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Add version and
    965 	export new symbol.
    966 	* configure: Regenerate.
    967 	* include/bits/c++config (__replacement_assert): Remove, declare
    968 	__glibcxx_assert_fail instead.
    969 	* src/c++11/debug.cc (__glibcxx_assert_fail): New function to
    970 	replace __replacement_assert, writing to stderr instead of
    971 	stdout.
    972 	* testsuite/util/testsuite_abi.cc: Update latest version.
    973 
    974 2021-11-12  Jonathan Wakely  <jwakely (a] redhat.com>
    975 	    Josh Marshall  <joshua.r.marshall.1991 (a] gmail.com>
    976 
    977 	* include/bits/alloc_traits.h (_Destroy): Make constexpr for
    978 	C++20 mode.
    979 	* include/bits/allocator.h (__shrink_to_fit::_S_do_it):
    980 	Likewise.
    981 	* include/bits/stl_algobase.h (__fill_a1): Declare _Bit_iterator
    982 	overload constexpr for C++20.
    983 	* include/bits/stl_bvector.h (_Bit_type, _S_word_bit): Move out
    984 	of inline namespace.
    985 	(_Bit_reference, _Bit_iterator_base, _Bit_iterator)
    986 	(_Bit_const_iterator, _Bvector_impl_data, _Bvector_base)
    987 	(vector<bool, A>>): Add constexpr to every member function.
    988 	(_Bvector_base::_M_allocate): Initialize storage during constant
    989 	evaluation.
    990 	(vector<bool, A>::_M_initialize_value): Use __fill_bvector_n
    991 	instead of memset.
    992 	(__fill_bvector_n): New helper function to replace memset during
    993 	constant evaluation.
    994 	* include/bits/stl_uninitialized.h (__uninitialized_copy<false>):
    995 	Move logic to ...
    996 	(__do_uninit_copy): New function.
    997 	(__uninitialized_fill<false>): Move logic to ...
    998 	(__do_uninit_fill): New function.
    999 	(__uninitialized_fill_n<false>): Move logic to ...
   1000 	(__do_uninit_fill_n): New function.
   1001 	(__uninitialized_copy_a): Add constexpr. Use __do_uninit_copy.
   1002 	(__uninitialized_move_a, __uninitialized_move_if_noexcept_a):
   1003 	Add constexpr.
   1004 	(__uninitialized_fill_a): Add constexpr. Use __do_uninit_fill.
   1005 	(__uninitialized_fill_n_a): Add constexpr. Use
   1006 	__do_uninit_fill_n.
   1007 	(__uninitialized_default_n, __uninitialized_default_n_a)
   1008 	(__relocate_a_1, __relocate_a): Add constexpr.
   1009 	* include/bits/stl_vector.h (_Vector_impl_data, _Vector_impl)
   1010 	(_Vector_base, vector): Add constexpr to every member function.
   1011 	(_Vector_impl::_S_adjust): Disable ASan annotation during
   1012 	constant evaluation.
   1013 	(_Vector_base::_S_use_relocate): Disable bitwise-relocation
   1014 	during constant evaluation.
   1015 	(vector::_Temporary_value): Use a union for storage.
   1016 	* include/bits/vector.tcc (vector, vector<bool>): Add constexpr
   1017 	to every member function.
   1018 	* include/std/vector (erase_if, erase): Add constexpr.
   1019 	* testsuite/23_containers/headers/vector/synopsis.cc: Add
   1020 	constexpr for C++20 mode.
   1021 	* testsuite/23_containers/vector/bool/cmp_c++20.cc: Change to
   1022 	compile-only test using constant expressions.
   1023 	* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
   1024 	namespace for _S_word_bit.
   1025 	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
   1026 	Likewise.
   1027 	* testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
   1028 	* testsuite/23_containers/vector/cons/89164.cc: Adjust errors
   1029 	for C++20 and move C++17 test to ...
   1030 	* testsuite/23_containers/vector/cons/89164_c++17.cc: ... here.
   1031 	* testsuite/23_containers/vector/bool/capacity/constexpr.cc: New test.
   1032 	* testsuite/23_containers/vector/bool/cons/constexpr.cc: New test.
   1033 	* testsuite/23_containers/vector/bool/element_access/constexpr.cc: New test.
   1034 	* testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: New test.
   1035 	* testsuite/23_containers/vector/bool/modifiers/constexpr.cc: New test.
   1036 	* testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: New test.
   1037 	* testsuite/23_containers/vector/capacity/constexpr.cc: New test.
   1038 	* testsuite/23_containers/vector/cons/constexpr.cc: New test.
   1039 	* testsuite/23_containers/vector/data_access/constexpr.cc: New test.
   1040 	* testsuite/23_containers/vector/element_access/constexpr.cc: New test.
   1041 	* testsuite/23_containers/vector/modifiers/assign/constexpr.cc: New test.
   1042 	* testsuite/23_containers/vector/modifiers/constexpr.cc: New test.
   1043 	* testsuite/23_containers/vector/modifiers/swap/constexpr.cc: New test.
   1044 
   1045 2021-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1046 
   1047 	* include/debug/deque (deque::operator=(const deque&)): Remove
   1048 	definition.
   1049 	* include/debug/list (list::operator=(const list&)): Likewise.
   1050 	* include/debug/map.h (map::operator=(const map&)): Likewise.
   1051 	* include/debug/multimap.h (multimap::operator=(const multimap&)):
   1052 	Likewise.
   1053 	* include/debug/multiset.h (multiset::operator=(const multiset&)):
   1054 	Likewise.
   1055 	* include/debug/set.h (set::operator=(const set&)): Likewise.
   1056 	* include/debug/string (basic_string::operator=(const basic_string&)):
   1057 	Likewise.
   1058 	* include/debug/vector (vector::operator=(const vector&)):
   1059 	Likewise.
   1060 	(_Safe_vector::operator=(const _Safe_vector&)): Define for
   1061 	C++98 as well.
   1062 
   1063 2021-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1064 
   1065 	* include/std/memory_resource (memory_resource::allocate):
   1066 	Implicitly create objects in the returned storage.
   1067 
   1068 2021-11-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1069 
   1070 	* include/bits/stl_bvector.h (vector<bool>::data()): Give
   1071 	protected access, and delete for C++11 and later.
   1072 
   1073 2021-11-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1074 
   1075 	PR libstdc++/100117
   1076 	* testsuite/17_intro/headers/c++1998/49745.cc: Explicitly list
   1077 	all C++ headers instead of including <bits/stdc++.h>
   1078 
   1079 2021-11-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1080 
   1081 	PR libstdc++/100748
   1082 	PR libstdc++/103133
   1083 	* config/os/gnu-linux/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
   1084 	Define for glibc 2.34 and later.
   1085 
   1086 2021-11-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1087 
   1088 	* include/bits/hashtable_policy.h (__distance_fw): Replace class keyword with
   1089 	typename.
   1090 	* include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Remove noexcept
   1091 	qualification. Use const_iterator for node extraction/reinsert.
   1092 	(_Hashtable<>::_M_merge_multi): Likewise. Compute new hash code before extract.
   1093 	* include/debug/safe_container.h (_Safe_container<>): Make all methods
   1094 	protected.
   1095 	* include/debug/safe_unordered_container.h
   1096 	(_Safe_unordered_container<>::_UContInvalidatePred<_ExtractKey, _Source>): New.
   1097 	(_Safe_unordered_container<>::_UMContInvalidatePred<_ExtractKey, _Source>): New.
   1098 	(_Safe_unordered_container<>::_UContMergeGuard<_Source, _InvalidatePred>): New.
   1099 	(_Safe_unordered_container<>::_S_uc_guard<_ExtractKey, _Source>): New.
   1100 	(_Safe_unordered_container<>::_S_umc_guard<_ExtractKey, _Source>): New.
   1101 	(_Safe_unordered_container<>::_M_invalide_all): Make public.
   1102 	(_Safe_unordered_container<>::_M_invalide_if): Likewise.
   1103 	(_Safe_unordered_container<>::_M_invalide_local_if): Likewise.
   1104 	* include/debug/unordered_map
   1105 	(unordered_map<>::mapped_type, pointer, const_pointer): New typedef.
   1106 	(unordered_map<>::reference, const_reference, difference_type): New typedef.
   1107 	(unordered_map<>::get_allocator, empty, size, max_size): Add usings.
   1108 	(unordered_map<>::bucket_count, max_bucket_count, bucket): Add usings.
   1109 	(unordered_map<>::hash_function, key_equal, count, contains): Add usings.
   1110 	(unordered_map<>::operator[], at, rehash, reserve): Add usings.
   1111 	(unordered_map<>::merge): New.
   1112 	(unordered_multimap<>::mapped_type, pointer, const_pointer): New typedef.
   1113 	(unordered_multimap<>::reference, const_reference, difference_type): New typedef.
   1114 	(unordered_multimap<>::get_allocator, empty, size, max_size): Add usings.
   1115 	(unordered_multimap<>::bucket_count, max_bucket_count, bucket): Add usings.
   1116 	(unordered_multimap<>::hash_function, key_equal, count, contains): Add usings.
   1117 	(unordered_multimap<>::rehash, reserve): Add usings.
   1118 	(unordered_multimap<>::merge): New.
   1119 	* include/debug/unordered_set
   1120 	(unordered_set<>::mapped_type, pointer, const_pointer): New typedef.
   1121 	(unordered_set<>::reference, const_reference, difference_type): New typedef.
   1122 	(unordered_set<>::get_allocator, empty, size, max_size): Add usings.
   1123 	(unordered_set<>::bucket_count, max_bucket_count, bucket): Add usings.
   1124 	(unordered_set<>::hash_function, key_equal, count, contains): Add usings.
   1125 	(unordered_set<>::rehash, reserve): Add usings.
   1126 	(unordered_set<>::merge): New.
   1127 	(unordered_multiset<>::mapped_type, pointer, const_pointer): New typedef.
   1128 	(unordered_multiset<>::reference, const_reference, difference_type): New typedef.
   1129 	(unordered_multiset<>::get_allocator, empty, size, max_size): Add usings.
   1130 	(unordered_multiset<>::bucket_count, max_bucket_count, bucket): Add usings.
   1131 	(unordered_multiset<>::hash_function, key_equal, count, contains): Add usings.
   1132 	(unordered_multiset<>::rehash, reserve): Add usings.
   1133 	(unordered_multiset<>::merge): New.
   1134 	* testsuite/23_containers/unordered_map/debug/merge1_neg.cc: New test.
   1135 	* testsuite/23_containers/unordered_map/debug/merge2_neg.cc: New test.
   1136 	* testsuite/23_containers/unordered_map/debug/merge3_neg.cc: New test.
   1137 	* testsuite/23_containers/unordered_map/debug/merge4_neg.cc: New test.
   1138 	* testsuite/23_containers/unordered_multimap/debug/merge1_neg.cc: New test.
   1139 	* testsuite/23_containers/unordered_multimap/debug/merge2_neg.cc: New test.
   1140 	* testsuite/23_containers/unordered_multimap/debug/merge3_neg.cc: New test.
   1141 	* testsuite/23_containers/unordered_multimap/debug/merge4_neg.cc: New test.
   1142 	* testsuite/23_containers/unordered_multiset/debug/merge1_neg.cc: New test.
   1143 	* testsuite/23_containers/unordered_multiset/debug/merge2_neg.cc: New test.
   1144 	* testsuite/23_containers/unordered_multiset/debug/merge3_neg.cc: New test.
   1145 	* testsuite/23_containers/unordered_multiset/debug/merge4_neg.cc: New test.
   1146 	* testsuite/23_containers/unordered_set/debug/merge1_neg.cc: New test.
   1147 	* testsuite/23_containers/unordered_set/debug/merge2_neg.cc: New test.
   1148 	* testsuite/23_containers/unordered_set/debug/merge3_neg.cc: New test.
   1149 	* testsuite/23_containers/unordered_set/debug/merge4_neg.cc: New test.
   1150 	* testsuite/util/testsuite_abi.h: [_GLIBCXX_DEBUG] Use normal unordered
   1151 	container implementation.
   1152 
   1153 2021-11-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1154 
   1155 	* testsuite/26_numerics/random/random_device/cons/token.cc:
   1156 	Print results of random_device_available checks.
   1157 
   1158 2021-11-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1159 
   1160 	PR libstdc++/103146
   1161 	* src/c++11/random.cc: Check __powerpc64__ not __powerpc__.
   1162 
   1163 2021-11-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1164 
   1165 	* acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
   1166 	Define.
   1167 	* configure.ac (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
   1168 	Use them.
   1169 	* config.h.in: Regenerate.
   1170 	* configure: Regenerate.
   1171 	* src/c++11/random.cc (random_device): Add getentropy and
   1172 	arc4random as sources.
   1173 	* testsuite/26_numerics/random/random_device/cons/token.cc:
   1174 	Check new tokens.
   1175 	* testsuite/26_numerics/random/random_device/entropy.cc:
   1176 	Likewise.
   1177 
   1178 2021-11-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1179 
   1180 	* testsuite/26_numerics/random/random_device/cons/token.cc:
   1181 	Retry if random devices produce the same value.
   1182 
   1183 2021-11-09  Rasmus Villemoes  <rasmus.villemoes (a] prevas.dk>
   1184 
   1185 	* config/os/vxworks/os_defines.h (_GLIBCXX_HAVE_TLS): Only
   1186 	define for VxWorks >= 6.6.
   1187 
   1188 2021-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1189 
   1190 	* include/bits/range_access.h (begin(valarray), end(valarray)):
   1191 	Add noexcept.
   1192 
   1193 2021-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1194 
   1195 	* include/std/tuple (tuple_size_v): Fix pack expansion.
   1196 
   1197 2021-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1198 
   1199 	* src/c++11/random.cc (__x86_rdrand, __x86_rdseed): Add
   1200 	[[unlikely]] attribute.
   1201 
   1202 2021-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1203 
   1204 	* src/c++11/random.cc [__powerpc__] (USE_DARN): Define.
   1205 	(__ppc_darn): New function to use POWER9 DARN instruction.
   1206 	(Which): Add 'darn' enumerator.
   1207 	(which_source): Check for __ppc_darn.
   1208 	(random_device::_M_init): Support "darn" and "hw" tokens.
   1209 	(random_device::_M_getentropy): Add darn to switch.
   1210 	* testsuite/26_numerics/random/random_device/cons/token.cc:
   1211 	Check "darn" token.
   1212 	* testsuite/26_numerics/random/random_device/entropy.cc:
   1213 	Likewise.
   1214 
   1215 2021-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1216 
   1217 	* testsuite/lib/gdb-test.exp: Add target selector support to the
   1218 	dg-final directives.
   1219 	* testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
   1220 	C++20.
   1221 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
   1222 	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Tweak
   1223 	comment.
   1224 
   1225 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1226 
   1227 	PR libstdc++/103086
   1228 	* python/libstdcxx/v6/printers.py (_tuple_impl_get): New helper
   1229 	for accessing the tuple element stored in a _Tuple_impl node.
   1230 	(tuple_get): New function for accessing a tuple element.
   1231 	(unique_ptr_get): New function for accessing a unique_ptr.
   1232 	(UniquePointerPrinter, StdPathPrinter): Use unique_ptr_get.
   1233 	* python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Cast
   1234 	tuple to its base class before accessing _M_head_impl.
   1235 
   1236 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1237 
   1238 	* doc/xml/manual/evolution.xml: Document deprecations.
   1239 	* doc/html/*: Regenerate.
   1240 	* libsupc++/exception (unexpected_handler, unexpected)
   1241 	(get_unexpected, set_unexpected): Add deprecated attribute.
   1242 	Do not define without _GLIBCXX_USE_DEPRECATED for C++17 and up.
   1243 	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Disable
   1244 	deprecated warnings.
   1245 	* libsupc++/eh_ptr.cc (std::rethrow_exception): Likewise.
   1246 	* libsupc++/eh_terminate.cc: Likewise.
   1247 	* libsupc++/eh_throw.cc (__cxa_init_primary_exception):
   1248 	Likewise.
   1249 	* libsupc++/unwind-cxx.h (struct __cxa_exception): Use
   1250 	terminate_handler instead of unexpected_handler.
   1251 	(struct __cxa_dependent_exception): Likewise.
   1252 	(__unexpected): Likewise.
   1253 	* testsuite/18_support/headers/exception/synopsis.cc: Add
   1254 	dg-warning for deprecated warning.
   1255 	* testsuite/18_support/exception_ptr/60612-unexpected.cc:
   1256 	Disable deprecated warnings.
   1257 	* testsuite/18_support/set_unexpected.cc: Likewise.
   1258 	* testsuite/18_support/unexpected_handler.cc: Likewise.
   1259 
   1260 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1261 
   1262 	* include/bits/utility.h (__find_uniq_type_in_pack): Move
   1263 	definition to here, ...
   1264 	* include/std/tuple (__find_uniq_type_in_pack): ... from here.
   1265 	* include/std/variant (__detail__variant::__index_of): Remove.
   1266 	(__detail::__variant::__exactly_once): Define using
   1267 	__find_uniq_type_in_pack instead of __index_of.
   1268 	(get<T>, get_if<T>, variant::__index_of): Likewise.
   1269 
   1270 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1271 
   1272 	* include/bits/stl_pair.h (tuple_size_v): Define partial
   1273 	specializations for std::pair.
   1274 	* include/bits/utility.h (_Nth_type): Move definition here
   1275 	and define primary template.
   1276 	(tuple_size_v): Move definition here.
   1277 	* include/std/array (tuple_size_v): Define partial
   1278 	specializations for std::array.
   1279 	* include/std/tuple (tuple_size_v): Move primary template to
   1280 	<bits/utility.h>.  Define partial specializations for
   1281 	std::tuple.
   1282 	(tuple_element): Change definition to use _Nth_type.
   1283 	* include/std/variant (_Nth_type): Move to <bits/utility.h>.
   1284 	(variant_alternative, variant): Adjust qualification of
   1285 	_Nth_type.
   1286 	* testsuite/20_util/tuple/element_access/get_neg.cc: Prune
   1287 	additional errors from _Nth_type.
   1288 
   1289 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1290 
   1291 	* include/std/variant (__detail::__variant::__emplace): New
   1292 	function template.
   1293 	(_Copy_assign_base::operator=): Reorder conditions to match
   1294 	bulleted list of effects in the standard. Use __emplace instead
   1295 	of _M_reset followed by _Construct.
   1296 	(_Move_assign_base::operator=): Likewise.
   1297 	(__construct_by_index): Remove.
   1298 	(variant::emplace): Use __emplace instead of _M_reset followed
   1299 	by __construct_by_index.
   1300 	(variant::swap): Hoist valueless cases out of visitor. Use
   1301 	__emplace to replace _M_reset followed by _Construct.
   1302 
   1303 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1304 
   1305 	* include/std/variant (_Nth_type): Define partial
   1306 	specializations to reduce number of instantiations.
   1307 	(variant_size_v): Define partial specializations to avoid
   1308 	instantiations.
   1309 	(variant_alternative): Use _Nth_type. Add static assert.
   1310 	(__tuple_count, __tuple_count_v): Replace with ...
   1311 	(__count): New variable template.
   1312 	(_Variant_union): Add deleted constructor.
   1313 	(variant::__to_type): Use _Nth_type.
   1314 	(variant::emplace): Use _Nth_type. Add deleted overloads for
   1315 	invalid types and indices.
   1316 
   1317 2021-11-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1318 
   1319 	PR libstdc++/102912
   1320 	* include/std/variant (_Variant_storage::__index_of): Remove.
   1321 	(__variant_construct_single): Remove.
   1322 	(__variant_construct): Remove.
   1323 	(_Copy_ctor_base::_Copy_ctor_base(const _Copy_ctor_base&)): Do
   1324 	construction directly instead of using __variant_construct.
   1325 	(_Move_ctor_base::_Move_ctor_base(_Move_ctor_base&&)): Likewise.
   1326 	(_Move_ctor_base::_M_destructive_move()): Remove.
   1327 	(_Move_ctor_base::_M_destructive_copy()): Remove.
   1328 	(_Copy_assign_base::operator=(const _Copy_assign_base&)): Do
   1329 	construction directly instead of using _M_destructive_copy.
   1330 	(variant::swap): Do construction directly instead of using
   1331 	_M_destructive_move.
   1332 	* testsuite/20_util/variant/102912.cc: New test.
   1333 
   1334 2021-11-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1335 
   1336 	PR libstdc++/66742
   1337 	* include/bits/list.tcc (list::sort): Use mutable iterators for
   1338 	comparisons.
   1339 	* include/bits/stl_list.h (_Scratch_list::_Ptr_cmp): Likewise.
   1340 	* testsuite/23_containers/list/operations/66742.cc: Check
   1341 	non-const comparisons.
   1342 
   1343 2021-11-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1344 
   1345 	* include/std/valarray (valarray::valarray()): Add noexcept.
   1346 	(valarray::operator[]): Likewise.
   1347 
   1348 2021-11-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1349 
   1350 	* include/debug/stl_iterator.h (__valid_range): Add constexpr
   1351 	for C++20. Qualify call to avoid ADL.
   1352 	(__get_distance, __can_advance, __unsafe, __base): Likewise.
   1353 	* testsuite/25_algorithms/move/constexpr.cc: Also check with
   1354 	std::reverse_iterator arguments.
   1355 
   1356 2021-11-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1357 
   1358 	* include/std/span (span(Range&&)): Reorder constraints.
   1359 
   1360 2021-11-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1361 
   1362 	PR libstdc++/103022
   1363 	* include/std/valarray (begin, end): Do not dereference an empty
   1364 	valarray. Add noexcept and [[nodiscard]].
   1365 	* testsuite/26_numerics/valarray/range_access.cc: Check empty
   1366 	valarray. Check iterator properties. Run as well as compiling.
   1367 	* testsuite/26_numerics/valarray/range_access2.cc: Likewise.
   1368 	* testsuite/26_numerics/valarray/103022.cc: New test.
   1369 
   1370 2021-10-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1371 
   1372 	* testsuite/23_containers/stack/deduction.cc: Fix typo.
   1373 
   1374 2021-10-26  Martin Sebor  <msebor (a] redhat.com>
   1375 
   1376 	* testsuite/21_strings/basic_string/capacity/1.cc: Also suppress
   1377 	-Wstringop-overread.
   1378 	* testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: Same.
   1379 
   1380 2021-10-26  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1381 
   1382 	* testsuite/28_regex/basic_regex/84110.cc (test01)
   1383 	[__cpp_exceptions]: Disambiguate extended.
   1384 
   1385 2021-10-26  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1386 
   1387 	* testsuite/17_intro/names.cc [__sun__] (r, x): Undef.
   1388 
   1389 2021-10-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1390 
   1391 	PR libstdc++/102894
   1392 	* include/std/any (make_any): Add SFINAE constraint.
   1393 	* testsuite/20_util/any/102894.cc: New test.
   1394 
   1395 2021-10-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1396 
   1397 	* doc/doxygen/stdheader.cc: Refactor. Use C++23. Add new
   1398 	headers.
   1399 	* scripts/run_doxygen: Fix post-processing of #include
   1400 	directives in man pages. Use new xg++ to compile helper program.
   1401 
   1402 2021-10-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1403 
   1404 	* include/bits/mofunc_impl.h: Add doxygen comments.
   1405 	* include/std/functional: Likewise.
   1406 
   1407 2021-10-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1408 
   1409 	* include/bits/alloc_traits.h: Suppress doxygen documentation.
   1410 	* include/bits/allocated_ptr.h: Likewise.
   1411 	* include/bits/enable_special_members.h: Likewise.
   1412 	* include/bits/hashtable.h: Likewise.
   1413 	* include/bits/hashtable_policy.h: Likewise.
   1414 	* include/bits/uses_allocator.h: Likewise.
   1415 	* include/bits/node_handle.h: Document node handles and suppress
   1416 	documentation for protected members.
   1417 	* include/std/any: Suppress documentation for implementation
   1418 	details.
   1419 
   1420 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1421 
   1422 	PR libstdc++/102358
   1423 	* include/bits/stl_iterator.h (__niter_base): Make constexpr
   1424 	for C++20.
   1425 	(__miter_base): Likewise.
   1426 	* testsuite/25_algorithms/move/constexpr.cc: New test.
   1427 
   1428 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1429 
   1430 	* include/std/ranges (istream_view): Replace this function
   1431 	template with an alias template as per P2432R1.
   1432 	(wistream_view): Define as per P2432R1.
   1433 	(views::_Istream, views::istream): Likewise.
   1434 	* testsuite/std/ranges/istream_view.cc (test07): New test.
   1435 
   1436 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1437 
   1438 	* include/bits/ranges_util.h (views::_Drop): Forward declare.
   1439 	(subrange): Befriend views::_Drop.
   1440 	(subrange::_S_store_size): Declare constexpr instead of just
   1441 	const, remove obsolete comment.
   1442 	* include/std/ranges (views::__detail::__is_empty_view): Define.
   1443 	(views::__detail::__is_basic_string_view): Likewise.
   1444 	(views::__detail::__is_subrange): Likewise.
   1445 	(views::__detail::__is_iota_view): Likewise.
   1446 	(views::__detail::__can_take_view): Rename template parm _Tp to _Dp.
   1447 	(views::_Take): Rename template parm _Tp to _Dp, make it non-deducible
   1448 	and fix it to range_difference_t<_Range>.  Implement P1739R4 and
   1449 	LWG 3407 changes.
   1450 	(views::__detail::__can_drop_view): Rename template parm _Tp to _Dp.
   1451 	(views::_Drop): As with views::_Take.
   1452 	(views::_Counted): Implement P1739R4 changes.
   1453 	* include/std/span (__detail::__is_std_span): Rename to ...
   1454 	(__detail::__is_span): ... this and turn it into a variable
   1455 	template.
   1456 	(__detail::__is_std_array): Turn it into a variable template.
   1457 	(span::span): Adjust uses of __is_std_span and __is_std_array
   1458 	accordingly.
   1459 	* testsuite/std/ranges/adaptors/p1739.cc: New test.
   1460 
   1461 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1462 
   1463 	* include/bits/stl_iterator.h (common_iterator::__arrow_proxy):
   1464 	Make fully constexpr as per LWG 3595.
   1465 	(common_iterator::__postfix_proxy): Likewise.
   1466 
   1467 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1468 
   1469 	* include/std/ranges (lazy_split_view::base): Add forward_range
   1470 	constraint as per LWG 3591.
   1471 	(lazy_split_view::begin, lazy_split_view::end): Also check
   1472 	simpleness of _Pattern as per LWG 3592.
   1473 	(split_view::base): Relax copyable constraint as per LWG 3590.
   1474 
   1475 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1476 
   1477 	* include/std/ranges (join_view::__iter_cat::_S_iter_cat): Adjust
   1478 	criteria for returning bidirectional_iterator_tag as per LWG 3535.
   1479 	(join_view::_Iterator::_S_iter_concept): Likewise.
   1480 
   1481 2021-10-21  Patrick Palka  <ppalka (a] redhat.com>
   1482 
   1483 	* include/bits/ranges_base.h (viewable_range): Adjust as per
   1484 	LWG 3481.
   1485 	* testsuite/std/ranges/adaptors/all.cc (test07): New test.
   1486 
   1487 2021-10-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1488 
   1489 	PR libstdc++/102863
   1490 	* include/std/optional (optional::and_then, optional::transform):
   1491 	Remove requires-clause.
   1492 	* testsuite/20_util/optional/monadic/and_then.cc: Check
   1493 	overload resolution doesn't cause errors.
   1494 	* testsuite/20_util/optional/monadic/transform.cc: Likewise.
   1495 
   1496 2021-10-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1497 
   1498 	* testsuite/20_util/optional/monadic/transform.cc: Check that
   1499 	an rvalue result is not materialized too soon.
   1500 
   1501 2021-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1502 
   1503 	* include/std/ranges (iota_view::_Iterator::operator+): Adjust
   1504 	definition as per LWG 3580.
   1505 	(iota_view::_Iterator::operator-): Likewise.
   1506 
   1507 2021-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1508 
   1509 	* include/std/ranges (basic_istream_view::_M_object): Value
   1510 	initialize as per LWG 3568.
   1511 
   1512 2021-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1513 
   1514 	* include/bits/ranges_util.h
   1515 	(__detail::__uses_nonqualification_pointer_conversion): Define
   1516 	and use it ...
   1517 	(__detail::__convertible_to_nonslicing): ... here, as per LWG 3470.
   1518 	* testsuite/std/ranges/subrange/1.cc: New test.
   1519 
   1520 2021-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1521 
   1522 	* include/std/ranges (iota_view::_Iterator): Befriend iota_view.
   1523 	(iota_view::_Sentinel): Likewise.
   1524 	(iota_view::iota_view): Add three overloads, each taking an
   1525 	iterator/sentinel pair as per LWG 3523.
   1526 	* testsuite/std/ranges/iota/iota_view.cc (test06): New test.
   1527 
   1528 2021-10-19  Patrick Palka  <ppalka (a] redhat.com>
   1529 
   1530 	* include/bits/ranges_base.h (view_interface): Forward declare.
   1531 	(__detail::__is_derived_from_view_interface_fn): Declare.
   1532 	(__detail::__is_derived_from_view_interface): Define as per LWG 3549.
   1533 	(enable_view): Adjust as per LWG 3549.
   1534 	* include/bits/ranges_util.h (view_interface): Don't derive from
   1535 	view_base.
   1536 	* include/std/ranges (filter_view): Revert r11-3504 change.
   1537 	(transform_view): Likewise.
   1538 	(take_view): Likewise.
   1539 	(take_while_view): Likewise.
   1540 	(drop_view): Likewise.
   1541 	(drop_while_view): Likewise.
   1542 	(join_view): Likewise.
   1543 	(lazy_split_view): Likewise.
   1544 	(split_view): Likewise.
   1545 	(reverse_view): Likewise.
   1546 	* testsuite/std/ranges/adaptors/sizeof.cc: Update expected sizes.
   1547 	* testsuite/std/ranges/view.cc (test_view::test_view): Remove
   1548 	this default ctor since views no longer need to be default initable.
   1549 	(test01): New test.
   1550 
   1551 2021-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1552 
   1553 	* src/c++11/random.cc (which_source): New helper function.
   1554 	(random_device::_M_getentropy()): Use which_source and return
   1555 	suitable values for sources other than device files.
   1556 	* testsuite/26_numerics/random/random_device/entropy.cc: New test.
   1557 
   1558 2021-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1559 
   1560 	* doc/Makefile.am (stamp-html-doxygen, stamp-html-doxygen)
   1561 	(stamp-latex-doxygen, stamp-man-doxygen): Fix recipes for
   1562 	relative ${top_srcdir}.
   1563 	* doc/Makefile.in: Regenerate.
   1564 
   1565 2021-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1566 
   1567 	* include/std/variant (_Uninitialized): Use an empty struct
   1568 	for the unused union member, instead of char.
   1569 
   1570 2021-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1571 
   1572 	* include/bits/stl_stack.h (stack(Iterator, Iterator)): Remove
   1573 	non-deducible template parameter from deduction guide.
   1574 	* testsuite/23_containers/stack/deduction.cc: Check new C++23
   1575 	deduction guides.
   1576 
   1577 2021-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1578 
   1579 	* include/std/optional (_Optional_payload_base::_Storage): Add
   1580 	constructor taking a callable function to invoke.
   1581 	(_Optional_payload_base::_M_apply): New function.
   1582 	(__cpp_lib_monadic_optional): Define for C++23.
   1583 	(optional::and_then, optional::transform, optional::or_else):
   1584 	Define for C++23.
   1585 	* include/std/ranges (__detail::__cached): Remove.
   1586 	(__detail::__non_propagating_cache): Remove use of __cached for
   1587 	contained value. Use _Optional_payload_base::_M_construct and
   1588 	_Optional_payload_base::_M_apply to set the contained value.
   1589 	* include/std/version (__cpp_lib_monadic_optional): Define.
   1590 	* testsuite/20_util/optional/monadic/and_then.cc: New test.
   1591 	* testsuite/20_util/optional/monadic/or_else.cc: New test.
   1592 	* testsuite/20_util/optional/monadic/or_else_neg.cc: New test.
   1593 	* testsuite/20_util/optional/monadic/transform.cc: New test.
   1594 	* testsuite/20_util/optional/monadic/version.cc: New test.
   1595 
   1596 2021-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1597 
   1598 	PR libstdc++/102825
   1599 	* include/bits/mofunc_impl.h (move_only_function): Remove
   1600 	invalid base initializer.
   1601 	* testsuite/20_util/move_only_function/cons.cc: Instantiate
   1602 	constructors to check bodies.
   1603 
   1604 2021-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1605 
   1606 	* include/bits/fs_path.h (path::_S_convert(T)): Avoid recursive
   1607 	call to function with deduced return type.
   1608 
   1609 2021-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1610 
   1611 	* include/bits/basic_string.h (__cpp_lib_string_resize_and_overwrite):
   1612 	Define for C++23.
   1613 	(basic_string::resize_and_overwrite): Declare.
   1614 	* include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
   1615 	Define.
   1616 	* include/std/version (__cpp_lib_resize_and_overwrite): Define
   1617 	for C++23.
   1618 	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
   1619 	New test.
   1620 
   1621 2021-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1622 
   1623 	PR libstdc++/101263
   1624 	* include/std/ranges (__cached): New wrapper struct.
   1625 	(__non_propagating_cache): Use __cached for contained value.
   1626 	(__non_propagating_cache::_M_emplace_deref): Add constexpr. Use
   1627 	std::construct_at instead of placement new.
   1628 	* testsuite/std/ranges/adaptors/join.cc: Check constexpr works.
   1629 
   1630 2021-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1631 
   1632 	* include/std/variant (__cpp_lib_variant): Update value for
   1633 	C++20.
   1634 	(__variant_cast, __variant_construct): Add constexpr for C++20.
   1635 	(__variant_construct_single, __construct_by_index) Likewise. Use
   1636 	std::_Construct instead of placement new.
   1637 	(_Uninitialized<T, false>) [__cplusplus >= 202002]: Replace
   1638 	buffer with a union and define a destructor.
   1639 	(_Variadic_union) [__cplusplus >= 202002]: Add a specialization
   1640 	for non-trivial destruction.
   1641 	(_Variant_storage::__index_of): New helper variable template.
   1642 	(_Variant_storage::~_Variant_storage()): Add constexpr.
   1643 	(_Variant_storage::_M_reset()): Likewise.
   1644 	(_Copy_ctor_base, _Move_ctor_base): Likewise.
   1645 	(_Copy_assign_base, _Move_assign_base): Likewise.
   1646 	(variant, swap): Likewise.
   1647 	* include/std/version (__cpp_lib_variant): Update value for
   1648 	C++20.
   1649 	* testsuite/20_util/optional/version.cc: Check for exact value
   1650 	in C++17.
   1651 	* testsuite/20_util/variant/87619.cc: Increase timeout for
   1652 	C++20 mode.
   1653 	* testsuite/20_util/variant/constexpr.cc: New test.
   1654 	* testsuite/20_util/variant/version.cc: New test.
   1655 
   1656 2021-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1657 
   1658 	* include/std/variant (__detail::__variant::__get_storage):
   1659 	Remove unused function.
   1660 	(__variant_construct_by_index): Set index after construction is
   1661 	complete. Rename to ...
   1662 	(__detail::__variant::__construct_by_index): ... this.
   1663 	(variant): Use new name for __variant_construct_by_index friend
   1664 	declaration. Remove __get_storage friend declaration.
   1665 	(variant::emplace): Use new name and remove try-blocks.
   1666 
   1667 2021-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1668 
   1669 	* include/std/variant (_Variant_storage::_M_storage()): Remove.
   1670 	(__detail::__variant::__get_storage): Remove.
   1671 	(variant): Remove friend declaration of __get_storage.
   1672 
   1673 2021-10-15  Jason Merrill  <jason (a] redhat.com>
   1674 
   1675 	* testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
   1676 	* testsuite/20_util/integer_comparisons/greater_neg.cc:
   1677 	* testsuite/20_util/integer_comparisons/less_equal_neg.cc:
   1678 	Adjust expected message.
   1679 	* testsuite/lib/prune.exp: Prune 'in constexpr expansion'.
   1680 
   1681 2021-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1682 
   1683 	* include/std/variant (__variant::__get(in_place_index_t<N>, U&&)):
   1684 	Rename to __get_n and remove first argument. Replace pair of
   1685 	overloads with a single function using 'if constexpr'.
   1686 	(__variant::__get(Variant&&)): Adjust to use __get_n.
   1687 
   1688 2021-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1689 
   1690 	* include/bits/fs_path.h (path(path&&)): Make unconditionally
   1691 	noexcept.
   1692 	(path::_S_convert(T)): Add condtional noexcept.
   1693 
   1694 2021-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1695 
   1696 	PR libstdc++/102743
   1697 	* include/bits/fs_path.h (path::_S_convert(T)): Fix condition
   1698 	for returning the same string unchanged.
   1699 
   1700 2021-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1701 
   1702 	* include/bits/regex.h: Check __cpp_inline_variables instead of
   1703 	__cplusplus.
   1704 
   1705 2021-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1706 
   1707 	* testsuite/20_util/is_layout_compatible/version.cc: Check
   1708 	correct macro.
   1709 
   1710 2021-10-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1711 
   1712 	* include/bits/stl_construct.h (_Construct): Use
   1713 	std::construct_at when constant evaluated.
   1714 	* include/std/optional (_Storage, _Optional_payload, optional):
   1715 	Add constexpr as specified by P2231R1.
   1716 	* include/std/version (__cpp_lib_optional): Update value for
   1717 	C++20.
   1718 	* testsuite/20_util/optional/requirements.cc: Check feature test
   1719 	macro.
   1720 	* testsuite/20_util/optional/constexpr/assign.cc: New test.
   1721 	* testsuite/20_util/optional/constexpr/cons/conv.cc: New test.
   1722 	* testsuite/20_util/optional/constexpr/modifiers.cc: New test.
   1723 	* testsuite/20_util/optional/constexpr/swap.cc: New test.
   1724 	* testsuite/20_util/optional/version.cc: New test.
   1725 
   1726 2021-10-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1727 
   1728 	* include/bits/fs_path.h (__detail::__is_contiguous): Add
   1729 	partial specializations for pointers and __normal_iterator.
   1730 
   1731 2021-10-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1732 
   1733 	* testsuite/27_io/filesystem/path/construct/102592.C: Moved to...
   1734 	* testsuite/27_io/filesystem/path/construct/102592.cc: ...here.
   1735 	* testsuite/28_regex/match_results/102667.C: Moved to...
   1736 	* testsuite/28_regex/match_results/102667.cc: ...here.
   1737 
   1738 2021-10-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1739 
   1740 	* include/bits/fs_path.h (__detail::__is_contiguous): New
   1741 	variable template to identify contiguous iterators.
   1742 	(__detail::__unified_char8_t): New alias template to decide when
   1743 	to treat char8_t as char without encoding conversion.
   1744 	(__detail::__effective_range(const basic_string<C,T>&)): Use
   1745 	std::char_traits<C> for returned string view.
   1746 	(__detail::__effective_range(const basic_string_view<C,T>&)):
   1747 	Likewise.
   1748 	(__detail::__effective_range(const Source&)): Use
   1749 	__is_contiguous to detect mode cases of contiguous iterators.
   1750 	Use __unified_char8_t to return a std::string instead of
   1751 	std::u8string.
   1752 
   1753 2021-10-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1754 
   1755 	PR libstdc++/102592
   1756 	* include/bits/fs_path.h (path::path(Iter, Iter, format))
   1757 	(path::append(Iter, Iter), path::concat(Iter, Iter)): Call
   1758 	__string_from_range directly, instead of two-argument overload
   1759 	of _S_convert.
   1760 	(path::_S_convert(Iter, Iter)): Remove.
   1761 	* testsuite/27_io/filesystem/path/construct/102592.C: New test.
   1762 
   1763 2021-10-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1764 
   1765 	* include/bits/c++config (__terminate): Add extern "C++".
   1766 
   1767 2021-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1768 
   1769 	* testsuite/20_util/tuple/comparison_operators/overloaded.cc:
   1770 	Restore test for operator<.
   1771 	* testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
   1772 	Adjust expected errors for C++20.
   1773 
   1774 2021-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1775 
   1776 	PR libstdc++/101960
   1777 	* include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Define as
   1778 	defauled.
   1779 	* testsuite/20_util/tuple/cons/101960.cc: Check tuples with
   1780 	array elements before the last element.
   1781 
   1782 2021-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1783 
   1784 	* include/bits/stl_iterator_base_funcs.h (__advance): Add
   1785 	deleted overload to improve diagnostics.
   1786 	(__distance): Likewise.
   1787 
   1788 2021-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1789 
   1790 	* include/bits/atomic_timed_wait.h: Remove unused header.
   1791 	* include/bits/c++config (std:__terminate): Define.
   1792 	* include/bits/semaphore_base.h: Remove <exception> and use
   1793 	__terminate instead of terminate.
   1794 	* include/bits/std_thread.h: Likewise.
   1795 	* libsupc++/eh_terminate.cc (std::terminate): Use qualified-id
   1796 	to call __cxxabiv1::__terminate.
   1797 
   1798 2021-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1799 
   1800 	* include/bits/regex.h (basic_regex::assign(Iter, Iter)): Avoid
   1801 	std::__to_address by using poitner directly or using base()
   1802 	member of __normal_iterator.
   1803 
   1804 2021-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1805 
   1806 	* testsuite/18_support/numeric_limits/lowest.cc: Use
   1807 	numeric_limits<T>::is_integer instead of is_integral<T>::value.
   1808 
   1809 2021-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1810 
   1811 	PR libstdc++/89927
   1812 	* include/bits/regex.h (basic_regex(const _Ch_type*, size_t)):
   1813 	Add __glibcxx_requires_string_len assertion.
   1814 	(basic_regex::assign(InputIterator, InputIterator)): Add
   1815 	__glibcxx_requires_valid_range assertion.
   1816 	* include/bits/regex_scanner.tcc (_Scanner::_M_advance())
   1817 	(_Scanner::_M_scan_normal()): Use string literal in assertions.
   1818 
   1819 2021-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1820 
   1821 	PR libstdc++/102667
   1822 	* include/bits/regex.h (match_result::empty()): Optimize by
   1823 	calling the base function directly.
   1824 	(match_results::end()): Check _Base_type::empty() not empty().
   1825 	* testsuite/28_regex/match_results/102667.C: New test.
   1826 
   1827 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1828 
   1829 	PR libstdc++/98725
   1830 	* testsuite/18_support/numeric_limits/lowest.cc: Remove use of
   1831 	_GLIBCXX_USE_WCHAR_T.
   1832 	* testsuite/18_support/numeric_limits/min_max.cc: Replace use of
   1833 	_GLIBCXX_USE_WCHAR_T with checks for WCHAR_MIN and WCHAR_MAX.
   1834 	* testsuite/20_util/from_chars/1_neg.cc: Remove use of
   1835 	_GLIBCXX_USE_WCHAR_T.
   1836 	* testsuite/20_util/function_objects/searchers.cc: Likewise. Use
   1837 	char_traits<wchar_t>::length instead of wcslen.
   1838 	* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
   1839 	Likewise.
   1840 	* testsuite/20_util/is_arithmetic/value.cc: Likewise.
   1841 	* testsuite/20_util/is_compound/value.cc: Likewise.
   1842 	* testsuite/20_util/is_floating_point/value.cc: Likewise.
   1843 	* testsuite/20_util/is_fundamental/value.cc: Likewise.
   1844 	* testsuite/20_util/is_integral/value.cc: Likewise.
   1845 	* testsuite/20_util/is_signed/value.cc: Likewise.
   1846 	* testsuite/20_util/is_unsigned/value.cc: Likewise.
   1847 	* testsuite/20_util/is_void/value.cc: Likewise.
   1848 	* testsuite/20_util/make_signed/requirements/typedefs-1.cc:
   1849 	Likewise.
   1850 	* testsuite/20_util/make_signed/requirements/typedefs-2.cc:
   1851 	Likewise.
   1852 	* testsuite/20_util/make_signed/requirements/typedefs-3.cc:
   1853 	Likewise.
   1854 	* testsuite/20_util/make_signed/requirements/typedefs-4.cc:
   1855 	Likewise.
   1856 	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
   1857 	Likewise.
   1858 	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
   1859 	Likewise.
   1860 	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
   1861 	Likewise.
   1862 	* testsuite/20_util/to_chars/3.cc: Likewise.
   1863 	* testsuite/20_util/type_identity/requirements/typedefs.cc:
   1864 	Likewise.
   1865 	* testsuite/21_strings/basic_string/hash/debug.cc: Likewise.
   1866 	* testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
   1867 	* testsuite/21_strings/basic_string/literals/types-char8_t.cc:
   1868 	Likewise.
   1869 	* testsuite/21_strings/basic_string/literals/types.cc: Likewise.
   1870 	* testsuite/21_strings/basic_string/literals/values-char8_t.cc:
   1871 	Likewise.
   1872 	* testsuite/21_strings/basic_string/literals/values.cc:
   1873 	Likewise.
   1874 	* testsuite/21_strings/basic_string/modifiers/64422.cc:
   1875 	Likewise.
   1876 	* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
   1877 	Likewise.
   1878 	* testsuite/21_strings/basic_string/requirements/citerators.cc:
   1879 	Likewise.
   1880 	* testsuite/21_strings/basic_string/requirements/typedefs.cc:
   1881 	Likewise.
   1882 	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
   1883 	Likewise.
   1884 	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
   1885 	Likewise.
   1886 	* testsuite/21_strings/basic_string_view/literals/types.cc:
   1887 	Likewise.
   1888 	* testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
   1889 	Likewise.
   1890 	* testsuite/21_strings/basic_string_view/literals/values.cc:
   1891 	Likewise.
   1892 	* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
   1893 	Likewise.
   1894 	* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
   1895 	* testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
   1896 	Likewise.
   1897 	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
   1898 	Likewise.
   1899 	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
   1900 	Likewise.
   1901 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise.
   1902 	* testsuite/25_algorithms/fill/4.cc: Likewise.
   1903 	* testsuite/25_algorithms/fill_n/1.cc: Likewise.
   1904 	* testsuite/experimental/functional/searchers.cc: Likewise. Use
   1905 	char_traits<wchar_t>::length instead of wcslen.
   1906 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
   1907 	Likewise.
   1908 	* testsuite/experimental/string_view/literals/types-char8_t.cc:
   1909 	Likewise.
   1910 	* testsuite/experimental/string_view/literals/types.cc:
   1911 	Likewise.
   1912 	* testsuite/experimental/string_view/literals/values-char8_t.cc:
   1913 	Likewise.
   1914 	* testsuite/experimental/string_view/literals/values.cc:
   1915 	Likewise.
   1916 	* testsuite/experimental/string_view/range_access/wchar_t/1.cc:
   1917 	Likewise.
   1918 	* testsuite/experimental/string_view/requirements/typedefs.cc:
   1919 	Likewise.
   1920 	* testsuite/experimental/string_view/typedefs.cc: Likewise.
   1921 	* testsuite/ext/vstring/range_access.cc: Likewise.
   1922 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
   1923 	Likewise.
   1924 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc:
   1925 	Likewise.
   1926 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc:
   1927 	Likewise.
   1928 	* testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc:
   1929 	Likewise.
   1930 	* testsuite/tr1/4_metaprogramming/is_compound/value.cc:
   1931 	Likewise.
   1932 	* testsuite/tr1/4_metaprogramming/is_floating_point/value.cc:
   1933 	Likewise.
   1934 	* testsuite/tr1/4_metaprogramming/is_fundamental/value.cc:
   1935 	Likewise.
   1936 	* testsuite/tr1/4_metaprogramming/is_integral/value.cc:
   1937 	Likewise.
   1938 	* testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
   1939 	* testsuite/tr1/4_metaprogramming/is_unsigned/value.cc:
   1940 	Likewise.
   1941 	* testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
   1942 	* testsuite/tr1/6_containers/hash/24799.cc: Likewise.
   1943 
   1944 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1945 
   1946 	PR libstdc++/98725
   1947 	* include/std/ostream (operator<<(basic_ostream<char, Tr>&, wchar_t))
   1948 	(operator<<(basic_ostream<char, Tr>&, const wchar_t*)): Always
   1949 	define as deleted. Do not check _GLIBCXX_USE_WCHAR_T.
   1950 
   1951 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1952 
   1953 	PR libstdc++/98725
   1954 	* include/bits/locale_conv.h (wstring_convert, wbuffer_convert):
   1955 	Define unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
   1956 
   1957 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1958 
   1959 	PR libstdc++/98725
   1960 	* include/c_global/cstddef [!_GLIBCXX_USE_WCHAR_T]
   1961 	(__byte_operand<wchar_t>): Define specialization.
   1962 	* include/std/type_traits (__make_signed<wchar_t>)
   1963 	(__make_unsigned<wchar_t>): Remove redundant check for
   1964 	__WCHAR_TYPE__ being defined.
   1965 	* include/tr1/type_traits [!_GLIBCXX_USE_WCHAR_T]
   1966 	(__is_integral_helper<wchar_t>): Likewise.
   1967 
   1968 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1969 
   1970 	PR libstdc++/98725
   1971 	* include/ext/rc_string_base.h [!_GLIBCXX_USE_WCHAR_T]
   1972 	(__rc_string_base<wchar_t>): Define member function.
   1973 	* include/ext/vstring.h [!_GLIBCXX_USE_WCHAR_T]
   1974 	(hash<__gnu_cxx::__wvstring>): Define specialization.
   1975 	* include/ext/vstring_fwd.h [!_GLIBCXX_USE_WCHAR_T] (__wvstring)
   1976 	(__wsso_string, __wrc_string): Declare typedefs.
   1977 
   1978 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1979 
   1980 	PR libstdc++/98725
   1981 	* include/bits/char_traits.h (char_traits<wchar_t>): Define
   1982 	explicit specialization unconditionally.
   1983 	* include/bits/basic_string.h (hash<wstring>): Define
   1984 	unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
   1985 	* include/bits/stringfwd.h (wstring): Likewise.
   1986 	* include/debug/string (wstring): Likewise.
   1987 	* include/experimental/string_view (experimental::wstring_view)
   1988 	(hash<experimental::wstring_view>): Likewise.
   1989 	* include/std/string (pmr::wstring, hash<pmr::wstring>):
   1990 	Likewise.
   1991 	* include/std/string_view (wstring_view, hash<wstring_view>):
   1992 	Likewise.
   1993 
   1994 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1995 
   1996 	* testsuite/27_io/basic_filebuf/close/81256.cc: Moved to...
   1997 	* testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here.
   1998 
   1999 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2000 
   2001 	* testsuite/22_locale/conversions/buffer/1.cc: Check
   2002 	_GLIBCXX_USE_WCHAR_T.
   2003 	* testsuite/22_locale/conversions/buffer/3.cc: Likewise. Add
   2004 	test using char16_t.
   2005 	* testsuite/22_locale/conversions/string/1.cc: Check
   2006 	_GLIBCXX_USE_WCHAR_T.
   2007 	* testsuite/27_io/filesystem/path/generic/generic_string.cc:
   2008 	Likewise.
   2009 	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
   2010 	Likewise.
   2011 	* testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
   2012 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc:
   2013 	Likewise.
   2014 	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
   2015 	* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
   2016 	Likewise.
   2017 	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
   2018 	Likewise.
   2019 	* testsuite/experimental/filesystem/path/native/alloc.cc:
   2020 	Likewise.
   2021 	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
   2022 	Likewise.
   2023 	* testsuite/experimental/filesystem/path/native/string.cc:
   2024 	Likewise.
   2025 
   2026 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2027 
   2028 	* testsuite/26_numerics/bit/bit.rotate/rotr.cc:
   2029 	* testsuite/util/testsuite_common_types.h:
   2030 
   2031 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2032 
   2033 	* testsuite/18_support/numeric_limits/40856.cc: Replace use of
   2034 	_GLIBCXX_USE_INT128.
   2035 	* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
   2036 	* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
   2037 	* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
   2038 	* testsuite/20_util/is_floating_point/value.cc: Likewise.
   2039 	* testsuite/20_util/is_integral/value.cc: Likewise.
   2040 	* testsuite/20_util/is_signed/value.cc: Likewise.
   2041 	* testsuite/20_util/is_unsigned/value.cc: Likewise.
   2042 	* testsuite/20_util/make_signed/requirements/typedefs-1.cc:
   2043 	Likewise.
   2044 	* testsuite/20_util/make_signed/requirements/typedefs-2.cc:
   2045 	Likewise.
   2046 	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
   2047 	Likewise.
   2048 	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
   2049 	Likewise.
   2050 	* testsuite/20_util/type_identity/requirements/typedefs.cc:
   2051 	Likewise.
   2052 	* testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
   2053 	* testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
   2054 	* testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
   2055 	* testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
   2056 	* testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
   2057 	* testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
   2058 	* testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
   2059 	* testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
   2060 	* testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
   2061 	Likewise.
   2062 	* testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
   2063 
   2064 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2065 
   2066 	* include/bits/hashtable_policy.h (_Select1st): Replace use of
   2067 	std::get.
   2068 	(_Select2nd): Remove.
   2069 	(_NodeBuilder::_S_build): Use _NodeGenerator::__node_type
   2070 	typedef instead of deducing it. Remove unnecessary piecewise
   2071 	construction.
   2072 	(_ReuseOrAllocNode): Make __node_type public.
   2073 	(_Map_base): Adjust partial specialization to be able to extract
   2074 	the mapped_type without using tuple_element.
   2075 	(_Map_base::at): Define inline
   2076 	* testsuite/23_containers/unordered_map/requirements/53339.cc:
   2077 	Remove XFAIL.
   2078 	* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
   2079 	Likewise.
   2080 
   2081 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2082 
   2083 	* include/bits/hashtable.h: Move static assertion to destructor.
   2084 	* include/bits/hashtable_policy.h: Deduce value type from node
   2085 	type without instantiating it.
   2086 
   2087 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2088 
   2089 	* src/c++11/limits.cc: Fail if __cpp_inline_variables is
   2090 	defined.
   2091 
   2092 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2093 
   2094 	PR libstdc++/92546
   2095 	* include/bits/ranges_algobase.h: Replace <iterator> with a
   2096 	subset of the headers it includes.
   2097 
   2098 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2099 
   2100 	* include/experimental/deque (erase, erase_if): Revert changes
   2101 	to avoid debug mode overhead.
   2102 	* include/experimental/map (erase, erase_if): Likewise.
   2103 	* include/experimental/set (erase, erase_if): Likewise.
   2104 	* include/experimental/unordered_map (erase, erase_if):
   2105 	Likewise.
   2106 	* include/experimental/unordered_set (erase, erase_if):
   2107 	Likewise.
   2108 	* include/experimental/vector (erase, erase_if): Likewise.
   2109 	* include/std/deque (erase, erase_if): Likewise.
   2110 	* include/std/map (erase, erase_if): Likewise.
   2111 	* include/std/set (erase, erase_if): Likewise.
   2112 	* include/std/unordered_map (erase, erase_if): Likewise.
   2113 	* include/std/unordered_set (erase, erase_if): Likewise.
   2114 	* include/std/vector (erase, erase_if): Likewise.
   2115 
   2116 2021-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2117 
   2118 	* include/std/chrono (__detail::__units_suffix_misc): New
   2119 	helper function.
   2120 	(__detail::__units_suffix): Likewise.
   2121 	(chrono::operator<<(basic_ostream&, const duration&)): Define.
   2122 	* testsuite/20_util/duration/io.cc: New test.
   2123 
   2124 2021-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
   2125 
   2126 	* include/Makefile.am: Add new header.
   2127 	* include/Makefile.in: Regenerate.
   2128 	* include/std/chrono (duration, time_point, system_clock)
   2129 	(steady_clock, high_resolution_clock, chrono_literals, sys_time)
   2130 	(file_clock, file_time): Move to ...
   2131 	* include/bits/chrono.h: New file.
   2132 	* include/bits/atomic_futex.h: Include new header instead of
   2133 	<chrono>.
   2134 	* include/bits/atomic_timed_wait.h: Likewise.
   2135 	* include/bits/fs_fwd.h: Likewise.
   2136 	* include/bits/semaphore_base.h: Likewise.
   2137 	* include/bits/this_thread_sleep.h: Likewise.
   2138 	* include/bits/unique_lock.h: Likewise.
   2139 	* include/experimental/bits/fs_fwd.h: Likewise.
   2140 	* include/experimental/chrono: Likewise.
   2141 	* include/experimental/io_context: Likewise.
   2142 	* include/experimental/netfwd: Likewise.
   2143 	* include/experimental/timer: Likewise.
   2144 	* include/std/condition_variable: Likewise.
   2145 	* include/std/mutex: Likewise.
   2146 	* include/std/shared_mutex: Likewise.
   2147 
   2148 2021-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
   2149 
   2150 	PR libstdc++/102377
   2151 	* include/bits/atomic_wait.h (__waiter_pool_base:_S_align):
   2152 	Hardcode to 64 instead of using non-constant constant.
   2153 
   2154 2021-10-07  Jonathan Wakely  <jwakely (a] redhat.com>
   2155 
   2156 	* include/bits/erase_if.h (__erase_nodes_if): Remove redundant
   2157 	__niter_base calls.
   2158 	* include/std/string (erase, erase_if): Likewise.
   2159 	* include/std/deque (erase, erase_if): Access non-debug
   2160 	container directly.
   2161 	* include/std/map (erase, erase_if): Likewise.
   2162 	* include/std/set (erase, erase_if): Likewise.
   2163 	* include/std/unordered_map (erase, erase_if): Likewise.
   2164 	* include/std/unordered_set (erase, erase_if): Likewise.
   2165 	* include/std/vector (erase, erase_if): Likewise.
   2166 	* include/experimental/deque (erase, erase_if): Likewise.
   2167 	* include/experimental/map (erase, erase_if): Likewise.
   2168 	* include/experimental/set (erase, erase_if): Likewise.
   2169 	* include/experimental/unordered_map (erase, erase_if):
   2170 	Likewise.
   2171 	* include/experimental/unordered_set (erase, erase_if):
   2172 	Likewise.
   2173 	* include/experimental/vector (erase, erase_if): Likewise.
   2174 
   2175 2021-10-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2176 
   2177 	* include/Makefile.am: Add new headers.
   2178 	* include/Makefile.in: Regenerate.
   2179 	* include/std/functional: Include <bits/move_only_function.h>.
   2180 	* include/std/version (__cpp_lib_move_only_function): Define.
   2181 	* include/bits/mofunc_impl.h: New file.
   2182 	* include/bits/move_only_function.h: New file.
   2183 	* testsuite/20_util/move_only_function/call.cc: New test.
   2184 	* testsuite/20_util/move_only_function/cons.cc: New test.
   2185 	* testsuite/20_util/move_only_function/move.cc: New test.
   2186 	* testsuite/20_util/move_only_function/version.cc: New test.
   2187 
   2188 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2189 
   2190 	* testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc:
   2191 	New test.
   2192 	* testsuite/23_containers/span/trivially_copyable.cc: New test.
   2193 
   2194 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2195 
   2196 	* include/bits/utility.h (__is_in_place_type_v): Define
   2197 	variable template to detect in_place_type_t specializations.
   2198 	(__is_in_place_type): Replace class template with alias
   2199 	template using __is_in_place_type_v.
   2200 	* include/std/any (any(T&&)): Check __is_in_place_type first and
   2201 	avoid instantiating is_copy_constructible unnecessarily.
   2202 
   2203 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2204 
   2205 	* testsuite/20_util/integer_comparisons/greater.cc: New test.
   2206 
   2207 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2208 
   2209 	* testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc:
   2210 	Check result matches non-volatile pointer.
   2211 
   2212 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2213 
   2214 	PR c++/102535
   2215 	* testsuite/20_util/is_trivially_constructible/value.cc: Adjust
   2216 	expected value for C++20.
   2217 
   2218 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2219 
   2220 	* include/bits/std_function.h (_Any_data::_M_access): Add
   2221 	noexcept.
   2222 	(_Function_base::_Base_manager::_M_get_pointer): Likewise.
   2223 	(_Function_base::_Base_manager::_M_not_empty_function):
   2224 	Likewise.
   2225 
   2226 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2227 
   2228 	* include/std/ostream (operator<<(const volatile void*)):
   2229 	Add new overload, as per P1147R1.
   2230 	* testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc:
   2231 	New test.
   2232 
   2233 2021-10-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2234 
   2235 	* include/bits/stl_queue.h
   2236 	(__cpp_lib_adaptor_iterator_pair_constructor): Set to correct
   2237 	value.
   2238 	* include/bits/stl_stack.h
   2239 	(__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
   2240 	* include/std/version
   2241 	(__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
   2242 	* testsuite/23_containers/queue/cons_from_iters.cc: Update
   2243 	expected value.
   2244 	* testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
   2245 
   2246 2021-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2247 
   2248 	* include/bits/forward_list.h (forward_list): Use non-deduced
   2249 	context for allocator parameter of allocator-extended copy and
   2250 	move constructors.
   2251 	* include/bits/stl_bvector.h (vector<bool>): Likewise.
   2252 	* include/bits/stl_deque.h (deque): Likewise.
   2253 	* include/bits/stl_list.h (list): Likewise.
   2254 	* include/bits/stl_map.h (map): Likewise.
   2255 	* include/bits/stl_multimap.h (multimap): Likewise.
   2256 	* include/bits/stl_multiset.h (multiset): Likewise.
   2257 	* include/bits/stl_set.h (set): Likewise.
   2258 	* include/bits/stl_vector.h (vector): Likewise.
   2259 	* include/bits/stl_queue.h (queue, priority_queue): Do not
   2260 	constrain Allocator template parameter of deduction guides that
   2261 	have a Container parameter.
   2262 	* include/bits/stl_stack.h (stack): Likewise.
   2263 	* include/debug/deque (__gnu_debug::deque): Use non-deduced
   2264 	context for allocator parameter of allocator-extended copy and
   2265 	move constructors.
   2266 	* include/debug/list (__gnu_debug::list): Likewise.
   2267 	* include/debug/map.h (__gnu_debug::map): Likewise.
   2268 	* include/debug/multimap.h (__gnu_debug::multimap): Likewise.
   2269 	* include/debug/multiset.h (__gnu_debug::multiset): Likewise.
   2270 	* include/debug/set.h (__gnu_debug::set): Likewise.
   2271 	* include/debug/vector (__gnu_debug::vector): Likewise.
   2272 	* testsuite/23_containers/deque/cons/deduction.cc: Test class
   2273 	template argument deduction with non-deduced allocator
   2274 	arguments.
   2275 	* testsuite/23_containers/forward_list/cons/deduction.cc:
   2276 	Likewise.
   2277 	* testsuite/23_containers/list/cons/deduction.cc: Likewise.
   2278 	* testsuite/23_containers/map/cons/deduction.cc: Likewise.
   2279 	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
   2280 	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
   2281 	* testsuite/23_containers/priority_queue/deduction.cc: Likewise.
   2282 	* testsuite/23_containers/queue/deduction.cc: Likewise.
   2283 	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
   2284 	* testsuite/23_containers/stack/deduction.cc: Likewise.
   2285 	* testsuite/23_containers/unordered_map/cons/deduction.cc:
   2286 	Likewise.
   2287 	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
   2288 	Likewise.
   2289 	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
   2290 	Likewise.
   2291 	* testsuite/23_containers/unordered_set/cons/deduction.cc:
   2292 	Likewise.
   2293 	* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
   2294 
   2295 2021-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2296 
   2297 	* include/std/variant (__detail::__variant::__as): Add missing
   2298 	noexcept to first overload.
   2299 
   2300 2021-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2301 
   2302 	* include/bits/basic_string.h (basic_string(nullptr_t)): Define
   2303 	as deleted.
   2304 	(operator=(nullptr_t)): Likewise.
   2305 	* include/bits/cow_string.h (basic_string(nullptr_t)): Likewise.
   2306 	(operator=(nullptr_t)): Likewise.
   2307 	* include/std/string_view (basic_string_view(nullptr_t)):
   2308 	Likewise.
   2309 	* testsuite/21_strings/basic_string/cons/char/nullptr.cc: New test.
   2310 	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
   2311 	Change dg-warning to dg-error.
   2312 	* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
   2313 	Likewise.
   2314 
   2315 2021-10-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2316 
   2317 	* src/c++17/fs_ops.cc (create_directory): Fix typo in enum name.
   2318 	* src/filesystem/ops-common.h (__last_system_error): Add
   2319 	explicit cast to avoid narrowing conversion.
   2320 	(do_space): Fix type in function name.
   2321 
   2322 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2323 
   2324 	PR libstdc++/102100
   2325 	* include/Makefile.am (c++config.h): Define
   2326 	_GLIBCXX_VERBOSE_ASSERT based on configure output.
   2327 	* include/Makefile.in: Regenerate.
   2328 	* include/bits/c++config: Fix condition for verbose assertions.
   2329 
   2330 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2331 
   2332 	PR libstdc++/92546
   2333 	* include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to
   2334 	unwrap debug iterators.
   2335 	* include/bits/refwrap.h: Do not error if included in C++03.
   2336 	* include/bits/stl_algo.h (__remove_if): Move to ...
   2337 	* include/bits/stl_algobase.h (__remove_if): ... here.
   2338 	* include/std/deque (erase, erase_if): Use __remove_if instead of
   2339 	remove and remove_if.
   2340 	* include/std/string (erase, erase_if): Likewise.
   2341 	* include/std/vector (erase, erase_if): Likewise.
   2342 
   2343 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2344 
   2345 	PR libstdc++/66742
   2346 	* include/bits/list.tcc (list::sort()): Use _Scratch_list
   2347 	objects for splicing and merging.
   2348 	(list::sort(StrictWeakOrdering)): Likewise.
   2349 	* include/bits/stl_list.h (__detail::_Scratch_list): New type.
   2350 	* src/c++98/list.cc (_List_node_base::_M_transfer): Add
   2351 	assertion for --enable-libstdcxx-debug library.
   2352 	* testsuite/23_containers/list/operations/66742.cc: New test.
   2353 
   2354 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2355 
   2356 	PR libstdc++/100612
   2357 	* include/std/thread (__pmf_expects_stop_token): New variable
   2358 	template to detect a pointer to member function that needs a
   2359 	stop_token to be added to the arguments.
   2360 	(jthread::__S_create): Use __pmf_expects_stop_token.
   2361 	(jthread::__S_create_pmf): New function.
   2362 	* testsuite/30_threads/jthread/100612.cc: New test.
   2363 
   2364 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2365 
   2366 	* include/bits/stl_queue.h
   2367 	(__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as
   2368 	per P1425R4.
   2369 	(queue(InputIterator, InputIterator)): Likewise.
   2370 	(queue(InputIterator, InputIterator, const Alloc&)): Likewise.
   2371 	* include/bits/stl_stack.h
   2372 	(__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
   2373 	(stack(InputIterator, InputIterator)): Likewise.
   2374 	(stack(InputIterator, InputIterator, const Alloc&)): Likewise.
   2375 	* include/std/version (__cpp_lib_adaptor_iterator_pair_constructor):
   2376 	Define.
   2377 	* testsuite/23_containers/queue/cons_from_iters.cc: New test.
   2378 	* testsuite/23_containers/stack/cons_from_iters.cc: New test.
   2379 
   2380 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2381 
   2382 	* include/bits/stl_queue.h (priority_queue): Add
   2383 	allocator-extended overloads for constructors taking iterator.
   2384 	* testsuite/23_containers/priority_queue/lwg3506.cc: New test.
   2385 
   2386 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2387 
   2388 	* include/bits/stl_queue.h (priority_queue): Construct sequence
   2389 	from iterators when no sequence argument is present (LWG 3529).
   2390 	* testsuite/23_containers/priority_queue/lwg3529.cc: New test.
   2391 
   2392 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2393 
   2394 	* include/bits/stl_queue.h (priority_queue): Constrain
   2395 	constructors with InputIterator parameters (LWG 3522).
   2396 	* testsuite/23_containers/priority_queue/lwg3522.cc: New test.
   2397 
   2398 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2399 
   2400 	* include/bits/ranges_base.h (ranges::distance): Split overload
   2401 	into two (LWG 3392).
   2402 	* testsuite/24_iterators/range_operations/lwg3392.cc: New test.
   2403 
   2404 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2405 
   2406 	* testsuite/30_threads/thread/cons/3.cc: Remove derivation from
   2407 	std::unary_function.
   2408 	* testsuite/30_threads/thread/cons/4.cc: Likewise.
   2409 	* testsuite/30_threads/thread/cons/5.cc: Likewise.
   2410 
   2411 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2412 
   2413 	* testsuite/ext/pb_ds/example/basic_multimap.cc: Remove
   2414 	unnecesary derivation from std::unary_function.
   2415 	* testsuite/ext/pb_ds/example/erase_if.cc: Likewise.
   2416 	* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
   2417 	* testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise.
   2418 	* testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise.
   2419 	* testsuite/ext/pb_ds/example/hash_mod.cc: Likewise.
   2420 	* testsuite/ext/pb_ds/example/hash_resize.cc: Likewise.
   2421 	* testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise.
   2422 	* testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc:
   2423 	Likewise.
   2424 	* testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise.
   2425 	* testsuite/ext/pb_ds/example/store_hash.cc: Likewise.
   2426 
   2427 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2428 
   2429 	* src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not
   2430 	expand the format string for freestanding, or non-vebose, or if
   2431 	we're just going to abort anyway.
   2432 	* src/c++11/snprintf_lite.cc: Remove unused header and
   2433 	declaration.
   2434 
   2435 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2436 
   2437 	* include/std/variant (__do_visit): Use variant_npos instead of
   2438 	literal -1 that requires a narrowing conversion.
   2439 
   2440 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2441 
   2442 	PR libstdc++/99327
   2443 	* src/filesystem/ops-common.h (__unsupported): New function to
   2444 	return a suitable error code for missing functionality.
   2445 	(posix::off_t): New typedef.
   2446 	(posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op
   2447 	fallback implementations.
   2448 	(do_copy_file): Replace uses of errc::not_supported.
   2449 	* src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir)
   2450 	(fs::create_directory, fs::create_directory_symlink)
   2451 	(fs::create_hard_link, fs::create_symlink, fs::current_path)
   2452 	(fs::equivalent, do_stat, fs::file_size, fs::hard_link_count)
   2453 	(fs::last_write_time, fs::permissions, fs::read_symlink):
   2454 	Replace uses of errc::not_supported.
   2455 	(fs::resize_file): Qualify off_t.
   2456 	* src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir)
   2457 	(fs::create_directory, fs::create_directory_symlink)
   2458 	(fs::create_hard_link, fs::create_symlink, fs::current_path)
   2459 	(fs::equivalent, do_stat, fs::file_size, fs::last_write_time)
   2460 	(fs::permissions, fs::read_symlink, fs::system_complete):
   2461 	Replace uses of errc::not_supported.
   2462 	(fs::resize_file): Qualify off_t and enable unconditionally.
   2463 	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
   2464 
   2465 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2466 
   2467 	* src/filesystem/ops-common.h (last_error): New helper function.
   2468 	(filesystem::do_space): Use last_error().
   2469 	* src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link)
   2470 	(fs::equivalent, fs::remove, fs::temp_directory_path): Use
   2471 	last_error().
   2472 	* src/filesystem/ops.cc (fs::create_hard_link)
   2473 	(fs::remove, fs::temp_directory_path): Likewise.
   2474 
   2475 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2476 
   2477 	* include/std/type_traits (__conditional): New class template
   2478 	for internal uses of std::conditional.
   2479 	(__conditional_t): New alias template to replace conditional_t.
   2480 	(__and_, __or_, __result_of_memfun, __result_of_memobj): Use
   2481 	__conditional_t instead of conditional::type.
   2482 	* include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise.
   2483 	* include/bits/hashtable.h (_Hashtable): Likewise.
   2484 	* include/bits/hashtable_policy.h (_Node_iterator, _Insert_base)
   2485 	(_Local_iterator): Likewise. Replace typedefs with
   2486 	using-declarations.
   2487 	* include/bits/move.h (move_if_noexcept): Use __conditional_t.
   2488 	* include/bits/parse_numbers.h (_Select_int_base): Likewise.
   2489 	* include/bits/ptr_traits.h (__make_not_void): Likewise.
   2490 	* include/bits/ranges_algobase.h (__copy_or_move_backward)
   2491 	(__copy_or_move): Likewise.
   2492 	* include/bits/ranges_base.h (borrowed_iterator_t): Likewise.
   2493 	* include/bits/ranges_util.h (borrowed_subrange_t): Likewise.
   2494 	* include/bits/regex_compiler.h (_BracketMatcher): Use
   2495 	__conditional_t. Replace typedefs with using-declarations.
   2496 	* include/bits/shared_ptr_base.h (__shared_count): Use
   2497 	__conditional_t.
   2498 	* include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
   2499 	Likewise.
   2500 	* include/bits/stl_iterator.h (__detail::__clamp_iter_cat)
   2501 	(reverse_iterator::iterator_concept)
   2502 	(__make_move_if_noexcept_iterator)
   2503 	(iterator_traits<common_iterator<_It, _Sent>>)
   2504 	(iterator_traits<counted_iterator<_It>>): Likewise.
   2505 	* include/bits/stl_pair.h (_PCC, pair::operator=): Likewise.
   2506 	* include/bits/stl_tree.h (_Rb_tree::insert_return_type)
   2507 	(_Rb_tree::_M_clone_node): Likewise.
   2508 	* include/bits/unique_ptr.h (unique_ptr(unique_ptr<U,E>&&)):
   2509 	Likewise.
   2510 	* include/bits/uses_allocator.h (__uses_alloc): Likewise.
   2511 	(__is_uses_allocator_predicate): Likewise.
   2512 	* include/debug/functions.h (__foreign_iterator_aux2): Likewise.
   2513 	* include/experimental/any (any::_Manager, __any_caster):
   2514 	Likewise.
   2515 	* include/experimental/executor (async_completion): Likewise.
   2516 	* include/experimental/functional (__boyer_moore_base_t):
   2517 	Likewise.
   2518 	* include/std/any (any::_Manager): Likewise.
   2519 	* include/std/functional (__boyer_moore_base_t): Likewise.
   2520 	* include/std/ranges (borrowed_iterator_t)
   2521 	(borrowed_subrange_t, __detail::__maybe_present_t)
   2522 	(__detail::__maybe_const_t, split_view): Likewise.
   2523 	* include/std/tuple (__empty_not_final, tuple::operator=):
   2524 	Likewise.
   2525 	* include/std/variant (__detail::__variant::__get_t): Likewise.
   2526 
   2527 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2528 
   2529 	PR libstdc++/78113
   2530 	* include/std/variant (__do_visit): Use a switch when we have a
   2531 	single variant with a small number of alternatives.
   2532 
   2533 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2534 
   2535 	PR libstdc++/90943
   2536 	* include/std/variant (__cpp_lib_variant): Update value.
   2537 	(__detail::__variant::__as): New helpers implementing the
   2538 	as-variant exposition-only function templates.
   2539 	(visit, visit<R>): Use __as to upcast the variant parameters.
   2540 	* include/std/version (__cpp_lib_variant): Update value.
   2541 	* testsuite/20_util/variant/visit_inherited.cc: New test.
   2542 
   2543 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2544 
   2545 	* include/bits/stl_iterator.h (__normal_iterator): Simplify
   2546 	converting constructor and do not require _Container::pointer.
   2547 
   2548 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2549 
   2550 	* include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING]
   2551 	(basic_string(basic_string&&)): Add noexcept and avoid
   2552 	allocation, by sharing rep with the rvalue string.
   2553 
   2554 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2555 
   2556 	* include/bits/stl_iterator.h (common_iterator::__arrow_proxy)
   2557 	(common_iterator::__postfix_proxy): Add noexcept.
   2558 
   2559 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2560 
   2561 	PR libstdc++/94418
   2562 	* include/bits/stl_iterator.h (reverse_iterator): Use
   2563 	conditional noexcept on constructors and assignment operators.
   2564 	* testsuite/24_iterators/reverse_iterator/noexcept.cc: New test.
   2565 
   2566 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2567 
   2568 	PR libstdc++/100153
   2569 	* include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()):
   2570 	When size() is zero just deallocate and reset.
   2571 
   2572 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2573 
   2574 	PR libstdc++/96733
   2575 	* include/bits/stl_algo.h (clamp): Use std::min and std::max.
   2576 
   2577 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2578 
   2579 	* include/bits/regex.h (basic_regex::multiline): Define for
   2580 	non-strict C++11 and C++14 modes.
   2581 	* include/bits/regex_constants.h (regex_constants::multiline):
   2582 	Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment.
   2583 
   2584 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2585 
   2586 	* testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
   2587 
   2588 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2589 
   2590 	* include/bits/stream_iterator.h (istream_iterator): Add
   2591 	noexcept to constructors and non-throwing member functions and
   2592 	friend functions.
   2593 	(ostream_iterator): Likewise.
   2594 
   2595 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2596 
   2597 	* include/bits/boost_concept_check.h (_Is_vector_bool_iterator):
   2598 	New trait to identify vector<bool> iterators, including debug
   2599 	ones.
   2600 	(_ForwardIteratorReferenceConcept): Add default template
   2601 	argument using _Is_vector_bool_iterator and use it in partial
   2602 	specialization for the vector<bool> cases.
   2603 	(_Mutable_ForwardIteratorReferenceConcept): Likewise.
   2604 	* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
   2605 	line number.
   2606 
   2607 2021-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2608 
   2609 	* include/bits/list.tcc (list::merge): Remove call to size() and
   2610 	try-catch block. Use _Finalize_merge instead.
   2611 	* include/bits/stl_list.h (list::_Finalize_merge): New
   2612 	scope guard type to update _M_size members after a merge.
   2613 
   2614 2021-09-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2615 
   2616 	* include/bits/regex.h (basic_regex::multiline): Fix #if
   2617 	condition.
   2618 
   2619 2021-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2620 
   2621 	* include/bits/regex.h (basic_regex::multiline): Define constant
   2622 	for C++17.
   2623 	* include/bits/regex_constants.h (regex_constants::multiline):
   2624 	Define constant for C++17.
   2625 	(regex_constants::__multiline): Define duplicate constant for
   2626 	internal use in C++11 and C++14.
   2627 	* include/bits/regex_executor.h (_Executor::_M_match_multiline()):
   2628 	New member function.
   2629 	(_Executor::_M_is_line_terminator(_CharT)): New member function.
   2630 	(_Executor::_M_at_begin(), _Executor::_M_at_end()): Use new
   2631 	member functions to support multiline matches.
   2632 	* testsuite/28_regex/algorithms/regex_match/multiline.cc: New test.
   2633 
   2634 2021-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2635 
   2636 	* include/bits/regex_compiler.h (_Compiler::_S_validate): New
   2637 	function.
   2638 	* include/bits/regex_compiler.tcc (_Compiler::_Compiler): Use
   2639 	_S_validate to check flags.
   2640 	* include/bits/regex_error.h (_S_grammar): New error code for
   2641 	internal use.
   2642 	* testsuite/28_regex/basic_regex/ctors/grammar.cc: New test.
   2643 
   2644 2021-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2645 
   2646 	PR libstdc++/84110
   2647 	* include/bits/regex_error.h (regex_constants::_S_null): New
   2648 	error code for internal use.
   2649 	* include/bits/regex_scanner.tcc (_Scanner::_M_scan_normal()):
   2650 	Check for null character.
   2651 	* testsuite/28_regex/basic_regex/84110.cc: New test.
   2652 
   2653 2021-09-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2654 
   2655 	* include/bits/regex.h (__detail::__is_contiguous_iter): Move
   2656 	here from <bits/regex_compiler.h>.
   2657 	(basic_regex::_M_compile): New function to compile an NFA from
   2658 	a regular expression string.
   2659 	(basic_regex::basic_regex): Use _M_compile instead of delegating
   2660 	to other constructors.
   2661 	(basic_regex::operator=(const basic_regex&)): Define as
   2662 	defaulted.
   2663 	(basic_regex::operator=(initializer_list<C>)): Use _M_compile.
   2664 	(basic_regex::assign(const basic_regex&)): Use copy assignment.
   2665 	(basic_regex::assign(basic_regex&&)): Use move assignment.
   2666 	(basic_regex::assign(const C*, flag_type)): Use _M_compile
   2667 	instead of constructing a temporary string.
   2668 	(basic_regex::assign(const C*, size_t, flag_type)): Likewise.
   2669 	(basic_regex::assign(const basic_string<C,T,A>&, flag_type)):
   2670 	Use _M_compile instead of constructing a temporary basic_regex.
   2671 	(basic_regex::assign(InputIter, InputIter, flag_type)): Avoid
   2672 	constructing a temporary string for contiguous iterators of the
   2673 	right value type.
   2674 	* include/bits/regex_compiler.h (__is_contiguous_iter): Move to
   2675 	<bits/regex.h>.
   2676 	(__enable_if_contiguous_iter, __disable_if_contiguous_iter)
   2677 	(__compile_nfa): Remove.
   2678 	* testsuite/28_regex/basic_regex/assign/exception_safety.cc: New
   2679 	test.
   2680 	* testsuite/28_regex/basic_regex/ctors/char/other.cc: New test.
   2681 
   2682 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2683 
   2684 	* include/bits/atomic_timed_wait.h (__platform_wait_until_impl):
   2685 	Return false for ETIMEDOUT and true otherwise.
   2686 
   2687 2021-09-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2688 
   2689 	* testsuite/20_util/default_delete/48631_neg.cc: Adapt dg-prune-output message
   2690 	to also match message with '__8' in it.
   2691 
   2692 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2693 
   2694 	* include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove.
   2695 	* include/bits/regex_compiler.h (_Compiler::_IterT): Remove.
   2696 	* include/bits/regex_compiler.tcc: Likewise.
   2697 	* include/bits/regex_scanner.h (_Scanner::_IterT): Remove.
   2698 	* include/bits/regex_scanner.tcc: Likewise.
   2699 
   2700 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2701 
   2702 	* include/bits/regex_compiler.tcc: Add line break in empty while
   2703 	statement.
   2704 	* include/bits/regex_executor.tcc: Avoid unused parameter
   2705 	warning.
   2706 
   2707 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2708 
   2709 	* include/bits/regex.h (basic_regex, swap): Add noexcept to
   2710 	non-throwing functions.
   2711 	* include/bits/regex_automaton.h (_State_base, _State)
   2712 	(_NFA_base): Likewise.
   2713 	* include/bits/regex_compiler.h (_Compiler): Likewise.
   2714 	* include/bits/regex_error.h (regex_error::code()): Likewise.
   2715 	* include/bits/regex_scanner.h (_Scanner): Likewise.
   2716 
   2717 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2718 
   2719 	* include/bits/atomic_wait.h (_GLIBCXX_HAVE_PLATFORM_WAIT):
   2720 	Define before first attempt to check it.
   2721 
   2722 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2723 
   2724 	* testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc:
   2725 	Do not check non-default constructible sequences when
   2726 	_GLIBCXX_CONCEPT_CHECKS is defined.
   2727 	* testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++98.cc:
   2728 	Likewise.
   2729 	* testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc:
   2730 	Likewise.
   2731 	* testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++98.cc:
   2732 	Likewise.
   2733 	* testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc:
   2734 	Likewise.
   2735 	* testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++98.cc:
   2736 	Likewise.
   2737 
   2738 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2739 
   2740 	* testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc:
   2741 	Do not test implicit allocator rebinding when _GLIBCXX_CONCEPT_CHECKS
   2742 	is defined.
   2743 	* testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc:
   2744 	Likewise.
   2745 	* testsuite/23_containers/list/requirements/explicit_instantiation/3.cc:
   2746 	Likewise.
   2747 	* testsuite/23_containers/list/requirements/explicit_instantiation/5.cc:
   2748 	Likewise.
   2749 	* testsuite/23_containers/map/requirements/explicit_instantiation/3.cc:
   2750 	Likewise.
   2751 	* testsuite/23_containers/map/requirements/explicit_instantiation/5.cc:
   2752 	Likewise.
   2753 	* testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc:
   2754 	Likewise.
   2755 	* testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc:
   2756 	Likewise.
   2757 	* testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc:
   2758 	Likewise.
   2759 	* testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc:
   2760 	Likewise.
   2761 	* testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
   2762 	Likewise.
   2763 	* testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
   2764 	Likewise.
   2765 	* testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc:
   2766 	Likewise.
   2767 	* testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc:
   2768 	Likewise.
   2769 	* testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc:
   2770 	Likewise.
   2771 	* testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc:
   2772 	Likewise.
   2773 	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc:
   2774 	Likewise.
   2775 	* testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc:
   2776 	Likewise.
   2777 
   2778 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2779 
   2780 	* include/bits/boost_concept_check.h (_ForwardIteratorConcept)
   2781 	(_BidirectionalIteratorConcept, _RandomAccessIteratorConcept):
   2782 	Check result types of iterator operations.
   2783 	(_Mutable_ForwardIteratorConcept): Check that iterator's
   2784 	reference type is a reference to its value type.
   2785 	(_Mutable_BidirectionalIteratorConcept): Do not require the
   2786 	value type to be assignable.
   2787 	(_Mutable_RandomAccessIteratorConcept): Likewise.
   2788 	* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
   2789 	line number.
   2790 
   2791 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2792 
   2793 	* testsuite/25_algorithms/copy/34595.cc: Add missing operation
   2794 	for type used as an iterator.
   2795 	* testsuite/25_algorithms/unique_copy/check_type.cc: Likewise.
   2796 
   2797 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2798 
   2799 	* testsuite/20_util/is_nothrow_swappable/value.h: Use custom
   2800 	comparison function for priority_queue of type with no
   2801 	relational operators.
   2802 	* testsuite/20_util/is_swappable/value.h: Likewise.
   2803 	* testsuite/24_iterators/output/concept.cc: Add operator< to
   2804 	type used in set.
   2805 
   2806 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2807 
   2808 	* include/bits/boost_concept_check.h (_OutputIteratorConcept):
   2809 	Use a function to preserve value category of the type.
   2810 	* include/bits/stl_algobase.h (copy, move, fill_n): Use a
   2811 	reference as the second argument for _OutputIteratorConcept.
   2812 	(copy_backward, move_backward): Use _OutputIteratorConcept
   2813 	instead of _ConvertibleConcept.
   2814 
   2815 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2816 
   2817 	* include/bits/stl_iterator.h (pointer_traits): Define partial
   2818 	specialization for __normal_iterator.
   2819 	* testsuite/24_iterators/normal_iterator/to_address.cc: New test.
   2820 
   2821 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2822 
   2823 	* include/bits/move.h (forward(remove_reference_t<T>&&)):
   2824 	Improve text of static_assert.
   2825 	* testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
   2826 	* testsuite/20_util/forward/f_neg.cc: Likewise.
   2827 
   2828 2021-09-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2829 
   2830 	PR libstdc++/102499
   2831 	* include/bits/fs_path.h (path::begin, path::end): Add noexcept
   2832 	to declarations, to match definitions.
   2833 
   2834 2021-09-24  Jonathan Wakely  <jwakely (a] redhat.com>
   2835 
   2836 	* include/bits/range_access.h (cbegin, cend): Remove redundant
   2837 	'inline' specifier.
   2838 
   2839 2021-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2840 
   2841 	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
   2842 	Remove dg-error lines for C++20-only errors.
   2843 
   2844 2021-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2845 
   2846 	* testsuite/19_diagnostics/headers/system_error/93151.cc:
   2847 	Disable PCH.
   2848 
   2849 2021-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2850 
   2851 	* src/c++11/system_error.cc (system_error_category) [_WIN32]:
   2852 	Map Windows error codes to generic POSIX error numbers. Use
   2853 	FormatMessage instead of strerror.
   2854 	* testsuite/19_diagnostics/error_category/system_category.cc:
   2855 	Adjust for new behaviour on Windows.
   2856 
   2857 2021-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2858 
   2859 	* src/c++11/system_error.cc (generic_error_category): Define
   2860 	class and virtual functions as 'final'.
   2861 	(generic_error_category::equivalent(int, const error_condition&)):
   2862 	Override.
   2863 	(system_error_category): Define class and virtual functions as
   2864 	'final'.
   2865 	(system_error_category::equivalent(int, const error_condition&)):
   2866 	Override.
   2867 	(generic_category_instance, system_category_instance): Use
   2868 	constinit union to make the objects immortal.
   2869 
   2870 2021-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2871 
   2872 	PR libstdc++/102425
   2873 	* src/c++11/system_error.cc
   2874 	(system_error_category::default_error_condition): Add 0 to
   2875 	switch.
   2876 	* testsuite/19_diagnostics/error_category/102425.cc: New test.
   2877 
   2878 2021-09-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2879 
   2880 	* include/bits/fs_path.h (path::iterator): Add noexcept to all
   2881 	member functions and friend functions.
   2882 	(distance): Add noexcept.
   2883 	(advance): Add noexcept and inline.
   2884 	* include/experimental/bits/fs_path.h (path::iterator):
   2885 	Add noexcept to all member functions.
   2886 
   2887 2021-09-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2888 
   2889 	PR libstdc++/102270
   2890 	* include/std/tuple (_Tuple_impl): Add constexpr to constructor
   2891 	missed in previous patch.
   2892 	* testsuite/20_util/tuple/cons/102270.C: Moved to...
   2893 	* testsuite/20_util/tuple/cons/102270.cc: ...here.
   2894 	* testsuite/util/testsuite_allocator.h (SimpleAllocator): Add
   2895 	constexpr to constructor so it can be used for C++20 tests.
   2896 
   2897 2021-09-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2898 
   2899 	* testsuite/26_numerics/valarray/dr630-3.C: Moved to...
   2900 	* testsuite/26_numerics/valarray/dr630-3.cc: ...here.
   2901 	* testsuite/27_io/basic_iostream/cons/16251.C: Moved to...
   2902 	* testsuite/27_io/basic_iostream/cons/16251.cc: ...here.
   2903 
   2904 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2905 
   2906 	* src/Makefile.am (stamp-debug): Add all Makefiles as
   2907 	prerequisites.
   2908 	* src/Makefile.in: Regenerate.
   2909 
   2910 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2911 
   2912 	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Increase
   2913 	timeout factor to 3.
   2914 	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
   2915 
   2916 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2917 
   2918 	* doc/xml/manual/using.xml: Generalize to apply to more than
   2919 	just -std=c++11.
   2920 	* doc/html/manual/using_macros.html: Regenerate.
   2921 
   2922 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2923 
   2924 	* include/std/optional (nullptr_t): Make constructor noexcept.
   2925 
   2926 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2927 
   2928 	* include/bits/fs_path.h (advance): Remove non-deducible
   2929 	template parameter.
   2930 
   2931 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2932 
   2933 	PR libstdc++/102270
   2934 	* include/std/tuple (_Head_base, _Tuple_impl): Add
   2935 	_GLIBCXX20_CONSTEXPR to allocator-extended constructors.
   2936 	(tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR.
   2937 	* testsuite/20_util/tuple/cons/102270.C: New test.
   2938 
   2939 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2940 
   2941 	PR libstdc++/102280
   2942 	* include/std/span (span(Range&&)): Add constraint to deduction
   2943 	guide.
   2944 
   2945 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2946 
   2947 	* src/c++98/Makefile.am: Use CXXCOMPILE not LTCXXCOMPILE.
   2948 	* src/c++98/Makefile.in: Regenerate.
   2949 
   2950 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2951 
   2952 	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
   2953 	(to_string): Add noexcept if the type width is 32 bits or less.
   2954 
   2955 2021-09-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2956 
   2957 	* include/bits/unique_ptr.h (__uniq_ptr_impl::_M_ptr)
   2958 	(__uniq_ptr_impl::_M_deleter): Add noexcept.
   2959 
   2960 2021-09-16  Thomas Rodgers  <rodgert (a] twrodgers.com>
   2961 
   2962 	PR libstdc++/101761
   2963 	* testsuite/29_atomics/atomic_ref/wait_notify.cc (test): Use
   2964 	va and vb as arguments to wait/notify, remove unused bb local.
   2965 
   2966 2021-09-15  Hugo Beauze-Luyssen  <hugo (a] beauzee.fr>
   2967 
   2968 	* crossconfig.m4: Check for TLS support on mingw.
   2969 	* configure: Regenerate.
   2970 
   2971 2021-09-13  Jason Merrill  <jason (a] redhat.com>
   2972 
   2973 	* include/std/version: Define __cpp_lib_hardware_interference_size.
   2974 	* libsupc++/new: Define hardware interference size variables.
   2975 
   2976 2021-09-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2977 
   2978 	* testsuite/experimental/net/internet/resolver/ops/lookup.cc:
   2979 	Fix invalid hostname to only match the .invalid TLD.
   2980 
   2981 2021-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2982 
   2983 	* include/bits/atomic_base.h (__atomic_base<P*>::compare_exchange_weak):
   2984 	Add new functions.
   2985 	* include/std/atomic (atomic<T*>::compare_exchange_weak): Use
   2986 	it.
   2987 
   2988 2021-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2989 
   2990 	* include/std/atomic: Tweak whitespace.
   2991 
   2992 2021-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2993 
   2994 	PR c++/102177
   2995 	* include/bits/atomic_base.h (__is_valid_cmpexch_failure_order):
   2996 	New function to check if a memory order is valid for the failure
   2997 	case of compare exchange operations.
   2998 	(__atomic_base<I>::compare_exchange_weak): Simplify assertions
   2999 	by using __is_valid_cmpexch_failure_order.
   3000 	(__atomic_base<I>::compare_exchange_strong): Likewise.
   3001 	(__atomic_base<P*>::compare_exchange_weak): Likewise.
   3002 	(__atomic_base<P*>::compare_exchange_strong): Likewise.
   3003 	(__atomic_impl::compare_exchange_weak): Add assertion.
   3004 	(__atomic_impl::compare_exchange_strong): Likewise.
   3005 	* include/std/atomic (atomic::compare_exchange_weak): Likewise.
   3006 	(atomic::compare_exchange_strong): Likewise.
   3007 
   3008 2021-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3009 
   3010 	* include/std/functional (invoke_r): Define.
   3011 	* include/std/version (__cpp_lib_invoke_r): Define.
   3012 	* testsuite/20_util/function_objects/invoke/version.cc: Check
   3013 	for __cpp_lib_invoke_r as well as __cpp_lib_invoke.
   3014 	* testsuite/20_util/function_objects/invoke/4.cc: New test.
   3015 
   3016 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3017 
   3018 	PR libstdc++/98421
   3019 	* include/std/span (span(Iter, size_type), span(Iter, Iter)):
   3020 	Add valid range checks.
   3021 	* testsuite/23_containers/span/cons_1_assert_neg.cc: New test.
   3022 	* testsuite/23_containers/span/cons_2_assert_neg.cc: New test.
   3023 
   3024 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3025 
   3026 	* configure.ac: Fix checks for F_GETFL, F_SETFL and O_NONBLOCK.
   3027 	* configure: Regenerate.
   3028 
   3029 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3030 
   3031 	* src/c++11/system_error.cc (error_category::~error_category()):
   3032 	Remove noexcept-specifier.
   3033 	(system_error::~system_error()): Likewise.
   3034 	* testsuite/19_diagnostics/error_category/noexcept.cc: New test.
   3035 	* testsuite/19_diagnostics/system_error/noexcept.cc: New test.
   3036 
   3037 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3038 
   3039 	PR libstdc++/102074
   3040 	* include/bits/atomic_timed_wait.h (__timed_waiter_pool)
   3041 	[!_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT]: Add missing return.
   3042 
   3043 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3044 
   3045 	* include/experimental/internet (__make_resolver_error_code):
   3046 	Handle EAI_SYSTEM errors.
   3047 	(basic_resolver_results): Use __make_resolver_error_code. Use
   3048 	Glibc NI_MAXHOST and NI_MAXSERV values for buffer sizes.
   3049 
   3050 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3051 
   3052 	* testsuite/experimental/net/internet/resolver/ops/lookup.cc:
   3053 	Try other service if "http" fails.
   3054 
   3055 2021-08-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3056 
   3057 	* testsuite/17_intro/names.cc: Undefine some more names used
   3058 	by Solaris system headers.
   3059 
   3060 2021-08-30  Jason Merrill  <jason (a] redhat.com>
   3061 
   3062 	PR c++/96286
   3063 	* testsuite/30_threads/promise/requirements/lwg3466.cc:
   3064 	Remove dg-prune-outputs.
   3065 
   3066 2021-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3067 
   3068 	* include/bits/alloc_traits.h (allocator_traits): Add explicit
   3069 	specialization for allocator<void>. Improve doxygen comments.
   3070 	* include/bits/allocator.h (allocator<void>): Restore for the
   3071 	versioned namespace.
   3072 	(allocator<void>::construct, allocator<void>::destroy): Remove.
   3073 	* include/ext/extptr_allocator.h (_Extptr_allocator<void>):
   3074 	Add default constructor and converting constructor.
   3075 
   3076 2021-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3077 
   3078 	* include/bits/stl_uninitialized.h: Fix typo in comment.
   3079 
   3080 2021-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3081 
   3082 	PR libstdc++/99876
   3083 	* src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form,
   3084 	to avoid unnecessary current_path() call.
   3085 
   3086 2021-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3087 
   3088 	* include/bits/std_function.h (function::function(F&&)): Give
   3089 	name to defaulted template parameter, to improve diagnostics.
   3090 	Use markdown for more doxygen comments.
   3091 
   3092 2021-08-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3093 
   3094 	* include/bits/std_function.h (function): Adjust doxygen
   3095 	comments.
   3096 	* include/bits/unique_ptr.h (make_unique_for_overwrite):
   3097 	Change parameter name to match doxygen comment.
   3098 
   3099 2021-08-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3100 
   3101 	* include/bits/std_function.h (_function_base::_Base_manager):
   3102 	Replace _M_init_functor with a function template using a
   3103 	forwarding reference, and a pair of _M_create function
   3104 	templates. Reuse _M_create for the clone operation.
   3105 	(function::_Decay_t): New alias template.
   3106 	(function::_Callable): Simplify by using _Decay.
   3107 	(function::function(F)): Change parameter to forwarding
   3108 	reference, as per LWG 2447. Add noexcept-specifier. Simplify
   3109 	constraints.
   3110 	(function::operator=(F&&)): Add noexcept-specifier.
   3111 	* testsuite/20_util/function/cons/lwg2774.cc: New test.
   3112 	* testsuite/20_util/function/cons/noexcept.cc: New test.
   3113 
   3114 2021-08-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3115 
   3116 	* include/bits/std_function.h (function::function(F)): Add
   3117 	static assertions to check constructibility requirements.
   3118 
   3119 2021-08-26  Jonathan Wakely  <jwakely (a] redhat.com>
   3120 
   3121 	PR libstdc++/100285
   3122 	* configure.ac: Check for O_NONBLOCK.
   3123 	* configure: Regenerate.
   3124 	* include/experimental/internet: Include <ws2tcpip.h> for
   3125 	Windows.  Use preprocessor conditions around more constants.
   3126 	* include/experimental/socket: Use preprocessor conditions
   3127 	around more constants.
   3128 	* testsuite/experimental/net/internet/resolver/base.cc: Only use
   3129 	constants when the corresponding C macro is defined.
   3130 	* testsuite/experimental/net/socket/basic_socket.cc: Likewise.
   3131 	* testsuite/experimental/net/socket/socket_base.cc: Likewise.
   3132 	Make preprocessor checks more fine-grained.
   3133 
   3134 2021-08-25  Jonathan Wakely  <jwakely (a] redhat.com>
   3135 
   3136 	* testsuite/17_intro/names.cc: Check 'sz'.
   3137 
   3138 2021-08-25  Jonathan Wakely  <jwakely (a] redhat.com>
   3139 
   3140 	* testsuite/17_intro/names.cc: Adjust for Windows.
   3141 
   3142 2021-08-25  Jonathan Wakely  <jwakely (a] redhat.com>
   3143 
   3144 	* include/std/valarray: Uglify 'func' parameters.
   3145 	* testsuite/17_intro/names.cc: Add 'func' to checks.
   3146 
   3147 2021-08-25  Jonathan Wakely  <jwakely (a] redhat.com>
   3148 
   3149 	PR libstdc++/102064
   3150 	* include/bits/stl_uninitialized.h (_GLIBCXX_USE_ASSIGN_FOR_INIT):
   3151 	Define macro to check conditions for optimizing trivial cases.
   3152 	(__check_constructible): New function to do static assert.
   3153 	(uninitialized_copy, uninitialized_fill, uninitialized_fill_n):
   3154 	Use new macro.
   3155 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
   3156 	Adjust dg-error pattern.
   3157 	* testsuite/23_containers/vector/cons/89164.cc: Likewise. Add
   3158 	C++17-specific checks from 89164_c++17.cc.
   3159 	* testsuite/23_containers/vector/cons/89164_c++17.cc: Removed.
   3160 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc:
   3161 	New test.
   3162 	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc:
   3163 	New test.
   3164 	* testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc:
   3165 	New test.
   3166 	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc:
   3167 	New test.
   3168 
   3169 2021-08-25  Jonathan Wakely  <jwakely (a] redhat.com>
   3170 
   3171 	PR libstdc++/102048
   3172 	* include/ext/rope (rope::erase(size_type)): Remove broken
   3173 	function.
   3174 
   3175 2021-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3176 
   3177 	* doc/xml/manual/status_cxx2020.xml: Update table.
   3178 	* doc/html/manual/status.html: Regenerate.
   3179 
   3180 2021-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3181 
   3182 	* include/std/type_traits (is_layout_compatible): Define.
   3183 	(is_corresponding_member): Define.
   3184 	* include/std/version (__cpp_lib_is_layout_compatible): Define.
   3185 	* testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
   3186 	New test.
   3187 	* testsuite/20_util/is_layout_compatible/value.cc: New test.
   3188 	* testsuite/20_util/is_layout_compatible/version.cc: New test.
   3189 	* testsuite/20_util/is_pointer_interconvertible/with_class.cc:
   3190 	New test.
   3191 	* testsuite/23_containers/span/layout_compat.cc: Do not use real
   3192 	std::is_layout_compatible trait if available.
   3193 
   3194 2021-08-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3195 
   3196 	* src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in
   3197 	explicit instantiation definitions.
   3198 
   3199 2021-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3200 
   3201 	* include/std/ranges (basic_istream_view): Add default template
   3202 	argument.
   3203 	* testsuite/std/ranges/istream_view.cc: Check it.
   3204 
   3205 2021-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3206 
   3207 	* libsupc++/dyncast.cc (__dynamic_cast): Add __builtin_expect to
   3208 	precondition check.
   3209 
   3210 2021-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3211 
   3212 	PR libstdc++/90787
   3213 	* testsuite/util/testsuite_fs.h (permissions_are_testable):
   3214 	Define as inline.
   3215 
   3216 2021-08-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3217 
   3218 	PR libstdc++/90787
   3219 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc:
   3220 	Use new __gnu_test::permissions_are_testable() function.
   3221 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   3222 	Likewise.
   3223 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   3224 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   3225 	* testsuite/27_io/filesystem/operations/remove.cc: Likewise.
   3226 	* testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
   3227 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   3228 	* testsuite/27_io/filesystem/operations/symlink_status.cc:
   3229 	Likewise.
   3230 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   3231 	Likewise.
   3232 	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
   3233 	Likewise.
   3234 	* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
   3235 	Likewise.
   3236 	* testsuite/experimental/filesystem/operations/exists.cc:
   3237 	Likewise.
   3238 	* testsuite/experimental/filesystem/operations/is_empty.cc:
   3239 	Likewise.
   3240 	* testsuite/experimental/filesystem/operations/remove.cc:
   3241 	Likewise.
   3242 	* testsuite/experimental/filesystem/operations/remove_all.cc:
   3243 	Likewise.
   3244 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3245 	Likewise.
   3246 	* testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable):
   3247 	New function to guess whether testing permissions will work.
   3248 
   3249 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3250 
   3251 	* doc/xml/manual/status_cxx2020.xml: Move row  earlier in table.
   3252 	* doc/html/manual/status.html: Regenerate.
   3253 
   3254 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3255 
   3256 	* doc/doxygen/user.cfg.in: Update to Doxygen 1.9.2
   3257 
   3258 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3259 
   3260 	PR libstdc++/101965
   3261 	* include/std/charconv (__to_chars_i): Remove redundant check.
   3262 
   3263 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3264 
   3265 	PR libstdc++/101960
   3266 	* include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Use base
   3267 	class' move constructor. Define as defaulted for versioned
   3268 	namespace.
   3269 	* testsuite/20_util/tuple/cons/101960.cc: New test.
   3270 
   3271 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3272 
   3273 	PR libstdc++/100139
   3274 	* doc/xml/manual/status_cxx2020.xml: Add P1739R4 to status table.
   3275 	* doc/html/manual/status.html: Regenerate.
   3276 
   3277 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3278 
   3279 	* include/bits/shared_ptr.h: Add @since and @headerfile tags.
   3280 	* include/bits/unique_ptr.h: Add @headerfile tags.
   3281 
   3282 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3283 
   3284 	* src/filesystem/ops-common.h (filesystem::file_time): Improve
   3285 	overflow check by using system_clock::duration::max().
   3286 
   3287 2021-08-19  Jonathan Wakely  <jwakely (a] redhat.com>
   3288 
   3289 	* include/bits/stl_tree.h: Tweak whitespace.
   3290 
   3291 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3292 
   3293 	* include/bits/unique_ptr.h (default_delete): Add @since tag.
   3294 	(unique_ptr, unique_ptr<T[]>): Likewise. Improve @brief.
   3295 	(make_unique, make_unique_for_overwrite): Likewise. Add @tparam,
   3296 	@param, and @returns.
   3297 	(_MakeUniq): Move to __detail namespace. Add alias template
   3298 	helpers.
   3299 
   3300 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3301 
   3302 	* include/bits/stl_function.h: Improve doxygen comments.
   3303 
   3304 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3305 
   3306 	* doc/doxygen/user.cfg.in (PREDEFINED): Enable doxygen
   3307 	processing for C++20 components and components that depend on
   3308 	compiler features.
   3309 	* include/bits/stl_algo.h (random_shuffle): Use @deprecated.
   3310 	* include/std/type_traits: Improve doxygen comments for C++20
   3311 	traits.
   3312 
   3313 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3314 
   3315 	* include/ext/type_traits.h (__promote_2, __promote_3)
   3316 	(__promote_4): Redfine as alias templates using __promoted_t.
   3317 	* include/std/complex (__promote_2): Remove partial
   3318 	specializations for std::complex.
   3319 
   3320 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3321 
   3322 	* include/bits/stl_algo.h (min(initializer_list<T>))
   3323 	(min(initializer_list<T>, Compare)): Call __min_element directly to
   3324 	avoid redundant debug checks for valid ranges.
   3325 	(max(initializer_list<T>), max(initializer_list<T>, Compare)):
   3326 	Likewise, for __max_element.
   3327 	(minmax(initializer_list<T>), minmax(initializer_list<T>, Compare)):
   3328 	Likewise, for __minmax_element.
   3329 
   3330 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3331 
   3332 	* include/debug/deque (deque(size_type, const T&, const A&)):
   3333 	Prevent class template argument deduction and replace with a
   3334 	deduction guide.
   3335 	* include/debug/forward_list (forward_list(size_type, const T&, const A&)):
   3336 	Likewise.
   3337 	* include/debug/list (list(size_type, const T&, const A&)):
   3338 	Likewise.
   3339 	* include/debug/vector (vector(size_type, const T&, const A&)):
   3340 	Likewise.
   3341 
   3342 2021-08-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3343 
   3344 	* python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Use
   3345 	'std::vector<bool>::reference' as type name, not _Bit_reference.
   3346 	(build_libstdcxx_dictionary): Register printers for vector<bool>
   3347 	types in debug mode too.
   3348 	* testsuite/libstdc++-prettyprinters/simple.cc: Adjust expected
   3349 	output for invalid _Bit_reference. Use vector<bool>::reference
   3350 	instead of _Bit_reference.
   3351 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   3352 
   3353 2021-08-17  Thomas Schwinge  <thomas (a] codesourcery.com>
   3354 
   3355 	* testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose,
   3356 	continued.
   3357 
   3358 2021-08-17  Luc Michel  <lmichel (a] kalray.eu>
   3359 	    Marc Poulhies  <mpoulhies (a] kalrayinc.com>
   3360 
   3361 	* testsuite/lib/gdb-test.exp (gdb_version_check)
   3362 	(gdb_version_check_xmethods): Only check the GDB version for
   3363 	local native targets.
   3364 
   3365 2021-08-17  Antony Polukhin  <antoshkka (a] gmail.com>
   3366 	    Jonathan Wakely  <jwakely (a] redhat.com>
   3367 
   3368 	* include/bits/random.tcc (seed_seq::seed_seq): Reserve capacity
   3369 	if distance is O(1).
   3370 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   3371 	line number.
   3372 
   3373 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3374 
   3375 	* testsuite/26_numerics/random/seed_seq/cons/range.cc: Check
   3376 	construction from input iterators.
   3377 
   3378 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3379 
   3380 	* python/libstdcxx/v6/printers.py (StdErrorCatPrinter): Remove.
   3381 
   3382 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3383 
   3384 	PR libstdc++/101923
   3385 	* include/bits/std_function.h (function(function&&)): Check for
   3386 	non-empty parameter before doing any work.
   3387 
   3388 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3389 
   3390 	* include/bits/cow_string.h (basic_string::contains): Do not
   3391 	define for -std=gnu++20.
   3392 
   3393 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3394 
   3395 	* include/bits/ranges_util.h (__not_same_as): Rename to
   3396 	__different_from.
   3397 	* include/std/ranges (__not_same_as): Likewise.
   3398 
   3399 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3400 
   3401 	* include/std/utility (exchange): Add noexcept-specifier.
   3402 	* testsuite/20_util/exchange/noexcept.cc: New test.
   3403 
   3404 2021-08-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3405 
   3406 	* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define.
   3407 	(build_libstdcxx_dictionary): Register printer for
   3408 	std::error_code and std::error_condition.
   3409 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
   3410 
   3411 2021-08-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3412 
   3413 	PR libstdc++/101937
   3414 	* src/c++11/debug.cc (PrintContext::_M_indent): Replace with a
   3415 	static data member.
   3416 	(print_word): Use qualified-id to access it.
   3417 
   3418 2021-08-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3419 
   3420 	* python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
   3421 	Install another copy of the GDB hook.
   3422 	* python/Makefile.in: Regenerate.
   3423 
   3424 2021-08-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3425 
   3426 	PR libstdc++/101870
   3427 	* include/c_global/cmath (hypot): Use __promoted_t.
   3428 	(lerp): Add new overload accepting any arithmetic types.
   3429 	* include/ext/type_traits.h (__promoted_t): New alias template.
   3430 	* testsuite/26_numerics/lerp.cc: Moved to...
   3431 	* testsuite/26_numerics/lerp/1.cc: ...here.
   3432 	* testsuite/26_numerics/lerp/constexpr.cc: New test.
   3433 	* testsuite/26_numerics/lerp/version.cc: New test.
   3434 
   3435 2021-08-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3436 
   3437 	* testsuite/26_numerics/lerp.cc: Add header name to #error.
   3438 	* testsuite/26_numerics/midpoint/integral.cc: Likewise.
   3439 	* testsuite/26_numerics/midpoint/version.cc: New test.
   3440 
   3441 2021-08-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3442 
   3443 	* include/experimental/random (experimental::randint): Add
   3444 	nodiscard attribute.
   3445 
   3446 2021-08-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3447 
   3448 	* src/c++98/locale_init.cc: Require C++11.
   3449 	* src/c++98/localename.cc: Likewise.
   3450 	* src/c++98/misc-inst.cc: Require C++98.
   3451 
   3452 2021-08-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3453 
   3454 	PR libstdc++/101866
   3455 	* testsuite/experimental/random/randint.cc: Loop and retry if
   3456 	reseed() produces the same sequence.
   3457 
   3458 2021-08-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3459 
   3460 	* include/std/type_traits (__cpp_lib_is_pointer_interconvertible)
   3461 	(is_pointer_interconvertible_base_of_v)
   3462 	(is_pointer_interconvertible_base_of): Define for C++20.
   3463 	* include/std/version (__cpp_lib_is_pointer_interconvertible):
   3464 	Define.
   3465 	* testsuite/23_containers/span/layout_compat.cc: Use correct
   3466 	feature test macro for std::is_layout_compatible_v.
   3467 	* testsuite/20_util/is_pointer_interconvertible/value.cc: New test.
   3468 	* testsuite/20_util/is_pointer_interconvertible/version.cc: New test.
   3469 
   3470 2021-08-09  Jonathan Wakely  <jwakely (a] redhat.com>
   3471 
   3472 	* include/bits/regex.h (basic_regex::transform_primary): Use
   3473 	_GLIBCXX_STD_C::vector for local variable.
   3474 	* include/bits/regex.tcc (__regex_algo_impl): Use reference to
   3475 	_GLIBCXX_STD_C::vector base class of match_results.
   3476 	* include/bits/regex_automaton.tcc (_StateSeq:_M_clone): Use
   3477 	_GLIBCXX_STD_C::map and _GLIBCXX_STD_C::deque for local
   3478 	variables.
   3479 	* include/bits/regex_compiler.h (_BracketMatcher): Use
   3480 	_GLIBCXX_STD_C::vector for data members.
   3481 	* include/bits/regex_executor.h (_Executor): Likewise.
   3482 	* include/std/regex [_GLIBCXX_DEBUG]: Include <debug/vector>.
   3483 
   3484 2021-08-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3485 
   3486 	* include/debug/safe_container.h
   3487 	(_Safe_container(_Safe_container&&, const _Alloc&, std::true_type)): New.
   3488 	(_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)): New.
   3489 	(_Safe_container(_Safe_container&&, const _Alloc&)): Use latters.
   3490 
   3491 2021-08-09  Jonathan Wakely  <jwakely (a] redhat.com>
   3492 
   3493 	* testsuite/23_containers/unordered_map/cons/default.cc: Add
   3494 	equality comparison operators to allocator.
   3495 	* testsuite/23_containers/unordered_set/cons/default.cc:
   3496 	Likewise.
   3497 
   3498 2021-08-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3499 
   3500 	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Replace 'failed_assertion'
   3501 	dg-prune-output reason with 'builtin_unreachable'.
   3502 	* testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: Likewise.
   3503 	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise.
   3504 	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: Likewise.
   3505 	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise.
   3506 	* testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: Likewise.
   3507 	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: Likewise.
   3508 	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise.
   3509 	* testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: Likewise.
   3510 
   3511 2021-08-08  Hans-Peter Nilsson  <hp (a] bitrange.com>
   3512 
   3513 	* testsuite/std/ranges/iota/max_size_type.cc: Set
   3514 	dg-timeout-factor to 4.
   3515 
   3516 2021-08-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3517 
   3518 	* libsupc++/compare (compare_three_way, strong_order)
   3519 	(weak_order, partial_order, compare_strong_order_fallback)
   3520 	(compare_weak_order_fallback, compare_partial_order_fallback):
   3521 	Move nodiscard attributes to correct location.
   3522 
   3523 2021-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3524 
   3525 	PR libstdc++/101782
   3526 	* include/bits/ranges_base.h (ranges::begin, ranges::end)
   3527 	(ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
   3528 	(ranges::empty, ranges::data): Move attribute after the
   3529 	declarator-id instead of at the end of the declarator.
   3530 	* include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator):
   3531 	Move attributes back to the start of the function declarator,
   3532 	but move the requires-clause to the end.
   3533 	(common_iterator): Move attribute after the declarator-id.
   3534 	* include/bits/stl_queue.h (queue): Remove ill-formed attributes
   3535 	from friend declaration that are not definitions.
   3536 	* include/std/ranges (views::all, views::filter)
   3537 	(views::transform, views::take, views::take_while,
   3538 	views::drop) (views::drop_while, views::join,
   3539 	views::lazy_split) (views::split, views::counted,
   3540 	views::common, views::reverse) (views::elements): Move
   3541 	attributes after the declarator-id.
   3542 
   3543 2021-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3544 
   3545 	* libsupc++/compare (partial_ordering, weak_ordering)
   3546 	(strong_ordering, is_eq, is_neq, is_lt, is_lteq, is_gt, is_gteq)
   3547 	(compare_three_way, strong_order, weak_order, partial_order)
   3548 	(compare_strong_order_fallback, compare_weak_order_fallback)
   3549 	(compare_partial_order_fallback, __detail::__synth3way): Add
   3550 	nodiscard attribute.
   3551 	* testsuite/18_support/comparisons/categories/zero_neg.cc: Add
   3552 	-Wno-unused-result to options.
   3553 
   3554 2021-08-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3555 
   3556 	PR libstdc++/101782
   3557 	* include/bits/ranges_base.h (ranges::begin, ranges::end)
   3558 	(ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
   3559 	(ranges::empty, ranges::data): Move attribute to the end of
   3560 	the declarator.
   3561 	* include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator)
   3562 	(common_iterator): Likewise for non-member operator functions.
   3563 	* include/std/ranges (views::all, views::filter)
   3564 	(views::transform, views::take, views::take_while, views::drop)
   3565 	(views::drop_while, views::join, views::lazy_split)
   3566 	(views::split, views::counted, views::common, views::reverse)
   3567 	(views::elements): Likewise.
   3568 	* testsuite/std/ranges/access/101782.cc: New test.
   3569 
   3570 2021-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3571 
   3572 	* include/bits/forward_list.h: Add [[nodiscard]] to functions
   3573 	with no side-effects.
   3574 	* include/bits/stl_bvector.h: Likewise.
   3575 	* include/bits/stl_deque.h: Likewise.
   3576 	* include/bits/stl_list.h: Likewise.
   3577 	* include/bits/stl_queue.h: Likewise.
   3578 	* include/bits/stl_stack.h: Likewise.
   3579 	* include/bits/stl_vector.h: Likewise.
   3580 	* include/debug/deque: Likewise.
   3581 	* include/debug/forward_list: Likewise.
   3582 	* include/debug/list: Likewise.
   3583 	* include/debug/safe_iterator.h: Likewise.
   3584 	* include/debug/vector: Likewise.
   3585 	* include/std/array: Likewise.
   3586 	* testsuite/23_containers/array/creation/3_neg.cc: Use
   3587 	-Wno-unused-result.
   3588 	* testsuite/23_containers/array/debug/back1_neg.cc: Cast result
   3589 	to void.
   3590 	* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
   3591 	* testsuite/23_containers/array/debug/front1_neg.cc: Likewise.
   3592 	* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
   3593 	* testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc:
   3594 	Likewise.
   3595 	* testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc:
   3596 	Likewise.
   3597 	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
   3598 	Adjust dg-error line numbers.
   3599 	* testsuite/23_containers/deque/cons/clear_allocator.cc: Cast
   3600 	result to void.
   3601 	* testsuite/23_containers/deque/debug/invalidation/4.cc:
   3602 	Likewise.
   3603 	* testsuite/23_containers/deque/types/1.cc: Use
   3604 	-Wno-unused-result.
   3605 	* testsuite/23_containers/list/types/1.cc: Cast result to void.
   3606 	* testsuite/23_containers/priority_queue/members/7161.cc:
   3607 	Likewise.
   3608 	* testsuite/23_containers/queue/members/7157.cc: Likewise.
   3609 	* testsuite/23_containers/vector/59829.cc: Likewise.
   3610 	* testsuite/23_containers/vector/ext_pointer/types/1.cc:
   3611 	Likewise.
   3612 	* testsuite/23_containers/vector/ext_pointer/types/2.cc:
   3613 	Likewise.
   3614 	* testsuite/23_containers/vector/types/1.cc: Use
   3615 	-Wno-unused-result.
   3616 
   3617 2021-08-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3618 
   3619 	* include/bits/iterator_concepts.h (iter_move): Add
   3620 	[[nodiscard]].
   3621 	* include/bits/range_access.h (begin, end, cbegin, cend)
   3622 	(rbegin, rend, crbegin, crend, size, data, ssize): Likewise.
   3623 	* include/bits/ranges_base.h (ranges::begin, ranges::end)
   3624 	(ranges::cbegin, ranges::cend, ranges::rbegin, ranges::rend)
   3625 	(ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
   3626 	(ranges::empty, ranges::data, ranges::cdata): Likewise.
   3627 	* include/bits/stl_iterator.h (reverse_iterator, __normal_iterator)
   3628 	(back_insert_iterator, front_insert_iterator, insert_iterator)
   3629 	(move_iterator, move_sentinel, common_iterator)
   3630 	(counted_iterator): Likewise.
   3631 	* include/bits/stl_iterator_base_funcs.h (distance, next, prev):
   3632 	Likewise.
   3633 	* include/bits/stream_iterator.h (istream_iterator)
   3634 	(ostream_iterartor): Likewise.
   3635 	* include/bits/streambuf_iterator.h (istreambuf_iterator)
   3636 	(ostreambuf_iterator): Likewise.
   3637 	* include/std/ranges (views::single, views::iota, views::all)
   3638 	(views::filter, views::transform, views::take, views::take_while)
   3639 	(views::drop, views::drop_while, views::join, views::lazy_split)
   3640 	(views::split, views::counted, views::common, views::reverse)
   3641 	(views::elements): Likewise.
   3642 	* testsuite/20_util/rel_ops.cc: Use -Wno-unused-result.
   3643 	* testsuite/24_iterators/move_iterator/greedy_ops.cc: Likewise.
   3644 	* testsuite/24_iterators/normal_iterator/greedy_ops.cc:
   3645 	Likewise.
   3646 	* testsuite/24_iterators/reverse_iterator/2.cc: Likewise.
   3647 	* testsuite/24_iterators/reverse_iterator/greedy_ops.cc:
   3648 	Likewise.
   3649 	* testsuite/21_strings/basic_string/range_access/char/1.cc:
   3650 	Cast result to void.
   3651 	* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
   3652 	Likewise.
   3653 	* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
   3654 	Likewise.
   3655 	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
   3656 	Likewise.
   3657 	* testsuite/23_containers/array/range_access.cc: Likewise.
   3658 	* testsuite/23_containers/deque/range_access.cc: Likewise.
   3659 	* testsuite/23_containers/forward_list/range_access.cc:
   3660 	Likewise.
   3661 	* testsuite/23_containers/list/range_access.cc: Likewise.
   3662 	* testsuite/23_containers/map/range_access.cc: Likewise.
   3663 	* testsuite/23_containers/multimap/range_access.cc: Likewise.
   3664 	* testsuite/23_containers/multiset/range_access.cc: Likewise.
   3665 	* testsuite/23_containers/set/range_access.cc: Likewise.
   3666 	* testsuite/23_containers/unordered_map/range_access.cc:
   3667 	Likewise.
   3668 	* testsuite/23_containers/unordered_multimap/range_access.cc:
   3669 	Likewise.
   3670 	* testsuite/23_containers/unordered_multiset/range_access.cc:
   3671 	Likewise.
   3672 	* testsuite/23_containers/unordered_set/range_access.cc:
   3673 	Likewise.
   3674 	* testsuite/23_containers/vector/range_access.cc: Likewise.
   3675 	* testsuite/24_iterators/customization_points/iter_move.cc:
   3676 	Likewise.
   3677 	* testsuite/24_iterators/istream_iterator/sentinel.cc:
   3678 	Likewise.
   3679 	* testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
   3680 	Likewise.
   3681 	* testsuite/24_iterators/move_iterator/dr2061.cc: Likewise.
   3682 	* testsuite/24_iterators/operations/prev_neg.cc: Likewise.
   3683 	* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
   3684 	* testsuite/24_iterators/range_access/range_access.cc:
   3685 	Likewise.
   3686 	* testsuite/24_iterators/range_operations/100768.cc: Likewise.
   3687 	* testsuite/26_numerics/valarray/range_access2.cc: Likewise.
   3688 	* testsuite/28_regex/range_access.cc: Likewise.
   3689 	* testsuite/experimental/string_view/range_access/char/1.cc:
   3690 	Likewise.
   3691 	* testsuite/experimental/string_view/range_access/wchar_t/1.cc:
   3692 	Likewise.
   3693 	* testsuite/ext/vstring/range_access.cc: Likewise.
   3694 	* testsuite/std/ranges/adaptors/take.cc: Likewise.
   3695 	* testsuite/std/ranges/p2259.cc: Likewise.
   3696 
   3697 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3698 
   3699 	* include/bits/random.tcc (linear_congruential_engine): Do not
   3700 	define static constexpr members when they are implicitly inline.
   3701 	* include/std/ratio (ratio, __ratio_multiply, __ratio_divide)
   3702 	(__ratio_add, __ratio_subtract): Likewise.
   3703 	* include/std/type_traits (integral_constant): Likewise.
   3704 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   3705 	line number.
   3706 
   3707 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3708 
   3709 	* testsuite/util/testsuite_common_types.h: Replace uses of
   3710 	tr1::unordered_map and tr1::unordered_set with their C++11
   3711 	equivalents.
   3712 	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust
   3713 	dg-error line number.
   3714 	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
   3715 	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
   3716 	Likewise.
   3717 	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc:
   3718 	Likewise.
   3719 	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
   3720 	Likewise.
   3721 	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
   3722 	Likewise.
   3723 	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
   3724 	Likewise.
   3725 
   3726 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3727 
   3728 	* include/std/memory_resource (polymorphic_allocator::delete_object):
   3729 	Call destructor directly instead of using destroy.
   3730 	(allocator_traits<polymorphic_allocator<T>>): Define partial
   3731 	specialization.
   3732 
   3733 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3734 
   3735 	* testsuite/20_util/function_objects/binders/3113.cc: Remove
   3736 	trailing whitespace.
   3737 	* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
   3738 	* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
   3739 	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
   3740 	Likewise.
   3741 	* testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
   3742 	* testsuite/25_algorithms/headers/algorithm/synopsis.cc:
   3743 	Likewise.
   3744 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
   3745 	Likewise.
   3746 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
   3747 	Likewise.
   3748 
   3749 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3750 
   3751 	* doc/xml/manual/evolution.xml: Document deprecation.
   3752 	* doc/html/*: Regenerate.
   3753 	* include/bits/c++config (_GLIBCXX14_DEPRECATED): Define.
   3754 	(_GLIBCXX14_DEPRECATED_SUGGEST): Define.
   3755 	* include/bits/stl_algo.h (random_shuffle): Deprecate for C++14
   3756 	and later.
   3757 	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust
   3758 	for C++11 and C++14 changes to std::random_shuffle and
   3759 	std::shuffle.
   3760 	* testsuite/25_algorithms/random_shuffle/1.cc: Add options to
   3761 	use deprecated algorithms.
   3762 	* testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
   3763 	* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
   3764 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
   3765 	Likewise.
   3766 	* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
   3767 	Likewise.
   3768 
   3769 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3770 
   3771 	* testsuite/23_containers/forward_list/operations/3.cc:
   3772 	Use lambda instead of std::bind2nd.
   3773 	* testsuite/20_util/function_objects/binders/3113.cc: Add
   3774 	options for testing deprecated features.
   3775 	* testsuite/20_util/pair/cons/99957.cc: Likewise.
   3776 	* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
   3777 	* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
   3778 	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
   3779 	Likewise.
   3780 	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
   3781 	* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
   3782 	* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
   3783 	* testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
   3784 	* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
   3785 	* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
   3786 	* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
   3787 	Likewise.
   3788 	* testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
   3789 	Likewise.
   3790 	* testsuite/lib/dg-options.exp (dg_add_options_using-deprecated):
   3791 	New proc.
   3792 
   3793 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3794 
   3795 	* include/bits/regex_executor.h (_State_info): Replace
   3796 	unique_ptr<bool[]> with array of bool.
   3797 	* include/bits/regex_executor.tcc: Likewise.
   3798 	* include/bits/regex_scanner.tcc: Replace std::strchr with
   3799 	__builtin_strchr.
   3800 	* include/std/regex: Replace standard headers with smaller
   3801 	internal ones.
   3802 	* testsuite/28_regex/traits/char/lookup_classname.cc: Include
   3803 	<string.h> for strlen.
   3804 	* testsuite/28_regex/traits/char/lookup_collatename.cc:
   3805 	Likewise.
   3806 
   3807 2021-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3808 
   3809 	* include/bits/locale_conv.h (__detail::_Scoped_ptr): Define new
   3810 	RAII class template.
   3811 	(wstring_convert, wbuffer_convert): Use __detail::_Scoped_ptr
   3812 	instead of unique_ptr.
   3813 
   3814 2021-08-02  Patrick Palka  <ppalka (a] redhat.com>
   3815 
   3816 	PR libstdc++/101599
   3817 	* include/bits/ranges_algo.h (__reverse_copy_fn::operator()):
   3818 	Add missing std::move in return statement.
   3819 	(__partition_copy_fn::operator()): Rename templtae parameter
   3820 	_O2 to _Out2.  Uglify function parameters out_true and out_false.
   3821 	* include/bits/ranges_algobase.h (__copy_or_move): Add missing
   3822 	std::move to recursive call that unwraps a __normal_iterator
   3823 	output iterator.
   3824 	* testsuite/25_algorithms/copy/constrained.cc (test06): New test.
   3825 	* testsuite/25_algorithms/move/constrained.cc (test05): New test.
   3826 
   3827 2021-08-02  Patrick Palka  <ppalka (a] redhat.com>
   3828 
   3829 	PR libstdc++/101589
   3830 	* include/std/ranges (lazy_split_view::_InnerIter::base): Make
   3831 	the const& overload unconstrained and return a const reference
   3832 	as per LWG 3533.  Make unconditionally noexcept.
   3833 	(elements_view::base): Revert accidental r12-569 change.
   3834 	(elements_view::_Iterator::base): Make the const& overload
   3835 	unconstrained and return a const reference as per LWG 3533.
   3836 	Make unconditionally noexcept.
   3837 
   3838 2021-08-02  Patrick Palka  <ppalka (a] redhat.com>
   3839 
   3840 	PR libstdc++/101483
   3841 	* include/std/ranges (join_view::_Iterator::_Iterator): Add
   3842 	missing std::move.
   3843 
   3844 2021-08-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3845 
   3846 	PR libstdc++/101709
   3847 	* src/filesystem/ops-common.h (get_temp_directory_from_env):
   3848 	Add error_code parameter.
   3849 	* src/c++17/fs_ops.cc (fs::temp_directory_path): Pass error_code
   3850 	argument to get_temp_directory_from_env and check it.
   3851 	* src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
   3852 
   3853 2021-08-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3854 
   3855 	* testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
   3856 	Add dg-error for c++11_only target.
   3857 
   3858 2021-07-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3859 
   3860 	PR libstdc++/65018
   3861 	* configure.ac: Check for secure_getenv.
   3862 	* config.h.in: Regenerate.
   3863 	* configure: Regenerate.
   3864 	* src/filesystem/ops-common.h (get_temp_directory_from_env): New
   3865 	helper function to obtain path from the environment.
   3866 	* src/c++17/fs_ops.cc (fs::temp_directory_path): Use new helper.
   3867 	* src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
   3868 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   3869 	Print messages if test cannot be run.
   3870 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   3871 	Likewise. Fix incorrect condition. Use "TMP" to work with
   3872 	Windows as well as POSIX.
   3873 
   3874 2021-07-29  Hans-Peter Nilsson  <hp (a] bitrange.com>
   3875 
   3876 	* src/c++17/memory_resource.cc: Use __exchange instead
   3877 	of std::exchange.
   3878 
   3879 2021-07-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3880 
   3881 	* include/experimental/optional (__throw_bad_optional_access):
   3882 	Replace GNU attribute with C++11 attribute.
   3883 	(optional::value, optional::value_or): Use if statements
   3884 	instead of conditional expressions.
   3885 	* include/std/optional (__throw_bad_optional_access)
   3886 	(optional::value, optional::value_or): Likewise.
   3887 
   3888 2021-07-27  Marek Polacek  <polacek (a] redhat.com>
   3889 
   3890 	DR 1512
   3891 	PR c++/99701
   3892 	* testsuite/20_util/tuple/comparison_operators/overloaded.cc:
   3893 	Move a line...
   3894 	* testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
   3895 	...here.  New test.
   3896 
   3897 2021-07-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3898 
   3899 	* include/bits/cow_string.h: Consistently use tab for
   3900 	indentation.
   3901 
   3902 2021-07-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3903 
   3904 	* include/Makefile.am: Add new header.
   3905 	* include/Makefile.in: Regenerate.
   3906 	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
   3907 	(basic_string): Move definition of Copy-on-Write string to
   3908 	new file.
   3909 	* include/bits/basic_string.tcc: Likewise.
   3910 	* include/bits/cow_string.h: New file.
   3911 
   3912 2021-07-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3913 
   3914 	* include/std/algorithm: Do not include <utility>.
   3915 	* include/std/functional: Likewise.
   3916 	* include/std/regex: Include <bits/stl_pair.h> instead of
   3917 	<utility>.
   3918 	* include/debug/map.h: Likewise.
   3919 	* include/debug/multimap.h: Likewise.
   3920 	* include/debug/multiset.h: Likewise.
   3921 	* include/debug/set.h: Likewise.
   3922 	* include/debug/vector: Likewise.
   3923 	* include/bits/fs_path.h: Likewise.
   3924 	* include/bits/unique_ptr.h: Do not include <utility>.
   3925 	* include/experimental/any: Likewise.
   3926 	* include/experimental/executor: Likewise.
   3927 	* include/experimental/memory: Likewise.
   3928 	* include/experimental/optional: Likewise.
   3929 	* include/experimental/socket: Use __exchange instead
   3930 	of std::exchange.
   3931 	* src/filesystem/ops-common.h: Likewise.
   3932 	* testsuite/20_util/default_delete/48631_neg.cc: Adjust expected
   3933 	errors to not use a hardcoded line number.
   3934 	* testsuite/20_util/default_delete/void_neg.cc: Likewise.
   3935 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
   3936 	Include <utility> for std::as_const.
   3937 	* testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
   3938 	Likewise.
   3939 	* testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
   3940 	Likewise.
   3941 	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
   3942 	Likewise.
   3943 	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
   3944 	Adjust dg-error line number.
   3945 
   3946 2021-07-27  Jonathan Wakely  <jwakely (a] redhat.com>
   3947 
   3948 	* include/Makefile.am: Add bits/utility.h header.
   3949 	* include/Makefile.in: Regenerate.
   3950 	* include/bits/utility.h: New file.
   3951 	* include/std/utility (tuple_size, tuple_element): Move
   3952 	to new header.
   3953 	* include/std/type_traits (__is_tuple_like_impl<tuple<T...>>):
   3954 	Move to <tuple>.
   3955 	(_Index_tuple, _Build_index_tuple, integer_sequence): Likewise.
   3956 	(in_place_t, in_place_index_t, in_place_type_t): Likewise.
   3957 	* include/bits/ranges_util.h: Include new header instead of
   3958 	<utility>.
   3959 	* include/bits/stl_pair.h (tuple_size, tuple_element): Move
   3960 	partial specializations for std::pair here.
   3961 	(get): Move overloads for std::pair here.
   3962 	* include/std/any: Include new header instead of <utility>.
   3963 	* include/std/array: Likewise.
   3964 	* include/std/memory_resource: Likewise.
   3965 	* include/std/optional: Likewise.
   3966 	* include/std/variant: Likewise.
   3967 	* include/std/tuple: Likewise.
   3968 	(__is_tuple_like_impl<tuple<T...>>): Move here.
   3969 	(get) Declare overloads for std::array.
   3970 	* include/std/version (__cpp_lib_tuples_by_type): Change type
   3971 	to long.
   3972 	* testsuite/20_util/optional/84601.cc: Include <utility>.
   3973 	* testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
   3974 	Likewise.
   3975 	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
   3976 	Adjust dg-error line numbers.
   3977 	* testsuite/std/ranges/access/cbegin.cc: Include <utility>.
   3978 	* testsuite/std/ranges/access/cend.cc: Likewise.
   3979 	* testsuite/std/ranges/access/end.cc: Likewise.
   3980 	* testsuite/std/ranges/single_view.cc: Likewise.
   3981 
   3982 2021-07-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3983 
   3984 	* include/std/future: Include <bits/atomic_base.h> instead of
   3985 	<atomic>.
   3986 
   3987 2021-07-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3988 
   3989 	* include/bits/stl_relops.h: Update documentation comments.
   3990 
   3991 2021-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3992 
   3993 	PR libstdc++/101583
   3994 	* include/bits/hashtable.h (_Hashtable): Replace mixin with
   3995 	_Enable_default_ctor. Construct it explicitly in all
   3996 	non-forwarding, non-defaulted constructors.
   3997 	* testsuite/23_containers/unordered_map/cons/default.cc: Check
   3998 	non-default constructors can be used.
   3999 	* testsuite/23_containers/unordered_set/cons/default.cc:
   4000 	Likewise.
   4001 
   4002 2021-07-22  David Edelsohn  <dje.gcc (a] gmail.com>
   4003 
   4004 	* config/os/aix/os_defines.h (__LIBC_NO_CPP_MATH_OVERLOADS__): Define.
   4005 
   4006 2021-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4007 
   4008 	PR libstdc++/94295
   4009 	* include/ext/new_allocator.h (_GLIBCXX_OPERATOR_NEW)
   4010 	(_GLIBCXX_OPERATOR_DELETE, _GLIBCXX_SIZED_DEALLOC): Define.
   4011 	(allocator::allocate, allocator::deallocate): Use new macros.
   4012 
   4013 2021-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4014 
   4015 	PR libstdc++/101571
   4016 	* include/bits/ranges_uninitialized.h (_DestroyGuard): Change
   4017 	constructor parameter to reference and use addressof.
   4018 	* testsuite/util/testsuite_iterators.h: Define deleted operator&
   4019 	overloads for test iterators.
   4020 
   4021 2021-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4022 
   4023 	* include/bits/std_function.h (_Function_base): Add
   4024 	default member initializers and define constructor as defaulted.
   4025 	(function::_M_invoker): Add default member initializer.
   4026 
   4027 2021-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4028 
   4029 	PR libstdc++/100682
   4030 	* doc/xml/manual/debug_mode.xml: Update documentation about
   4031 	debug capability of std::array.
   4032 	* doc/html/*: Regenerate.
   4033 	* include/debug/array: New file.
   4034 
   4035 2021-07-21  Jonathan Wakely  <jwakely (a] redhat.com>
   4036 
   4037 	PR libstdc++/101542
   4038 	* include/ext/rope (sequence_buffer): Add move constructor and
   4039 	move assignment operator.
   4040 	* testsuite/ext/rope/101542.cc: New test.
   4041 
   4042 2021-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   4043 
   4044 	PR libstdc++/101510
   4045 	* src/c++17/fs_ops.cc (fs::create_directories): Use status
   4046 	instead of symlink_status.
   4047 	* src/filesystem/ops.cc (fs::create_directories): Likewise.
   4048 	* testsuite/27_io/filesystem/operations/create_directories.cc:
   4049 	Check symlink to existing directory.
   4050 	* testsuite/27_io/filesystem/operations/create_directory.cc: Do
   4051 	not test with symlinks on Windows.
   4052 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   4053 	Check symlink to existing directory.
   4054 	* testsuite/experimental/filesystem/operations/create_directory.cc:
   4055 	Do not test with symlinks on Windows.
   4056 
   4057 2021-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   4058 
   4059 	PR libstdc++/100863
   4060 	* include/bits/hashtable.h (_Hashtable): Conditionally delete
   4061 	default constructor by deriving from _Enable_special_members.
   4062 	* testsuite/23_containers/unordered_map/cons/default.cc: New test.
   4063 	* testsuite/23_containers/unordered_set/cons/default.cc: New test.
   4064 
   4065 2021-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
   4066 
   4067 	PR libstdc++/101510
   4068 	* src/c++17/fs_ops.cc (create_dir): Adjust whitespace.
   4069 	* testsuite/27_io/filesystem/operations/create_directory.cc:
   4070 	Test creating directory with name of existing symlink to
   4071 	directory.
   4072 	* testsuite/experimental/filesystem/operations/create_directory.cc:
   4073 	Likewise.
   4074 
   4075 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4076 
   4077 	* include/std/tuple (get<I>): Add deleted overload for bad
   4078 	index.
   4079 	* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
   4080 	expected errors.
   4081 
   4082 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4083 
   4084 	* include/bits/max_size_type.h (numeric_limits<__max_size_type>):
   4085 	Use __int_traits unconditionally.
   4086 
   4087 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4088 
   4089 	* include/bits/random.h (_Shift::__value): Use constexpr.
   4090 	(_Select_uint_least_t::type): Use using-declaration.
   4091 	(_Mod): Likewise.
   4092 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   4093 	line number.
   4094 
   4095 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4096 
   4097 	* include/bits/cpp_type_traits.h (__INT_N): Use __extension__
   4098 	instead of diagnostic pragmas.
   4099 	* include/bits/functional_hash.h: Likewise.
   4100 	* include/bits/iterator_concepts.h (__is_signed_int128)
   4101 	(__is_unsigned_int128): Likewise.
   4102 	* include/bits/max_size_type.h (__max_size_type): Likewise.
   4103 	(numeric_limits<__max_size_type>): Likewise.
   4104 	* include/bits/std_abs.h (abs): Likewise.
   4105 	* include/bits/stl_algobase.h (__size_to_integer): Likewise.
   4106 	* include/bits/uniform_int_dist.h (uniform_int_distribution):
   4107 	Likewise.
   4108 	* include/ext/numeric_traits.h (_GLIBCXX_INT_N_TRAITS):
   4109 	Likewise.
   4110 	* include/std/type_traits (__is_integral_helper<INT_N>)
   4111 	(__is_signed_integer, __is_unsigned_integer)
   4112 	(__make_unsigned<INT_N>, __make_signed<INT_N>): Likewise.
   4113 	* include/std/limits (__INT_N): Add __extension__ keyword.
   4114 	* include/bits/random.h (_Select_uint_least_t)
   4115 	(random_device): Likewise.
   4116 
   4117 2021-07-16  Patrick Palka  <ppalka (a] redhat.com>
   4118 
   4119 	PR libstdc++/101231
   4120 	* include/std/ranges (_CachedPosition::_M_get): For non-forward
   4121 	ranges, just call __builtin_unreachable.
   4122 	* testsuite/std/ranges/istream_view.cc (test05): New test.
   4123 
   4124 2021-07-16  Patrick Palka  <ppalka (a] redhat.com>
   4125 
   4126 	PR libstdc++/101214
   4127 	* include/std/ranges (split_view::split_view): Use std::move.
   4128 	(split_view::_Iterator::_Iterator): Remove redundant
   4129 	default_initializable constraint.
   4130 	(split_view::_Sentinel::_Sentinel): Declare.
   4131 	* testsuite/std/ranges/adaptors/split.cc (test02): New test.
   4132 
   4133 2021-07-16  Marek Polacek  <polacek (a] redhat.com>
   4134 
   4135 	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Add
   4136 	dg-error.
   4137 
   4138 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4139 
   4140 	* include/bits/unique_ptr.h: Adjust doxygen markup.
   4141 
   4142 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4143 
   4144 	PR libstdc++/101307
   4145 	* include/std/type_traits: Adjust doxygen markup.
   4146 
   4147 2021-07-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4148 
   4149 	* include/bits/cpp_type_traits.h: Add diagnostic pragmas around
   4150 	uses of non-standard integer types.
   4151 	* include/bits/functional_hash.h: Likewise.
   4152 	* include/bits/iterator_concepts.h: Likewise.
   4153 	* include/bits/max_size_type.h: Likewise.
   4154 	* include/bits/std_abs.h: Likewise.
   4155 	* include/bits/stl_algobase.h: Likewise.
   4156 	* include/bits/uniform_int_dist.h: Likewise.
   4157 	* include/ext/numeric_traits.h: Likewise.
   4158 	* include/std/type_traits: Likewise.
   4159 
   4160 2021-07-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4161 
   4162 	PR libstdc++/101427
   4163 	* include/std/tuple (tuple_element): Improve static_assert text.
   4164 	(__get_helper): Add deleted overload.
   4165 	(get<i>(tuple<T...>&&), get<i>(const tuple<T...>&&)): Use
   4166 	__get_helper directly.
   4167 	(__get_helper2): Remove.
   4168 	(__find_uniq_type_in_pack): New constexpr helper function.
   4169 	(get<T>): Use __find_uniq_type_in_pack and __get_helper instead
   4170 	of __get_helper2.
   4171 	* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
   4172 	expected errors.
   4173 	* testsuite/20_util/tuple/element_access/101427.cc: New test.
   4174 
   4175 2021-07-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4176 
   4177 	PR libstdc++/101429
   4178 	* include/bits/c++config (__replacement_assert): Add noexcept.
   4179 	[!_GLIBCXX_VERBOSE] (__glibcxx_assert_impl): Use __builtin_abort
   4180 	instead of __replacement_assert.
   4181 
   4182 2021-07-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4183 
   4184 	* include/std/string_view (basic_string_view(It, End)): Add
   4185 	noexcept-specifier.
   4186 	* testsuite/21_strings/basic_string_view/cons/char/range.cc:
   4187 	Check noexcept-specifier. Also check construction without CTAD.
   4188 
   4189 2021-07-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4190 
   4191 	PR c++/101361
   4192 	* include/std/string_view (ends_with): Use traits_type::compare
   4193 	directly.
   4194 
   4195 2021-07-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4196 
   4197 	* include/std/string_view: Only include <bits/ranges_base.h>
   4198 	once, and only for C++20 and later.
   4199 
   4200 2021-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   4201 
   4202 	PR libstdc++/101411
   4203 	* include/std/span (as_writable_bytes): Add requires-clause.
   4204 	* testsuite/23_containers/span/101411.cc: New test.
   4205 
   4206 2021-07-09  Matheus Castanho  <msc (a] linux.ibm.com>
   4207 
   4208 	* include/std/mutex (__lock_impl): Check
   4209 	_GLIBCXX_HAS_GTHREADS before using __gthread_yield.
   4210 
   4211 2021-07-02  Jonathan Wakely  <jwakely (a] redhat.com>
   4212 
   4213 	PR libstdc++/101271
   4214 	* include/bits/unique_ptr.h (unique_ptr<T[],D>::operator[]):
   4215 	Remove noexcept-specifier.
   4216 	(unique_ptr<T[],D>::_S_nothrow_deref): Remove.
   4217 	* testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for
   4218 	operator[].
   4219 
   4220 2021-07-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4221 
   4222 	* doc/doxygen/doxygroups.cc: Fix docs for std::literals.
   4223 	* doc/doxygen/user.cfg.in: Exclude the Networking TS header.
   4224 	Add some more predefined macros.
   4225 	* include/bits/fs_fwd.h: Move @addtogroup commands inside
   4226 	namespaces. Add better documentation.
   4227 	* include/bits/fs_path.h: Likewise.
   4228 	* include/experimental/bits/fs_fwd.h: Likewise.
   4229 	* include/experimental/bits/fs_path.h: Likewise.
   4230 	* include/ext/throw_allocator.h: Fix typo and improve docs.
   4231 	* include/std/chrono: Move @addtogroup commands.
   4232 	* include/std/system_error: Move @addtogroup commands.
   4233 	* libsupc++/exception: Improve documentation.
   4234 	* libsupc++/exception.h: Add @since documentation.
   4235 
   4236 2021-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   4237 
   4238 	PR libstdc++/101258
   4239 	* doc/doxygen/user.cfg.in (INPUT): Add <experimental/simd>.
   4240 	(COLS_IN_ALPHA_INDEX): Remove obsolete tag.
   4241 	(PREDEFINED): Add/fix some more macros that need to be expanded.
   4242 	* include/bits/random.h: Stop Doxygen from documenting internal
   4243 	implementation details.
   4244 	* include/bits/random.tcc: Likewise.
   4245 	* include/bits/this_thread_sleep.h: Fix @file name.
   4246 	* include/experimental/bits/simd.h: Add to Doxygen group. Do not
   4247 	document internal implementation details.
   4248 	* include/experimental/bits/simd_detail.h: Do not document
   4249 	internal implementation details.
   4250 	* include/experimental/simd: Define Doxygen groups.
   4251 	* include/experimental/type_traits: Improve documentation for
   4252 	the header file. Define groups. Use @since commands.
   4253 	* include/std/scoped_allocator (scoped_allocator_adaptor): Move
   4254 	declaration before undocumented region.
   4255 	* include/std/type_traits (true_type, false_type): Use using
   4256 	declaration instead of typedef.
   4257 	(is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v)
   4258 	(is_nothrow_invocable_r_v): Move definitions next to other C++17
   4259 	variable templates.
   4260 	Do not document internal implementation details. Move misplaced
   4261 	group-end command. Define group for variable templates.
   4262 	* include/std/variant: Do not document internal implementation
   4263 	details.
   4264 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   4265 	line number.
   4266 
   4267 2021-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   4268 
   4269 	* include/experimental/simd: Do not define anything pre-C++17.
   4270 
   4271 2021-06-30  Jonathan Wakely  <jwakely (a] redhat.com>
   4272 
   4273 	* include/bits/random.tcc [__cpp_inline_variables]: Remove
   4274 	redundant definitions of static constexpr member variables.
   4275 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
   4276 	line number.
   4277 
   4278 2021-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4279 
   4280 	* include/bits/streambuf.tcc (__copy_streambufs_eof): Remove
   4281 	explicit instantiation declarations.
   4282 	* src/c++11/streambuf-inst.cc (__copy_streambufs_eof): Remove
   4283 	explicit instantiation definitions.
   4284 
   4285 2021-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4286 
   4287 	PR libstdc++/97088
   4288 	* testsuite/17_intro/names.cc: Fix #if condition for names used
   4289 	by newlib headers.
   4290 
   4291 2021-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4292 
   4293 	PR libstdc++/101236
   4294 	* include/bits/unique_ptr.h (unique_ptr<T[], D>::operator[]):
   4295 	Fail gracefully if element_type is incomplete.
   4296 	* testsuite/20_util/unique_ptr/cons/incomplete.cc: Clarify that
   4297 	the standard doesn't require this test to work for array types.
   4298 	* testsuite/20_util/unique_ptr/lwg2762.cc: Check that incomplete
   4299 	types can be used with array specialization.
   4300 	* testsuite/20_util/unique_ptr/101236.cc: New test.
   4301 
   4302 2021-06-28  Jonathan Wakely  <jwakely (a] redhat.com>
   4303 
   4304 	* doc/xml/manual/intro.xml: Document LWG 415 change.
   4305 	* doc/html/manual/bugs.html: Regenerate.
   4306 	* include/bits/istream.tcc (ws): Create sentry and catch
   4307 	exceptions.
   4308 	* testsuite/27_io/basic_istream/ws/char/lwg415.cc: New test.
   4309 	* testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc: New test.
   4310 
   4311 2021-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4312 
   4313 	* include/bits/ostream.tcc (basic_ostream::write): Call sputn
   4314 	directly instead of using _M_write. Do setstate(__err) all
   4315 	outside the try-catch block.
   4316 	* include/std/ostream (basic_ostream::_M_write): Declare
   4317 	private. Use __ostream_insert. Do not define for the versioned
   4318 	namespace.
   4319 
   4320 2021-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4321 
   4322 	* doc/xml/manual/intro.xml: Document LWG 581 change.
   4323 	* doc/html/manual/bugs.html: Regenerate.
   4324 	* include/bits/basic_ios.tcc: Whitespace.
   4325 	* include/bits/ostream.tcc (basic_ostream::flush()): Construct
   4326 	sentry.
   4327 	* testsuite/27_io/basic_ostream/flush/char/2.cc: Check
   4328 	additional cases.
   4329 	* testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
   4330 	Likewise.
   4331 	* testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
   4332 	* testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc:
   4333 	Likewise.
   4334 
   4335 2021-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4336 
   4337 	* include/bits/ostream.tcc (sentry): Only set failbit if badbit
   4338 	is set, not if eofbit is set.
   4339 	(tellp, seekp, seekp): Create sentry object. Do not set badbit
   4340 	on exceptions.
   4341 	* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
   4342 	Adjust expected behaviour.
   4343 	* testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc:
   4344 	Likewise.
   4345 	* testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
   4346 	Likewise.
   4347 	* testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc:
   4348 	Likewise.
   4349 	* testsuite/27_io/basic_ostream/seekp/char/n3168.cc: New test.
   4350 	* testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc: New test.
   4351 	* testsuite/27_io/basic_ostream/tellp/char/n3168.cc: New test.
   4352 	* testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc: New test.
   4353 
   4354 2021-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4355 
   4356 	* include/std/syncstream (basic_syncbuf::swap()): Remove
   4357 	noexcept, as per LWG 3498.
   4358 
   4359 2021-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4360 
   4361 	PR libstdc++/97088
   4362 	* testsuite/17_intro/names.cc: Undef more names for newlib and
   4363 	also for arm-none-linux-gnueabi.
   4364 	* testsuite/experimental/names.cc: Disable PCH.
   4365 
   4366 2021-06-25  Matthias Kretz  <m.kretz (a] gsi.de>
   4367 
   4368 	* include/experimental/bits/simd.h (__bit_cast): Implement via
   4369 	__builtin_bit_cast #if available.
   4370 	(__proposed::simd_bit_cast): Add overloads for simd and
   4371 	simd_mask, which use __builtin_bit_cast (or __bit_cast #if not
   4372 	available), which return an object of the requested type with
   4373 	the same bits as the argument.
   4374 	* include/experimental/bits/simd_math.h: Use simd_bit_cast
   4375 	instead of __bit_cast to allow casts to fixed_size_simd.
   4376 	(copysign): Remove branch that was only required if __bit_cast
   4377 	cannot be constexpr.
   4378 	* testsuite/experimental/simd/tests/bits/test_values.h: Switch
   4379 	from __bit_cast to __proposed::simd_bit_cast since the former
   4380 	will not cast fixed_size objects anymore.
   4381 
   4382 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4383 
   4384 	* include/experimental/bits/simd_math.h
   4385 	(_GLIBCXX_SIMD_MATH_CALL2_): Rename arg2_ to __arg2.
   4386 	(_GLIBCXX_SIMD_MATH_CALL3_): Rename arg2_ to __arg2 and arg3_ to
   4387 	__arg3.
   4388 
   4389 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4390 
   4391 	* include/experimental/bits/simd.h (__execute_on_index_sequence)
   4392 	(__execute_on_index_sequence_with_return)
   4393 	(__call_with_n_evaluations, __call_with_subscripts): Add flatten
   4394 	attribute.
   4395 
   4396 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4397 
   4398 	* include/experimental/bits/simd_x86.h (_S_trunc, _S_floor)
   4399 	(_S_ceil): Set bit 8 (_MM_FROUND_NO_EXC) on AVX and SSE4.1
   4400 	roundp[sd] calls.
   4401 
   4402 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4403 
   4404 	* include/experimental/bits/simd_x86.h (_S_ldexp): The AVX512F
   4405 	implementation doesn't require a _VecBltnBtmsk ABI tag, it
   4406 	requires either a 64-Byte input (in which case AVX512F must be
   4407 	available) or AVX512VL.
   4408 
   4409 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4410 
   4411 	* include/experimental/bits/simd_math.h: Undefine internal
   4412 	macros after use.
   4413 	(frexp): Move #if to a more sensible position and reformat
   4414 	preceding code.
   4415 	(logb): Call _SimdImpl::_S_logb for fixed_size instead of
   4416 	duplicating the code here.
   4417 	(modf): Simplify condition.
   4418 
   4419 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4420 
   4421 	* include/experimental/bits/simd_math.h (fabs): Remove
   4422 	fabs(simd<integral>) overload.
   4423 
   4424 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4425 
   4426 	* include/experimental/bits/simd_converter.h
   4427 	(_SimdConverter::operator()): Pass _SimdTuple by const-ref.
   4428 	* include/experimental/bits/simd_fixed_size.h
   4429 	(_GLIBCXX_SIMD_FIXED_OP): Pass binary operator _SimdTuple
   4430 	arguments by const-ref.
   4431 	(_S_masked_unary): Pass _SimdTuple by const-ref.
   4432 
   4433 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4434 
   4435 	* include/experimental/bits/simd_fixed_size.h
   4436 	(_AbisInSimdTuple): Removed.
   4437 
   4438 2021-06-24  Matthias Kretz  <m.kretz (a] gsi.de>
   4439 
   4440 	* include/experimental/bits/simd.h: Add missing operator~
   4441 	overload for simd<floating-point> to __float_bitwise_operators.
   4442 	* include/experimental/bits/simd_builtin.h
   4443 	(_SimdImplBuiltin::_S_complement): Bitcast to int (and back) to
   4444 	implement complement for floating-point vectors.
   4445 	* include/experimental/bits/simd_fixed_size.h
   4446 	(_SimdImplFixedSize::_S_copysign): New function, forwarding to
   4447 	copysign implementation of _SimdTuple members.
   4448 	* include/experimental/bits/simd_math.h (copysign): Call
   4449 	_SimdImpl::_S_copysign for fixed_size arguments. Simplify
   4450 	generic copysign implementation using the new ~ operator.
   4451 
   4452 2021-06-24  Jonathan Wakely  <jwakely (a] redhat.com>
   4453 
   4454 	* testsuite/experimental/simd/README.md: Fix typos.
   4455 
   4456 2021-06-24  Jonathan Wakely  <jwakely (a] redhat.com>
   4457 
   4458 	* include/bits/shared_ptr_base.h (__shared_ptr_access::operator[]):
   4459 	Add noexcept.
   4460 	* include/bits/unique_ptr.h (unique_ptr::operator*): Add
   4461 	conditional noexcept as per LWG 2762.
   4462 	* testsuite/20_util/shared_ptr/observers/array.cc: Check that
   4463 	dereferencing cannot throw.
   4464 	* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
   4465 	* testsuite/20_util/optional/observers/lwg2762.cc: New test.
   4466 	* testsuite/20_util/unique_ptr/lwg2762.cc: New test.
   4467 
   4468 2021-06-23  Patrick Palka  <ppalka (a] redhat.com>
   4469 
   4470 	PR c++/101174
   4471 	* testsuite/23_containers/multiset/cons/deduction.cc:
   4472 	Uncomment CTAD example that was rejected by this bug.
   4473 	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
   4474 
   4475 2021-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4476 
   4477 	* include/std/chrono (chrono::year::is_leap()): Fix incorrect
   4478 	logic in comment.
   4479 
   4480 2021-06-23  Matthias Kretz  <m.kretz (a] gsi.de>
   4481 
   4482 	* testsuite/experimental/simd/README.md: New file.
   4483 
   4484 2021-06-23  Matthias Kretz  <m.kretz (a] gsi.de>
   4485 
   4486 	* testsuite/experimental/simd/driver.sh: Rewrite output
   4487 	verbosity logic. Add -p/--percentage option. Allow -v/--verbose
   4488 	to be used twice. Add -x and -o short options. Parse long
   4489 	options with = instead of separating space generically. Parce
   4490 	contracted short options. Make unrecognized options an error.
   4491 	If same-line output is active, trap on EXIT to increment the
   4492 	progress (only with --percentage), erase the line and print the
   4493 	current status.
   4494 	* testsuite/experimental/simd/generate_makefile.sh: Initialize
   4495 	helper files for progress account keeping. Update help target
   4496 	for changes to DRIVEROPTS.
   4497 
   4498 2021-06-23  Matthias Kretz  <m.kretz (a] gsi.de>
   4499 
   4500 	* testsuite/Makefile.am (check-simd): Remove -fno-tree-vrp flag
   4501 	and associated warning.
   4502 	* testsuite/Makefile.in: Regenerate.
   4503 
   4504 2021-06-23  Cassio Neri  <cassio.neri (a] gmail.com>
   4505 	    Jonathan Wakely  <jwakely (a] redhat.com>
   4506 	    Ulrich Drepper  <drepper (a] redhat.com>
   4507 
   4508 	* include/std/chrono (chrono::year::is_leap()): Optimize.
   4509 
   4510 2021-06-23  Patrick Palka  <ppalka (a] redhat.com>
   4511 
   4512 	PR c++/86439
   4513 	* testsuite/23_containers/map/cons/deduction.cc: Replace ambiguous
   4514 	CTAD examples.
   4515 	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
   4516 	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
   4517 	Mention one of the replaced examples is broken due to PR101174.
   4518 	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
   4519 	* testsuite/23_containers/unordered_map/cons/deduction.cc: Replace
   4520 	ambiguous CTAD examples.
   4521 	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
   4522 	Likewise.
   4523 	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
   4524 	Likewise.
   4525 	* testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
   4526 
   4527 2021-06-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4528 
   4529 	* include/std/mutex (__detail::__try_lock_impl): Rename
   4530 	parameter to avoid clashing with newlib's __lockable macro.
   4531 	(try_lock): Add 'inline' specifier.
   4532 	* testsuite/17_intro/names.cc: Add check for __lockable.
   4533 	* testsuite/30_threads/try_lock/5.cc: Add options for pthreads.
   4534 
   4535 2021-06-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4536 	    Matthias Kretz  <m.kretz (a] gsi.de>
   4537 
   4538 	* include/std/mutex (lock): Replace recursion with iteration
   4539 	when lockables all have the same type.
   4540 	(__detail::__try_lock_impl): Likewise. Pass lockables as
   4541 	parameters, instead of a tuple. Always lock the first one, and
   4542 	recurse for the rest.
   4543 	(__detail::__lock_impl): Adjust call to __try_lock_impl.
   4544 	(__detail::__try_to_lock): Remove.
   4545 	* testsuite/30_threads/lock/3.cc: Check that mutexes are locked.
   4546 	* testsuite/30_threads/lock/4.cc: Also test non-heterogeneous
   4547 	arguments.
   4548 	* testsuite/30_threads/unique_lock/cons/60497.cc: Also check
   4549 	std::try_lock.
   4550 	* testsuite/30_threads/try_lock/5.cc: New test.
   4551 
   4552 2021-06-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4553 
   4554 	* include/std/memory (declare_reachable, undeclare_reachable)
   4555 	(declare_no_pointers, undeclare_no_pointers, get_pointer_safety)
   4556 	(pointer_safety): Only define for C++11 to C++20 inclusive.
   4557 	* testsuite/20_util/pointer_safety/1.cc: Do not run for C++23.
   4558 
   4559 2021-06-22  Jonathan Wakely  <jwakely (a] redhat.com>
   4560 
   4561 	* include/bits/random.h (seed_seq): Constrain initializer-list
   4562 	constructor.
   4563 	* include/bits/random.tcc (seed_seq): Add template parameter.
   4564 	* testsuite/26_numerics/random/seed_seq/cons/default.cc: Check
   4565 	for noexcept.
   4566 	* testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check
   4567 	constraints.
   4568 
   4569 2021-06-22  Thomas Rodgers  <rodgert (a] appliantology.com>
   4570 
   4571 	PR libstdc++/100806
   4572 	* include/bits/semaphore_base.h (__atomic_semaphore::_M_release):
   4573 	Force _M_release() to wake all waiting threads.
   4574 	* testsuite/30_threads/semaphore/100806.cc: New test.
   4575 
   4576 2021-06-21  Jonathan Wakely  <jwakely (a] redhat.com>
   4577 
   4578 	* include/std/mutex (__try_to_lock): Move to __detail namespace.
   4579 	(struct __try_lock_impl): Replace with ...
   4580 	(__detail::__try_lock_impl<Idx>(tuple<Lockables...>&)): New
   4581 	function templates to implement std::try_lock.
   4582 	(try_lock): Use new __try_lock_impl.
   4583 	(__detail::__lock_impl(int, int&, L0&, L1&...)): New function
   4584 	template to implement std::lock.
   4585 	(lock): Use __lock_impl.
   4586 
   4587 2021-06-21  Patrick Palka  <ppalka (a] redhat.com>
   4588 
   4589 	* include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
   4590 
   4591 2021-06-20  Patrick Palka  <ppalka (a] redhat.com>
   4592 
   4593 	* include/std/ranges (__non_propagating_cache::operator bool):
   4594 	Define for split_view::begin().
   4595 	(split_view): Define as per P2210.
   4596 	(views::__detail::__can_split_view): Define.
   4597 	(views::_Split, views::split): Define.
   4598 	* testsuite/std/ranges/adaptors/100577.cc (test01, test02):
   4599 	Test views::split.
   4600 	* testsuite/std/ranges/adaptors/split.cc: New test.
   4601 	* testsuite/std/ranges/p2325.cc (test08a): New test.
   4602 	* testsuite/std/ranges/p2367.cc (test01): Test views::split.
   4603 
   4604 2021-06-20  Patrick Palka  <ppalka (a] redhat.com>
   4605 
   4606 	* include/std/ranges: Rename views::split to views::lazy_split,
   4607 	split_view to lazy_split_view, etc. throughout.
   4608 	* testsuite/std/ranges/*: Likewise.
   4609 	* testsuite/std/ranges/adaptors/lazy_split.cc: New file.
   4610 	* testsuite/std/ranges/adaptors/lazy_split_neg.cc: New file.
   4611 
   4612 2021-06-20  Patrick Palka  <ppalka (a] redhat.com>
   4613 
   4614 	* include/std/ranges (split_view::_OuterIter::__at_end):
   4615 	Check _M_trailing_empty.
   4616 	(split_view::_OuterIter::_M_trailing_empty): Define this
   4617 	data member.
   4618 	(split_view::_OuterIter::operator++): Set _M_trailing_empty
   4619 	appropriately.
   4620 	(split_view::_OuterIter::operator==): Compare
   4621 	_M_trailing_empty.
   4622 	* testsuite/std/ranges/adaptors/100479.cc (test03): Expect two
   4623 	split parts instead of one.
   4624 	* testsuite/std/ranges/adaptors/split.cc (test11): New test.
   4625 
   4626 2021-06-20  Patrick Palka  <ppalka (a] redhat.com>
   4627 
   4628 	* include/std/ranges (split_view::_InnerIter::base): Define as
   4629 	per P2210.
   4630 
   4631 2021-06-19  Patrick Palka  <ppalka (a] redhat.com>
   4632 
   4633 	* include/std/ranges (transform_view::_Iterator::_S_iter_concept):
   4634 	Consider _Base instead of _Vp as per LWG 3555.
   4635 	(elements_view::_Iterator::_S_iter_concept): Likewise.
   4636 
   4637 2021-06-19  Patrick Palka  <ppalka (a] redhat.com>
   4638 
   4639 	* include/std/ranges (split_view::_OuterIter::value_type::begin):
   4640 	Remove the non-const overload, and remove the copyable constraint
   4641 	on the const overload as per LWG 3553.
   4642 
   4643 2021-06-19  Patrick Palka  <ppalka (a] redhat.com>
   4644 
   4645 	* include/bits/stl_iterator.h
   4646 	(__detail::__common_iter_use_postfix_proxy): Add
   4647 	move_constructible constraint as per LWG 3546.
   4648 	(common_iterator::__postfix_proxy): Adjust initializer of
   4649 	_M_keep as per LWG 3546.
   4650 
   4651 2021-06-18  Patrick Palka  <ppalka (a] redhat.com>
   4652 
   4653 	PR libstdc++/100387
   4654 	* include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite
   4655 	to limit comparison complexity to 3*N/2.
   4656 	(__minmax_element_fn::operator()): Likewise.
   4657 	(shift_right): Avoid premature std::move of __result.
   4658 	* testsuite/25_algorithms/minmax/constrained.cc (test04, test05):
   4659 	New tests.
   4660 	* testsuite/25_algorithms/minmax_element/constrained.cc (test02):
   4661 	Likewise.
   4662 
   4663 2021-06-18  Patrick Palka  <ppalka (a] redhat.com>
   4664 
   4665 	* include/std/concepts (convertible_to): Just use declval as per
   4666 	LWG 3557.
   4667 
   4668 2021-06-18  Jonathan Wakely  <jwakely (a] redhat.com>
   4669 
   4670 	PR libstdc++/95833
   4671 	* include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
   4672 	incorrect static_assert with ones matching the 'Mandates'
   4673 	conditions in the standard.
   4674 	* testsuite/26_numerics/reduce/95833.cc: New test.
   4675 
   4676 2021-06-18  Jonathan Wakely  <jwakely (a] redhat.com>
   4677 
   4678 	* testsuite/21_strings/basic_string/cons/char/1.cc: Use
   4679 	diagnostic pragma to suppress -Wstringop-overread error.
   4680 
   4681 2021-06-18  Patrick Palka  <ppalka (a] redhat.com>
   4682 
   4683 	* include/bits/ranges_algo.h (__find_fn, find, __find_if_fn)
   4684 	(find_if, __find_if_not_fn, find_if_not, _in_in_result)
   4685 	(__mismatch_fn, mismatch, __search_fn, search): Move to ...
   4686 	* include/bits/ranges_util.h: ... here.
   4687 	* include/std/ranges (__detail::find, __detail::find_if)
   4688 	(__detail::find_if_not, __detail::mismatch): Remove.
   4689 	(filter_view): Use ranges::find_if instead.
   4690 	(drop_while_view): Use ranges::find_if_not instead.
   4691 	(split_view): Use ranges::find and ranges::mismatch instead.
   4692 
   4693 2021-06-18  Patrick Palka  <ppalka (a] redhat.com>
   4694 
   4695 	* include/bits/iterator_concepts.h (weakly_incrementable): Remove
   4696 	default_initializable requirement.
   4697 	* include/bits/ranges_base.h (ranges::view): Likewise.
   4698 	* include/bits/ranges_util.h (subrange): Constrain the default
   4699 	ctor.
   4700 	* include/bits/stl_iterator.h (back_insert_iterator): Remove the
   4701 	default ctor.
   4702 	(front_insert_iterator): Likewise.
   4703 	(insert_iterator): Likewise.  Remove NSDMIs.
   4704 	(common_iterator): Constrain the default ctor.
   4705 	(counted_iterator): Likewise.
   4706 	* include/bits/stream_iterator.h (ostream_iterator): Remove the
   4707 	default ctor.
   4708 	* include/std/ranges (__detail::__box::operator=): Handle
   4709 	self-assignment in the primary template.
   4710 	(__detail::__box): In the partial specialization: adjust
   4711 	constraints as per P2325.  Add specialized operator= for the
   4712 	case when the wrapped type is not copyable.  Constrain the
   4713 	default ctor.  Avoid list-initialization.
   4714 	(single_view): Constraint the default ctor.
   4715 	(iota_view): Relax semiregular constraint to copyable.
   4716 	Constrain the default ctor.
   4717 	(iota_view::_Iterator): Constraint the default ctor.
   4718 	(basic_istream_view): Remove the default ctor.  Remove NSDMIs.
   4719 	Remove redundant checks for empty _M_stream.
   4720 	(basic_istream_view::_Iterator): Likewise.
   4721 	(ref_view): Remove the default ctor.  Remove NSDMIs.
   4722 	(ref_view::_Iterator): Constrain the default ctor.
   4723 	(__detail::__non_propagating_cache::operator=): Define overload
   4724 	for assigning from a value of the underlying type.
   4725 	(filter_view): Likewise.
   4726 	(filter_view::_Iterator): Likewise.
   4727 	(transform_view): Likewise.
   4728 	(transform_view::_Iterator): Likewise.
   4729 	(take_view): Likewise.
   4730 	(take_view::_Iterator): Likewise.
   4731 	(take_while_view): Likewise.
   4732 	(take_while_view::_Iterator): Likewise.
   4733 	(drop_while_view): Likewise.
   4734 	(drop_while_view::_Iterator): Likewise.
   4735 	(join_view): Likewise.
   4736 	(split_view::_OuterIter::__current): Adjust after changing the
   4737 	type of _M_current.
   4738 	(split_view::_M_current): Wrap it in a __non_propagating_cache.
   4739 	(split_view::split_view): Constrain the default ctor.
   4740 	(common_view): Constrain the default ctor.
   4741 	(reverse_view): Likewise.
   4742 	(elements_view): Likewise.
   4743 	* include/std/span (enable_view<span<_ElementType, _Extent>>):
   4744 	Define this partial specialization to true unconditionally.
   4745 	* include/std/version (__cpp_lib_ranges): Adjust value.
   4746 	* testsuite/24_iterators/back_insert_iterator/constexpr.cc:
   4747 	Don't attempt to default construct a back_insert_iterator.
   4748 	* testsuite/24_iterators/front_insert_iterator/constexpr.cc:
   4749 	Don't attempt to default construct a front_insert_iterator.
   4750 	* testsuite/24_iterators/insert_iterator/constexpr.cc:
   4751 	Don't attempt to default construct an insert_iterator.
   4752 	* testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc:
   4753 	Remove this test for default constructibility of ostream_iterator.
   4754 	* testsuite/std/ranges/97600.cc: Don't attempt to default
   4755 	construct a basic_istream_view.
   4756 	* testsuite/std/ranges/adaptors/detail/semiregular_box.cc:
   4757 	Rename to ...
   4758 	* testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this.
   4759 	(test02): Adjust now that __box is copyable-box not
   4760 	semiregular-box.
   4761 	(test03): New test.
   4762 	* testsuite/std/ranges/p2325.cc: New test.
   4763 	* testsuite/std/ranges/single_view.cc (test06): New test.
   4764 	* testsuite/std/ranges/view.cc: Adjust now that view doesn't
   4765 	require default_initializable.
   4766 
   4767 2021-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
   4768 
   4769 	PR libstdc++/91488
   4770 	* include/bits/basic_string.h (__cpp_lib_constexpr_string): Only
   4771 	define when is_constant_evaluated is available.
   4772 	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
   4773 	Likewise.
   4774 	(__constant_string_p, __constant_array_p): Remove.
   4775 	(char_traits): Use is_constant_evaluated directly.
   4776 	* include/std/version (__cpp_lib_constexpr_char_traits)
   4777 	(__cpp_lib_constexpr_string): Only define when
   4778 	is_constant_evaluated is available.
   4779 
   4780 2021-06-17  Patrick Palka  <ppalka (a] redhat.com>
   4781 
   4782 	PR libstdc++/100940
   4783 	* include/std/ranges (__adaptor::_Partial): For the "simple"
   4784 	forwarding partial specializations, also require that
   4785 	the extra arguments are trivially copyable.
   4786 	* testsuite/std/ranges/adaptors/100577.cc (test04): New test.
   4787 
   4788 2021-06-17  Patrick Palka  <ppalka (a] redhat.com>
   4789 
   4790 	PR libstdc++/100940
   4791 	* include/std/ranges (__adaptor::_RangeAdaptor): Document the
   4792 	template form of _S_has_simple_extra_args.
   4793 	(__adaptor::__adaptor_has_simple_extra_args): Add _Args template
   4794 	parameter pack.  Try to treat _S_has_simple_extra_args as a
   4795 	variable template parameterized by _Args.
   4796 	(__adaptor::_Partial): Pass _Arg/_Args to the constraint
   4797 	__adaptor_has_simple_extra_args.
   4798 	(views::_Take::_S_has_simple_extra_args): Templatize according
   4799 	to the type of the extra argument.
   4800 	(views::_Drop::_S_has_simple_extra_args): Likewise.
   4801 	(views::_Split::_S_has_simple_extra_args): Define.
   4802 	* testsuite/std/ranges/adaptors/100577.cc (test01, test02):
   4803 	Adjust after changes to _S_has_simple_extra_args mechanism.
   4804 	(test03): Define.
   4805 
   4806 2021-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4807 
   4808 	* include/bits/iterator_concepts.h (__decay_copy): Name type.
   4809 
   4810 2021-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   4811 
   4812 	* include/bits/ranges_base.h (ranges::begin, ranges::end)
   4813 	(ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
   4814 	(ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
   4815 	(ranges::empty, ranges::data, ranges::cdata): Remove final
   4816 	keywords and deleted operator& overloads.
   4817 	* testsuite/24_iterators/customization_points/iter_move.cc: Use
   4818 	new is_customization_point_object function.
   4819 	* testsuite/24_iterators/customization_points/iter_swap.cc:
   4820 	Likewise.
   4821 	* testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
   4822 	Likewise.
   4823 	* testsuite/std/ranges/access/begin.cc: Likewise.
   4824 	* testsuite/std/ranges/access/cbegin.cc: Likewise.
   4825 	* testsuite/std/ranges/access/cdata.cc: Likewise.
   4826 	* testsuite/std/ranges/access/cend.cc: Likewise.
   4827 	* testsuite/std/ranges/access/crbegin.cc: Likewise.
   4828 	* testsuite/std/ranges/access/crend.cc: Likewise.
   4829 	* testsuite/std/ranges/access/data.cc: Likewise.
   4830 	* testsuite/std/ranges/access/empty.cc: Likewise.
   4831 	* testsuite/std/ranges/access/end.cc: Likewise.
   4832 	* testsuite/std/ranges/access/rbegin.cc: Likewise.
   4833 	* testsuite/std/ranges/access/rend.cc: Likewise.
   4834 	* testsuite/std/ranges/access/size.cc: Likewise.
   4835 	* testsuite/std/ranges/access/ssize.cc: Likewise.
   4836 	* testsuite/util/testsuite_iterators.h
   4837 	(is_customization_point_object): New function.
   4838 
   4839 2021-06-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4840 
   4841 	* include/bits/ranges_base.h (ranges::begin, ranges::end)
   4842 	(ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
   4843 	(ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
   4844 	(ranges::empty, ranges::data, ranges::cdata): Make types final.
   4845 	Add deleted operator& overloads.
   4846 	(ranges::advance, ranges::distance, ranges::next, ranges::prev):
   4847 	Likewise.
   4848 	* testsuite/std/ranges/headers/ranges/synopsis.cc: Replace
   4849 	ill-formed & expressions with using-declarations. Add checks for
   4850 	other function objects.
   4851 
   4852 2021-06-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4853 
   4854 	* include/bits/ranges_util.h (view_interface): Add noexcept to
   4855 	empty, operator bool, data and size members.
   4856 	(subrange): Add noexcept to constructors.
   4857 	* include/std/ranges (single_view, ref_view): Add noexcept to
   4858 	constructors.
   4859 	(views::single, views::all): Add noexcept.
   4860 	* testsuite/std/ranges/adaptors/all.cc: Check noexcept.
   4861 	* testsuite/std/ranges/single_view.cc: Likewise.
   4862 
   4863 2021-06-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4864 
   4865 	* include/bits/ranges_util.h (subrange): Add __size_type typedef
   4866 	and use it to simplify declarations.
   4867 	(subrange(i, s, n)): Remove assertion.
   4868 	* testsuite/std/ranges/subrange/constexpr.cc: New test.
   4869 
   4870 2021-06-15  Jonathan Wakely  <jwakely (a] redhat.com>
   4871 
   4872 	* include/bits/iterator_concepts.h (__cust_access::__decay_copy):
   4873 	Replace with function object.
   4874 	(__cust_access::__member_begin, ___cust_access::_adl_begin): Use
   4875 	__decay_copy unqualified.
   4876 	* include/bits/ranges_base.h (__member_end, __adl_end):
   4877 	Likewise. Use __range_iter_t for type of ranges::begin.
   4878 	(__member_rend): Use correct value category for rbegin argument.
   4879 	(__member_data): Use __decay_copy unqualified.
   4880 	(__begin_data): Use __range_iter_t for type of ranges::begin.
   4881 
   4882 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4883 
   4884 	* include/bits/ranges_base.h (ranges::empty): Check whether
   4885 	conversion to bool can throw.
   4886 	* testsuite/std/ranges/access/empty.cc: Check for correct
   4887 	noexcept-specifier.
   4888 
   4889 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4890 
   4891 	PR libstdc++/100894
   4892 	* include/std/type_traits (__common_ref_impl<X&, Y&>): Only
   4893 	use the type if it's a reference.
   4894 	* testsuite/20_util/common_reference/100894.cc: New test.
   4895 
   4896 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4897 
   4898 	* testsuite/experimental/filesystem/path/native/conv_c++23.cc:
   4899 	Add dg-require-filesystem-ts directive.
   4900 
   4901 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4902 
   4903 	PR libstdc++/101034
   4904 	* include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
   4905 	(any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
   4906 	to use lvalue.
   4907 	* testsuite/20_util/any/cons/101034.cc: New test.
   4908 
   4909 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4910 
   4911 	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
   4912 	-std=gnu++17 option.
   4913 
   4914 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4915 
   4916 	PR libstdc++/101056
   4917 	* libsupc++/compare (compare_partial_order_fallback): Add
   4918 	constraint using reversed parameter order, as per LWG 3465.
   4919 	* testsuite/18_support/comparisons/algorithms/fallback.cc:
   4920 	Adjust expected result.
   4921 
   4922 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4923 
   4924 	* libsupc++/compare (__decayed_same_as): New helper concept.
   4925 	(strong_order, weak_order, partial_order): Constrain with new
   4926 	concept instead of using static_assert.
   4927 	(compare_strong_order_fallback, compare_weak_order_fallback)
   4928 	(compare_partial_order_fallback): Likewise. Do not deduce return
   4929 	types. Remove redundant if-constexpr checks.
   4930 	* testsuite/18_support/comparisons/algorithms/fallback.cc: New test.
   4931 
   4932 2021-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4933 
   4934 	PR libstdc++/101055
   4935 	* include/std/tuple: Use reserved form of attribute name.
   4936 	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Add
   4937 	check for no_unique_address.
   4938 	* testsuite/17_intro/headers/c++2014/all_attributes.cc:
   4939 	Likewise.
   4940 	* testsuite/17_intro/headers/c++2017/all_attributes.cc:
   4941 	Likewise.
   4942 
   4943 2021-06-11  Jonathan Wakely  <jwakely (a] redhat.com>
   4944 
   4945 	* include/bits/fs_path.h (operator==, operator<=>): Use new
   4946 	_S_compare function.
   4947 	(path::_S_compare): New function to call path::compare in a
   4948 	context where path::iterator is complete.
   4949 	* include/experimental/bits/fs_path.h (operator<, operator==):
   4950 	Define after path::iterator is complete.
   4951 	* testsuite/27_io/filesystem/path/native/conv_c++23.cc: New
   4952 	test.
   4953 	* testsuite/experimental/filesystem/path/native/conv_c++23.cc:
   4954 	New test.
   4955 
   4956 2021-06-09  Thomas Rodgers  <rodgert (a] appliantology.com>
   4957 
   4958 	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard
   4959 	test logic with constexpr check for is_always_lock_free.
   4960 
   4961 2021-06-09  Jonathan Wakely  <jwakely (a] redhat.com>
   4962 
   4963 	PR libstdc++/100982
   4964 	* include/std/optional (optional::operator=(const optional<U>&)):
   4965 	Fix value category used in is_assignable check.
   4966 	* testsuite/20_util/optional/assignment/100982.cc: New test.
   4967 
   4968 2021-06-09  Jonathan Wakely  <jwakely (a] redhat.com>
   4969 
   4970 	* include/bits/allocator.h (allocator::is_always_equal): Deprecate.
   4971 	* include/bits/iterator_concepts.h (indirectly_readable_traits):
   4972 	Add LWG issue number to comment.
   4973 	* include/std/memory_resource (polymorphic_allocator::release):
   4974 	Deprecate.
   4975 	* testsuite/20_util/allocator/requirements/typedefs.cc: Add
   4976 	dg-warning for deprecation. Also check std::allocator<void>.
   4977 
   4978 2021-06-08  Thomas Rodgers  <rodgert (a] appliantology.com>
   4979 
   4980 	PR libstdc++/100889
   4981 	* include/bits/atomic_base.h (atomic_ref<_Tp*>::wait):
   4982 	Change parameter type from _Tp to _Tp*.
   4983 	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend
   4984 	coverage of types tested.
   4985 
   4986 2021-06-08  Thomas Rodgers  <rodgert (a] appliantology.com>
   4987 
   4988 	* include/std/barrier (__tree_barrier::_M_arrive): Remove
   4989 	unnecessary hasher instantiation.
   4990 
   4991 2021-06-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4992 
   4993 	* include/experimental/propagate_const (swap): Constrain.
   4994 	* testsuite/experimental/propagate_const/swap/lwg3413.cc: New test.
   4995 
   4996 2021-06-07  Avi Kivity  <avi (a] scylladb.com>
   4997 
   4998 	PR libstdc++/100900
   4999 	* include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
   5000 	Add missing typename.
   5001 
   5002 2021-06-07  Jonathan Wakely  <jwakely (a] redhat.com>
   5003 
   5004 	PR libstdc++/98842
   5005 	* include/std/optional (operator<=>(const optional<T>& const U&)):
   5006 	Add missing constraint and add workaround for template
   5007 	recursion.
   5008 	* testsuite/20_util/optional/relops/three_way.cc: Check that
   5009 	type without equality comparison cannot be compared when wrapped
   5010 	in std::optional.
   5011 
   5012 2021-06-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5013 
   5014 	PR libstdc++/100824
   5015 	* include/bits/ranges_base.h (_SSize): Return signed type.
   5016 	* testsuite/std/ranges/access/ssize.cc: Check with __int128.
   5017 
   5018 2021-06-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5019 
   5020 	* include/bits/ranges_base.h (_SSize): Return the result of
   5021 	ranges::size converted to the wider of make-signed-like-t<S> and
   5022 	ptrdiff_t, rather than the ranges different type.
   5023 	* testsuite/std/ranges/access/ssize.cc: Adjust expected result
   5024 	for an iota_view that uses an integer class type for its
   5025 	difference_type.
   5026 
   5027 2021-06-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5028 
   5029 	PR libstdc++/100824
   5030 	* include/bits/ranges_base.h (__member_data): Use __decay_copy.
   5031 	* testsuite/std/ranges/access/data.cc: Add testcase from PR.
   5032 
   5033 2021-06-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5034 
   5035 	PR libstdc++/100824
   5036 	* include/bits/iterator_concepts.h (__detail::__decay_copy)
   5037 	(__detail::__member_begin, __detail::__adl_begin): Move to
   5038 	namespace ranges::__cust_access.
   5039 	(__detail::__ranges_begin): Likewise, and rename to __begin.
   5040 	Remove redundant static assertion.
   5041 	* include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd):
   5042 	Use lvalue in noexcept specifier.
   5043 	(__as_const): Add non-deduced parameter for value category.
   5044 	(_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of
   5045 	__as_const.
   5046 	(__member_size, __adl_size, __member_empty, __size0_empty):
   5047 	(__eq_iter_empty, __adl_data): Use lvalue objects in
   5048 	requirements.
   5049 	(__sentinel_size): Likewise. Add check for conversion to
   5050 	unsigned-like.
   5051 	(__member_data): Allow non-lvalue types to satisfy the concept,
   5052 	but use lvalue object in requirements.
   5053 	(_Size, _SSize): Remove forwarding to always use an lvalue.
   5054 	(_Data): Likewise. Add static assertion for arrays.
   5055 	* testsuite/std/ranges/access/cdata.cc: Adjust expected
   5056 	behaviour for rvalues. Add negative tests for ill-formed
   5057 	expressions.
   5058 	* testsuite/std/ranges/access/data.cc: Likewise.
   5059 	* testsuite/std/ranges/access/empty.cc: Adjust expected
   5060 	behaviour for rvalues.
   5061 	* testsuite/std/ranges/access/size.cc: Likewise.
   5062 
   5063 2021-06-04  Tim Adye  <Tim.Adye (a] cern.ch>
   5064 
   5065 	* include/std/any (any::_Manager::_S_access): New static
   5066 	function to access the contained value.
   5067 	(any::emplace, __any_caster): Use _S_access member of the
   5068 	manager type.
   5069 
   5070 2021-06-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5071 
   5072 	* doc/xml/manual/status_cxx2020.xml:
   5073 	* doc/html/*: Regenerate.
   5074 	* include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup):
   5075 	Define.
   5076 	* include/std/version (__cpp_lib_generic_unordered_lookup):
   5077 	Define.
   5078 	* testsuite/23_containers/unordered_map/operations/1.cc: Check
   5079 	feature test macro.
   5080 	* testsuite/23_containers/unordered_set/operations/1.cc:
   5081 	Likewise.
   5082 
   5083 2021-06-03  Patrick Palka  <ppalka (a] redhat.com>
   5084 
   5085 	* include/bits/ranges_algo.h (__detail::__can_reread_output):
   5086 	Factor out this concept from ...
   5087 	(__unique_copy_fn::operator()): ... here.  Use the concept
   5088 	throughout.
   5089 	* testsuite/std/ranges/range.cc: Remove now ill-formed use
   5090 	of range_value_t on an output_range.
   5091 	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
   5092 	Define value_type, pointer and reference member types to void.
   5093 
   5094 2021-06-03  Patrick Palka  <ppalka (a] redhat.com>
   5095 
   5096 	PR libstdc++/100577
   5097 	* include/std/ranges (_RangeAdaptorClosure): Document
   5098 	_S_has_simple_call_op mechanism.
   5099 	(_RangeAdaptor): Document _S_has_simple_extra_args mechanism.
   5100 	(__closure_has_simple_call_op): New concept.
   5101 	(__adaptor_has_simple_extra_args): Likewise.
   5102 	(_Partial<_Adaptor, _Args...>): New partial specialization.
   5103 	(_Partial<_Adaptor, _Arg>): Likewise.
   5104 	(_Pipe<_Lhs, _Rhs>): Likewise.
   5105 	(views::_All::_S_has_simple_call_op): Define to true.
   5106 	(views::_Filter::_S_has_simple_extra_args): Likewise.
   5107 	(views::_Transform::_S_has_simple_extra_args): Likewise.
   5108 	(views::_Take::_S_has_simple_extra_args): Likewise.
   5109 	(views::_TakeWhile::_S_has_simple_extra_args): Likewise.
   5110 	(views::_Drop::_S_has_simple_extra_args): Likewise.
   5111 	(views::_DropWhile::_S_has_simple_extra_args): Likewise.
   5112 	(views::_Join::_S_has_simple_call_op): Likewise.
   5113 	(views::_Split): Document why we don't define
   5114 	_S_has_simple_extra_args to true for this adaptor.
   5115 	(views::_Common::_S_has_simple_call_op): Define to true.
   5116 	(views::_Reverse::_S_has_simple_call_op): Likewise.
   5117 	(views::_Elements::_S_has_simple_call_op): Likewise.
   5118 	* testsuite/std/ranges/adaptors/100577.cc: New test.
   5119 
   5120 2021-06-02  Jonathan Wakely  <jwakely (a] redhat.com>
   5121 
   5122 	PR libstdc++/100863
   5123 	PR libstdc++/65816
   5124 	* include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
   5125 	Value-initialize subobject.
   5126 	* testsuite/23_containers/unordered_map/allocator/default_init.cc:
   5127 	Remove XFAIL.
   5128 	* testsuite/23_containers/unordered_set/allocator/default_init.cc:
   5129 	Remove XFAIL.
   5130 
   5131 2021-06-02  Jonathan Wakely  <jwakely (a] redhat.com>
   5132 
   5133 	PR libstdc++/96088
   5134 	* testsuite/23_containers/unordered_map/96088.cc: Adjust
   5135 	expected number of allocations.
   5136 	* testsuite/23_containers/unordered_set/96088.cc: Likewise.
   5137 
   5138 2021-06-02  Jonathan Wakely  <jwakely (a] redhat.com>
   5139 
   5140 	* doc/xml/manual/status_cxxis29124.xml: Improve punctuation.
   5141 	* doc/xml/manual/status_cxxtr1.xml: Likewise.
   5142 	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
   5143 	* doc/html/*: Regenerate.
   5144 
   5145 2021-06-01  Patrick Palka  <ppalka (a] redhat.com>
   5146 
   5147 	PR c++/65816
   5148 	* testsuite/23_containers/deque/allocator/default_init.cc,
   5149 	testsuite/23_containers/forward_list/allocator/default_init.cc,
   5150 	testsuite/23_containers/list/allocator/default_init.cc,
   5151 	testsuite/23_containers/map/allocator/default_init.cc,
   5152 	testsuite/23_containers/set/allocator/default_init.cc,
   5153 	testsuite/23_containers/vector/allocator/default_init.cc,
   5154 	testsuite/23_containers/vector/bool/allocator/default_init.cc:
   5155 	Remove xfail.
   5156 
   5157 2021-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5158 
   5159 	* testsuite/23_containers/unordered_map/96088.cc: Change
   5160 	effective target to c++17.
   5161 	* testsuite/23_containers/unordered_set/96088.cc: Likewise.
   5162 
   5163 2021-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5164 
   5165 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: Only test
   5166 	isblank for C++11 and later.
   5167 
   5168 2021-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5169 
   5170 	PR libstdc++/100833
   5171 	* include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)):
   5172 	Fix return value for no-op case.
   5173 	* testsuite/24_iterators/range_operations/advance.cc: Test
   5174 	return values of three-argument overload.
   5175 
   5176 2021-06-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5177 
   5178 	PR libstdc++/99453
   5179 	* python/Makefile.am: Use archive name for printer hook if no
   5180 	dynamic library name is available.
   5181 	* python/Makefile.in: Regenerate.
   5182 
   5183 2021-05-30  Gerald Pfeifer  <gerald (a] pfeifer.com>
   5184 
   5185 	* doc/xml/manual/abi.xml: Remove dead reference to "Intel
   5186 	Compilers for Linux: Compatibility with GNU Compilers" article.
   5187 	* doc/html/manual/abi.html: Regenerate.
   5188 
   5189 2021-05-26  Franois Dumont  <fdumont (a] gcc.gnu.org>
   5190 
   5191 	* include/debug/formatter.h
   5192 	(_Error_formatter::_Parameter::_Named): New.
   5193 	(_Error_formatter::_Parameter::_Type): Inherit latter.
   5194 	(_Error_formatter::_Parameter::_M_integer): Likewise.
   5195 	(_Error_formatter::_Parameter::_M_string): Likewise.
   5196 	* src/c++11/debug.cc: Include <cstring>.
   5197 	(_Print_func_t): New.
   5198 	(print_raw(PrintContext&, const char*, ptrdiff_t)): New.
   5199 	(print_word): Use '%.*s' format in fprintf to render only expected number of chars.
   5200 	(pretty_print(PrintContext&, const char*, _Print_func_t)): New.
   5201 	(print_type): Rename in...
   5202 	(print_type_info): ...this. Use pretty_print.
   5203 	(print_address, print_integer): New.
   5204 	(print_named_name, print_iterator_constness, print_iterator_state): New.
   5205 	(print_iterator_seq_type): New.
   5206 	(print_named_field, print_type_field, print_instance_field, print_iterator_field): New.
   5207 	(print_field): Use latters.
   5208 	(print_quoted_named_name, print_type_type, print_type, print_instance): New.
   5209 	(print_string(PrintContext&, const char*, const _Parameter*, size_t)):
   5210 	Change signature to...
   5211 	(print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)):
   5212 	...this and adapt. Remove intermediate buffer to render input string.
   5213 	(print_string(PrintContext&, const char*, ptrdiff_t)): New.
   5214 
   5215 2021-05-26  Jonathan Wakely  <jwakely (a] redhat.com>
   5216 
   5217 	PR libstdc++/100768
   5218 	* include/bits/ranges_base.h (advance, distance, next, prev):
   5219 	Replace function templates with function objects.
   5220 	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
   5221 	Adjust for changes to function objects.
   5222 	* testsuite/std/ranges/adaptors/elements.cc: Add using
   5223 	declarations for names from namespace ranges.
   5224 	* testsuite/std/ranges/adaptors/transform.cc: Likewise.
   5225 	* testsuite/24_iterators/range_operations/100768.cc: New test.
   5226 
   5227 2021-05-24  Franois Dumont  <fdumont (a] gcc.gnu.org>
   5228 
   5229 	PR libstdc++/96088
   5230 	* include/bits/hashtable_policy.h (_Select2nd): New.
   5231 	(_NodeBuilder<>): New.
   5232 	(_ReuseOrAllocNode<>::operator()): Use variadic template args.
   5233 	(_AllocNode<>::operator()): Likewise.
   5234 	* include/bits/hashtable.h
   5235 	(_Hashtable<>::__node_builder_t): New.
   5236 	(_Hashtable<>::_M_insert_unique<>(_Kt&&, _Arg&&, const _NodeGenerator&)):
   5237 	 New.
   5238 	(_Hashtable<>::_S_forward_key): New.
   5239 	(_Hashtable<>::_M_insert): Use latter.
   5240 	(_Hashtable<>::_M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type)):
   5241 	Instantiate node first, compute hash code second.
   5242 	* testsuite/23_containers/unordered_map/96088.cc: New test.
   5243 	* testsuite/23_containers/unordered_multimap/96088.cc: New test.
   5244 	* testsuite/23_containers/unordered_multiset/96088.cc: New test.
   5245 	* testsuite/23_containers/unordered_set/96088.cc: New test.
   5246 	* testsuite/util/replacement_memory_operators.h
   5247 	(counter::_M_increment): New.
   5248 	(counter::_M_decrement): New.
   5249 	(counter::reset()): New.
   5250 
   5251 2021-05-24  Patrick Palka  <ppalka (a] redhat.com>
   5252 
   5253 	PR libstdc++/100479
   5254 	* include/std/ranges (__detail::__non_propagating_cache): Move
   5255 	definition up to before that of _CachedPosition.  Make base
   5256 	class _Optional_base protected instead of private.  Add const
   5257 	overload for operator*.
   5258 	(__detail::_CachedPosition): Rewrite the partial specialization
   5259 	for forward ranges as a derived class of __non_propagating_cache.
   5260 	Remove the size constraint on the partial specialization for
   5261 	random access ranges.  Add copy/move/copy-assignment/move-assignment
   5262 	members to the offset partial specialization for random
   5263 	access ranges that propagate the cached value but additionally
   5264 	invalidate it in the source object on move.
   5265 	* testsuite/std/ranges/adaptors/100479.cc: New test.
   5266 
   5267 2021-05-24  Jonathan Wakely  <jwakely (a] redhat.com>
   5268 
   5269 	* testsuite/25_algorithms/inplace_merge/constrained.cc: Qualify
   5270 	call to ranges::next.
   5271 	* testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
   5272 	* testsuite/25_algorithms/is_sorted_until/constrained.cc:
   5273 	Likewise.
   5274 	* testsuite/25_algorithms/swap_ranges/1.cc: Qualify call to
   5275 	swap_ranges.
   5276 
   5277 2021-05-21  Patrick Palka  <ppalka (a] redhat.com>
   5278 
   5279 	PR libstdc++/100606
   5280 	* include/std/ranges (drop_while_view::begin): Assert the
   5281 	precondition added by LWG 3490.
   5282 
   5283 2021-05-21  Patrick Palka  <ppalka (a] redhat.com>
   5284 
   5285 	PR libstdc++/100690
   5286 	* include/std/ranges (iota_view::_Sentinel::_M_distance_from):
   5287 	Split out this member function from ...
   5288 	(iota_view::_Sentinel::operator-): ... here, for sake of access
   5289 	control.
   5290 	* testsuite/std/ranges/iota/iota_view.cc (test05): New test.
   5291 
   5292 2021-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   5293 
   5294 	* include/bits/random.tcc (__representable_as_double)
   5295 	(__p1_representable_as_double): Add "" to static asserts.
   5296 
   5297 2021-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   5298 
   5299 	PR libstdc++/100676
   5300 	* include/bits/c++config (__glibcxx_assert_1): Rename to ...
   5301 	(__glibcxx_constexpr_assert): ... this.
   5302 	(__glibcxx_assert_impl): Use __glibcxx_constexpr_assert.
   5303 	(__glibcxx_assert): Define as either __glibcxx_constexpr_assert
   5304 	or __glibcxx_assert_impl.
   5305 	(__glibcxx_assert_2): Remove
   5306 	* include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use
   5307 	__glibcxx_constexpr_assert instead of __glibcxx_assert_1.
   5308 	* testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
   5309 	Adjust expected error.
   5310 	* testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
   5311 	Likewise.
   5312 	* testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
   5313 	Likewise.
   5314 	Likewise.
   5315 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
   5316 	Likewise.
   5317 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
   5318 	Likewise.
   5319 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
   5320 	Likewise.
   5321 	* testsuite/23_containers/span/back_neg.cc: Likewise.
   5322 	* testsuite/23_containers/span/front_neg.cc: Likewise.
   5323 	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
   5324 
   5325 2021-05-20  Patrick Palka  <ppalka (a] redhat.com>
   5326 
   5327 	PR libstdc++/100639
   5328 	* include/bits/stl_iterator.h (reverse_iterator::difference_type):
   5329 	In C++20 mode, define in terms of iter_difference_t as per P0896R4.
   5330 	(reverse_iterator::reference): Likewise, but with iter_reference_t.
   5331 	(reverse_iterator::value_type): Likewise, but with iter_value_t.
   5332 	* testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
   5333 	* testsuite/24_iterators/reverse_iterator/100639.cc: New test.
   5334 
   5335 2021-05-20  Joern Rennecke  <joern.rennecke (a] riscy-ip.com>
   5336 
   5337 	PR libstdc++/100361
   5338 	* include/std/charconv (to_chars): Hide the overloads for
   5339 	floating-point types for 16 bit targets.
   5340 	* src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets.
   5341 	* testsuite/20_util/to_chars/double.cc: Run this test only on
   5342 	size32plus targets.
   5343 	* testsuite/20_util/to_chars/float.cc: Likewise.
   5344 	* testsuite/20_util/to_chars/long_double.cc: Likewise.
   5345 
   5346 2021-05-18  Patrick Palka  <ppalka (a] redhat.com>
   5347 
   5348 	PR libstdc++/100631
   5349 	* include/std/ranges (elements_view::_Sentinel::operator-): Use
   5350 	_M_distance_from in the other operator- overload too.
   5351 	* testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
   5352 
   5353 2021-05-18  Thomas Schwinge  <thomas (a] codesourcery.com>
   5354 
   5355 	* testsuite/lib/prune.exp: Add note about 'dg-note'.
   5356 
   5357 2021-05-18  Patrick Palka  <ppalka (a] redhat.com>
   5358 
   5359 	PR libstdc++/100475
   5360 	* include/std/ranges (__box::__box): Use non-list-initialization
   5361 	in member initializer list of in-place constructor of the
   5362 	partial specialization for semiregular types.
   5363 	(__box::operator->): Use std::__addressof.
   5364 	* testsuite/std/ranges/adaptors/detail/semiregular_box.cc
   5365 	(test02): New test.
   5366 	* testsuite/std/ranges/single_view.cc (test04): New test.
   5367 
   5368 2021-05-18  Patrick Palka  <ppalka (a] redhat.com>
   5369 
   5370 	PR libstdc++/100621
   5371 	* include/std/ranges (reverse_view::_S_needs_cached_begin):
   5372 	Set to true if the underlying non-common random-access range
   5373 	doesn't have a sized sentinel.
   5374 
   5375 2021-05-18  Patrick Palka  <ppalka (a] redhat.com>
   5376 
   5377 	PR libstdc++/100631
   5378 	* include/std/ranges (elements_view::_Iterator): Also befriend
   5379 	_Sentinel<!_Const>.
   5380 	(elements_view::_Sentinel::_M_equal): Templatize.
   5381 	(elements_view::_Sentinel::_M_distance_from): Split out from ...
   5382 	(elements_view::_Sentinel::operator-): ... here.  Depend on
   5383 	_Base2 instead of _Base in the return type.
   5384 	* testsuite/std/ranges/adaptors/elements.cc (test06, test07):
   5385 	New tests.
   5386 
   5387 2021-05-17  Thomas Rodgers  <rodgert (a] twrodgers.com>
   5388 
   5389 	* include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop
   5390 	until value change observed.
   5391 	(__waiter_base::_M_laundered): New member.
   5392 	(__waiter_base::_M_notify): Check _M_laundered to determine
   5393 	whether to wake one or all.
   5394 	(__detail::__atomic_compare): Return true if call to
   5395 	__builtin_memcmp() == 0.
   5396 	(__waiter_base::_S_do_spin_v): Adjust predicate.
   5397 	* testsuite/29_atomics/atomic/wait_notify/100334.cc: New
   5398 	test.
   5399 
   5400 2021-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5401 
   5402 	PR libstdc++/100630
   5403 	* include/experimental/bits/fs_path.h (__is_constructible_from):
   5404 	Test construction from a const lvalue, not an rvalue.
   5405 	* testsuite/27_io/filesystem/path/construct/100630.cc: New test.
   5406 	* testsuite/experimental/filesystem/path/construct/100630.cc:
   5407 	New test.
   5408 
   5409 2021-05-17  Antony Polukhin  <antoshkka (a] gmail.com>
   5410 
   5411 	PR libstdc++/89728
   5412 	* include/bits/locale_facets.h (ctype<basic_string<C,T,A>>):
   5413 	Declare (but do not define) partial specialization.
   5414 	* testsuite/22_locale/ctype/is/string/89728_neg.cc: New test.
   5415 
   5416 2021-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5417 
   5418 	* include/std/thread (jthread::_S_create): Fix static assert
   5419 	message.
   5420 	* testsuite/30_threads/jthread/95989.cc: Re-enable test.
   5421 	* testsuite/30_threads/jthread/jthread.cc: Do not require
   5422 	pthread effective target.
   5423 	* testsuite/30_threads/jthread/2.cc: Moved to...
   5424 	* testsuite/30_threads/jthread/version.cc: ...here.
   5425 
   5426 2021-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5427 
   5428 	* doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd.
   5429 	* doc/Makefile.in: Regenerate.
   5430 	* doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder
   5431 	value.
   5432 	* scripts/run_doxygen (print_usage): Always print to stdout and
   5433 	do not exit.
   5434 	(fail): New function for exiting on error.
   5435 	(parse_options): Handle --latex_cmd. Do not treat --help the
   5436 	same as errors. Simplify handling of required arguments.
   5437 
   5438 2021-05-12  Jonathan Wakely  <jwakely (a] redhat.com>
   5439 
   5440 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
   5441 	Increase dg-timeout-factor to 4. Fix -Wunused-parameter
   5442 	warnings. Replace bitwise AND with logical AND in loop
   5443 	condition.
   5444 	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
   5445 	Replace bitwise AND with logical AND in loop condition.
   5446 	* testsuite/util/pstl/test_utils.h: Remove unused parameter
   5447 	names.
   5448 
   5449 2021-05-11  Patrick Palka  <ppalka (a] redhat.com>
   5450 
   5451 	* src/c++17/ryu/LOCAL_PATCHES: Update.
   5452 	* src/c++17/ryu/ryu_generic_128.h: Remove extern "C".
   5453 	Remove declarations for never-defined functions.
   5454 	* testsuite/20_util/to_chars/4.cc: New test.
   5455 
   5456 2021-05-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5457 
   5458 	* testsuite/20_util/headers/memory/synopsis.cc: Define C++98
   5459 	alternative for macro.
   5460 	* testsuite/20_util/shared_ptr/creation/99006.cc: Add effective
   5461 	target keyword.
   5462 	* testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11
   5463 	syntax.
   5464 
   5465 2021-05-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5466 
   5467 	* include/bits/allocator.h (allocator<void>) [C++20]: Add
   5468 	missing noexcept to constructor. Restore missing POCMA and
   5469 	is_always_equal_traits.
   5470 	[C++17]: Make construct and destroy members private and
   5471 	declare allocator_traits as a friend.
   5472 	* include/bits/memoryfwd.h (allocator_traits): Declare.
   5473 	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
   5474 	Add nodiscard attribute. Add static assertion for LWG 3307.
   5475 	* include/ext/new_allocator.h (new_allocator::allocate): Add
   5476 	static assertion for LWG 3307.
   5477 	* testsuite/20_util/allocator/void.cc: Check that converting
   5478 	constructor is noexcept. Check for propagation traits and
   5479 	size_type and difference_type. Check that pointer and
   5480 	const_pointer are gone in C++20.
   5481 
   5482 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5483 
   5484 	* include/std/stop_token: Remove TODO comment.
   5485 
   5486 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5487 
   5488 	* include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)):
   5489 	Initialize a non-reference deleter from an rvalue, as per LWG
   5490 	3548.
   5491 	(__shared_ptr::_UniqCompatible): Add missing constraint.
   5492 	* testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test.
   5493 	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check
   5494 	constraints.
   5495 
   5496 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5497 
   5498 	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove
   5499 	-std=gnu++17 from dg-options directive.
   5500 	* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
   5501 	Likewise.
   5502 	* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
   5503 	Likewise.
   5504 	* testsuite/17_intro/headers/c++2017/operator_names.cc:
   5505 	Likewise.
   5506 	* testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise.
   5507 	* testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
   5508 	* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
   5509 	Likewise.
   5510 	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
   5511 	* testsuite/18_support/byte/81076.cc: Likewise.
   5512 	* testsuite/18_support/byte/global_neg.cc: Likewise.
   5513 	* testsuite/18_support/byte/ops.cc: Likewise.
   5514 	* testsuite/18_support/byte/requirements.cc: Likewise.
   5515 	* testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise.
   5516 	* testsuite/18_support/launder/1.cc: Likewise.
   5517 	* testsuite/18_support/launder/nodiscard.cc: Likewise.
   5518 	* testsuite/18_support/launder/requirements.cc: Likewise.
   5519 	* testsuite/18_support/launder/requirements_neg.cc: Likewise.
   5520 	* testsuite/18_support/new_aligned.cc: Likewise.
   5521 	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
   5522 	Likewise.
   5523 	* testsuite/19_diagnostics/error_code/is_error_code_v.cc:
   5524 	Likewise.
   5525 	* testsuite/19_diagnostics/error_condition/hash.cc: Likewise.
   5526 	* testsuite/20_util/addressof/requirements/constexpr.cc:
   5527 	Likewise.
   5528 	* testsuite/20_util/as_const/1.cc: Likewise.
   5529 	* testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
   5530 	* testsuite/20_util/bind/83427.cc: Likewise.
   5531 	* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
   5532 	* testsuite/20_util/bool_constant/requirements.cc: Likewise.
   5533 	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
   5534 	Likewise.
   5535 	* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
   5536 	Likewise.
   5537 	* testsuite/20_util/duration_cast/rounding.cc: Likewise.
   5538 	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
   5539 	Likewise.
   5540 	* testsuite/20_util/from_chars/1_neg.cc: Likewise.
   5541 	* testsuite/20_util/from_chars/requirements.cc: Likewise.
   5542 	* testsuite/20_util/function/91456.cc: Likewise.
   5543 	* testsuite/20_util/function/cons/deduction.cc: Likewise.
   5544 	* testsuite/20_util/function_objects/83607.cc: Likewise.
   5545 	* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
   5546 	* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
   5547 	* testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
   5548 	* testsuite/20_util/function_objects/not_fn/87538.cc: Likewise.
   5549 	* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
   5550 	Likewise.
   5551 	* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
   5552 	Likewise.
   5553 	* testsuite/20_util/has_unique_object_representations/value.cc:
   5554 	Likewise.
   5555 	* testsuite/20_util/hash/nullptr.cc: Likewise.
   5556 	* testsuite/20_util/in_place/requirements.cc: Likewise.
   5557 	* testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise.
   5558 	* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
   5559 	Likewise.
   5560 	* testsuite/20_util/is_aggregate/requirements/typedefs.cc:
   5561 	Likewise.
   5562 	* testsuite/20_util/is_aggregate/value.cc: Likewise.
   5563 	* testsuite/20_util/is_invocable/83395.cc: Likewise.
   5564 	* testsuite/20_util/is_invocable/91456.cc: Likewise.
   5565 	* testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
   5566 	Likewise.
   5567 	* testsuite/20_util/is_invocable/requirements/typedefs.cc:
   5568 	Likewise.
   5569 	* testsuite/20_util/is_invocable/value.cc: Likewise.
   5570 	* testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise.
   5571 	* testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise.
   5572 	* testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise.
   5573 	* testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
   5574 	Likewise.
   5575 	* testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise.
   5576 	* testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
   5577 	* testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
   5578 	Likewise.
   5579 	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
   5580 	Likewise.
   5581 	* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
   5582 	* testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
   5583 	Likewise.
   5584 	* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
   5585 	Likewise.
   5586 	* testsuite/20_util/is_nothrow_swappable_with/value.cc:
   5587 	Likewise.
   5588 	* testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
   5589 	Likewise.
   5590 	* testsuite/20_util/is_swappable/requirements/typedefs.cc:
   5591 	Likewise.
   5592 	* testsuite/20_util/is_swappable/value.cc: Likewise.
   5593 	* testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
   5594 	Likewise.
   5595 	* testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
   5596 	Likewise.
   5597 	* testsuite/20_util/is_swappable_with/value.cc: Likewise.
   5598 	* testsuite/20_util/logical_traits/83134.cc: Likewise.
   5599 	* testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
   5600 	Likewise.
   5601 	* testsuite/20_util/logical_traits/requirements/typedefs.cc:
   5602 	Likewise.
   5603 	* testsuite/20_util/logical_traits/value.cc: Likewise.
   5604 	* testsuite/20_util/pair/cons/deduction.cc: Likewise.
   5605 	* testsuite/20_util/pair/swap_cxx17.cc: Likewise.
   5606 	* testsuite/20_util/ratio/requirements/ratio_equal_v.cc:
   5607 	Likewise.
   5608 	* testsuite/20_util/reference_wrapper/83427.cc: Likewise.
   5609 	* testsuite/20_util/reference_wrapper/deduction.cc: Likewise.
   5610 	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
   5611 	* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
   5612 	* testsuite/20_util/shared_ptr/requirements/weak_type.cc:
   5613 	Likewise.
   5614 	* testsuite/20_util/time_point/arithmetic/constexpr.cc:
   5615 	Likewise.
   5616 	* testsuite/20_util/time_point_cast/rounding.cc: Likewise.
   5617 	* testsuite/20_util/to_chars/3.cc: Likewise.
   5618 	* testsuite/20_util/to_chars/chars_format.cc: Likewise.
   5619 	* testsuite/20_util/to_chars/lwg3266.cc: Likewise.
   5620 	* testsuite/20_util/to_chars/requirements.cc: Likewise.
   5621 	* testsuite/20_util/tuple/78939.cc: Likewise.
   5622 	* testsuite/20_util/tuple/apply/1.cc: Likewise.
   5623 	* testsuite/20_util/tuple/apply/2.cc: Likewise.
   5624 	* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
   5625 	* testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
   5626 	* testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise.
   5627 	* testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
   5628 	* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
   5629 	* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
   5630 	* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
   5631 	Likewise.
   5632 	* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
   5633 	* testsuite/20_util/void_t/1.cc: Likewise.
   5634 	* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
   5635 	* testsuite/24_iterators/container_access.cc: Likewise.
   5636 	* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
   5637 	Likewise.
   5638 	* testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
   5639 	Likewise.
   5640 	* testsuite/24_iterators/range_access/range_access_cpp17.cc:
   5641 	Likewise.
   5642 	* testsuite/24_iterators/range_access/range_access_cpp17_neg.cc:
   5643 	Likewise.
   5644 	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
   5645 	* testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
   5646 	Likewise.
   5647 	* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
   5648 	* testsuite/26_numerics/headers/cmath/special_functions_global.cc:
   5649 	Likewise.
   5650 	* testsuite/26_numerics/lcm/1.cc: Likewise.
   5651 	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
   5652 	* testsuite/26_numerics/valarray/deduction.cc: Likewise.
   5653 	* testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
   5654 	Likewise.
   5655 	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc:
   5656 	Likewise.
   5657 	* testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc:
   5658 	Likewise.
   5659 	* testsuite/27_io/types/4.cc: Likewise.
   5660 	* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
   5661 	* testsuite/libstdc++-prettyprinters/91997.cc: Likewise.
   5662 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
   5663 
   5664 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5665 
   5666 	* testsuite/20_util/function_objects/searchers.cc: Remove
   5667 	-std=gnu++17 from dg-options directive.
   5668 	* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
   5669 	Likewise.
   5670 	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
   5671 	Likewise.
   5672 	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
   5673 	Likewise.
   5674 	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc:
   5675 	Likewise.
   5676 	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
   5677 	Likewise.
   5678 	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
   5679 	Likewise.
   5680 	* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
   5681 	Likewise.
   5682 	* testsuite/25_algorithms/clamp/1.cc: Likewise.
   5683 	* testsuite/25_algorithms/clamp/2.cc: Likewise.
   5684 	* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
   5685 	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
   5686 	Likewise.
   5687 	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
   5688 	Likewise.
   5689 	* testsuite/25_algorithms/for_each/for_each_n.cc: Likewise.
   5690 	* testsuite/25_algorithms/for_each/for_each_n_debug.cc:
   5691 	Likewise.
   5692 	* testsuite/25_algorithms/sample/1.cc: Likewise.
   5693 	* testsuite/25_algorithms/sample/2.cc: Likewise.
   5694 	* testsuite/25_algorithms/sample/3.cc: Likewise.
   5695 	* testsuite/25_algorithms/sample/81221.cc: Likewise.
   5696 	* testsuite/25_algorithms/search/searcher.cc: Likewise.
   5697 	* testsuite/26_numerics/exclusive_scan/1.cc: Likewise.
   5698 	* testsuite/26_numerics/inclusive_scan/1.cc: Likewise.
   5699 	* testsuite/26_numerics/reduce/1.cc: Likewise.
   5700 	* testsuite/26_numerics/reduce/2.cc: Likewise.
   5701 	* testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise.
   5702 	* testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise.
   5703 	* testsuite/26_numerics/transform_reduce/1.cc: Likewise.
   5704 
   5705 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5706 
   5707 	* testsuite/23_containers/array/cons/deduction.cc: Remove
   5708 	-std=gnu++17 from dg-options directive.
   5709 	* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
   5710 	* testsuite/23_containers/array/element_access/constexpr_c++17.cc:
   5711 	Likewise.
   5712 	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
   5713 	Likewise.
   5714 	* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
   5715 	Likewise.
   5716 	* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
   5717 	* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
   5718 	Likewise.
   5719 	* testsuite/23_containers/forward_list/cons/deduction.cc:
   5720 	Likewise.
   5721 	* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
   5722 	Likewise.
   5723 	* testsuite/23_containers/list/cons/deduction.cc: Likewise.
   5724 	* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
   5725 	Likewise.
   5726 	* testsuite/23_containers/map/cons/deduction.cc: Likewise.
   5727 	* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
   5728 	* testsuite/23_containers/map/modifiers/insert/83226.cc:
   5729 	Likewise.
   5730 	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
   5731 	Likewise.
   5732 	* testsuite/23_containers/map/modifiers/merge.cc: Likewise.
   5733 	* testsuite/23_containers/map/modifiers/try_emplace/1.cc:
   5734 	Likewise.
   5735 	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
   5736 	* testsuite/23_containers/multimap/modifiers/extract.cc:
   5737 	Likewise.
   5738 	* testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
   5739 	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
   5740 	* testsuite/23_containers/multiset/modifiers/extract.cc:
   5741 	Likewise.
   5742 	* testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
   5743 	* testsuite/23_containers/priority_queue/deduction.cc: Likewise.
   5744 	* testsuite/23_containers/queue/deduction.cc: Likewise.
   5745 	* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
   5746 	Likewise.
   5747 	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
   5748 	* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
   5749 	* testsuite/23_containers/set/modifiers/merge.cc: Likewise.
   5750 	* testsuite/23_containers/set/modifiers/node_swap.cc: Likewise.
   5751 	* testsuite/23_containers/stack/deduction.cc: Likewise.
   5752 	* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
   5753 	Likewise.
   5754 	* testsuite/23_containers/unordered_map/cons/deduction.cc:
   5755 	Likewise.
   5756 	* testsuite/23_containers/unordered_map/modifiers/extract.cc:
   5757 	Likewise.
   5758 	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
   5759 	Likewise.
   5760 	* testsuite/23_containers/unordered_map/modifiers/merge.cc:
   5761 	Likewise.
   5762 	* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
   5763 	Likewise.
   5764 	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
   5765 	Likewise.
   5766 	* testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
   5767 	Likewise.
   5768 	* testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
   5769 	Likewise.
   5770 	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
   5771 	Likewise.
   5772 	* testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
   5773 	Likewise.
   5774 	* testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
   5775 	Likewise.
   5776 	* testsuite/23_containers/unordered_set/cons/deduction.cc:
   5777 	Likewise.
   5778 	* testsuite/23_containers/unordered_set/modifiers/extract.cc:
   5779 	Likewise.
   5780 	* testsuite/23_containers/unordered_set/modifiers/merge.cc:
   5781 	Likewise.
   5782 	* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
   5783 	Likewise.
   5784 	* testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise.
   5785 	* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
   5786 	* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
   5787 	Likewise.
   5788 
   5789 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5790 
   5791 	* testsuite/21_strings/basic_string/79162.cc: Remove
   5792 	-std=gnu++17 from dg-options directive.
   5793 	* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
   5794 	* testsuite/21_strings/basic_string/cons/char/79162.cc:
   5795 	Likewise.
   5796 	* testsuite/21_strings/basic_string/cons/char/86138.cc:
   5797 	Likewise.
   5798 	* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
   5799 	* testsuite/21_strings/basic_string/cons/char/deduction.cc:
   5800 	Likewise.
   5801 	* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
   5802 	Likewise.
   5803 	* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
   5804 	* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc:
   5805 	Likewise.
   5806 	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc:
   5807 	Likewise.
   5808 	* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
   5809 	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
   5810 	Likewise.
   5811 	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
   5812 	Likewise.
   5813 	* testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
   5814 	* testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
   5815 	* testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
   5816 	* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
   5817 	Likewise.
   5818 	* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
   5819 	Likewise.
   5820 	* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
   5821 	Likewise.
   5822 	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
   5823 	Likewise.
   5824 	* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
   5825 	Likewise.
   5826 	* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
   5827 	Likewise.
   5828 	* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
   5829 	Likewise.
   5830 	* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
   5831 	Likewise.
   5832 	* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
   5833 	Likewise.
   5834 	* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
   5835 	Likewise.
   5836 	* testsuite/21_strings/basic_string/operations/data/char/2.cc:
   5837 	Likewise.
   5838 	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
   5839 	Likewise.
   5840 	* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
   5841 	Likewise.
   5842 	* testsuite/21_strings/basic_string/operations/find/char/5.cc:
   5843 	Likewise.
   5844 	* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
   5845 	Likewise.
   5846 	* testsuite/21_strings/basic_string/operators/char/5.cc:
   5847 	Likewise.
   5848 	* testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
   5849 	Likewise.
   5850 	* testsuite/21_strings/basic_string_view/capacity/1.cc:
   5851 	Likewise.
   5852 	* testsuite/21_strings/basic_string_view/capacity/empty_neg.cc:
   5853 	Likewise.
   5854 	* testsuite/21_strings/basic_string_view/cons/char/1.cc:
   5855 	Likewise.
   5856 	* testsuite/21_strings/basic_string_view/cons/char/2.cc:
   5857 	Likewise.
   5858 	* testsuite/21_strings/basic_string_view/cons/char/3.cc:
   5859 	Likewise.
   5860 	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
   5861 	Likewise.
   5862 	* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
   5863 	Likewise.
   5864 	* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
   5865 	Likewise.
   5866 	* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
   5867 	Likewise.
   5868 	* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
   5869 	Likewise.
   5870 	* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
   5871 	Likewise.
   5872 	* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
   5873 	Likewise.
   5874 	* testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
   5875 	Likewise.
   5876 	* testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc:
   5877 	Likewise.
   5878 	* testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
   5879 	Likewise.
   5880 	* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
   5881 	Likewise.
   5882 	* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
   5883 	Likewise.
   5884 	* testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc:
   5885 	Likewise.
   5886 	* testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
   5887 	Likewise.
   5888 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
   5889 	Likewise.
   5890 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
   5891 	Likewise.
   5892 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
   5893 	Likewise.
   5894 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc:
   5895 	Likewise.
   5896 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
   5897 	Likewise.
   5898 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
   5899 	Likewise.
   5900 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
   5901 	Likewise.
   5902 	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
   5903 	Likewise.
   5904 	* testsuite/21_strings/basic_string_view/include.cc: Likewise.
   5905 	* testsuite/21_strings/basic_string_view/inserters/94051.cc:
   5906 	Likewise.
   5907 	* testsuite/21_strings/basic_string_view/inserters/char/1.cc:
   5908 	Likewise.
   5909 	* testsuite/21_strings/basic_string_view/inserters/char/2.cc:
   5910 	Likewise.
   5911 	* testsuite/21_strings/basic_string_view/inserters/char/3.cc:
   5912 	Likewise.
   5913 	* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
   5914 	Likewise.
   5915 	* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
   5916 	Likewise.
   5917 	* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
   5918 	Likewise.
   5919 	* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
   5920 	Likewise.
   5921 	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
   5922 	Likewise.
   5923 	* testsuite/21_strings/basic_string_view/literals/types.cc:
   5924 	Likewise.
   5925 	* testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
   5926 	Likewise.
   5927 	* testsuite/21_strings/basic_string_view/literals/values.cc:
   5928 	Likewise.
   5929 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
   5930 	Likewise.
   5931 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
   5932 	Likewise.
   5933 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
   5934 	Likewise.
   5935 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
   5936 	Likewise.
   5937 	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
   5938 	Likewise.
   5939 	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
   5940 	Likewise.
   5941 	* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
   5942 	Likewise.
   5943 	* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
   5944 	Likewise.
   5945 	* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
   5946 	Likewise.
   5947 	* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
   5948 	Likewise.
   5949 	* testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc:
   5950 	Likewise.
   5951 	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
   5952 	Likewise.
   5953 	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
   5954 	Likewise.
   5955 	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
   5956 	Likewise.
   5957 	* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
   5958 	Likewise.
   5959 	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
   5960 	Likewise.
   5961 	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
   5962 	Likewise.
   5963 	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
   5964 	Likewise.
   5965 	* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
   5966 	Likewise.
   5967 	* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
   5968 	Likewise.
   5969 	* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
   5970 	Likewise.
   5971 	* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
   5972 	Likewise.
   5973 	* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
   5974 	Likewise.
   5975 	* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
   5976 	Likewise.
   5977 	* testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc:
   5978 	Likewise.
   5979 	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
   5980 	Likewise.
   5981 	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
   5982 	Likewise.
   5983 	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
   5984 	Likewise.
   5985 	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
   5986 	Likewise.
   5987 	* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
   5988 	Likewise.
   5989 	* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
   5990 	Likewise.
   5991 	* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
   5992 	Likewise.
   5993 	* testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc:
   5994 	Likewise.
   5995 	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
   5996 	Likewise.
   5997 	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
   5998 	Likewise.
   5999 	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
   6000 	Likewise.
   6001 	* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
   6002 	Likewise.
   6003 	* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
   6004 	Likewise.
   6005 	* testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc:
   6006 	Likewise.
   6007 	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
   6008 	Likewise.
   6009 	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc:
   6010 	Likewise.
   6011 	* testsuite/21_strings/basic_string_view/operators/char/2.cc:
   6012 	Likewise.
   6013 	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
   6014 	Likewise.
   6015 	* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
   6016 	Likewise.
   6017 	* testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
   6018 	Likewise.
   6019 	* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
   6020 	Likewise.
   6021 	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
   6022 	Likewise.
   6023 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
   6024 	Likewise.
   6025 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
   6026 	Likewise.
   6027 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
   6028 	Likewise.
   6029 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
   6030 	Likewise.
   6031 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
   6032 	Likewise.
   6033 	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
   6034 	Likewise.
   6035 	* testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
   6036 	Likewise.
   6037 	* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
   6038 	Likewise.
   6039 	* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
   6040 	* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
   6041 	* testsuite/21_strings/char_traits/requirements/char/99181.cc:
   6042 	Likewise.
   6043 	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
   6044 
   6045 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6046 
   6047 	* testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17
   6048 	from dg-options directive.
   6049 	* testsuite/20_util/memory_resource/2.cc: Likewise.
   6050 	* testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise.
   6051 	* testsuite/20_util/monotonic_buffer_resource/93208.cc:
   6052 	Likewise.
   6053 	* testsuite/20_util/monotonic_buffer_resource/allocate.cc:
   6054 	Likewise.
   6055 	* testsuite/20_util/monotonic_buffer_resource/deallocate.cc:
   6056 	Likewise.
   6057 	* testsuite/20_util/monotonic_buffer_resource/release.cc:
   6058 	Likewise.
   6059 	* testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc:
   6060 	Likewise.
   6061 	* testsuite/20_util/polymorphic_allocator/1.cc: Likewise.
   6062 	* testsuite/20_util/polymorphic_allocator/construct_pair.cc:
   6063 	Likewise.
   6064 	* testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
   6065 	* testsuite/20_util/polymorphic_allocator/select.cc: Likewise.
   6066 	* testsuite/20_util/synchronized_pool_resource/allocate.cc:
   6067 	Likewise.
   6068 	* testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
   6069 	Likewise.
   6070 	* testsuite/20_util/synchronized_pool_resource/cons.cc:
   6071 	Likewise.
   6072 	* testsuite/20_util/synchronized_pool_resource/cons_single.cc:
   6073 	Likewise.
   6074 	* testsuite/20_util/synchronized_pool_resource/is_equal.cc:
   6075 	Likewise.
   6076 	* testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
   6077 	Likewise.
   6078 	* testsuite/20_util/synchronized_pool_resource/options.cc:
   6079 	Likewise.
   6080 	* testsuite/20_util/synchronized_pool_resource/release.cc:
   6081 	Likewise.
   6082 	* testsuite/20_util/synchronized_pool_resource/release_single.cc:
   6083 	Likewise.
   6084 	* testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc:
   6085 	Likewise.
   6086 	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
   6087 	Likewise.
   6088 	* testsuite/20_util/unsynchronized_pool_resource/cons.cc:
   6089 	Likewise.
   6090 	* testsuite/20_util/unsynchronized_pool_resource/is_equal.cc:
   6091 	Likewise.
   6092 	* testsuite/20_util/unsynchronized_pool_resource/options.cc:
   6093 	Likewise.
   6094 	* testsuite/20_util/unsynchronized_pool_resource/release.cc:
   6095 	Likewise.
   6096 	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
   6097 	Likewise.
   6098 	* testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
   6099 	* testsuite/23_containers/deque/types/pmr_typedefs_debug.cc:
   6100 	Likewise.
   6101 	* testsuite/23_containers/forward_list/pmr_typedefs.cc:
   6102 	Likewise.
   6103 	* testsuite/23_containers/forward_list/pmr_typedefs_debug.cc:
   6104 	Likewise.
   6105 	* testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
   6106 	* testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
   6107 	* testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
   6108 	* testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
   6109 	* testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
   6110 	* testsuite/23_containers/multimap/pmr_typedefs_debug.cc:
   6111 	Likewise.
   6112 	* testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
   6113 	* testsuite/23_containers/multiset/pmr_typedefs_debug.cc:
   6114 	Likewise.
   6115 	* testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
   6116 	* testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
   6117 	* testsuite/23_containers/unordered_map/pmr_typedefs.cc:
   6118 	Likewise.
   6119 	* testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
   6120 	Likewise.
   6121 	* testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
   6122 	Likewise.
   6123 	* testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
   6124 	Likewise.
   6125 	* testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
   6126 	Likewise.
   6127 	* testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
   6128 	Likewise.
   6129 	* testsuite/23_containers/unordered_set/pmr_typedefs.cc:
   6130 	Likewise.
   6131 	* testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
   6132 	Likewise.
   6133 	* testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
   6134 	* testsuite/23_containers/vector/types/pmr_typedefs_debug.cc:
   6135 	Likewise.
   6136 	* testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
   6137 
   6138 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6139 
   6140 	* testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from
   6141 	dg-options.
   6142 	* testsuite/29_atomics/atomic/is_always_lock_free.cc:
   6143 	* testsuite/29_atomics/atomic/requirements/typedefs.cc:
   6144 	* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
   6145 	* testsuite/29_atomics/atomic_integral/requirements/typedefs.cc:
   6146 	* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
   6147 	* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
   6148 	* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
   6149 	* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
   6150 	Likewise.
   6151 	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
   6152 	Likewise.
   6153 	* testsuite/30_threads/shared_lock/70766.cc: Likewise.
   6154 	* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
   6155 	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
   6156 	Likewise.
   6157 	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
   6158 	* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
   6159 	Likewise.
   6160 	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
   6161 	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
   6162 	* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
   6163 	* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
   6164 
   6165 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6166 
   6167 	* testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from
   6168 	dg-options directive.
   6169 	* testsuite/20_util/any/assign/2.cc: Likewise.
   6170 	* testsuite/20_util/any/assign/emplace.cc: Likewise.
   6171 	* testsuite/20_util/any/assign/exception.cc: Likewise.
   6172 	* testsuite/20_util/any/assign/self.cc: Likewise.
   6173 	* testsuite/20_util/any/cons/1.cc: Likewise.
   6174 	* testsuite/20_util/any/cons/2.cc: Likewise.
   6175 	* testsuite/20_util/any/cons/90415.cc: Likewise.
   6176 	* testsuite/20_util/any/cons/92156.cc: Likewise.
   6177 	* testsuite/20_util/any/cons/aligned.cc: Likewise.
   6178 	* testsuite/20_util/any/cons/explicit.cc: Likewise.
   6179 	* testsuite/20_util/any/cons/in_place.cc: Likewise.
   6180 	* testsuite/20_util/any/cons/nontrivial.cc: Likewise.
   6181 	* testsuite/20_util/any/make_any.cc: Likewise.
   6182 	* testsuite/20_util/any/misc/any_cast.cc: Likewise.
   6183 	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
   6184 	* testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
   6185 	* testsuite/20_util/any/misc/swap.cc: Likewise.
   6186 	* testsuite/20_util/any/modifiers/1.cc: Likewise.
   6187 	* testsuite/20_util/any/modifiers/83658.cc: Likewise.
   6188 	* testsuite/20_util/any/modifiers/92156.cc: Likewise.
   6189 	* testsuite/20_util/any/observers/type.cc: Likewise.
   6190 	* testsuite/20_util/any/requirements.cc: Likewise.
   6191 	* testsuite/20_util/any/typedefs.cc: Likewise.
   6192 	* testsuite/20_util/optional/77288.cc: Likewise.
   6193 	* testsuite/20_util/optional/84601.cc: Likewise.
   6194 	* testsuite/20_util/optional/assignment/1.cc: Likewise.
   6195 	* testsuite/20_util/optional/assignment/2.cc: Likewise.
   6196 	* testsuite/20_util/optional/assignment/3.cc: Likewise.
   6197 	* testsuite/20_util/optional/assignment/4.cc: Likewise.
   6198 	* testsuite/20_util/optional/assignment/5.cc: Likewise.
   6199 	* testsuite/20_util/optional/assignment/6.cc: Likewise.
   6200 	* testsuite/20_util/optional/assignment/7.cc: Likewise.
   6201 	* testsuite/20_util/optional/assignment/8.cc: Likewise.
   6202 	* testsuite/20_util/optional/assignment/9.cc: Likewise.
   6203 	* testsuite/20_util/optional/bad_access.cc: Likewise.
   6204 	* testsuite/20_util/optional/cons/77727.cc: Likewise.
   6205 	* testsuite/20_util/optional/cons/85642.cc: Likewise.
   6206 	* testsuite/20_util/optional/cons/copy.cc: Likewise.
   6207 	* testsuite/20_util/optional/cons/deduction.cc: Likewise.
   6208 	* testsuite/20_util/optional/cons/default.cc: Likewise.
   6209 	* testsuite/20_util/optional/cons/move.cc: Likewise.
   6210 	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
   6211 	* testsuite/20_util/optional/cons/value.cc: Likewise.
   6212 	* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
   6213 	* testsuite/20_util/optional/constexpr/cons/default.cc:
   6214 	Likewise.
   6215 	* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
   6216 	* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
   6217 	* testsuite/20_util/optional/constexpr/make_optional.cc:
   6218 	Likewise.
   6219 	* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
   6220 	* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
   6221 	* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
   6222 	* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
   6223 	* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
   6224 	* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
   6225 	* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
   6226 	* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
   6227 	* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
   6228 	* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
   6229 	* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
   6230 	* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
   6231 	* testsuite/20_util/optional/hash.cc: Likewise.
   6232 	* testsuite/20_util/optional/in_place.cc: Likewise.
   6233 	* testsuite/20_util/optional/make_optional.cc: Likewise.
   6234 	* testsuite/20_util/optional/nullopt.cc: Likewise.
   6235 	* testsuite/20_util/optional/observers/1.cc: Likewise.
   6236 	* testsuite/20_util/optional/observers/2.cc: Likewise.
   6237 	* testsuite/20_util/optional/observers/3.cc: Likewise.
   6238 	* testsuite/20_util/optional/observers/4.cc: Likewise.
   6239 	* testsuite/20_util/optional/observers/5.cc: Likewise.
   6240 	* testsuite/20_util/optional/observers/6.cc: Likewise.
   6241 	* testsuite/20_util/optional/relops/1.cc: Likewise.
   6242 	* testsuite/20_util/optional/relops/2.cc: Likewise.
   6243 	* testsuite/20_util/optional/relops/3.cc: Likewise.
   6244 	* testsuite/20_util/optional/relops/4.cc: Likewise.
   6245 	* testsuite/20_util/optional/relops/5.cc: Likewise.
   6246 	* testsuite/20_util/optional/relops/6.cc: Likewise.
   6247 	* testsuite/20_util/optional/relops/7.cc: Likewise.
   6248 	* testsuite/20_util/optional/requirements.cc: Likewise.
   6249 	* testsuite/20_util/optional/swap/1.cc: Likewise.
   6250 	* testsuite/20_util/optional/swap/2.cc: Likewise.
   6251 	* testsuite/20_util/optional/typedefs.cc: Likewise.
   6252 	* testsuite/20_util/variant/80165.cc: Likewise.
   6253 	* testsuite/20_util/variant/85183.cc: Likewise.
   6254 	* testsuite/20_util/variant/86874.cc: Likewise.
   6255 	* testsuite/20_util/variant/87431.cc: Likewise.
   6256 	* testsuite/20_util/variant/87619.cc: Likewise.
   6257 	* testsuite/20_util/variant/91807.cc: Likewise.
   6258 	* testsuite/20_util/variant/any.cc: Likewise.
   6259 	* testsuite/20_util/variant/compile.cc: Likewise.
   6260 	* testsuite/20_util/variant/deduction.cc: Likewise.
   6261 	* testsuite/20_util/variant/exception_safety.cc: Likewise.
   6262 	* testsuite/20_util/variant/hash.cc: Likewise.
   6263 	* testsuite/20_util/variant/index_type.cc: Likewise.
   6264 	* testsuite/20_util/variant/relops/89851.cc: Likewise.
   6265 	* testsuite/20_util/variant/relops/90008.cc: Likewise.
   6266 	* testsuite/20_util/variant/run.cc: Likewise.
   6267 	* testsuite/20_util/variant/visit.cc: Likewise.
   6268 
   6269 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6270 
   6271 	* testsuite/27_io/basic_filebuf/open/char/path.cc: Remove
   6272 	-std=gnu++17 from dg-options directive.
   6273 	* testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
   6274 	* testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
   6275 	* testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
   6276 	* testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
   6277 	* testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
   6278 	* testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
   6279 	* testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise.
   6280 	* testsuite/27_io/filesystem/directory_entry/lwg3171.cc:
   6281 	Likewise.
   6282 	* testsuite/27_io/filesystem/file_status/1.cc: Likewise.
   6283 	* testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
   6284 	* testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
   6285 	* testsuite/27_io/filesystem/iterators/91067.cc: Likewise.
   6286 	* testsuite/27_io/filesystem/iterators/caching.cc: Likewise.
   6287 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc:
   6288 	Likewise.
   6289 	* testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
   6290 	* testsuite/27_io/filesystem/iterators/recursion_pending.cc:
   6291 	Likewise.
   6292 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   6293 	Likewise.
   6294 	* testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
   6295 	* testsuite/27_io/filesystem/operations/all.cc: Likewise.
   6296 	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
   6297 	* testsuite/27_io/filesystem/operations/copy.cc: Likewise.
   6298 	* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
   6299 	* testsuite/27_io/filesystem/operations/create_directories.cc:
   6300 	Likewise.
   6301 	* testsuite/27_io/filesystem/operations/create_directory.cc:
   6302 	Likewise.
   6303 	* testsuite/27_io/filesystem/operations/create_symlink.cc:
   6304 	Likewise.
   6305 	* testsuite/27_io/filesystem/operations/current_path.cc:
   6306 	Likewise.
   6307 	* testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
   6308 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   6309 	* testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
   6310 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   6311 	* testsuite/27_io/filesystem/operations/last_write_time.cc:
   6312 	Likewise.
   6313 	* testsuite/27_io/filesystem/operations/permissions.cc:
   6314 	Likewise.
   6315 	* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
   6316 	* testsuite/27_io/filesystem/operations/read_symlink.cc:
   6317 	Likewise.
   6318 	* testsuite/27_io/filesystem/operations/relative.cc: Likewise.
   6319 	* testsuite/27_io/filesystem/operations/remove.cc: Likewise.
   6320 	* testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
   6321 	* testsuite/27_io/filesystem/operations/rename.cc: Likewise.
   6322 	* testsuite/27_io/filesystem/operations/resize_file.cc:
   6323 	Likewise.
   6324 	* testsuite/27_io/filesystem/operations/space.cc: Likewise.
   6325 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   6326 	* testsuite/27_io/filesystem/operations/symlink_status.cc:
   6327 	Likewise.
   6328 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   6329 	Likewise.
   6330 	* testsuite/27_io/filesystem/operations/weakly_canonical.cc:
   6331 	Likewise.
   6332 	* testsuite/27_io/filesystem/path/append/path.cc: Likewise.
   6333 	* testsuite/27_io/filesystem/path/append/source.cc: Likewise.
   6334 	* testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
   6335 	* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
   6336 	* testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
   6337 	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
   6338 	* testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
   6339 	* testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
   6340 	* testsuite/27_io/filesystem/path/concat/92853.cc: Likewise.
   6341 	* testsuite/27_io/filesystem/path/concat/94063.cc: Likewise.
   6342 	* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
   6343 	* testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
   6344 	* testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
   6345 	* testsuite/27_io/filesystem/path/construct/90281.cc: Likewise.
   6346 	* testsuite/27_io/filesystem/path/construct/90634.cc: Likewise.
   6347 	* testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
   6348 	* testsuite/27_io/filesystem/path/construct/default.cc:
   6349 	Likewise.
   6350 	* testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
   6351 	* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
   6352 	* testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
   6353 	* testsuite/27_io/filesystem/path/construct/string_view.cc:
   6354 	Likewise.
   6355 	* testsuite/27_io/filesystem/path/decompose/extension.cc:
   6356 	Likewise.
   6357 	* testsuite/27_io/filesystem/path/decompose/filename.cc:
   6358 	Likewise.
   6359 	* testsuite/27_io/filesystem/path/decompose/parent_path.cc:
   6360 	Likewise.
   6361 	* testsuite/27_io/filesystem/path/decompose/relative_path.cc:
   6362 	Likewise.
   6363 	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
   6364 	Likewise.
   6365 	* testsuite/27_io/filesystem/path/decompose/root_name.cc:
   6366 	Likewise.
   6367 	* testsuite/27_io/filesystem/path/decompose/root_path.cc:
   6368 	Likewise.
   6369 	* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
   6370 	* testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
   6371 	Likewise.
   6372 	* testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
   6373 	* testsuite/27_io/filesystem/path/generation/normal.cc:
   6374 	Likewise.
   6375 	* testsuite/27_io/filesystem/path/generation/normal2.cc:
   6376 	Likewise.
   6377 	* testsuite/27_io/filesystem/path/generation/proximate.cc:
   6378 	Likewise.
   6379 	* testsuite/27_io/filesystem/path/generation/relative.cc:
   6380 	Likewise.
   6381 	* testsuite/27_io/filesystem/path/generic/94242.cc: Likewise.
   6382 	* testsuite/27_io/filesystem/path/generic/generic_string.cc:
   6383 	Likewise.
   6384 	* testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
   6385 	* testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
   6386 	* testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
   6387 	* testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
   6388 	* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
   6389 	* testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
   6390 	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
   6391 	Likewise.
   6392 	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
   6393 	Likewise.
   6394 	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
   6395 	Likewise.
   6396 	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
   6397 	Likewise.
   6398 	* testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
   6399 	* testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
   6400 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc:
   6401 	Likewise.
   6402 	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
   6403 	* testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
   6404 	* testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise.
   6405 	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
   6406 	Likewise.
   6407 	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
   6408 	* testsuite/27_io/filesystem/path/query/empty_neg.cc:
   6409 	* testsuite/27_io/filesystem/path/query/has_extension.cc:
   6410 	Likewise.
   6411 	* testsuite/27_io/filesystem/path/query/has_filename.cc:
   6412 	Likewise.
   6413 	* testsuite/27_io/filesystem/path/query/has_parent_path.cc:
   6414 	Likewise.
   6415 	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
   6416 	Likewise.
   6417 	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
   6418 	Likewise.
   6419 	* testsuite/27_io/filesystem/path/query/has_root_name.cc:
   6420 	Likewise.
   6421 	* testsuite/27_io/filesystem/path/query/has_root_path.cc:
   6422 	Likewise.
   6423 	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
   6424 	* testsuite/27_io/filesystem/path/query/is_absolute.cc:
   6425 	Likewise.
   6426 	* testsuite/27_io/filesystem/path/query/is_relative.cc:
   6427 	Likewise.
   6428 	* testsuite/experimental/filesystem/path/construct/string_view.cc:
   6429 	Likewise.
   6430 
   6431 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6432 
   6433 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
   6434 	Remove -std=gnu++17 from dg-options.
   6435 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
   6436 	Likewise.
   6437 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
   6438 	Likewise.
   6439 	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
   6440 	Likewise.
   6441 	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
   6442 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
   6443 	Likewise.
   6444 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
   6445 	Likewise.
   6446 	* testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
   6447 	Likewise.
   6448 	* testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
   6449 	Likewise.
   6450 	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
   6451 	Likewise.
   6452 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
   6453 	Likewise.
   6454 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
   6455 	Likewise.
   6456 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
   6457 	Likewise.
   6458 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
   6459 	Likewise.
   6460 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
   6461 	Likewise.
   6462 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
   6463 	Likewise.
   6464 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
   6465 	Likewise.
   6466 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
   6467 	Likewise.
   6468 	* testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
   6469 	Likewise.
   6470 	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
   6471 	Likewise.
   6472 	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
   6473 	Likewise.
   6474 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
   6475 	Likewise.
   6476 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
   6477 	Likewise.
   6478 	* testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
   6479 	Likewise.
   6480 	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
   6481 	Likewise.
   6482 	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
   6483 	Likewise.
   6484 	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
   6485 	Likewise.
   6486 	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
   6487 	Likewise.
   6488 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
   6489 	Likewise.
   6490 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
   6491 	Likewise.
   6492 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
   6493 	Likewise.
   6494 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
   6495 	Likewise.
   6496 	* testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
   6497 	Likewise.
   6498 	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
   6499 	Likewise.
   6500 	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
   6501 	Likewise.
   6502 	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
   6503 	Likewise.
   6504 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
   6505 	Likewise.
   6506 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
   6507 	Likewise.
   6508 	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
   6509 	Likewise.
   6510 	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
   6511 	Likewise.
   6512 	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
   6513 	* testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
   6514 	Likewise.
   6515 	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
   6516 	Likewise.
   6517 	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
   6518 	Likewise.
   6519 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
   6520 	Likewise.
   6521 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
   6522 	Likewise.
   6523 	* testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise.
   6524 	* testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise.
   6525 	* testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
   6526 	* testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
   6527 	* testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
   6528 	* testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
   6529 	* testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
   6530 	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
   6531 	Likewise.
   6532 	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
   6533 	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
   6534 	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
   6535 	Likewise.
   6536 	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
   6537 	Likewise.
   6538 
   6539 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6540 
   6541 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error
   6542 	for additional errors in C++20.
   6543 	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
   6544 	Likewise.
   6545 	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
   6546 	* testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
   6547 
   6548 2021-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6549 
   6550 	* testsuite/20_util/variant/compile.cc: Rename 'any' to avoid
   6551 	clash with std::any.
   6552 
   6553 2021-05-07  Jonathan Wakely  <jwakely (a] redhat.com>
   6554 
   6555 	* include/std/istream (__rvalue_stream_extraction_t): Replace
   6556 	use of __rval_streamable.
   6557 	* include/std/ostream (__rvalue_stream_insertion_t): Likewise.
   6558 	(__rval_streamable): Remove.
   6559 	(_Require_derived_from_ios_base, __derived_from_ios_base): New
   6560 	helper for checking constraints.
   6561 	* testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix
   6562 	reference to the wrong subclause of the standard.
   6563 	* testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
   6564 	Likewise.
   6565 	* testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
   6566 	Likewise.
   6567 	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
   6568 	Likewise.
   6569 	* testsuite/27_io/basic_ostream/inserters_other/char/99692.cc:
   6570 	New test.
   6571 	* testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned
   6572 	errors.
   6573 
   6574 2021-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   6575 
   6576 	* include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
   6577 	Improve static_assert messages.
   6578 	* testsuite/25_algorithms/copy/58982.cc: Adjust expected output.
   6579 	* testsuite/25_algorithms/copy_n/58982.cc: Likewise.
   6580 
   6581 2021-05-06  Patrick Palka  <ppalka (a] redhat.com>
   6582 
   6583 	* include/std/ranges (filter_view::_Iterator::base): Make the
   6584 	const& overload unconstrained and return a const reference as
   6585 	per LWG 3533.  Make unconditionally noexcept.
   6586 	(transform_view::_Iterator::base): Likewise.
   6587 	(elements_view::_Iterator::base): Likewise.
   6588 
   6589 2021-05-06  Patrick Palka  <ppalka (a] redhat.com>
   6590 
   6591 	* include/bits/stl_iterator.h (move_iterator::base): Make the
   6592 	const& overload unconstrained and return a const reference as
   6593 	per LWG 3391.  Make unconditionally noexcept.
   6594 	(counted_iterator::base): Likewise.
   6595 	* testsuite/24_iterators/move_iterator/lwg3391.cc: New test.
   6596 	* testsuite/24_iterators/move_iterator/move_only.cc: Adjust
   6597 	has_member_base concept to decay-copy the result of base().
   6598 
   6599 2021-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   6600 
   6601 	* include/std/type_traits (remove_cvref_t): Define in terms of
   6602 	remove_cvref.
   6603 	* testsuite/20_util/remove_cvref/value.cc: Check alias.
   6604 
   6605 2021-05-06  Jonathan Wakely  <jwakely (a] redhat.com>
   6606 
   6607 	Revert:
   6608 	2021-05-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6609 
   6610 	* include/std/charconv (__from_chars_alnum): Pass unsigned
   6611 	char to std::isdigit.
   6612 
   6613 2021-05-05  Patrick Palka  <ppalka (a] redhat.com>
   6614 
   6615 	* include/bits/ranges_util.h (enable_borrowed_range<subrange>):
   6616 	Remove constraints on this partial specialization.
   6617 	* include/std/ranges (enable_borrowed_range<iota_view>):
   6618 	Likewise.
   6619 
   6620 2021-05-05  Patrick Palka  <ppalka (a] redhat.com>
   6621 
   6622 	* include/std/ranges (transform_view::_Iterator::iter_swap):
   6623 	Remove as per LWG 3520.
   6624 	(join_view::_Iterator::iter_swap): Add indirectly_swappable
   6625 	constraint as per LWG 3517.
   6626 
   6627 2021-05-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6628 
   6629 	* testsuite/20_util/function_objects/invoke/3.cc: Check feature
   6630 	test macro.
   6631 	* testsuite/20_util/function_objects/invoke/version.cc: New test.
   6632 
   6633 2021-05-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6634 
   6635 	* include/std/charconv (__from_chars_alnum): Pass unsigned
   6636 	char to std::isdigit.
   6637 
   6638 2021-05-05  Corentin Gay  <gay (a] adacore.com>
   6639 
   6640 	* acinclude.m4: Add VxWorks-specific case for the
   6641 	configuration of ctypes.
   6642 	* configure: Regenerate.
   6643 	* config/locale/vxworks/ctype_members.cc: Add VxWorks-specific
   6644 	version.
   6645 	* config/os/vxworks/ctype_base.h: Adjust for VxWorks7+.
   6646 	* config/os/vxworks/ctype_configure_char.cc: Likewise.
   6647 	* config/os/vxworks/ctype_inline.h: Likewise.
   6648 	* testsuite/28_regex/traits/char/isctype.cc: Defines
   6649 	NEWLINE_IN_CLASS_BLANK if the target is VxWorks.
   6650 	* testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
   6651 
   6652 2021-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6653 
   6654 	* include/std/future (promise::set_value): Check for existence
   6655 	of shared state before dereferncing it.
   6656 	(promise::set_exception, promise::set_value_at_thread_exit)
   6657 	(promise::set_exception_at_thread_exit): Likewise.
   6658 	(promise<R&>::set_value, promise<R&>::set_exception)
   6659 	(promise<R&>::set_value_at_thread_exit)
   6660 	(promise<R&>::set_exception_at_thread_exit): Likewise.
   6661 	(promise<void>::set_value, promise<void>::set_exception)
   6662 	(promise<void>::set_value_at_thread_exit)
   6663 	(promise<void>::set_exception_at_thread_exit): Likewise.
   6664 	* testsuite/30_threads/promise/members/at_thread_exit2.cc:
   6665 	Remove unused variable.
   6666 
   6667 2021-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6668 
   6669 	* include/bits/basic_string.h (basic_string(const CharT*, const A&)):
   6670 	Do not do arithmetic on null pointer.
   6671 
   6672 2021-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6673 
   6674 	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
   6675 	(find_key_pointer(key_const_reference, false_type))
   6676 	(find_key_pointer(key_const_reference, true_type)): Do not
   6677 	dereference null pointer.
   6678 
   6679 2021-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6680 
   6681 	* testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid
   6682 	overflow.
   6683 	* testsuite/24_iterators/reverse_iterator/2.cc: Do not add
   6684 	non-zero value to null pointer.
   6685 	* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
   6686 	Use past-the-end iterator for result.
   6687 	* testsuite/25_algorithms/move_backward/69478.cc: Likewise.
   6688 	* testsuite/25_algorithms/move_backward/93872.cc: Likewise.
   6689 
   6690 2021-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6691 
   6692 	PR libstdc++/100384
   6693 	* include/std/variant (__get_t): New alias template yielding the
   6694 	return type of std::get<N> on a variant.
   6695 	(__visit_result_t): New alias template yielding the result of
   6696 	std::visit.
   6697 	(__same_types): Move into namespace __detail::__variant.
   6698 	(__check_visitor_results): Likewise. Use __invoke_result_t and
   6699 	__get_t.
   6700 	(__check_visitor_result): Remove.
   6701 	(visit): Use __visit_result_t for return type.
   6702 	* testsuite/20_util/variant/100384.cc: New test.
   6703 
   6704 2021-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   6705 
   6706 	* acinclude.m4 (GLIBCXX_ENABLE_INT128_FLOAT128): Remove
   6707 	checks for __int128 and rename to GLIBCXX_ENABLE_FLOAT128.
   6708 	* config.h.in: Regenerate.
   6709 	* configure: Regenerate.
   6710 	* configure.ac: Adjust to use GLIBCXX_ENABLE_FLOAT128.
   6711 	* include/bits/random.h (_Select_uint_least_t<s, 1>):
   6712 	Use __SIZEOF_INT128__ to decide whether to use __int128.
   6713 	* include/std/charconv (__to_chars_unsigned_type): Likewise.
   6714 
   6715 2021-05-03  Gerald Pfeifer  <gerald (a] pfeifer.com>
   6716 
   6717 	* doc/xml/manual/ctype.xml: Move unix.org reference to https.
   6718 	* doc/html/manual/facets.html: Regenerate.
   6719 
   6720 2021-04-30  Patrick Palka  <ppalka (a] redhat.com>
   6721 
   6722 	* include/std/ranges (__detail::__non_propating_cache): Define
   6723 	as per P2328.
   6724 	(join_view): Remove constraints on the value and reference types
   6725 	of the wrapped iterator type as per P2328.
   6726 	(join_view::_Iterator::_M_satisfy): Adjust as per P2328.
   6727 	(join_view::_Iterator::operator++): Likewise.
   6728 	(join_view::_M_inner): Use __non_propating_cache as per P2328.
   6729 	Remove now-redundant use of __maybe_present_t.
   6730 	* testsuite/std/ranges/adaptors/join.cc: Include <array>.
   6731 	(test10): New test.
   6732 
   6733 2021-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6734 
   6735 	* include/bits/basic_string.h (__cpp_lib_constexpr_string):
   6736 	Only define for C++17 and later.
   6737 	* include/std/version (__cpp_lib_semaphore): Fix condition
   6738 	to match the one in <semaphore>.
   6739 
   6740 2021-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6741 
   6742 	* acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete.
   6743 	* config.h.in: Regenerate.
   6744 	* configure: Regenerate.
   6745 	* configure.ac: Do not use GLIBCXX_CHECK_INT64_T.
   6746 	* include/bits/postypes.h: Remove include of <stdint.h> and
   6747 	definition/undefinition of the __STDC_LIMIT_MACROS and
   6748 	__STDC_CONSTANT_MACROS macros.
   6749 	(streamoff): Use __INT64_TYPE__ if defined.
   6750 
   6751 2021-04-30  Patrick Palka  <ppalka (a] redhat.com>
   6752 
   6753 	* include/std/ranges (split_view::_InnerIter::operator++):
   6754 	Depend on _Base instead of _Vp directly, as per LWG 3532.
   6755 
   6756 2021-04-30  Patrick Palka  <ppalka (a] redhat.com>
   6757 
   6758 	* include/bits/ranges_util.h (subrange::subrange): Avoid
   6759 	list-initialization in delegating constructor.
   6760 	* include/std/ranges (single_view): Replace implicit guide
   6761 	with explicit deduction guide that decays its argument.
   6762 	(_Single::operator()): Avoid CTAD when constructing the
   6763 	single_view object.
   6764 	(_Iota::operator()): Avoid list-initialization.
   6765 	(__detail::__can_filter_view, _Filter::operator()): Likewise.
   6766 	(__detail::__can_transform_view, _Transform::operator()): Likewise.
   6767 	(take_view::begin): Likewise.
   6768 	(__detail::__can_take_view, _Take::operator()): Likewise.
   6769 	(__detail::__can_take_while_view, _TakeWhile::operator()): Likewise.
   6770 	(__detail::__can_drop_view, _Drop::operator()): Likewise.
   6771 	(__detail::__can_drop_while_view, _DropWhile::operator()): Likewise.
   6772 	(split_view::split_view): Use views::single when initializing
   6773 	_M_pattern.
   6774 	(__detail::__can_split_view, _Split::operator()): Avoid
   6775 	list-initialization.
   6776 	(_Counted::operator()): Likewise.
   6777 	* testsuite/std/ranges/p2367.cc: New test.
   6778 
   6779 2021-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6780 
   6781 	PR libstdc++/60497
   6782 	* include/bits/basic_ios.tcc (basic_ios::copyfmt): use
   6783 	std::addressof.
   6784 	* include/bits/basic_string.tcc (basic_string::swap)
   6785 	(basic_string::assign): Likewise.
   6786 	* include/bits/deque.tcc (deque::operator=(const deque&)):
   6787 	Likewise.
   6788 	* include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)):
   6789 	Likewise.
   6790 	* include/bits/vector.tcc (vector::operator=(const vector&)):
   6791 	Likewise.
   6792 
   6793 2021-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6794 
   6795 	* include/std/istream (operator>>(Istream&&, x&)): Simplify, as
   6796 	per LWG 1203.
   6797 	* include/std/ostream (operator<<(Ostream&&, const x&)):
   6798 	Likewise.
   6799 	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
   6800 	Adjust dg-error pattern.
   6801 	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
   6802 	Likewise.
   6803 	* testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define
   6804 	is_extractable trait to replace std::__is_extractable. Make it
   6805 	work with rvalue streams as well as lvalues, to replace f() and
   6806 	g() helper functions.
   6807 	* testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
   6808 	Likewise.
   6809 	* testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
   6810 	Define is_insertable trait to replace std::__is_insertable. Make
   6811 	it work with rvalue streams as well as lvalues, to replace f()
   6812 	and g() helper functions.
   6813 	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
   6814 	Likewise.
   6815 	* testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional
   6816 	errors from new constraints.
   6817 	* testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks,
   6818 	which are no longer expected to compile.
   6819 	* testsuite/27_io/rvalue_streams.cc: Adjust existing test.
   6820 	Verify LWG 1203 changes.
   6821 
   6822 2021-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6823 
   6824 	PR libstdc++/100285
   6825 	* include/experimental/socket (__basic_socket_impl::set_option)
   6826 	(__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
   6827 	Just set error code.
   6828 	* testsuite/experimental/net/socket/socket_base.cc: CHeck
   6829 	for <sys/socket.h> not <socket.h>.
   6830 
   6831 2021-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6832 
   6833 	PR libstdc++/100180
   6834 	PR libstdc++/100286
   6835 	PR libstdc++/100351
   6836 	* testsuite/experimental/net/internet/address/v4/comparisons.cc:
   6837 	Use new effective-target keyword.
   6838 	* testsuite/experimental/net/internet/address/v4/cons.cc:
   6839 	Likewise.
   6840 	* testsuite/experimental/net/internet/address/v4/creation.cc:
   6841 	Likewise.
   6842 	* testsuite/experimental/net/internet/address/v4/members.cc:
   6843 	Likewise.
   6844 	* testsuite/experimental/net/internet/address/v6/members.cc:
   6845 	Likewise.
   6846 	* testsuite/experimental/net/internet/resolver/base.cc:
   6847 	Likewise.
   6848 	* testsuite/experimental/net/internet/resolver/ops/lookup.cc:
   6849 	Likewise.
   6850 	* testsuite/experimental/net/internet/resolver/ops/reverse.cc:
   6851 	Likewise.
   6852 	* testsuite/experimental/net/internet/socket/opt.cc:
   6853 	Likewise.
   6854 	* testsuite/experimental/net/internet/tcp.cc:
   6855 	Likewise.
   6856 	* testsuite/experimental/net/internet/udp.cc:
   6857 	Likewise.
   6858 	* testsuite/lib/libstdc++.exp (check_effective_target_net_ts_ip):
   6859 	New proc to check net_ts_ip et.
   6860 
   6861 2021-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6862 
   6863 	PR libstdc++/97930
   6864 	* testsuite/20_util/pair/requirements/structural.cc: New test.
   6865 
   6866 2021-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6867 
   6868 	* include/bits/stl_pair.h (pair) [__cplusplus > 202002]: Add
   6869 	new definitions for constructors and assignment operators using
   6870 	concepts for constraints.
   6871 	* testsuite/20_util/pair/cons/99957.cc: Disable for C++20 and
   6872 	later.
   6873 	* testsuite/20_util/pair/cons/explicit_construct.cc: Adjust
   6874 	expected error messages to also match C++20 errors.
   6875 
   6876 2021-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6877 
   6878 	PR libstdc++/99957
   6879 	* include/bits/stl_pair.h (_PCC::_MoveCopyPair, _PCC::_CopyMovePair):
   6880 	Combine and replace with ...
   6881 	(_PCC::_DeprConsPair): New SFINAE helper function.
   6882 	(pair): Merge preprocessor blocks so that all C++03 members
   6883 	are defined together at the end.
   6884 	(pair::pair(const _T1&, _U2&&), pair::pair(_U1&&, const _T2&)):
   6885 	Replace _T1 and _T2 parameters with __null_ptr_constant and
   6886 	adjust constraints.
   6887 	* testsuite/20_util/pair/40925.cc: Use nullptr instead of 0.
   6888 	* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
   6889 	* testsuite/20_util/pair/cons/99957.cc: New test.
   6890 
   6891 2021-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6892 
   6893 	* include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
   6894 	* include/std/version (__cpp_lib_constexpr_string): Define.
   6895 	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
   6896 	Check for __cpp_lib_constexpr_string.
   6897 	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
   6898 	Likewise.
   6899 	* testsuite/21_strings/char_traits/requirements/version.cc: New test.
   6900 
   6901 2021-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6902 
   6903 	* doc/Makefile.am (stamp-pdf-doxygen): Improve comment about
   6904 	dealing with errors. Use '@' to prevent shell command being
   6905 	echoed.
   6906 	* doc/Makefile.in: Regenerate.
   6907 
   6908 2021-04-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6909 
   6910 	PR libstdc++/100298
   6911 	* include/bits/std_thread.h (thread::hardware_concurrency): Add
   6912 	missing noexcept to inline definition for non-gthreads targets.
   6913 
   6914 2021-04-28  Patrick Palka  <ppalka (a] redhat.com>
   6915 
   6916 	PR libstdc++/100187
   6917 	PR libstdc++/100237
   6918 	PR libstdc++/100249
   6919 	PR libstdc++/100287
   6920 	* include/bits/ranges_algo.h (__search_n_fn::operator()): Give
   6921 	the __value_comp lambda an explicit bool return type.
   6922 	(__is_permutation_fn::operator()): Give the __proj_scan local
   6923 	variable auto&& return type.  Give the __comp_scan lambda an
   6924 	explicit bool return type.
   6925 	(__remove_fn::operator()): Give the __pred lambda an explicit
   6926 	bool return type.
   6927 	(__partition_fn::operator()): Don't std::move __first twice
   6928 	when returning an empty subrange.
   6929 	(__min_fn::operator()): Don't std::move __comp.
   6930 	(__max_fn::operator()): Likewise.
   6931 	(__minmax_fn::operator()): Likewise.
   6932 
   6933 2021-04-27  Patrick Palka  <ppalka (a] redhat.com>
   6934 
   6935 	PR libstdc++/100290
   6936 	* include/std/ranges (join_view::_Iterator::operator++): Correct
   6937 	the return type of the lambda to avoid returning a copy of
   6938 	_M_parent->_M_inner.
   6939 	* testsuite/std/ranges/adaptors/join.cc (test10): New test.
   6940 
   6941 2021-04-27  Jakub Jelinek  <jakub (a] redhat.com>
   6942 
   6943 	Revert:
   6944 	2021-04-22  Jakub Jelinek  <jakub (a] redhat.com>
   6945 
   6946 	PR target/100182
   6947 	* testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
   6948 	ia32.
   6949 	* testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
   6950 	ia32.
   6951 
   6952 2021-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   6953 
   6954 	* include/experimental/internet (address_v6::bytes_type): Adjust
   6955 	formatting.
   6956 	(basic_endpoint): Define _M_is_v6() to put all checks for
   6957 	AF_INET6 in one place.
   6958 	(basic_endpoint::resize): Simplify.
   6959 	(operator==(const tcp&, const tcp&)): Add constexpr and noexcept.
   6960 	(operator!=(const tcp&, const tcp&)): Likewise.
   6961 	(operator==(const udp&, const udp&)): Likewise.
   6962 	(operator!=(const udp&, const udp&)): Likewise.
   6963 	* testsuite/experimental/net/internet/tcp.cc: New test.
   6964 	* testsuite/experimental/net/internet/udp.cc: New test.
   6965 
   6966 2021-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   6967 
   6968 	PR libstdc++/100286
   6969 	* include/experimental/internet (resolver_errc, resolver_category())
   6970 	(make_error_code, make_error_condition): Define unconditionally,
   6971 	only make enumerators and use of gai_strerror depend on the
   6972 	availability of <netdb.h>.
   6973 	(address_v4::to_string): Use correct constant for string length.
   6974 	(address_v4::to_string, address_v6::to_string): Define
   6975 	unconditionally, throw if unsupported.
   6976 	(make_address_v4, make_address_v6): Define unconditionally.
   6977 	Return an error if unsupported.
   6978 	(tcp, udp, v6_only, unicast::hops, multicast::*): Define
   6979 	conditionally,
   6980 	* testsuite/experimental/net/internet/socket/opt.cc: Check for
   6981 	<netinet/in.h> and <netinet/tcp.h> before using types from
   6982 	namespace net::ip.
   6983 
   6984 2021-04-27  Jonathan Wakely  <jwakely (a] redhat.com>
   6985 
   6986 	PR libstdc++/100285
   6987 	* include/experimental/internet (resolver_base::flags):
   6988 	Define overloaded operators as hidden friends.
   6989 	* include/experimental/socket (socket_base::message_flags):
   6990 	Likewise.
   6991 
   6992 2021-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   6993 
   6994 	* include/experimental/internet (tcp::no_delay, v6_only)
   6995 	(unicast::hops, multicast::hops, multicast::enable_loopback):
   6996 	Change access of base class and static data members. Add
   6997 	using-declaration for __socket_crtp::operator=(_Tp).
   6998 	(multicast::__mcastopt): New type.
   6999 	(multicast::join_group, multicast::leave_group): Derive from
   7000 	__mcastopt for common implementation.
   7001 	* include/experimental/socket: Add comment.
   7002 	* testsuite/experimental/net/internet/socket/opt.cc: New test.
   7003 	* testsuite/experimental/net/socket/socket_base.cc: Check for
   7004 	protected constructor/destructor of socket_base. Check for
   7005 	explicit constructors of socket option classes.
   7006 
   7007 2021-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   7008 
   7009 	* include/experimental/bits/net.h (__socket_base): Add
   7010 	bool template parameter to allow BooleanSocketOption and
   7011 	IntegerSocketOption to have different __socket_base<int>
   7012 	base classes.
   7013 	(__socket_base<bool>): Adjust base class.
   7014 	(__socket_base<int>): Add partial specialization.
   7015 	(__socket_crtp::operator=(_Tp)): Add noexcept-specifier.
   7016 	* include/experimental/socket (socket_base::broadcast)
   7017 	(socket_base::debug, socket_base::do_not_route)
   7018 	(socket_base::keep_alive, socket_base::linger)
   7019 	(socket_base::out_of_band_inline)
   7020 	(socket_base::receive_buffer_size)
   7021 	(socket_base::receive_low_watermark)
   7022 	(socket_base::reuse_address, socket_base::send_buffer_size)
   7023 	(socket_base::send_low_watermark): Add using-declaration for
   7024 	__socket_crtp::operator=(_Tp).
   7025 	* testsuite/experimental/net/socket/socket_base.cc: Check
   7026 	properties of socket option types.
   7027 
   7028 2021-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   7029 
   7030 	* include/experimental/internet (resolver_base::flags): Remove
   7031 	enumerators. Initialize constants directly with desired values.
   7032 	Make all operators constexpr and noexcept.
   7033 	* testsuite/experimental/net/internet/resolver/base.cc: Use
   7034 	__gnu_test::test_bitmask_values for bitmask type. Check
   7035 	construction and destruction is protected.
   7036 
   7037 2021-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   7038 
   7039 	* include/bits/semaphore_base.h: Include <exception> and <errno.h>.
   7040 
   7041 2021-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   7042 
   7043 	PR libstdc++/100259
   7044 	* include/experimental/internet (net::ip::make_error_code)
   7045 	(net::ip::make_error_condition, net::ip::make_network_v4)
   7046 	(net::ip::operator==(const udp&, const udp&)): Add 'inline'.
   7047 
   7048 2021-04-24  David Edelsohn  <dje.gcc (a] gmail.com>
   7049 
   7050 	* testsuite/lib/dg-options.exp (atomic_link_flags): New.
   7051 	(add_options_for_libatomic): Use atomic_link_flags.
   7052 
   7053 2021-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   7054 
   7055 	PR libstdc++/100180
   7056 	* include/experimental/io_context (io_context): Define
   7057 	dummy_pollfd type so that most member functions still compile
   7058 	without <poll.h> and struct pollfd.
   7059 
   7060 2021-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   7061 
   7062 	* include/experimental/io_context (io_context::async_wait): Add
   7063 	comment.
   7064 	* include/experimental/socket (basic_socket::async_connect):
   7065 	Cast wait_type constant to int.
   7066 	(basic_datagram_socket::async_receive): Likewise.
   7067 	(basic_datagram_socket::async_receive_from): Likewise.
   7068 	(basic_datagram_socket::async_send): Likewise.
   7069 	(basic_datagram_socket::async_send_to): Likewise.
   7070 	(basic_stream_socket::async_receive): Likewise.
   7071 	(basic_stream_socket::async_send): Likewise. Use io_context
   7072 	parameter directly, instead of via an executor.
   7073 	(basic_socket_acceptor::async_accept): Likewise.
   7074 
   7075 2021-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   7076 
   7077 	* include/experimental/socket (socket_base::shutdown_type):
   7078 	(socket_base::wait_type, socket_base::message_flags):
   7079 	Remove enumerators. Initialize constants directly with desired
   7080 	values.
   7081 	(socket_base::message_flags): Make all operators constexpr and
   7082 	noexcept.
   7083 	* testsuite/util/testsuite_common_types.h (test_bitmask_values):
   7084 	New test utility.
   7085 	* testsuite/experimental/net/socket/socket_base.cc: New test.
   7086 
   7087 2021-04-22  David Edelsohn  <dje.gcc (a] gmail.com>
   7088 
   7089 	* config/os/aix/atomicity.h: Delete.
   7090 
   7091 2021-04-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7092 
   7093 	* include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
   7094 	Handle system_clock as well as steady_clock.
   7095 	* testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable.
   7096 	* testsuite/30_threads/semaphore/try_acquire_until.cc:
   7097 	Re-enable.
   7098 
   7099 2021-04-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7100 
   7101 	* testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
   7102 	options for libatomic.
   7103 
   7104 2021-04-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7105 
   7106 	* config/os/gnu-linux/os_defines.h: Fix type in comment.
   7107 
   7108 2021-04-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7109 
   7110 	PR libstdc++/99006
   7111 	* include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
   7112 	is not an array type.
   7113 	* include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
   7114 	* testsuite/20_util/shared_ptr/creation/99006.cc: New test.
   7115 
   7116 2021-04-22  Thomas Rodgers  <rodgert (a] twrodgers.com>
   7117 
   7118 	* include/bits/atomic_wait.h: Always notify waiters in the
   7119 	case of 'bare' address notification.
   7120 
   7121 2021-04-22  Jakub Jelinek  <jakub (a] redhat.com>
   7122 
   7123 	PR target/100182
   7124 	* testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
   7125 	ia32.
   7126 	* testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
   7127 	ia32.
   7128 
   7129 2021-04-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7130 
   7131 	PR libstdc++/100179
   7132 	* include/bits/semaphore_base.h: Remove #error.
   7133 	* include/std/semaphore: Do not define anything unless one of
   7134 	the implementations is available.
   7135 
   7136 2021-04-21  Thomas Rodgers  <rodgert (a] twrodgers.com>
   7137 
   7138 	* include/bits/semaphore_base.h: Always reload __old in
   7139 	__atomic_semaphore::_S_do_try_acquire().
   7140 	* testsuite/30_threads/stop_token/stop_callback/destroy.cc:
   7141 	re-enable testcase.
   7142 
   7143 2021-04-21  Philippe Blain  <levraiphilippeblain (a] gmail.com>
   7144 	    Jonathan Wakely  <jwakely (a] redhat.com>
   7145 
   7146 	PR libstdc++/99453
   7147 	* python/Makefile.am: Install libstdc++*-gdb.py more robustly.
   7148 	* python/Makefile.in: Regenerate.
   7149 
   7150 2021-04-21  Thomas Rodgers  <rodgert (a] twrodgers.com>
   7151 
   7152 	* include/bits/semaphore_base.h: Add missing _M_try_acquire()
   7153 	member to __platform_wait.
   7154 
   7155 2021-04-21  Jonathan Wakely  <jwakely (a] redhat.com>
   7156 
   7157 	* include/std/latch: Replace tab characters in license text.
   7158 	* include/std/semaphore: Likewise.
   7159 
   7160 2021-04-21  Jakub Jelinek  <jakub (a] redhat.com>
   7161 
   7162 	PR libstdc++/100164
   7163 	* acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
   7164 	rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
   7165 	* configure: Regenerated.
   7166 	* config.h.in: Regenerated.
   7167 
   7168 2021-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   7169 
   7170 	* testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
   7171 	test for targets not using futexes for semaphores.
   7172 	* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
   7173 	* testsuite/30_threads/stop_token/stop_callback/destroy.cc:
   7174 	Disable for all targets.
   7175 
   7176 2021-04-20  Thomas Rodgers  <trodgers (a] redhat.com>
   7177 
   7178 	* include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
   7179 	* include/Makefile.in: Regenerate.
   7180 	* include/bits/this_thread_sleep.h: New file.
   7181 	* include/bits/atomic_base.h: Adjust all calls
   7182 	to __atomic_wait/__atomic_notify for new call signatures.
   7183 	* include/bits/atomic_timed_wait.h: Extensive rewrite.
   7184 	* include/bits/atomic_wait.h: Likewise.
   7185 	* include/bits/semaphore_base.h: Adjust all calls
   7186 	to __atomic_wait/__atomic_notify for new call signatures.
   7187 	* include/std/atomic: Likewise.
   7188 	* include/std/barrier: Likewise.
   7189 	* include/std/latch: Likewise.
   7190 	* include/std/semaphore: Likewise.
   7191 	* include/std/thread (this_thread::sleep_for)
   7192 	(this_thread::sleep_until): Move to new header.
   7193 	* testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
   7194 	test.
   7195 	* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
   7196 	* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
   7197 	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
   7198 	* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
   7199 	* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
   7200 	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
   7201 
   7202 2021-04-20  Patrick Palka  <ppalka (a] redhat.com>
   7203 
   7204 	PR libstdc++/95983
   7205 	* include/bits/stl_iterator.h (__detail::__move_iter_cat):
   7206 	Define.
   7207 	(move_iterator): Derive from the above in C++20 in order to
   7208 	conditionally define iterator_category as per P2259.
   7209 	(move_iterator::__base_cat): No longer used, so remove.
   7210 	(move_iterator::iterator_category): Remove in C++20.
   7211 	(__detail::__common_iter_use_postfix_proxy): Define.
   7212 	(common_iterator::_Proxy): Rename to ...
   7213 	(common_iterator:__arrow_proxy): ... this.
   7214 	(common_iterator::__postfix_proxy): Define as per P2259.
   7215 	(common_iterator::operator->): Adjust.
   7216 	(common_iterator::operator++): Adjust as per P2259.
   7217 	(iterator_traits<common_iterator>::_S_iter_cat): Define.
   7218 	(iterator_traits<common_iterator>::iterator_category): Change as
   7219 	per P2259.
   7220 	(__detail::__counted_iter_value_type): Define.
   7221 	(__detail::__counted_iter_concept): Define.
   7222 	(__detail::__counted_iter_cat): Define.
   7223 	(counted_iterator): Derive from the above three classes in order
   7224 	to conditionally define value_type, iterator_concept and
   7225 	iterator category respectively as per P2259.
   7226 	(counted_iterator::operator->): Define as per P2259.
   7227 	(incrementable_traits<counted_iterator>): Remove as per P2259.
   7228 	(iterator_traits<counted_iterator>): Adjust as per P2259.
   7229 	* include/std/ranges (__detail::__iota_view_iter_cat): Define.
   7230 	(iota_view::_Iterator): Derive from the above in order to
   7231 	conditionally define iterator_category as per P2259.
   7232 	(iota_view::_S_iter_cat): Rename to ...
   7233 	(iota_view::_S_iter_concept): ... this.
   7234 	(iota_view::iterator_concept): Use it to apply LWG 3291 changes.
   7235 	(iota_view::iterator_category): Remove.
   7236 	(__detail::__filter_view_iter_cat): Define.
   7237 	(filter_view::_Iterator): Derive from the above in order to
   7238 	conditionally define iterator_category as per P2259.
   7239 	(filter_view::_Iterator): Move to struct __filter_view_iter_cat.
   7240 	(filter_view::_Iterator::iterator_category): Remove.
   7241 	(transform_view::_Base): Define.
   7242 	(transform_view::__iter_cat): Define.
   7243 	(transform_view::_Iterator): Derive from the above in order to
   7244 	conditionally define iterator_category as per P2259.
   7245 	(transform_view::_Iterator::_Base): Just alias
   7246 	transform_view::_Base.
   7247 	(transform_view::_Iterator::_S_iter_cat): Move to struct
   7248 	transform_view::__iter_cat.
   7249 	(transform_view::_Iterator::iterator_category): Remove.
   7250 	(transform_view::_Sentinel::_Base): Just alias
   7251 	transform_view::_Base.
   7252 	(join_view::_Base): Define.
   7253 	(join_view::_Outer_iter): Define.
   7254 	(join_view::_Inner_iter): Define.
   7255 	(join_view::_S_ref_is_glvalue): Define.
   7256 	(join_view::__iter_cat): Define.
   7257 	(join_view::_Iterator): Derive from it in order to conditionally
   7258 	define iterator_category as per P2259.
   7259 	(join_view::_Iterator::_Base): Just alias join_view::_Base.
   7260 	(join_view::_Iterator::_S_ref_is_glvalue): Just alias
   7261 	join_view::_S_ref_is_glvalue.
   7262 	(join_view::_Iterator::_S_iter_cat): Move to struct
   7263 	transform_view::__iter_cat.
   7264 	(join_view::_Iterator::_Outer_iter): Just alias
   7265 	join_view::_Outer_iter.
   7266 	(join_view::_Iterator::_Inner_iter): Just alias
   7267 	join_view::_Inner_iter.
   7268 	(join_view::_Iterator::iterator_category): Remove.
   7269 	(join_view::_Sentinel::_Base): Just alias join_view::_Base.
   7270 	(__detail::__split_view_outer_iter_cat): Define.
   7271 	(__detail::__split_view_inner_iter_cat): Define.
   7272 	(split_view::_Base): Define.
   7273 	(split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
   7274 	in order to conditionally define iterator_category as per P2259.
   7275 	(split_view::_Outer_iter::iterator_category): Remove.
   7276 	(split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
   7277 	in order to conditionally define iterator_category as per P2259.
   7278 	(split_view::_Inner_iter::_S_iter_cat): Move to
   7279 	__split_view_inner_iter_cat.
   7280 	(split_view::_Inner_iter::iterator_category): Remove.
   7281 	(elements_view::_Base): Define.
   7282 	(elements_view::__iter_cat): Define.
   7283 	(elements_view::_Iterator): Derive from the above in order to
   7284 	conditionall define iterator_category as per P2259.
   7285 	(elements_view::_Iterator::_Base): Just alias
   7286 	elements_view::_Base.
   7287 	(elements_view::_Iterator::_S_iter_concept)
   7288 	(elements_view::_Iterator::iterator_concept): Define as per
   7289 	P2259.
   7290 	(elements_view::_Iterator::iterator_category): Remove.
   7291 	(elements_view::_Sentinel::_Base): Just alias
   7292 	elements_view::_Base.
   7293 	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
   7294 	Adjust constraints on iterator_traits<counted_iterator>.
   7295 	* testsuite/std/ranges/p2259.cc: New test.
   7296 
   7297 2021-04-20  Jonathan Wakely  <jwakely (a] redhat.com>
   7298 
   7299 	PR libstdc++/100146
   7300 	* include/std/charconv (__cpp_lib_to_chars): Define
   7301 	conditionally.
   7302 	* include/std/version (__cpp_lib_to_chars): Likewise..
   7303 	* testsuite/20_util/from_chars/4.cc: Only check feature test
   7304 	macro, not _GLIBCXX_HAVE_USELOCALE.
   7305 	* testsuite/20_util/from_chars/5.cc: Likewise.
   7306 	* testsuite/20_util/from_chars/6.cc: Likewise.
   7307 	* testsuite/20_util/to_chars/long_double.cc: Likewise.
   7308 
   7309 2021-04-20  Jakub Jelinek  <jakub (a] redhat.com>
   7310 
   7311 	* testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
   7312 	versions with _IEEE128_ substring are found, set ieee_version_found
   7313 	to true.  Ignore missing symbols with _IEEE128_ in version name if
   7314 	!ieee_version_found.  Use i->first as version_name instead of
   7315 	i->second.version_name if the latter is empty.
   7316 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   7317 
   7318 2021-04-19  H.J. Lu  <hjl.tools (a] gmail.com>
   7319 
   7320 	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
   7321 	Updated.
   7322 
   7323 2021-04-17  Jakub Jelinek  <jakub (a] redhat.com>
   7324 
   7325 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   7326 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   7327 
   7328 2021-04-17  Jakub Jelinek  <jakub (a] redhat.com>
   7329 
   7330 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   7331 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   7332 	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
   7333 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   7334 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   7335 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   7336 
   7337 2021-04-15  Jonathan Wakely  <jwakely (a] redhat.com>
   7338 
   7339 	* testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
   7340 	add libatomic options for 32-bit sparc*-*-linux-gnu.
   7341 
   7342 2021-04-15  Jonathan Wakely  <jwakely (a] redhat.com>
   7343 
   7344 	PR libstdc++/96657
   7345 	* libsupc++/Makefile.am: Add atomicity.cc here.
   7346 	* src/c++98/Makefile.am: Remove it from here.
   7347 	* libsupc++/Makefile.in: Regenerate.
   7348 	* src/c++98/Makefile.in: Regenerate.
   7349 	* testsuite/18_support/exception_ptr/96657.cc: New test.
   7350 
   7351 2021-04-13  Jonathan Wakely  <jwakely (a] redhat.com>
   7352 
   7353 	PR libstdc++/100060
   7354 	* include/std/bit: Only include <ext/numeric_traits.h> for
   7355 	hosted build, use <limits> otherwise.
   7356 
   7357 2021-04-13  Jonathan Wakely  <jwakely (a] redhat.com>
   7358 
   7359 	* doc/xml/manual/backwards_compatibility.xml: Remove porting
   7360 	notes for libg++ and libstdc++-v2, and bibliography.
   7361 	* doc/html/*: Regenerated.
   7362 
   7363 2021-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   7364 
   7365 	PR libstdc++/100044
   7366 	* include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
   7367 	Remove helper concept.
   7368 	(subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
   7369 	deduction guides, as per LWG 3404.
   7370 	* testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
   7371 	template argument deduction fails.
   7372 
   7373 2021-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   7374 
   7375 	* testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
   7376 	Adjust expected error for C++20 mode.
   7377 	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
   7378 	Likewise.
   7379 
   7380 2021-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   7381 
   7382 	PR libstdc++/99995
   7383 	* testsuite/17_intro/headers/c++1998/49745.cc: Include all
   7384 	standard headers and XFAIL for effective-target c++20.
   7385 
   7386 2021-04-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   7387 
   7388 	PR libstdc++/99402
   7389 	* include/debug/helper_functions.h (__can_advance(_InputIterator,
   7390 	const std::pair<_Diff, _Distance_precision>&, int)): New.
   7391 	(__can_advance(const _Safe_iterator<>&,
   7392 	const std::pair<_Diff, _Distance_precision>&, int)): New.
   7393 	* include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
   7394 	use latter.
   7395 	(__glibcxx_check_can_increment_range): Adapt to use latter.
   7396 	(__glibcxx_check_can_decrement_range): Likewise.
   7397 	* include/debug/safe_iterator.h
   7398 	(_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
   7399 	int)): New.
   7400 	(__can_advance(const _Safe_iterator<>&,
   7401 	const std::pair<_Diff, _Distance_precision>&, int)): New.
   7402 	* include/debug/safe_iterator.tcc
   7403 	(_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
   7404 	int)): New.
   7405 	(_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
   7406 	std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
   7407 	__dp_sign_max_size.
   7408 	(__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
   7409 	(__copy_move_backward_a): Likewise.
   7410 	(__equal_aux): Likewise.
   7411 	* include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
   7412 	const std::pair<_Diff, _Distance_precision>&, int)): New.
   7413 	(__can_advance(const std::move_iterator<>&,
   7414 	const std::pair<_Diff, _Distance_precision>&, int)): New.
   7415 	* testsuite/25_algorithms/copy/debug/99402.cc: New test.
   7416 
   7417 2021-04-09  Jonathan Wakely  <jwakely (a] redhat.com>
   7418 
   7419 	PR libstdc++/99985
   7420 	* include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
   7421 	to be a valid constexpr function in C++11.
   7422 	* testsuite/23_containers/unordered_set/cons/99985.cc: New test.
   7423 
   7424 2021-04-09  Jonathan Wakely  <jwakely (a] redhat.com>
   7425 
   7426 	* include/bits/fs_fwd.h: Fix doxygen group command.
   7427 	* include/bits/streambuf_iterator.h: Likewise.
   7428 	* include/bits/uses_allocator_args.h: Likewise.
   7429 	* include/std/memory: Likewise.
   7430 	* include/tr1/complex: Likewise.
   7431 
   7432 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7433 
   7434 	* include/bits/basic_string.h: Tweak doxygen comment.
   7435 
   7436 2021-04-08  Patrick Palka  <ppalka (a] redhat.com>
   7437 
   7438 	* include/std/ranges (__detail::find): Define.
   7439 	(split_view::_OuterIter::operator++): Apply proposed resolution
   7440 	of LWG 3505.
   7441 	* testsuite/std/ranges/adaptors/split.cc (test10): New test.
   7442 
   7443 2021-04-08  Patrick Palka  <ppalka (a] redhat.com>
   7444 
   7445 	* include/std/ranges (__detail::find_if): Simplify.
   7446 	(__detail::find_if_not): Likewise.
   7447 	(__detail::min): Remove.
   7448 	(__detail::mismatch): Simplify.
   7449 	(take_view::size): Use std::min instead of __detail::min.
   7450 
   7451 2021-04-08  Patrick Palka  <ppalka (a] redhat.com>
   7452 
   7453 	* include/std/ranges (__detail::__returnable_element): New
   7454 	concept.
   7455 	(elements_view): Use this concept in its constraints.  Add
   7456 	missing private access specifier.
   7457 	(elements_view::_S_get_element): Define as per LWG 3502.
   7458 	(elements_view::operator*, elements_view::operator[]): Use
   7459 	_S_get_element.
   7460 	(elements_view::operator++): Remove unnecessary constraint
   7461 	as per LWG 3492.
   7462 	* testsuite/std/ranges/adaptors/elements.cc (test05): New test.
   7463 
   7464 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7465 
   7466 	* doc/Makefile.am (stamp-pdf-doxygen): Also grep for
   7467 	out-of-memory error in log file.
   7468 	* doc/Makefile.in: Regenerate.
   7469 
   7470 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7471 
   7472 	* configure: Regenerate.
   7473 
   7474 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7475 
   7476 	* include/bits/random.h: Fix doxygen group commands.
   7477 	* include/bits/regex_constants.h: Likewise.
   7478 	* include/tr1/random.h: Likewise.
   7479 
   7480 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7481 
   7482 	* include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
   7483 	New function to determine noexcept-specifier for move
   7484 	constructors.
   7485 	(_Hashtable): Use _S_nothrow_move() on move constructors.
   7486 	* testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
   7487 	Correct static assertion message.
   7488 	* testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
   7489 	Likewise.
   7490 	* testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
   7491 	Likewise.
   7492 	* testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
   7493 	Likewise.
   7494 
   7495 2021-04-08  Patrick Palka  <ppalka (a] redhat.com>
   7496 
   7497 	PR libstdc++/98384
   7498 	* testsuite/20_util/to_chars/long_double.cc: Don't run the test
   7499 	on targets without a large long double.  XFAIL the execution on
   7500 	targets with a non-conforming printf.
   7501 
   7502 2021-04-08  Patrick Palka  <ppalka (a] redhat.com>
   7503 
   7504 	PR libstdc++/99433
   7505 	* include/std/ranges (__adaptor::__maybe_refwrap): Remove.
   7506 	(__adaptor::__adaptor_invocable): New concept.
   7507 	(__adaptor::__adaptor_partial_app_viable): New concept.
   7508 	(__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
   7509 	non-template base class.
   7510 	(__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
   7511 	class template.
   7512 	(__adaptor::_Partial): New class template that represents
   7513 	partial application of a range adaptor non-closure.
   7514 	(__adaptor::__pipe_invocable): New concept.
   7515 	(__adaptor::_Pipe): New class template.
   7516 	(__detail::__can_ref_view): New concept.
   7517 	(__detail::__can_subrange): New concept.
   7518 	(all): Replace the lambda here with ...
   7519 	(_All): ... this functor.  Add appropriate constraints.
   7520 	(__detail::__can_filter_view): New concept.
   7521 	(filter, _Filter): As in all/_All.
   7522 	(__detail::__can_transform): New concept.
   7523 	(transform, _Transform): As in all/_All.
   7524 	(__detail::__can_take_view): New concept.
   7525 	(take, _Take): As in all/_All.
   7526 	(__detail::__can_take_while_view): New concept.
   7527 	(take_while, _TakeWhile): As in all/_All.
   7528 	(__detail::__can_drop_view): New concept.
   7529 	(drop, _Drop): As in all/_All.
   7530 	(__detail::__can_drop_while_view): New concept.
   7531 	(drop_while, _DropWhile): As in all/_All.
   7532 	(__detail::__can_join_view): New concept.
   7533 	(join, _Join): As in all/_All.
   7534 	(__detail::__can_split_view): New concept.
   7535 	(split, _Split): As in all/_All.  Rename template parameter
   7536 	_Fp to _Pattern.
   7537 	(__detail::__already_common): New concept.
   7538 	(__detail::__can_common_view): New concept.
   7539 	(common, _Common): As in all/_All.
   7540 	(__detail::__can_reverse_view): New concept.
   7541 	(reverse, _Reverse): As in all/_All.
   7542 	(__detail::__can_elements_view): New concept.
   7543 	(elements, _Elements): As in all/_All.
   7544 	(keys, values): Adjust.
   7545 	* testsuite/std/ranges/adaptors/99433.cc: New test.
   7546 	* testsuite/std/ranges/adaptors/all.cc: No longer expect that
   7547 	adding empty range adaptor closure objects to a pipeline doesn't
   7548 	increase the size of the pipeline.
   7549 	(test05): New test.
   7550 	* testsuite/std/ranges/adaptors/common.cc (test03): New test.
   7551 	* testsuite/std/ranges/adaptors/drop.cc (test09): New test.
   7552 	* testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
   7553 	* testsuite/std/ranges/adaptors/elements.cc (test04): New test.
   7554 	* testsuite/std/ranges/adaptors/filter.cc (test06): New test.
   7555 	* testsuite/std/ranges/adaptors/join.cc (test09): New test.
   7556 	* testsuite/std/ranges/adaptors/p2281.cc: New test.
   7557 	* testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
   7558 	* testsuite/std/ranges/adaptors/split.cc (test01, test04):
   7559 	Adjust.
   7560 	(test09): New test.
   7561 	* testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
   7562 	expected error message.
   7563 	(test02): Likewise.  Extend test.
   7564 	* testsuite/std/ranges/adaptors/take.cc (test06): New test.
   7565 	* testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
   7566 	* testsuite/std/ranges/adaptors/transform.cc (test07, test08):
   7567 	New test.
   7568 
   7569 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7570 
   7571 	* include/std/string_view: Adjust Doxygen @file comment.
   7572 
   7573 2021-04-08  Jonathan Wakely  <jwakely (a] redhat.com>
   7574 
   7575 	* include/std/type_traits (is_scoped_enum<T>): Constrain partial
   7576 	specialization to not match incomplete enum types. Use a
   7577 	requires-expression instead of instantiating is_convertible.
   7578 	(is_scoped_enum<const T>): Add as workaround for PR c++/99968.
   7579 	* testsuite/20_util/is_scoped_enum/value.cc: Check with
   7580 	incomplete types and opaque-enum-declarations.
   7581 
   7582 2021-04-07  Jonathan Wakely  <jwakely (a] redhat.com>
   7583 
   7584 	PR libstdc++/99805
   7585 	* src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
   7586 	non-const member on _M_pathname, to avoid copy-on-write.
   7587 	* testsuite/27_io/filesystem/path/decompose/parent_path.cc:
   7588 	Check construction from strings that might be shared.
   7589 
   7590 2021-04-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7591 
   7592 	* include/bits/move.h (forward, move, move_if_noexcept)
   7593 	(addressof): Add _GLIBCXX_NODISCARD.
   7594 	* include/bits/ranges_cmp.h (identity::operator()): Add
   7595 	nodiscard attribute.
   7596 	* include/c_global/cstddef (to_integer): Likewise.
   7597 	* include/std/bit (bit_cast): Likewise.
   7598 	* include/std/utility (as_const, to_underlying): Likewise.
   7599 
   7600 2021-04-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7601 
   7602 	* include/bits/move.h (forward): Change static_assert message
   7603 	to be unambiguous about what must be true.
   7604 	* testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
   7605 	* testsuite/20_util/forward/f_neg.cc: Likewise.
   7606 
   7607 2021-04-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7608 
   7609 	* include/bits/alloc_traits.h: Use markdown for code font.
   7610 	* include/bits/basic_string.h: Fix @param names.
   7611 	* include/bits/max_size_type.h: Remove period after @file.
   7612 	* include/bits/regex.h: Fix duplicate @retval names, and rename.
   7613 	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
   7614 	group open to match existing group close.
   7615 	* include/ext/pb_ds/priority_queue.hpp: Add blank line before group
   7616 	open.
   7617 
   7618 2021-04-06  Jonathan Wakely  <jwakely (a] redhat.com>
   7619 
   7620 	* include/bits/atomic_base.h: Fix doxygen group close.
   7621 	* include/bits/basic_ios.h: Likewise.
   7622 	* include/bits/forward_list.h: Likewise.
   7623 	* include/bits/fs_dir.h: Likewise.
   7624 	* include/bits/fs_ops.h: Likewise.
   7625 	* include/bits/fs_path.h: Likewise.
   7626 	* include/bits/functional_hash.h: Likewise.
   7627 	* include/bits/gslice.h: Likewise.
   7628 	* include/bits/gslice_array.h: Likewise.
   7629 	* include/bits/hashtable_policy.h: Likewise.
   7630 	* include/bits/indirect_array.h: Likewise.
   7631 	* include/bits/locale_classes.h: Likewise.
   7632 	* include/bits/locale_facets.h: Likewise.
   7633 	* include/bits/locale_facets_nonio.h: Likewise.
   7634 	* include/bits/mask_array.h: Likewise.
   7635 	* include/bits/refwrap.h: Likewise.
   7636 	* include/bits/regex.h: Likewise.
   7637 	* include/bits/regex_automaton.h: Likewise.
   7638 	* include/bits/regex_compiler.h: Likewise.
   7639 	* include/bits/regex_constants.h: Likewise.
   7640 	* include/bits/regex_error.h: Likewise.
   7641 	* include/bits/regex_executor.h: Likewise.
   7642 	* include/bits/regex_scanner.h: Likewise.
   7643 	* include/bits/shared_ptr.h: Likewise.
   7644 	* include/bits/shared_ptr_atomic.h: Likewise.
   7645 	* include/bits/shared_ptr_base.h: Likewise.
   7646 	* include/bits/slice_array.h: Likewise.
   7647 	* include/bits/specfun.h: Likewise.
   7648 	* include/bits/std_function.h: Likewise.
   7649 	* include/bits/std_mutex.h: Likewise.
   7650 	* include/bits/stl_deque.h: Likewise.
   7651 	* include/bits/stl_iterator.h: Likewise.
   7652 	* include/bits/stl_iterator_base_types.h: Likewise.
   7653 	* include/bits/stl_map.h: Likewise.
   7654 	* include/bits/stl_multimap.h: Likewise.
   7655 	* include/bits/stl_multiset.h: Likewise.
   7656 	* include/bits/stl_numeric.h: Likewise.
   7657 	* include/bits/stl_pair.h: Likewise.
   7658 	* include/bits/stl_set.h: Likewise.
   7659 	* include/bits/stl_uninitialized.h: Likewise.
   7660 	* include/bits/stream_iterator.h: Likewise.
   7661 	* include/bits/streambuf_iterator.h: Likewise.
   7662 	* include/bits/unique_ptr.h: Likewise.
   7663 	* include/bits/unordered_map.h: Likewise.
   7664 	* include/bits/unordered_set.h: Likewise.
   7665 	* include/decimal/decimal: Likewise.
   7666 	* include/experimental/any: Likewise.
   7667 	* include/experimental/array: Likewise.
   7668 	* include/experimental/bits/fs_dir.h: Likewise.
   7669 	* include/experimental/bits/fs_fwd.h: Likewise.
   7670 	* include/experimental/bits/fs_ops.h: Likewise.
   7671 	* include/experimental/bits/fs_path.h: Likewise.
   7672 	* include/experimental/buffer: Likewise.
   7673 	* include/experimental/internet: Likewise.
   7674 	* include/experimental/optional: Likewise.
   7675 	* include/experimental/propagate_const: Likewise.
   7676 	* include/experimental/socket: Likewise.
   7677 	* include/ext/pb_ds/assoc_container.hpp: Likewise.
   7678 	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
   7679 	Likewise.
   7680 	* include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
   7681 	* include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
   7682 	* include/ext/pb_ds/detail/types_traits.hpp: Likewise.
   7683 	* include/ext/pb_ds/exception.hpp: Likewise.
   7684 	* include/ext/pb_ds/priority_queue.hpp: Likewise.
   7685 	* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
   7686 	* include/ext/random: Likewise.
   7687 	* include/std/any: Likewise.
   7688 	* include/std/atomic: Likewise.
   7689 	* include/std/bitset: Likewise.
   7690 	* include/std/chrono: Likewise.
   7691 	* include/std/complex: Likewise.
   7692 	* include/std/condition_variable: Likewise.
   7693 	* include/std/fstream: Likewise.
   7694 	* include/std/future: Likewise.
   7695 	* include/std/iostream: Likewise.
   7696 	* include/std/istream: Likewise.
   7697 	* include/std/mutex: Likewise.
   7698 	* include/std/numeric: Likewise.
   7699 	* include/std/ostream: Likewise.
   7700 	* include/std/ratio: Likewise.
   7701 	* include/std/shared_mutex: Likewise.
   7702 	* include/std/stdexcept: Likewise.
   7703 	* include/std/streambuf: Likewise.
   7704 	* include/std/system_error: Likewise.
   7705 	* include/std/thread: Likewise.
   7706 	* include/std/valarray: Likewise.
   7707 	* include/std/variant: Likewise.
   7708 	* include/tr1/cmath: Likewise.
   7709 	* include/tr1/regex: Likewise.
   7710 	* include/tr2/dynamic_bitset: Likewise.
   7711 	* libsupc++/atomic_lockfree_defines.h: Likewise.
   7712 	* libsupc++/exception: Likewise.
   7713 	* libsupc++/exception.h: Likewise.
   7714 	* libsupc++/exception_ptr.h: Likewise.
   7715 	* libsupc++/nested_exception.h: Likewise.
   7716 
   7717 2021-03-31  Alexandre Oliva  <oliva (a] adacore.com>
   7718 
   7719 	* testsuite/30_threads/future/members/poll.cc: Use faster
   7720 	after-ready call in the calibration loop.
   7721 
   7722 2021-03-29  Jonathan Wakely  <jwakely (a] redhat.com>
   7723 
   7724 	* doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
   7725 	* doc/html/manual/status.html: Regenerate.
   7726 
   7727 2021-03-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   7728 
   7729 	* include/debug/forward_list
   7730 	(forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
   7731 	* include/debug/list (list(list&&, const allocator_type&)): Likewise and add
   7732 	call to safe container allocator aware move constructor.
   7733 	* include/debug/vector (vector(vector&&, const allocator_type&)):
   7734 	Fix noexcept qualification.
   7735 	* testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
   7736 	Add allocator-extended move constructor noexceot qualification check.
   7737 	* testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
   7738 
   7739 2021-03-26  Jonathan Wakely  <jwakely (a] redhat.com>
   7740 
   7741 	* src/c++11/random.cc (USE_LCG): Define when a pseudo-random
   7742 	fallback is needed.
   7743 	[USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
   7744 	New helper functions and callback.
   7745 	(random_device::_M_init): Add 'prng' and 'all' enumerators.
   7746 	Replace switch with fallthrough with a series of 'if' statements.
   7747 	[USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
   7748 	checks fail.
   7749 	(random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
   7750 	token.
   7751 	(random_device::_M_getval): Check for callback unconditionally
   7752 	and always pass _M_file pointer.
   7753 	* testsuite/26_numerics/random/random_device/85494.cc: Remove
   7754 	effective-target check. Use new random_device_available helper.
   7755 	* testsuite/26_numerics/random/random_device/94087.cc: Likewise.
   7756 	* testsuite/26_numerics/random/random_device/cons/default-cow.cc:
   7757 	Remove effective-target check.
   7758 	* testsuite/26_numerics/random/random_device/cons/default.cc:
   7759 	Likewise.
   7760 	* testsuite/26_numerics/random/random_device/cons/token.cc: Use
   7761 	new random_device_available helper. Test "prng" token.
   7762 	* testsuite/util/testsuite_random.h (random_device_available):
   7763 	New helper function.
   7764 
   7765 2021-03-25  Franois Dumont  <fdumont (a] gcc.gnu.org>
   7766 
   7767 	* include/debug/string
   7768 	(basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
   7769 	(basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
   7770 	(basic_string<>::erase): Adapt to take __const_iterator.
   7771 	(basic_string(const _CharT*, const _Allocator&)): Remove assign call.
   7772 	(basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
   7773 	remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
   7774 	[_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
   7775 	(__gnu_debug::u16string, __gnu_debug::u32string): New.
   7776 	(std::hash<__gnu_debug::basic_string<>>): New partial specialization.
   7777 	(std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
   7778 	* testsuite/util/exception/safety.h
   7779 	(erase_base<__gnu_debug::basic_string<>>): New partial specialization.
   7780 	(insert_base<__gnu_debug::basic_string<>>): Likewise.
   7781 	* testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
   7782 	New partial specialization.
   7783 	* testsuite/21_strings/basic_string/hash/debug.cc: New test.
   7784 	* testsuite/21_strings/basic_string/requirements/citerators.cc:
   7785 	Add test on __gnu_debug::string.
   7786 	* testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
   7787 	* testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
   7788 	* testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
   7789 	Likewise.
   7790 	* testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
   7791 	Likewise.
   7792 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
   7793 	Likewise.
   7794 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
   7795 	Likewise.
   7796 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
   7797 	Likewise.
   7798 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
   7799 	Likewise.
   7800 	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
   7801 	Likewise.
   7802 	* testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
   7803 
   7804 2021-03-25  Jakub Jelinek  <jakub (a] redhat.com>
   7805 
   7806 	PR c++/99672
   7807 	* testsuite/18_support/source_location/consteval.cc (main): Adjust
   7808 	expected column numbers.
   7809 	* testsuite/18_support/source_location/1.cc (main): Likewise.
   7810 
   7811 2021-03-25  Jonathan Wakely  <jwakely (a] redhat.com>
   7812 
   7813 	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
   7814 
   7815 2021-03-25  Jonathan Wakely  <jwakely (a] redhat.com>
   7816 
   7817 	* testsuite/util/exception/safety.h (setup_base::generate):
   7818 	Support seeding random engine.
   7819 	(erase_point, erase_range): Adjust range of random numbers to
   7820 	ensure dereferenceable iterators are used where required.
   7821 	(generation_prohibited::run): Do not try to erase from empty
   7822 	containers.
   7823 	* testsuite/util/testsuite_containergen.h (test_containers):
   7824 	Support seeding random engine.
   7825 
   7826 2021-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   7827 
   7828 	* testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
   7829 	line with a check that uses the const being/end overloads.
   7830 
   7831 2021-03-23  Moritz Sichert  <sichert (a] in.tum.de>
   7832 
   7833 	* include/std/ranges (reverse_view::begin, reverse_view::end):
   7834 	Qualify make_reverse_iterator calls to avoid ADL.
   7835 	* testsuite/std/ranges/adaptors/reverse.cc: Test that
   7836 	views::reverse works when make_reverse_iterator is defined
   7837 	in an associated namespace.
   7838 
   7839 2021-03-23  Jonathan Wakely  <jwakely (a] redhat.com>
   7840 
   7841 	* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
   7842 	Do not define when compiling with Clang.
   7843 
   7844 2021-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7845 
   7846 	* include/std/string_view (basic_string_view(Range&&)): Define new
   7847 	constructor and deduction guide.
   7848 	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
   7849 	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
   7850 
   7851 2021-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   7852 
   7853 	* include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
   7854 	Add missing 'noexcept' as per LWG 2280.
   7855 	(rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
   7856 	(rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
   7857 	* testsuite/24_iterators/range_access/range_access.cc: Check for
   7858 	expected noexcept specifiers. Check result types of generic
   7859 	std::begin and std::end overloads.
   7860 	* testsuite/24_iterators/range_access/range_access_cpp14.cc:
   7861 	Check for expected noexcept specifiers.
   7862 	* testsuite/24_iterators/range_access/range_access_cpp17.cc:
   7863 	Likewise.
   7864 
   7865 2021-03-19  Jonathan Wakely  <jwakely (a] redhat.com>
   7866 
   7867 	* include/std/type_traits (is_scoped_enum): Define.
   7868 	* include/std/version (__cpp_lib_is_scoped_enum): Define.
   7869 	* testsuite/20_util/is_scoped_enum/value.cc: New test.
   7870 	* testsuite/20_util/is_scoped_enum/version.cc: New test.
   7871 
   7872 2021-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   7873 
   7874 	PR libstdc++/99341
   7875 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
   7876 	std::once_flag symbols.
   7877 	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
   7878 	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
   7879 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
   7880 	Likewise.
   7881 	* config/abi/pre/gnu.ver: Likewise.
   7882 	* src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
   7883 	(struct __once_flag_compat): Remove.
   7884 	(_ZNSt9once_flag11_M_activateEv): Remove.
   7885 	(_ZNSt9once_flag9_M_finishEb): Remove.
   7886 
   7887 2021-03-16  Jonathan Wakely  <jwakely (a] redhat.com>
   7888 
   7889 	PR libstdc++/99341
   7890 	* include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
   7891 	Revert to pthread_once_t implementation.
   7892 	[_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
   7893 	* src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
   7894 	(struct __once_flag_compat): New type matching the reverted
   7895 	implementation of once_flag using futexes.
   7896 	(once_flag::_M_activate): Remove, replace with ...
   7897 	(_ZNSt9once_flag11_M_activateEv): ... alias symbol.
   7898 	(once_flag::_M_finish): Remove, replace with ...
   7899 	(_ZNSt9once_flag9_M_finishEb): ... alias symbol.
   7900 	* testsuite/30_threads/call_once/66146.cc: Removed.
   7901 
   7902 2021-03-15  Iain Sandoe  <iain (a] sandoe.co.uk>
   7903 
   7904 	* testsuite/17_intro/names.cc: Exclude j from the list
   7905 	of test symbols for Darwin.
   7906 
   7907 2021-03-15  Iain Sandoe  <iain (a] sandoe.co.uk>
   7908 
   7909 	* config/os/bsd/darwin/ppc-extra.ver: Add matching for
   7910 	to_chars and from_chars for long double.
   7911 
   7912 2021-03-15  Patrick Palka  <ppalka (a] redhat.com>
   7913 
   7914 	* include/bits/max_size_type.h (__max_size_type::operator _Tp):
   7915 	Fix formatting.
   7916 	(__max_size_type::operator++): Define.
   7917 	(__max_size_type::operator--): Likewise.
   7918 	(__max_size_type::operator<=>): Conditionally define (in place
   7919 	of the other comparison operators).
   7920 	(__max_diff_type::operator _Tp): Fix formatting.
   7921 	(__max_diff_type::operator++): Define.
   7922 	(__max_diff_type::operator--): Likewise.
   7923 	(__max_diff_type::operator<=>): Conditionally define (in place
   7924 	of the other comparison operators).
   7925 	* testsuite/std/ranges/iota/max_size_type.cc (test01): Test
   7926 	these operator overloads.
   7927 
   7928 2021-03-15  Caroline Tice  <cmtice (a] google.com>
   7929 
   7930 	PR libstdc++/99172
   7931 	* src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
   7932 	AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
   7933 	AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
   7934 	filtered out.
   7935 	* src/Makefile.in: Regenerate.
   7936 
   7937 2021-03-11  Patrick Palka  <ppalka (a] redhat.com>
   7938 
   7939 	* src/c++17/floating_to_chars.cc: Simplify the file as if
   7940 	__SIZEOF_INT128__ is always defined.
   7941 	[!defined __SIZEOF_INT128__]: Include "uint128_t.h".  Define
   7942 	a base-10 to_chars overload for the uint128_t class type.
   7943 	* src/c++17/uint128_t.h: New file.
   7944 	* testsuite/20_util/to_chars/long_double.cc: No longer expect an
   7945 	execution FAIL on targets that have a large long double type
   7946 	but lack __int128.
   7947 
   7948 2021-03-11  Patrick Palka  <ppalka (a] redhat.com>
   7949 
   7950 	* src/c++17/ryu/LOCAL_PATCHES: Update.
   7951 	* src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
   7952 	* src/c++17/ryu/generic_128.h: Likewise.
   7953 	* src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
   7954 	Use uint128_t instead of __uint128_t.
   7955 	(generic_binary_to_decimal): Likewise.
   7956 
   7957 2021-03-11  Patrick Palka  <ppalka (a] redhat.com>
   7958 
   7959 	* src/c++17/ryu/LOCAL_PATCHES: New file.
   7960 
   7961 2021-03-11  Patrick Palka  <ppalka (a] redhat.com>
   7962 
   7963 	* src/c++17/floating_to_chars.cc (uint128_t): New conditionally
   7964 	defined alias of unsigned __int128.
   7965 	(floating_type_traits_binary128::mantissa_t): Use uint128_t
   7966 	instead of unsigned __int128.
   7967 	(floating_type_traits<long double>::mantissa_t)
   7968 	[LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
   7969 	(get_ieee_repr): Likewise.  Make casts from uint_t to mantissa_t
   7970 	and uint32_t explicit.  Simplify the extraction of mantissa,
   7971 	exponent and sign bit.
   7972 
   7973 2021-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   7974 
   7975 	* include/std/barrier (barrier::arrival_token): New move-only
   7976 	class that encapsulates the underlying token value.
   7977 
   7978 2021-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   7979 
   7980 	* python/libstdcxx/v6/printers.py (find_type): Use tag attribute
   7981 	instead of unqualified() method.
   7982 
   7983 2021-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   7984 
   7985 	PR libstdc++/99537
   7986 	* include/std/stop_token (_Stop_state_t::_M_release_ownership):
   7987 	Use acq_rel memory ordering.
   7988 
   7989 2021-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   7990 
   7991 	PR libstdc++/99533
   7992 	* src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
   7993 	helper function to check for permission denied errors.
   7994 	* src/filesystem/dir.cc (recursive_directory_iterator):
   7995 	Likewise.
   7996 	* src/filesystem/dir-common.h (is_permission_denied_error): New
   7997 	helper function.
   7998 
   7999 2021-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   8000 
   8001 	PR libstdc++/99536
   8002 	* include/bits/random.h (normal_distribution): Use
   8003 	default-initializer for _M_saved and _M_saved_available.
   8004 
   8005 2021-03-10  John David Anglin  <danglin (a] gcc.gnu.org>
   8006 
   8007 	* testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
   8008 	link with libatomic.
   8009 	* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
   8010 	* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
   8011 	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
   8012 	* testsuite/30_threads/barrier/arrive.cc: Likewise.
   8013 	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
   8014 	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
   8015 	* testsuite/30_threads/barrier/completion.cc: Likewise.
   8016 	* testsuite/30_threads/latch/3.cc: Likewise.
   8017 	* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
   8018 	* testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
   8019 	* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
   8020 
   8021 2021-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   8022 
   8023 	PR libstdc++/99413
   8024 	* include/bits/align.h: Include debug/assertions.h.
   8025 	* include/bits/codecvt.h: Include bits/c++config.h.
   8026 	* include/bits/enable_special_members.h: Likewise.
   8027 	* include/bits/erase_if.h: Likewise.
   8028 	* include/bits/functional_hash.h: Include <type_traits>.
   8029 	* include/bits/invoke.h: Include bits/move.h.
   8030 	* include/bits/ostream_insert.h: Include bits/exception_defines.h.
   8031 	* include/bits/parse_numbers.h: Include <type_traits>.
   8032 	* include/bits/predefined_ops.h: Include bits/c++config.h.
   8033 	* include/bits/range_access.h: Include bits/stl_iterator.h.
   8034 	* include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
   8035 	* include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
   8036 	* include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
   8037 	* include/bits/uniform_int_dist.h: Include bits/concept_check.h.
   8038 	* include/bits/unique_lock.h: Include bits/std_mutex.h.
   8039 	* include/debug/assertions.h: Include bits/c++config.h.
   8040 
   8041 2021-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   8042 
   8043 	* include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
   8044 	(ranges::equal_to, ranges::not_equal_to): Do not constrain
   8045 	with __eq_builtin_ptr_cmp.
   8046 	(ranges::less, ranges::greater, ranges::less_equal)
   8047 	(ranges::greater_equal): Do not constrain with
   8048 	__less_builtin_ptr_cmp.
   8049 	* libsupc++/compare (compare_three_way): Do not constrain with
   8050 	__3way_builtin_ptr_cmp.
   8051 	* testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
   8052 	* testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
   8053 	* testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
   8054 
   8055 2021-03-10  Jonathan Wakely  <jwakely (a] redhat.com>
   8056 
   8057 	* testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
   8058 	C++20 calendar types.
   8059 
   8060 2021-03-06  Jakub Jelinek  <jakub (a] redhat.com>
   8061 
   8062 	PR libstdc++/99396
   8063 	* include/std/bit (__rotl, __rotr): Add optimized variants for power of
   8064 	two _Nd which the compiler can pattern match the rotates.
   8065 
   8066 2021-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   8067 
   8068 	PR libstdc++/99382
   8069 	* testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
   8070 	Make storage larger than required. Verify no write to the last
   8071 	element.
   8072 	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
   8073 	Likewise.
   8074 
   8075 2021-03-03  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   8076 
   8077 	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
   8078 	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
   8079 	Likewise.
   8080 	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
   8081 	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
   8082 	Likewise.
   8083 
   8084 2021-03-03  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   8085 
   8086 	* include/experimental/bits/simd.h: Replace reserved _X, _B by
   8087 	_Xp, _Bp.
   8088 	* include/experimental/bits/simd_builtin.h: Likewise.
   8089 	* include/experimental/bits/simd_x86.h: Likewise.
   8090 
   8091 2021-02-27  Jonathan Wakely  <jwakely (a] redhat.com>
   8092 
   8093 	PR libstdc++/99301
   8094 	* include/std/chrono (year_month_day::_M_days_since_epoch()):
   8095 	Convert chrono::month and chrono::day to unsigned before
   8096 	converting to uint32_t.
   8097 
   8098 2021-02-25  Jonathan Wakely  <jwakely (a] redhat.com>
   8099 
   8100 	* include/std/chrono (year_month_day::_S_from_days): Perform
   8101 	all calculations with type uint32_t.
   8102 
   8103 2021-02-25  Jonathan Wakely  <jwakely (a] redhat.com>
   8104 
   8105 	* doc/xml/manual/abi.xml: Document versioning for GCC 11.
   8106 	* doc/html/manual/abi.html: Regenerate.
   8107 
   8108 2021-02-25  Jonathan Wakely  <jwakely (a] redhat.com>
   8109 
   8110 	PR libstdc++/99270
   8111 	* testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
   8112 	FILE instead of FILE.
   8113 
   8114 2021-02-25  Andreas Schwab  <schwab (a] suse.de>
   8115 
   8116 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   8117 	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
   8118 	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
   8119 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
   8120 
   8121 2021-02-25  Jonathan Wakely  <jwakely (a] redhat.com>
   8122 
   8123 	PR libstdc++/99265
   8124 	* include/std/chrono (year_month_day::_S_from_days): Cast long
   8125 	to int explicitly.
   8126 
   8127 2021-02-25  Jonathan Wakely  <jwakely (a] redhat.com>
   8128 
   8129 	* include/std/utility (to_underlying): Define.
   8130 	* include/std/version (__cpp_lib_to_underlying): Define.
   8131 	* testsuite/20_util/to_underlying/1.cc: New test.
   8132 	* testsuite/20_util/to_underlying/version.cc: New test.
   8133 
   8134 2021-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   8135 
   8136 	PR libstdc++/99261
   8137 	* src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
   8138 	before value to be printed.
   8139 
   8140 2021-02-24  Patrick Palka  <ppalka (a] redhat.com>
   8141 
   8142 	* src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
   8143 	Relax the condition that guards the printf code path to accept
   8144 	F128_type as well as long double.
   8145 
   8146 2021-02-24  Cassio Neri  <cassio.neri (a] gmail.com>
   8147 
   8148 	* include/std/chrono (year_month_day_last:day): New
   8149 	implementation.
   8150 
   8151 2021-02-24  Cassio Neri  <cassio.neri (a] gmail.com>
   8152 
   8153 	* include/std/chrono (year::is_leap): New implementation.
   8154 	* testsuite/std/time/year/2.cc: New test.
   8155 
   8156 2021-02-24  Cassio Neri  <cassio.neri (a] gmail.com>
   8157 
   8158 	* include/std/chrono (year_month_day::_M_days_since_epoch):
   8159 	New implementation.
   8160 	* testsuite/std/time/year_month_day/4.cc: New test.
   8161 
   8162 2021-02-24  Cassio Neri  <cassio.neri (a] gmail.com>
   8163 
   8164 	* include/std/chrono (year_month_day::_S_from_days): New
   8165 	implementation.
   8166 	* testsuite/std/time/year_month_day/3.cc: New test.
   8167 
   8168 2021-02-24  Patrick Palka  <ppalka (a] redhat.com>
   8169 
   8170 	PR libstdc++/98384
   8171 	* testsuite/20_util/to_chars/long_double.cc: Include <optional>.
   8172 	(test01): Simplify verifying the nearby values by using a
   8173 	2-iteration loop and a dedicated output buffer to check that the
   8174 	nearby values are different.  Factor out the printf-based
   8175 	verification into a local function, and check that the leading
   8176 	hex digits agree before comparing to the output of printf.  Also
   8177 	verify the output by round-tripping it through from_chars.
   8178 
   8179 2021-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   8180 
   8181 	PR libstdc++/98389
   8182 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
   8183 	symbols for long double arguments mangled as 'g'.
   8184 	* config/os/gnu-linux/ldbl-extra.ver: Likewise.
   8185 	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
   8186 	* src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
   8187 	Use -mabi=ibmlongdouble for floating_to_chars.cc.
   8188 	* src/c++17/Makefile.in: Regenerate.
   8189 	* src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
   8190 	New type defining type traits of IEEE binary128 format.
   8191 	(floating_type_traits<__float128>): Define specialization.
   8192 	(floating_type_traits<long double>): Define in terms of
   8193 	floating_type_traits_binary128 when appropriate.
   8194 	(floating_to_shortest_scientific): Handle __float128.
   8195 	(sprintf_ld): New function template for printing a long double
   8196 	or __ieee128 value using sprintf.
   8197 	(__floating_to_chars_shortest, __floating_to_chars_precision):
   8198 	Use sprintf_ld.
   8199 	(to_chars): Define overloads for __float128.
   8200 
   8201 2021-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   8202 
   8203 	* testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
   8204 
   8205 2021-02-23  Martin Sebor  <msebor (a] redhat.com>
   8206 
   8207 	PR c++/99074
   8208 	* libsupc++/dyncast.cc (__dynamic_cast): Return null when
   8209 	first argument is null.
   8210 
   8211 2021-02-23  Jakub Jelinek  <jakub (a] redhat.com>
   8212 
   8213 	PR libstdc++/99181
   8214 	* testsuite/21_strings/char_traits/requirements/char/99181.cc: New
   8215 	test.
   8216 
   8217 2021-02-23  Jakub Jelinek  <jakub (a] redhat.com>
   8218 
   8219 	PR libstdc++/99181
   8220 	* include/bits/char_traits.h (char_traits<char>::compare): For
   8221 	constexpr evaluation don't call
   8222 	__gnu_cxx::char_traits<char_type>::compare but do the comparison loop
   8223 	directly.
   8224 
   8225 2021-02-23  Jakub Jelinek  <jakub (a] redhat.com>
   8226 
   8227 	PR libstdc++/97549
   8228 	* include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
   8229 
   8230 2021-02-23  Patrick Palka  <ppalka (a] redhat.com>
   8231 
   8232 	PR libstdc++/98384
   8233 	* src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
   8234 	the high- and low-order parts from an IBM long double value
   8235 	in an endian-agnostic way.
   8236 
   8237 2021-02-19  Jonathan Wakely  <jwakely (a] redhat.com>
   8238 
   8239 	* include/bits/atomic_wait.h (__thread_relax()): Call
   8240 	__thread_yield() not __gthread_yield().
   8241 
   8242 2021-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
   8243 
   8244 	* include/bits/atomic_wait.h (__thread_yield()): Check
   8245 	_GLIBCXX_HAS_GTHREADS before using __gthread_yield.
   8246 	(__thread_relax()): Use __thread_yield() instead of repeating
   8247 	the preprocessor checks for __gthread_yield.
   8248 
   8249 2021-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
   8250 
   8251 	* include/std/mutex (once_flag::_M_activate()): Add explicit
   8252 	return statement for passive case.
   8253 	(once_flag::_M_finish(bool)): Use reserved name for parameter.
   8254 
   8255 2021-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   8256 
   8257 	PR libstdc++/99096
   8258 	* testsuite/util/testsuite_fs.h: Always include <unistd.h>.
   8259 
   8260 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8261 
   8262 	PR libstdc++/88881
   8263 	* src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
   8264 
   8265 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8266 
   8267 	* doc/xml/manual/status_cxx2014.xml: Document implementation
   8268 	specific properties of std::experimental::filesystem::rename.
   8269 	* doc/xml/manual/status_cxx2017.xml: Document implementation
   8270 	specific properties of std::filesystem::rename.
   8271 	* doc/html/*: Regenerate.
   8272 	* src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
   8273 	for directories on Windows.
   8274 	* src/filesystem/ops-common.h (__gnu_posix::rename): Use
   8275 	MoveFileExW on Windows.
   8276 	* testsuite/27_io/filesystem/operations/rename.cc: New test.
   8277 	* testsuite/experimental/filesystem/operations/rename.cc: New test.
   8278 
   8279 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8280 
   8281 	* testsuite/util/testsuite_fs.h (nonexistent_path): Add
   8282 	random number to the path.
   8283 
   8284 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8285 
   8286 	* include/experimental/internet (address_v6::to_string): Include
   8287 	scope ID in string.
   8288 	* testsuite/experimental/net/internet/address/v6/members.cc:
   8289 	Test to_string() results.
   8290 
   8291 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8292 
   8293 	* include/experimental/internet (address_v6::any): Avoid using
   8294 	memcpy in constexpr function.
   8295 	(address_v6::loopback): Likewise.
   8296 	(make_address_v6): Fix missing return statements on error paths.
   8297 	* include/experimental/io_context: Avoid -Wdangling-else
   8298 	warning.
   8299 	* testsuite/experimental/net/internet/address/v4/members.cc:
   8300 	Remove unused variables.
   8301 	* testsuite/experimental/net/internet/address/v6/members.cc:
   8302 	New test.
   8303 
   8304 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8305 
   8306 	* include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
   8307 	Add unused attribute to parameter.
   8308 	* src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
   8309 	Likewise.
   8310 
   8311 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8312 
   8313 	* testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
   8314 	if -fno-rtti is used.
   8315 	* testsuite/30_threads/async/forced_unwind.cc: Expect test
   8316 	to abort if -fno-rtti is used.
   8317 
   8318 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8319 
   8320 	* testsuite/util/testsuite_allocator.h (memory_resource):
   8321 	Remove requirement for RTTI and exceptions to be enabled.
   8322 
   8323 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8324 
   8325 	* testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
   8326 	static_cast when RTTI is disabled.
   8327 	* testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
   8328 	Likewise.
   8329 	* testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
   8330 	Likewise.
   8331 	* testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
   8332 	Likewise.
   8333 	* testsuite/27_io/basic_stringstream/str/char/2.cc:
   8334 	Likewise.
   8335 	* testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
   8336 	Likewise.
   8337 
   8338 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8339 
   8340 	* include/std/ostream (__syncbuf_base::_S_get): Mark parameter
   8341 	as unused and only use dynamic_cast when RTTI is enabled.
   8342 
   8343 2021-02-12  Jonathan Wakely  <jwakely (a] redhat.com>
   8344 
   8345 	PR libstdc++/99077
   8346 	* src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
   8347 	Change int parameter to error_code, to match std::ios_failure.
   8348 	(__throw_ios_failure(const char*, int)): Construct error_code
   8349 	from int parameter.
   8350 
   8351 2021-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   8352 
   8353 	* libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
   8354 	new macro.
   8355 	* libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
   8356 	macro instead of _GLIBCXX_EH_PTR_COMPAT.
   8357 	(operator==): Likewise.
   8358 
   8359 2021-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   8360 
   8361 	PR libstdc++/99058
   8362 	* doc/xml/manual/status_cxx2011.xml: Document when support
   8363 	became stable.
   8364 	* doc/xml/manual/status_cxx2014.xml: Likewise.
   8365 	* doc/xml/manual/status_cxx2017.xml: Likewise.
   8366 	* doc/html/manual/status.html: Regenerate.
   8367 
   8368 2021-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   8369 
   8370 	PR libstdc++/88881
   8371 	* src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
   8372 
   8373 2021-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   8374 
   8375 	* src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
   8376 	(fs::remove): Use std::system_category() for error codes from
   8377 	GetLastError().
   8378 	* src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
   8379 	Likewise.
   8380 
   8381 2021-02-10  Jonathan Wakely  <jwakely (a] redhat.com>
   8382 
   8383 	* testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
   8384 	in __MINGW32__ macro name.
   8385 	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
   8386 	* testsuite/27_io/filesystem/path/generation/proximate.cc:
   8387 	Likewise.
   8388 	* testsuite/27_io/filesystem/path/generation/relative.cc:
   8389 	Likewise.
   8390 	* testsuite/util/testsuite_fs.h: Likewise.
   8391 
   8392 2021-02-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   8393 
   8394 	* include/bits/stl_tree.h
   8395 	(__has_is_transparent, __has_is_transparent_t): Move...
   8396 	* include/bits/stl_function.h: ...here.
   8397 	* include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
   8398 	(_Hashtable_base<>::_M_equals_tr): New.
   8399 	* include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
   8400 	_Hashtable<>::_M_equal_range_tr): New member function templates to perform
   8401 	heterogeneous lookup.
   8402 	(_Hashtable<>::_M_find_before_node_tr): New.
   8403 	(_Hashtable<>::_M_find_node_tr): New.
   8404 	* include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
   8405 	unordered_map::contains<>, unordered_map::equal_range<>): New member function
   8406 	templates to perform heterogeneous lookup.
   8407 	(unordered_multimap::find<>, unordered_multimap::count<>,
   8408 	unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
   8409 	* include/bits/unordered_set.h  (unordered_set::find<>, unordered_set::count<>,
   8410 	unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
   8411 	(unordered_multiset::find<>, unordered_multiset::count<>,
   8412 	unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
   8413 	* include/debug/unordered_map
   8414 	(unordered_map::find<>, unordered_map::equal_range<>): Likewise.
   8415 	(unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
   8416 	* include/debug/unordered_set
   8417 	(unordered_set::find<>, unordered_set::equal_range<>): Likewise.
   8418 	(unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
   8419 	* testsuite/23_containers/unordered_map/operations/1.cc: New test.
   8420 	* testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
   8421 	* testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
   8422 	* testsuite/23_containers/unordered_set/operations/1.cc: New test.
   8423 
   8424 2021-02-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   8425 
   8426 	* include/bits/stl_deque.h
   8427 	(std::operator-(deque::iterator, deque::iterator)): Replace if/then with
   8428 	a null pointer test.
   8429 
   8430 2021-02-09  Jonathan Wakely  <jwakely (a] redhat.com>
   8431 
   8432 	* testsuite/27_io/filesystem/operations/remove_all.cc: Remove
   8433 	test directory after making it writable again.
   8434 	* testsuite/experimental/filesystem/operations/remove_all.cc:
   8435 	Likewise.
   8436 
   8437 2021-02-09  Jonathan Wakely  <jwakely (a] redhat.com>
   8438 
   8439 	PR libstdc++/99021
   8440 	* include/std/coroutine (coroutine_handle<P>::from_address): Add
   8441 	noexcept.
   8442 
   8443 2021-02-09  Vladimir Vishnevsky  <vv.os.swe (a] gmail.com>
   8444 
   8445 	* include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
   8446 	* src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
   8447 
   8448 2021-02-09  Jakub Jelinek  <jakub (a] redhat.com>
   8449 
   8450 	PR middle-end/98465
   8451 	* include/bits/basic_string.tcc (basic_string::_M_replace): When __s
   8452 	points to the characters moved by earlier _S_move, compute the source
   8453 	address using expression based on the __p pointer rather than __s
   8454 	pointer.
   8455 
   8456 2021-02-03  Jonathan Wakely  <jwakely (a] redhat.com>
   8457 
   8458 	* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
   8459 	Add comparison with same category and different values.
   8460 	* testsuite/19_diagnostics/error_code/operators/less.cc:
   8461 	Likewise. Fix comparison involving different categories.
   8462 	* testsuite/19_diagnostics/error_code/operators/three_way.cc:
   8463 	Likewise.
   8464 	* testsuite/19_diagnostics/error_condition/operators/less.cc:
   8465 	Add comment.
   8466 	* testsuite/19_diagnostics/error_condition/operators/three_way.cc:
   8467 	Likewise.
   8468 
   8469 2021-02-03  yaozhongxiao  <yaozhongxiao (a] linux.alibaba.com>
   8470 
   8471 	* include/experimental/bits/simd_neon.h: Replace repeated vpadd
   8472 	calls with a single vaddv for aarch64.
   8473 
   8474 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8475 
   8476 	* testsuite/Makefile.am: Warn about the workaround. Add
   8477 	-fno-tree-vrp to CXXFLAGS passed to the check_simd script.
   8478 	Improve initial user feedback from make check-simd.
   8479 	* testsuite/Makefile.in: Regenerated.
   8480 
   8481 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8482 
   8483 	* include/experimental/bits/simd.h: Add __detail::_Minimum and
   8484 	__detail::_Maximum to use them as _BinaryOperation to _S_reduce.
   8485 	Add hmin and hmax overloads for simd and const_where_expression.
   8486 	* include/experimental/bits/simd_scalar.h
   8487 	(_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
   8488 	parameter const-ref to allow calling _S_reduce with an rvalue.
   8489 	* testsuite/experimental/simd/tests/reductions.cc: Add tests for
   8490 	hmin and hmax. Since the compiler statically determined that all
   8491 	tests pass, repeat the test after a call to make_value_unknown.
   8492 
   8493 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8494 
   8495 	* testsuite/experimental/simd/tests/bits/verify.h (verify): Add
   8496 	instruction pointer data member. Ensure that the `if (m_failed)`
   8497 	branch is always inlined into the calling code. The body of the
   8498 	conditional can still be a function call. Move the get_ip call
   8499 	into the verify ctor to simplify the ctor calls.
   8500 	(COMPARE): Don't mention the use of all_of for reduction of a
   8501 	simd_mask. It only distracts from the real issue.
   8502 
   8503 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8504 
   8505 	* testsuite/experimental/simd/driver.sh: Abstract reading test
   8506 	options into read_src_option function. Read skip, only,
   8507 	expensive, and xfail via read_src_option. Add timeout and
   8508 	timeout-factor options and adjust timeout variable accordingly.
   8509 	* testsuite/experimental/simd/tests/loadstore.cc: Set
   8510 	timeout-factor 2.
   8511 
   8512 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8513 
   8514 	* testsuite/experimental/simd/driver.sh: When handling the pipe
   8515 	to log (and on verbose to stdout) count the lines. If it exceeds
   8516 	1000 log the issue and exit 125, which is then handled as a
   8517 	failure.
   8518 
   8519 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8520 
   8521 	* testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
   8522 	markup for long double on powerpc64*.
   8523 
   8524 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8525 
   8526 	* include/experimental/bits/simd.h: Add __have_power10vec
   8527 	conditional on _ARCH_PWR10.
   8528 	* include/experimental/bits/simd_builtin.h: Forward declare
   8529 	_MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
   8530 	defined.
   8531 	(_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
   8532 	_SuperImpl for optimizations and correctness.
   8533 	* include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
   8534 	(_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
   8535 	Otherwise, for >=int use -vec_sums divided by a sizeof factor.
   8536 	For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
   8537 
   8538 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8539 
   8540 	* testsuite/experimental/simd/driver.sh: Remove executable on
   8541 	SIGINT. Process compiler and test executable output: In verbose
   8542 	mode print messages immediately, limited to 1000 lines and
   8543 	breaking long lines to below $COLUMNS (or 1024 if not set).
   8544 	Communicating the exit status of the compiler / test with the
   8545 	necessary pipe is done via a message through stdout/-in.
   8546 
   8547 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8548 
   8549 	* testsuite/Makefile.am: Ensure .simd.summary is empty before
   8550 	collecting a new summary.
   8551 	* testsuite/Makefile.in: Regenerate.
   8552 
   8553 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8554 
   8555 	* testsuite/experimental/simd/generate_makefile.sh: Use
   8556 	different variables internally than documented for user
   8557 	overrides. This makes internal append/prepend work as intended.
   8558 
   8559 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8560 
   8561 	* testsuite/experimental/simd/driver.sh (verify_test): Print
   8562 	test output on run xfail. Do not repeat lines from the log that
   8563 	were already printed on stdout.
   8564 	(test_selector): Make the compiler flags pattern usable as a
   8565 	substring selector.
   8566 	(toplevel): Trap on SIGINT and remove the log and sum files.
   8567 	Call timout with --foreground to quickly terminate on SIGINT.
   8568 	* testsuite/experimental/simd/generate_makefile.sh: Simplify run
   8569 	targets via target patterns. Default DRIVEROPTS to -v for run
   8570 	targets. Remove log and sum files after completion of the run
   8571 	target (so that it's always recompiled).
   8572 	Place help text into text file for reasonable 'make help'
   8573 	performance.
   8574 
   8575 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8576 
   8577 	* include/experimental/bits/simd.h: Remove unnecessary static
   8578 	assertion. Allow sizeof(8) integer __intrinsic_type to enable
   8579 	the necessary mask type.
   8580 
   8581 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8582 
   8583 	* include/experimental/bits/simd.h: Let __intrinsic_type<long
   8584 	double, N> be valid if sizeof(long double) == sizeof(double) and
   8585 	use a __vector double as member type.
   8586 
   8587 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8588 
   8589 	* include/experimental/bits/simd.h (__is_intrinsic_type): New
   8590 	internal type trait. Alias for __is_vector_type on x86.
   8591 	(_VectorTraitsImpl): Enable for __intrinsic_type in addition for
   8592 	__vector_type.
   8593 	(__intrin_bitcast): Allow casting to & from vector & intrinsic
   8594 	types.
   8595 	(__intrinsic_type): Explicitly specialize for NEON intrinsic
   8596 	vector types.
   8597 
   8598 2021-02-03  Matthias Kretz  <kretz (a] kde.org>
   8599 
   8600 	* testsuite/experimental/simd/driver.sh: Implement skip, only,
   8601 	expensive, and xfail markers. They can select on type, ABI tag
   8602 	subset number, target-triplet, and compiler flags.
   8603 	* testsuite/experimental/simd/generate_makefile.sh: The summary
   8604 	now includes lines for unexpected passes and expected failures.
   8605 	If the skip or only markers are only conditional on the type, do
   8606 	not generate rules for those types.
   8607 	* testsuite/experimental/simd/tests/abs.cc: Mark test expensive
   8608 	for ABI tag subsets 1-9.
   8609 	* testsuite/experimental/simd/tests/algorithms.cc: Ditto.
   8610 	* testsuite/experimental/simd/tests/broadcast.cc: Ditto.
   8611 	* testsuite/experimental/simd/tests/casts.cc: Ditto.
   8612 	* testsuite/experimental/simd/tests/generator.cc: Ditto.
   8613 	* testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
   8614 	* testsuite/experimental/simd/tests/loadstore.cc: Ditto.
   8615 	* testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
   8616 	* testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
   8617 	* testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
   8618 	* testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
   8619 	* testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
   8620 	* testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
   8621 	* testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
   8622 	* testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
   8623 	* testsuite/experimental/simd/tests/operators.cc: Ditto.
   8624 	* testsuite/experimental/simd/tests/reductions.cc: Ditto.
   8625 	* testsuite/experimental/simd/tests/simd.cc: Ditto.
   8626 	* testsuite/experimental/simd/tests/split_concat.cc: Ditto.
   8627 	* testsuite/experimental/simd/tests/splits.cc: Ditto.
   8628 	* testsuite/experimental/simd/tests/where.cc: Ditto.
   8629 	* testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
   8630 	addition replace "test only floattypes" marker by unconditional
   8631 	"float|double|ldouble" only marker.
   8632 	* testsuite/experimental/simd/tests/frexp.cc: Ditto.
   8633 	* testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
   8634 	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
   8635 	Ditto.
   8636 	* testsuite/experimental/simd/tests/logarithm.cc: Ditto.
   8637 	* testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
   8638 	* testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
   8639 	* testsuite/experimental/simd/tests/remqo.cc: Ditto.
   8640 	* testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
   8641 	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
   8642 	* testsuite/experimental/simd/tests/sincos.cc: Ditto. In
   8643 	addition, xfail on run because the reference data is missing.
   8644 
   8645 2021-02-02  Jonathan Wakely  <jwakely (a] redhat.com>
   8646 
   8647 	* doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
   8648 	* doc/xml/manual/status_cxx2014.xml: Likewise.
   8649 	* doc/xml/manual/status_cxx2017.xml: Likewise.
   8650 	* doc/html/manual/status.html: Regenerate.
   8651 
   8652 2021-02-01  Franois Dumont  <fdumont (a] gcc.gnu.org>
   8653 
   8654 	PR libstdc++/70303
   8655 	* include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
   8656 	Return 0 if both iterators are value-initialized.
   8657 	* testsuite/23_containers/deque/70303.cc: New test.
   8658 	* testsuite/23_containers/vector/70303.cc: New test.
   8659 
   8660 2021-02-01  Jonathan Wakely  <jwakely (a] redhat.com>
   8661 
   8662 	* doc/xml/manual/status_cxx2011.xml: Update std::call_once
   8663 	status.
   8664 	* doc/xml/manual/status_cxx2014.xml: Likewise.
   8665 	* doc/xml/manual/status_cxx2017.xml: Likewise. Update
   8666 	std::from_chars and std::to_chars status. Fix formatting.
   8667 	* doc/html/manual/status.html: Regenerate.
   8668 
   8669 2021-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
   8670 
   8671 	* include/experimental/bits/numeric_traits.h: Update copyright
   8672 	dates.
   8673 	* include/experimental/bits/simd.h: Likewise.
   8674 	* include/experimental/bits/simd_builtin.h: Likewise.
   8675 	* include/experimental/bits/simd_converter.h: Likewise.
   8676 	* include/experimental/bits/simd_detail.h: Likewise.
   8677 	* include/experimental/bits/simd_fixed_size.h: Likewise.
   8678 	* include/experimental/bits/simd_math.h: Likewise.
   8679 	* include/experimental/bits/simd_neon.h: Likewise.
   8680 	* include/experimental/bits/simd_ppc.h: Likewise.
   8681 	* include/experimental/bits/simd_scalar.h: Likewise.
   8682 	* include/experimental/bits/simd_x86.h: Likewise.
   8683 	* include/experimental/bits/simd_x86_conversions.h: Likewise.
   8684 	* include/experimental/simd: Likewise.
   8685 	* testsuite/experimental/simd/*: Likewise.
   8686 
   8687 2021-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   8688 
   8689 	* doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
   8690 	* doc/html/*: Regenerate.
   8691 
   8692 2021-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   8693 
   8694 	* testsuite/experimental/simd/generate_makefile.sh: Use printf
   8695 	instead of echo when printing escape characters.
   8696 
   8697 2021-01-27  Matthias Kretz  <kretz (a] kde.org>
   8698 
   8699 	* scripts/check_simd: New file. This script is called from the
   8700 	the check-simd target. It determines a set of compiler flags and
   8701 	simulator setups for calling generate_makefile.sh and passes the
   8702 	information back to the check-simd target, which recurses to the
   8703 	generated Makefiles.
   8704 	* scripts/create_testsuite_files: Remove files below simd/tests/
   8705 	from testsuite_files and place them in testsuite_files_simd.
   8706 	* testsuite/Makefile.am: Add testsuite_files_simd. Add
   8707 	check-simd target.
   8708 	* testsuite/Makefile.in: Regenerate.
   8709 	* testsuite/experimental/simd/driver.sh: New file. This script
   8710 	compiles and runs a given simd test, logging its output and
   8711 	status. It uses the timeout command to implement compile and
   8712 	test timeouts.
   8713 	* testsuite/experimental/simd/generate_makefile.sh: New file.
   8714 	This script generates a Makefile which uses driver.sh to compile
   8715 	and run the tests and collect the logs into a single log file.
   8716 	* testsuite/experimental/simd/tests/abs.cc: New file. Tests
   8717 	abs(simd).
   8718 	* testsuite/experimental/simd/tests/algorithms.cc: New file.
   8719 	Tests min/max(simd, simd).
   8720 	* testsuite/experimental/simd/tests/bits/conversions.h: New
   8721 	file. Contains functions to support tests involving conversions.
   8722 	* testsuite/experimental/simd/tests/bits/make_vec.h: New file.
   8723 	Support functions make_mask and make_vec.
   8724 	* testsuite/experimental/simd/tests/bits/mathreference.h: New
   8725 	file. Support functions to supply precomputed math function
   8726 	reference data.
   8727 	* testsuite/experimental/simd/tests/bits/metahelpers.h: New
   8728 	file. Support code for SFINAE testing.
   8729 	* testsuite/experimental/simd/tests/bits/simd_view.h: New file.
   8730 	* testsuite/experimental/simd/tests/bits/test_values.h: New
   8731 	file. Test functions to easily drive a test with simd objects
   8732 	initialized from a given list of values and a range of random
   8733 	values.
   8734 	* testsuite/experimental/simd/tests/bits/ulp.h: New file.
   8735 	Support code to determine the ULP distance of simd objects.
   8736 	* testsuite/experimental/simd/tests/bits/verify.h: New file.
   8737 	Test framework for COMPARE'ing simd objects and instantiating
   8738 	the test templates with value_type and ABI tag.
   8739 	* testsuite/experimental/simd/tests/broadcast.cc: New file. Test
   8740 	simd broadcasts.
   8741 	* testsuite/experimental/simd/tests/casts.cc: New file. Test
   8742 	simd casts.
   8743 	* testsuite/experimental/simd/tests/fpclassify.cc: New file.
   8744 	Test floating-point classification functions.
   8745 	* testsuite/experimental/simd/tests/frexp.cc: New file. Test
   8746 	frexp(simd).
   8747 	* testsuite/experimental/simd/tests/generator.cc: New file. Test
   8748 	simd generator constructor.
   8749 	* testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
   8750 	Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
   8751 	* testsuite/experimental/simd/tests/integer_operators.cc: New
   8752 	file. Test integer operators.
   8753 	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
   8754 	New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
   8755 	modf(simd).
   8756 	* testsuite/experimental/simd/tests/loadstore.cc: New file. Test
   8757 	(converting) simd loads and stores.
   8758 	* testsuite/experimental/simd/tests/logarithm.cc: New file. Test
   8759 	log*(simd).
   8760 	* testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
   8761 	Test simd_mask broadcasts.
   8762 	* testsuite/experimental/simd/tests/mask_conversions.cc: New
   8763 	file. Test simd_mask conversions.
   8764 	* testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
   8765 	file. Test simd_mask implicit conversions.
   8766 	* testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
   8767 	Test simd_mask loads and stores.
   8768 	* testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
   8769 	file. Test simd_mask operators convert as specified.
   8770 	* testsuite/experimental/simd/tests/mask_operators.cc: New file.
   8771 	Test simd_mask compares, subscripts, and negation.
   8772 	* testsuite/experimental/simd/tests/mask_reductions.cc: New
   8773 	file. Test simd_mask reductions.
   8774 	* testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
   8775 	1-arg math functions on simd.
   8776 	* testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
   8777 	2-arg math functions on simd.
   8778 	* testsuite/experimental/simd/tests/operator_cvt.cc: New file.
   8779 	Test implicit conversions on simd binary operators behave as
   8780 	specified.
   8781 	* testsuite/experimental/simd/tests/operators.cc: New file. Test
   8782 	simd compares, subscripts, not, unary minus, plus, minus,
   8783 	multiplies, divides, increment, and decrement.
   8784 	* testsuite/experimental/simd/tests/reductions.cc: New file.
   8785 	Test reduce(simd).
   8786 	* testsuite/experimental/simd/tests/remqo.cc: New file. Test
   8787 	remqo(simd).
   8788 	* testsuite/experimental/simd/tests/simd.cc: New file. Basic
   8789 	sanity checks of simd types.
   8790 	* testsuite/experimental/simd/tests/sincos.cc: New file. Test
   8791 	sin(simd) and cos(simd).
   8792 	* testsuite/experimental/simd/tests/split_concat.cc: New file.
   8793 	Test split(simd) and concat(simd, simd).
   8794 	* testsuite/experimental/simd/tests/splits.cc: New file. Test
   8795 	split(simd_mask).
   8796 	* testsuite/experimental/simd/tests/trigonometric.cc: New file.
   8797 	Test remaining trigonometric functions on simd.
   8798 	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
   8799 	file. Test trunc(simd), ceil(simd), and floor(simd).
   8800 	* testsuite/experimental/simd/tests/where.cc: New file. Test
   8801 	masked operations using where.
   8802 
   8803 2021-01-27  Matthias Kretz  <kretz (a] kde.org>
   8804 
   8805 	* doc/xml/manual/status_cxx2017.xml: Add implementation status
   8806 	of the Parallelism TS 2. Document implementation-defined types
   8807 	and behavior.
   8808 	* include/Makefile.am: Add new headers.
   8809 	* include/Makefile.in: Regenerate.
   8810 	* include/experimental/simd: New file. New header for
   8811 	Parallelism TS 2.
   8812 	* include/experimental/bits/numeric_traits.h: New file.
   8813 	Implementation of P1841R1 using internal naming. Addition of
   8814 	missing IEC559 functionality query.
   8815 	* include/experimental/bits/simd.h: New file. Definition of the
   8816 	public simd interfaces and general implementation helpers.
   8817 	* include/experimental/bits/simd_builtin.h: New file.
   8818 	Implementation of the _VecBuiltin simd_abi.
   8819 	* include/experimental/bits/simd_converter.h: New file. Generic
   8820 	simd conversions.
   8821 	* include/experimental/bits/simd_detail.h: New file. Internal
   8822 	macros for the simd implementation.
   8823 	* include/experimental/bits/simd_fixed_size.h: New file. Simd
   8824 	fixed_size ABI specific implementations.
   8825 	* include/experimental/bits/simd_math.h: New file. Math
   8826 	overloads for simd.
   8827 	* include/experimental/bits/simd_neon.h: New file. Simd NEON
   8828 	specific implementations.
   8829 	* include/experimental/bits/simd_ppc.h: New file. Implement bit
   8830 	shifts to avoid invalid results for integral types smaller than
   8831 	int.
   8832 	* include/experimental/bits/simd_scalar.h: New file. Simd scalar
   8833 	ABI specific implementations.
   8834 	* include/experimental/bits/simd_x86.h: New file. Simd x86
   8835 	specific implementations.
   8836 	* include/experimental/bits/simd_x86_conversions.h: New file.
   8837 	x86 specific conversion optimizations. The conversion patterns
   8838 	work around missing conversion patterns in the compiler and
   8839 	should be removed as soon as PR85048 is resolved.
   8840 	* testsuite/experimental/simd/standard_abi_usable.cc: New file.
   8841 	Test that all (not all fixed_size<N>, though) standard simd and
   8842 	simd_mask types are usable.
   8843 	* testsuite/experimental/simd/standard_abi_usable_2.cc: New
   8844 	file. As above but with -ffast-math.
   8845 	* testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
   8846 	from the standard test loop. Instead use
   8847 	check_vect_support_and_set_flags to build simd tests with the
   8848 	relevant machine flags.
   8849 
   8850 2021-01-27  Jonathan Wakely  <jwakely (a] redhat.com>
   8851 
   8852 	PR libstdc++/66414
   8853 	* include/bits/string_view.tcc
   8854 	(basic_string_view::find(const CharT*, size_type, size_type)):
   8855 	Optimize.
   8856 
   8857 2021-01-27  Paul Fee  <paul.f.fee (a] gmail.com>
   8858 
   8859 	* include/bits/basic_string.h (basic_string::contains): New
   8860 	member functions.
   8861 	* include/std/string_view (basic_string_view::contains):
   8862 	Likewise.
   8863 	* include/std/version (__cpp_lib_string_contains): Define.
   8864 	* testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
   8865 	Remove trailing whitespace.
   8866 	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
   8867 	Likewise.
   8868 	* testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
   8869 	* testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
   8870 	* testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
   8871 	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
   8872 	* testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
   8873 
   8874 2021-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
   8875 
   8876 	* src/c++17/Makefile.in: Regenerate.
   8877 
   8878 2021-01-20  David Edelsohn  <dje.gcc (a] gmail.com>
   8879 
   8880 	* config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
   8881 	_OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
   8882 	__lc_type.
   8883 	(const char* ctype<char>:: is): Same.
   8884 
   8885 2021-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   8886 
   8887 	PR libstdc++/98725
   8888 	* testsuite/20_util/unique_ptr/io/lwg2948.cc:  Do not try to
   8889 	write to a wide character stream if wide character support is
   8890 	disabled in the library.
   8891 
   8892 2021-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   8893 
   8894 	* testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
   8895 	stringbuf not wstringbuf.
   8896 
   8897 2021-01-18  Jakub Jelinek  <jakub (a] redhat.com>
   8898 
   8899 	PR debug/98708
   8900 	* src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
   8901 	Compile with -gno-as-loc-support.
   8902 	* src/c++11/Makefile.in: Regenerated.
   8903 
   8904 2021-01-16  H.J. Lu  <hjl.tools (a] gmail.com>
   8905 
   8906 	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
   8907 	Add -fcf-protection=none to -march=i486.
   8908 
   8909 2021-01-14  Franois Dumont  <fdumont (a] gcc.gnu.org>
   8910 
   8911 	* testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
   8912 	compliant.
   8913 
   8914 2021-01-14  Alexandre Oliva  <oliva (a] adacore.com>
   8915 
   8916 	* testsuite/30_threads/future/members/poll.cc: Calibrate
   8917 	iteration count.
   8918 
   8919 2021-01-14  Franois Dumont  <fdumont (a] gcc.gnu.org>
   8920 
   8921 	PR libstdc++/98466
   8922 	* include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
   8923 	(_Node_iterator()): Make default.
   8924 	(_Node_const_iterator()): Make default.
   8925 	* include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
   8926 	iterator checks.
   8927 	* include/debug/safe_iterator.h
   8928 	(_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
   8929 	* include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
   8930 	Likewise.
   8931 	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
   8932 	_M_singular checks on input iterators.
   8933 	* src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
   8934 	checks.
   8935 	* testsuite/23_containers/deque/debug/98466.cc: New test.
   8936 	* testsuite/23_containers/unordered_map/debug/98466.cc: New test.
   8937 
   8938 2021-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   8939 
   8940 	PR libstdc++/98471
   8941 	* include/bits/fs_path.h (__throw_conversion_error): New
   8942 	function to throw or abort on character conversion errors.
   8943 	(__wstr_from_utf8): Move definition after filesystem_error has
   8944 	been defined. Use __throw_conversion_error.
   8945 	(path::_S_convert<_EcharT>): Use __throw_conversion_error.
   8946 	(path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
   8947 	(path::u8string): Likewise.
   8948 
   8949 2021-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
   8950 
   8951 	* include/std/barrier: Update copyright years. Fix whitespace.
   8952 	* include/std/version: Fix whitespace.
   8953 	* testsuite/30_threads/barrier/1.cc: Update copyright years.
   8954 	* testsuite/30_threads/barrier/2.cc: Likewise.
   8955 	* testsuite/30_threads/barrier/arrive.cc: Likewise.
   8956 	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
   8957 	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
   8958 	* testsuite/30_threads/barrier/completion.cc: Likewise.
   8959 
   8960 2021-01-13  Jonathan Wakely  <jwakely (a] redhat.com>
   8961 
   8962 	* doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
   8963 
   8964 2021-01-10  David Edelsohn  <dje.gcc (a] gmail.com>
   8965 
   8966 	PR libstdc++/98613
   8967 	* testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
   8968 	warning.
   8969 	* testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
   8970 
   8971 2021-01-08  Olivier Hainque  <hainque (a] adacore.com>
   8972 
   8973 	* testsuite/20_util/bind/ref_neg.cc: Tweak the
   8974 	dg-prune-output regex for out-of-build-tree contexts.
   8975 
   8976 2021-01-07  Thomas Rodgers  <trodgers (a] redhat.com>
   8977 
   8978 	* doc/doxygen/user.cfg.in: Add new header.
   8979 	* include/Makefile.am (std_headers): likewise.
   8980 	* include/Makefile.in: Regenerate.
   8981 	* include/precompiled/stdc++.h: Add new header.
   8982 	* include/std/barrier: New file.
   8983 	* include/std/version: Add __cpp_lib_barrier feature test macro.
   8984 	* testsuite/30_threads/barrier/1.cc: New test.
   8985 	* testsuite/30_threads/barrier/2.cc: Likewise.
   8986 	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
   8987 	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
   8988 	* testsuite/30_threads/barrier/arrive.cc: Likewise.
   8989 	* testsuite/30_threads/barrier/completion.cc: Likewise.
   8990 
   8991 2021-01-07  Patrick Palka  <ppalka (a] redhat.com>
   8992 
   8993 	PR libstdc++/98384
   8994 	* testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
   8995 	instead of the non-standard nextupl and nextdownl.
   8996 
   8997 2021-01-05  Samuel Thibault  <samuel.thibault (a] ens-lyon.org>
   8998 
   8999 	* configure: Re-generate.
   9000 
   9001 2021-01-05  Ed Smith-Rowland  <3dw4rd (a] verizon.net>
   9002 
   9003 	* include/precompiled/stdc++.h: Add <source_location> to C++20 section.
   9004 
   9005 2021-01-01  Jakub Jelinek  <jakub (a] redhat.com>
   9006 
   9007 	* ChangeLog-2020: Rotate ChangeLog.  New file.
   9008 
   9010 Copyright (C) 2021 Free Software Foundation, Inc.
   9011 
   9012 Copying and distribution of this file, with or without modification,
   9013 are permitted in any medium without royalty provided the copyright
   9014 notice and this notice are preserved.
   9015