12021-07-28  Release Manager
2
3	* GCC 11.2.0 released.
4
52021-07-19  Jonathan Wakely  <jwakely@redhat.com>
6
7	Backported from master:
8	2021-05-12  Jonathan Wakely  <jwakely@redhat.com>
9
10	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
11	Increase dg-timeout-factor to 4. Fix -Wunused-parameter
12	warnings. Replace bitwise AND with logical AND in loop
13	condition.
14	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
15	Replace bitwise AND with logical AND in loop condition.
16	* testsuite/util/pstl/test_utils.h: Remove unused parameter
17	names.
18
192021-07-19  Jonathan Wakely  <jwakely@redhat.com>
20
21	Backported from master:
22	2021-06-15  Jonathan Wakely  <jwakely@redhat.com>
23
24	* include/bits/ranges_util.h (subrange): Add __size_type typedef
25	and use it to simplify declarations.
26	(subrange(i, s, n)): Remove assertion.
27	* testsuite/std/ranges/subrange/constexpr.cc: New test.
28
292021-07-19  Jonathan Wakely  <jwakely@redhat.com>
30
31	Backported from master:
32	2021-07-15  Jonathan Wakely  <jwakely@redhat.com>
33
34	PR libstdc++/101427
35	* include/std/tuple (tuple_element): Improve static_assert text.
36	(__get_helper): Add deleted overload.
37	(get<i>(tuple<T...>&&), get<i>(const tuple<T...>&&)): Use
38	__get_helper directly.
39	(__get_helper2): Remove.
40	(__find_uniq_type_in_pack): New constexpr helper function.
41	(get<T>): Use __find_uniq_type_in_pack and __get_helper instead
42	of __get_helper2.
43	* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
44	expected errors.
45	* testsuite/20_util/tuple/element_access/101427.cc: New test.
46
472021-07-16  Jonathan Wakely  <jwakely@redhat.com>
48
49	Backported from master:
50	2021-06-15  Jonathan Wakely  <jwakely@redhat.com>
51
52	* include/bits/iterator_concepts.h (__cust_access::__decay_copy):
53	Replace with function object.
54	(__cust_access::__member_begin, ___cust_access::_adl_begin): Use
55	__decay_copy unqualified.
56	* include/bits/ranges_base.h (__member_end, __adl_end):
57	Likewise. Use __range_iter_t for type of ranges::begin.
58	(__member_rend): Use correct value category for rbegin argument.
59	(__member_data): Use __decay_copy unqualified.
60	(__begin_data): Use __range_iter_t for type of ranges::begin.
61
622021-07-15  Jonathan Wakely  <jwakely@redhat.com>
63
64	Backported from master:
65	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
66
67	* include/bits/ranges_base.h (ranges::empty): Check whether
68	conversion to bool can throw.
69	* testsuite/std/ranges/access/empty.cc: Check for correct
70	noexcept-specifier.
71
722021-07-15  Jonathan Wakely  <jwakely@redhat.com>
73
74	Backported from master:
75	2021-06-30  Jonathan Wakely  <jwakely@redhat.com>
76
77	* include/experimental/simd: Do not define anything pre-C++17.
78
792021-07-14  Jonathan Wakely  <jwakely@redhat.com>
80
81	Backported from master:
82	2021-07-13  Jonathan Wakely  <jwakely@redhat.com>
83
84	PR c++/101361
85	* include/std/string_view (ends_with): Use traits_type::compare
86	directly.
87
882021-07-14  Jonathan Wakely  <jwakely@redhat.com>
89
90	Backported from master:
91	2021-07-13  Jonathan Wakely  <jwakely@redhat.com>
92
93	* include/std/string_view: Only include <bits/ranges_base.h>
94	once, and only for C++20 and later.
95
962021-07-14  Jonathan Wakely  <jwakely@redhat.com>
97
98	Backported from master:
99	2021-07-12  Jonathan Wakely  <jwakely@redhat.com>
100
101	PR libstdc++/101411
102	* include/std/span (as_writable_bytes): Add requires-clause.
103	* testsuite/23_containers/span/101411.cc: New test.
104
1052021-07-13  Patrick Palka  <ppalka@redhat.com>
106
107	Backported from master:
108	2021-06-18  Patrick Palka  <ppalka@redhat.com>
109
110	PR libstdc++/100387
111	* include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite
112	to limit comparison complexity to 3*N/2.
113	(__minmax_element_fn::operator()): Likewise.
114	(shift_right): Avoid premature std::move of __result.
115	* testsuite/25_algorithms/minmax/constrained.cc (test04, test05):
116	New tests.
117	* testsuite/25_algorithms/minmax_element/constrained.cc (test02):
118	Likewise.
119
1202021-06-22  Thomas Rodgers  <rodgert@appliantology.com>
121
122	Backported from master:
123	2021-06-22  Thomas Rodgers  <rodgert@appliantology.com>
124
125	PR libstdc++/100806
126	* include/bits/semaphore_base.h (__atomic_semaphore::_M_release):
127	Force _M_release() to wake all waiting threads.
128	* testsuite/30_threads/semaphore/100806.cc: New test.
129
1302021-06-18  Jonathan Wakely  <jwakely@redhat.com>
131
132	Backported from master:
133	2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
134
135	PR libstdc++/95833
136	* include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
137	incorrect static_assert with ones matching the 'Mandates'
138	conditions in the standard.
139	* testsuite/26_numerics/reduce/95833.cc: New test.
140
1412021-06-18  Jonathan Wakely  <jwakely@redhat.com>
142
143	Backported from master:
144	2021-06-18  Jonathan Wakely  <jwakely@redhat.com>
145
146	* testsuite/21_strings/basic_string/cons/char/1.cc: Use
147	diagnostic pragma to suppress -Wstringop-overread error.
148
1492021-06-18  Jonathan Wakely  <jwakely@redhat.com>
150
151	Backported from master:
152	2021-06-17  Jonathan Wakely  <jwakely@redhat.com>
153
154	PR libstdc++/91488
155	* include/bits/basic_string.h (__cpp_lib_constexpr_string): Only
156	define C++20 value when std::is_constant_evaluated is available.
157	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
158	Likewise.
159	(__constant_string_p, __constant_array_p): Give external
160	linkage.
161	* include/std/version (__cpp_lib_constexpr_char_traits)
162	(__cpp_lib_constexpr_string): Only define C++20 values when
163	is_constant_evaluated is available.
164
1652021-06-18  Patrick Palka  <ppalka@redhat.com>
166
167	Backported from master:
168	2021-06-17  Patrick Palka  <ppalka@redhat.com>
169
170	PR libstdc++/100940
171	* include/std/ranges (__adaptor::_Partial): For the "simple"
172	forwarding partial specializations, also require that
173	the extra arguments are trivially copyable.
174	* testsuite/std/ranges/adaptors/100577.cc (test04): New test.
175
1762021-06-18  Patrick Palka  <ppalka@redhat.com>
177
178	Backported from master:
179	2021-06-17  Patrick Palka  <ppalka@redhat.com>
180
181	PR libstdc++/100940
182	* include/std/ranges (__adaptor::_RangeAdaptor): Document the
183	template form of _S_has_simple_extra_args.
184	(__adaptor::__adaptor_has_simple_extra_args): Add _Args template
185	parameter pack.  Try to treat _S_has_simple_extra_args as a
186	variable template parameterized by _Args.
187	(__adaptor::_Partial): Pass _Arg/_Args to the constraint
188	__adaptor_has_simple_extra_args.
189	(views::_Take::_S_has_simple_extra_args): Templatize according
190	to the type of the extra argument.
191	(views::_Drop::_S_has_simple_extra_args): Likewise.
192	(views::_Split::_S_has_simple_extra_args): Define.
193	* testsuite/std/ranges/adaptors/100577.cc (test01, test02):
194	Adjust after changes to _S_has_simple_extra_args mechanism.
195	(test03): Define.
196
1972021-06-14  Jonathan Wakely  <jwakely@redhat.com>
198
199	Backported from master:
200	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
201
202	PR libstdc++/100894
203	* include/std/type_traits (__common_ref_impl<X&, Y&>): Only
204	use the type if it's a reference.
205	* testsuite/20_util/common_reference/100894.cc: New test.
206
2072021-06-14  Jonathan Wakely  <jwakely@redhat.com>
208
209	Backported from master:
210	2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
211
212	* include/bits/random.tcc (__representable_as_double)
213	(__p1_representable_as_double): Add "" to static asserts.
214
2152021-06-14  Jonathan Wakely  <jwakely@redhat.com>
216
217	Backported from master:
218	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
219
220	* testsuite/experimental/filesystem/path/native/conv_c++23.cc:
221	Add dg-require-filesystem-ts directive.
222
2232021-06-14  Jonathan Wakely  <jwakely@redhat.com>
224
225	Backported from master:
226	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
227
228	PR libstdc++/101034
229	* include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
230	(any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
231	to use lvalue.
232	* testsuite/20_util/any/cons/101034.cc: New test.
233
2342021-06-14  Jonathan Wakely  <jwakely@redhat.com>
235
236	Backported from master:
237	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
238
239	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
240	-std=gnu++17 option.
241
2422021-06-14  Jonathan Wakely  <jwakely@redhat.com>
243
244	Backported from master:
245	2021-06-14  Jonathan Wakely  <jwakely@redhat.com>
246
247	PR libstdc++/101055
248	* include/std/tuple: Use reserved form of attribute name.
249	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Add
250	check for no_unique_address.
251	* testsuite/17_intro/headers/c++2014/all_attributes.cc:
252	Likewise.
253	* testsuite/17_intro/headers/c++2017/all_attributes.cc:
254	Likewise.
255
2562021-06-14  Patrick Palka  <ppalka@redhat.com>
257
258	Backported from master:
259	2021-05-18  Patrick Palka  <ppalka@redhat.com>
260
261	PR libstdc++/100475
262	* include/std/ranges (__box::__box): Use non-list-initialization
263	in member initializer list of in-place constructor of the
264	partial specialization for semiregular types.
265	(__box::operator->): Use std::__addressof.
266	* testsuite/std/ranges/adaptors/detail/semiregular_box.cc
267	(test02): New test.
268	* testsuite/std/ranges/single_view.cc (test04): New test.
269
2702021-06-11  Jonathan Wakely  <jwakely@redhat.com>
271
272	Backported from master:
273	2021-06-11  Jonathan Wakely  <jwakely@redhat.com>
274
275	* include/bits/fs_path.h (operator==, operator<=>): Use new
276	_S_compare function.
277	(path::_S_compare): New function to call path::compare in a
278	context where path::iterator is complete.
279	* include/experimental/bits/fs_path.h (operator<, operator==):
280	Define after path::iterator is complete.
281	* testsuite/27_io/filesystem/path/native/conv_c++23.cc: New
282	test.
283	* testsuite/experimental/filesystem/path/native/conv_c++23.cc:
284	New test.
285
2862021-06-11  Jonathan Wakely  <jwakely@redhat.com>
287
288	Backported from master:
289	2021-06-08  Jonathan Wakely  <jwakely@redhat.com>
290
291	* include/experimental/propagate_const (swap): Constrain.
292	* testsuite/experimental/propagate_const/swap/lwg3413.cc: New test.
293
2942021-06-11  Jonathan Wakely  <jwakely@redhat.com>
295
296	Backported from master:
297	2021-06-09  Jonathan Wakely  <jwakely@redhat.com>
298
299	PR libstdc++/100982
300	* include/std/optional (optional::operator=(const optional<U>&)):
301	Fix value category used in is_assignable check.
302	* testsuite/20_util/optional/assignment/100982.cc: New test.
303
3042021-06-11  Jonathan Wakely  <jwakely@redhat.com>
305
306	Backported from master:
307	2021-06-07  Jonathan Wakely  <jwakely@redhat.com>
308
309	PR libstdc++/98842
310	* include/std/optional (operator<=>(const optional<T>& const U&)):
311	Add missing constraint and add workaround for template
312	recursion.
313	* testsuite/20_util/optional/relops/three_way.cc: Check that
314	type without equality comparison cannot be compared when wrapped
315	in std::optional.
316
3172021-06-11  Jonathan Wakely  <jwakely@redhat.com>
318
319	Backported from master:
320	2021-06-05  Jonathan Wakely  <jwakely@redhat.com>
321
322	PR libstdc++/100824
323	* include/bits/ranges_base.h (_SSize): Return signed type.
324	* testsuite/std/ranges/access/ssize.cc: Check with __int128.
325
3262021-06-11  Jonathan Wakely  <jwakely@redhat.com>
327
328	Backported from master:
329	2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
330
331	* include/bits/ranges_base.h (_SSize): Return the result of
332	ranges::size converted to the wider of make-signed-like-t<S> and
333	ptrdiff_t, rather than the ranges different type.
334	* testsuite/std/ranges/access/ssize.cc: Adjust expected result
335	for an iota_view that uses an integer class type for its
336	difference_type.
337
3382021-06-11  Jonathan Wakely  <jwakely@redhat.com>
339
340	Backported from master:
341	2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
342
343	PR libstdc++/100824
344	* include/bits/ranges_base.h (__member_data): Use __decay_copy.
345	* testsuite/std/ranges/access/data.cc: Add testcase from PR.
346
3472021-06-11  Jonathan Wakely  <jwakely@redhat.com>
348
349	Backported from master:
350	2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
351
352	PR libstdc++/100824
353	* include/bits/iterator_concepts.h (__detail::__decay_copy)
354	(__detail::__member_begin, __detail::__adl_begin): Move to
355	namespace ranges::__cust_access.
356	(__detail::__ranges_begin): Likewise, and rename to __begin.
357	Remove redundant static assertion.
358	* include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd):
359	Use lvalue in noexcept specifier.
360	(__as_const): Add non-deduced parameter for value category.
361	(_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of
362	__as_const.
363	(__member_size, __adl_size, __member_empty, __size0_empty):
364	(__eq_iter_empty, __adl_data): Use lvalue objects in
365	requirements.
366	(__sentinel_size): Likewise. Add check for conversion to
367	unsigned-like.
368	(__member_data): Allow non-lvalue types to satisfy the concept,
369	but use lvalue object in requirements.
370	(_Size, _SSize): Remove forwarding to always use an lvalue.
371	(_Data): Likewise. Add static assertion for arrays.
372	* testsuite/std/ranges/access/cdata.cc: Adjust expected
373	behaviour for rvalues. Add negative tests for ill-formed
374	expressions.
375	* testsuite/std/ranges/access/data.cc: Likewise.
376	* testsuite/std/ranges/access/empty.cc: Adjust expected
377	behaviour for rvalues.
378	* testsuite/std/ranges/access/size.cc: Likewise.
379
3802021-06-11  Jonathan Wakely  <jwakely@redhat.com>
381
382	Backported from master:
383	2021-06-04  Jonathan Wakely  <jwakely@redhat.com>
384
385	* doc/xml/manual/status_cxx2020.xml:
386	* doc/html/*: Regenerate.
387	* include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup):
388	Define.
389	* include/std/version (__cpp_lib_generic_unordered_lookup):
390	Define.
391	* testsuite/23_containers/unordered_map/operations/1.cc: Check
392	feature test macro.
393	* testsuite/23_containers/unordered_set/operations/1.cc:
394	Likewise.
395
3962021-06-10  Patrick Palka  <ppalka@redhat.com>
397
398	Backported from master:
399	2021-06-03  Patrick Palka  <ppalka@redhat.com>
400
401	PR libstdc++/100577
402	* include/std/ranges (_RangeAdaptorClosure): Document
403	_S_has_simple_call_op mechanism.
404	(_RangeAdaptor): Document _S_has_simple_extra_args mechanism.
405	(__closure_has_simple_call_op): New concept.
406	(__adaptor_has_simple_extra_args): Likewise.
407	(_Partial<_Adaptor, _Args...>): New partial specialization.
408	(_Partial<_Adaptor, _Arg>): Likewise.
409	(_Pipe<_Lhs, _Rhs>): Likewise.
410	(views::_All::_S_has_simple_call_op): Define to true.
411	(views::_Filter::_S_has_simple_extra_args): Likewise.
412	(views::_Transform::_S_has_simple_extra_args): Likewise.
413	(views::_Take::_S_has_simple_extra_args): Likewise.
414	(views::_TakeWhile::_S_has_simple_extra_args): Likewise.
415	(views::_Drop::_S_has_simple_extra_args): Likewise.
416	(views::_DropWhile::_S_has_simple_extra_args): Likewise.
417	(views::_Join::_S_has_simple_call_op): Likewise.
418	(views::_Split): Document why we don't define
419	_S_has_simple_extra_args to true for this adaptor.
420	(views::_Common::_S_has_simple_call_op): Define to true.
421	(views::_Reverse::_S_has_simple_call_op): Likewise.
422	(views::_Elements::_S_has_simple_call_op): Likewise.
423	* testsuite/std/ranges/adaptors/100577.cc: New test.
424
4252021-06-10  Patrick Palka  <ppalka@redhat.com>
426
427	Backported from master:
428	2021-06-03  Patrick Palka  <ppalka@redhat.com>
429
430	PR libstdc++/100770
431	* include/bits/ranges_algo.h (__detail::__can_reread_output):
432	Factor out this concept from ...
433	(__unique_copy_fn::operator()): ... here.  Use the concept
434	throughout.
435	* testsuite/std/ranges/range.cc: Remove now ill-formed use
436	of range_value_t on an output_range.
437	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
438	Define value_type, pointer and reference member types to void.
439
4402021-06-10  Patrick Palka  <ppalka@redhat.com>
441
442	Backported from master:
443	2021-05-21  Patrick Palka  <ppalka@redhat.com>
444
445	PR libstdc++/100690
446	* include/std/ranges (iota_view::_Sentinel::_M_distance_from):
447	Split out this member function from ...
448	(iota_view::_Sentinel::operator-): ... here, for sake of access
449	control.
450	* testsuite/std/ranges/iota/iota_view.cc (test05): New test.
451
4522021-06-10  Patrick Palka  <ppalka@redhat.com>
453
454	Backported from master:
455	2021-05-06  Patrick Palka  <ppalka@redhat.com>
456
457	* include/std/ranges (filter_view::_Iterator::base): Make the
458	const& overload unconstrained and return a const reference as
459	per LWG 3533.  Make unconditionally noexcept.
460	(transform_view::_Iterator::base): Likewise.
461	(elements_view::_Iterator::base): Likewise.
462
4632021-06-10  Patrick Palka  <ppalka@redhat.com>
464
465	Backported from master:
466	2021-05-06  Patrick Palka  <ppalka@redhat.com>
467
468	* include/bits/stl_iterator.h (move_iterator::base): Make the
469	const& overload unconstrained and return a const reference as
470	per LWG 3391.  Make unconditionally noexcept.
471	(counted_iterator::base): Likewise.
472	* testsuite/24_iterators/move_iterator/lwg3391.cc: New test.
473	* testsuite/24_iterators/move_iterator/move_only.cc: Adjust
474	has_member_base concept to decay-copy the result of base().
475
4762021-06-10  Patrick Palka  <ppalka@redhat.com>
477
478	Backported from master:
479	2021-05-18  Patrick Palka  <ppalka@redhat.com>
480
481	PR libstdc++/100631
482	* include/std/ranges (elements_view::_Sentinel::operator-): Use
483	_M_distance_from in the other operator- overload too.
484	* testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
485
4862021-06-10  Patrick Palka  <ppalka@redhat.com>
487
488	Backported from master:
489	2021-05-18  Patrick Palka  <ppalka@redhat.com>
490
491	PR libstdc++/100631
492	* include/std/ranges (elements_view::_Iterator): Also befriend
493	_Sentinel<!_Const>.
494	(elements_view::_Sentinel::_M_equal): Templatize.
495	(elements_view::_Sentinel::_M_distance_from): Split out from ...
496	(elements_view::_Sentinel::operator-): ... here.  Depend on
497	_Base2 instead of _Base in the return type.
498	* testsuite/std/ranges/adaptors/elements.cc (test06, test07):
499	New tests.
500
5012021-06-10  Patrick Palka  <ppalka@redhat.com>
502
503	Backported from master:
504	2021-05-20  Patrick Palka  <ppalka@redhat.com>
505
506	PR libstdc++/100639
507	* include/bits/stl_iterator.h (reverse_iterator::difference_type):
508	In C++20 mode, define in terms of iter_difference_t as per P0896R4.
509	(reverse_iterator::reference): Likewise, but with iter_reference_t.
510	(reverse_iterator::value_type): Likewise, but with iter_value_t.
511	* testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
512	* testsuite/24_iterators/reverse_iterator/100639.cc: New test.
513
5142021-06-09  Thomas Rodgers  <rodgert@appliantology.com>
515
516	Backported from master:
517	2021-06-09  Thomas Rodgers  <rodgert@appliantology.com>
518
519	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard
520	test logic with constexpr check for is_always_lock_free.
521
5222021-06-08  Thomas Rodgers  <rodgert@appliantology.com>
523
524	Backported from master:
525	2021-06-08  Thomas Rodgers  <rodgert@appliantology.com>
526
527	PR libstdc++/100889
528	* include/bits/atomic_base.h (atomic_ref<_Tp*>::wait):
529	Change parameter type from _Tp to _Tp*.
530	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend
531	coverage of types tested.
532
5332021-06-08  Thomas Rodgers  <rodgert@appliantology.com>
534
535	Backported from master:
536	2021-06-08  Thomas Rodgers  <rodgert@appliantology.com>
537
538	* include/std/barrier (__tree_barrier::_M_arrive): Remove
539	unnecessary hasher instantiation.
540
5412021-06-07  Avi Kivity  <avi@scylladb.com>
542
543	Backported from master:
544	2021-06-07  Avi Kivity  <avi@scylladb.com>
545
546	PR libstdc++/100900
547	* include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
548	Add missing typename.
549
5502021-06-02  Jonathan Wakely  <jwakely@redhat.com>
551
552	Backported from master:
553	2021-05-20  Jonathan Wakely  <jwakely@redhat.com>
554
555	PR libstdc++/100676
556	* include/bits/c++config (__glibcxx_assert_1): Rename to ...
557	(__glibcxx_constexpr_assert): ... this.
558	(__glibcxx_assert_impl): Use __glibcxx_constexpr_assert.
559	(__glibcxx_assert): Define as either __glibcxx_constexpr_assert
560	or __glibcxx_assert_impl.
561	(__glibcxx_assert_2): Remove
562	* include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use
563	__glibcxx_constexpr_assert instead of __glibcxx_assert_1.
564	* testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
565	Adjust expected error.
566	* testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
567	Likewise.
568	* testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
569	Likewise.
570	Likewise.
571	* testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
572	Likewise.
573	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
574	Likewise.
575	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
576	Likewise.
577	* testsuite/23_containers/span/back_neg.cc: Likewise.
578	* testsuite/23_containers/span/front_neg.cc: Likewise.
579	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
580
5812021-06-02  Jonathan Wakely  <jwakely@redhat.com>
582
583	Backported from master:
584	2021-06-01  Jonathan Wakely  <jwakely@redhat.com>
585
586	PR libstdc++/100833
587	* include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)):
588	Fix return value for no-op case.
589	* testsuite/24_iterators/range_operations/advance.cc: Test
590	return values of three-argument overload.
591
5922021-06-02  Jonathan Wakely  <jwakely@redhat.com>
593
594	Backported from master:
595	2021-05-26  Jonathan Wakely  <jwakely@redhat.com>
596
597	PR libstdc++/100768
598	* include/bits/ranges_base.h (advance, distance, next, prev):
599	Replace function templates with function objects.
600	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
601	Adjust for changes to function objects.
602	* testsuite/std/ranges/adaptors/elements.cc: Add using
603	declarations for names from namespace ranges.
604	* testsuite/std/ranges/adaptors/transform.cc: Likewise.
605	* testsuite/24_iterators/range_operations/100768.cc: New test.
606
6072021-06-02  Jonathan Wakely  <jwakely@redhat.com>
608
609	Backported from master:
610	2021-06-01  Jonathan Wakely  <jwakely@redhat.com>
611
612	PR libstdc++/99453
613	* python/Makefile.am: Use archive name for printer hook if no
614	dynamic library name is available.
615	* python/Makefile.in: Regenerate.
616
6172021-05-28  David Edelsohn  <dje.gcc@gmail.com>
618
619	Backported from master:
620	2021-04-24  David Edelsohn  <dje.gcc@gmail.com>
621
622	* testsuite/lib/dg-options.exp (atomic_link_flags): New.
623	(add_options_for_libatomic): Use atomic_link_flags.
624
6252021-05-28  Patrick Palka  <ppalka@redhat.com>
626
627	Backported from master:
628	2021-04-30  Patrick Palka  <ppalka@redhat.com>
629
630	* include/std/ranges (__detail::__non_propating_cache): Define
631	as per P2328.
632	(join_view): Remove constraints on the value and reference types
633	of the wrapped iterator type as per P2328.
634	(join_view::_Iterator::_M_satisfy): Adjust as per P2328.
635	(join_view::_Iterator::operator++): Likewise.
636	(join_view::_M_inner): Use __non_propating_cache as per P2328.
637	Remove now-redundant use of __maybe_present_t.
638	* testsuite/std/ranges/adaptors/join.cc: Include <array>.
639	(test10): New test.
640
6412021-05-28  Patrick Palka  <ppalka@redhat.com>
642
643	Backported from master:
644	2021-05-24  Patrick Palka  <ppalka@redhat.com>
645
646	PR libstdc++/100479
647	* include/std/ranges (__detail::__non_propagating_cache): Move
648	definition up to before that of _CachedPosition.  Make base
649	class _Optional_base protected instead of private.  Add const
650	overload for operator*.
651	(__detail::_CachedPosition): Rewrite the partial specialization
652	for forward ranges as a derived class of __non_propagating_cache.
653	Remove the size constraint on the partial specialization for
654	random access ranges.  Add copy/move/copy-assignment/move-assignment
655	members to the offset partial specialization for random
656	access ranges that propagate the cached value but additionally
657	invalidate it in the source object on move.
658	* testsuite/std/ranges/adaptors/100479.cc: New test.
659
6602021-05-20  Joern Rennecke  <joern.rennecke@riscy-ip.com>
661
662	PR libstdc++/100361
663	* include/std/charconv (to_chars): Hide the overloads for
664	floating-point types for 16 bit targets.
665	* src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets.
666	* testsuite/20_util/to_chars/double.cc: Run this test only on
667	size32plus targets.
668	* testsuite/20_util/to_chars/float.cc: Likewise.
669	* testsuite/20_util/to_chars/long_double.cc: Likewise.
670
6712021-05-17  Jonathan Wakely  <jwakely@redhat.com>
672
673	Backported from master:
674	2021-05-17  Jonathan Wakely  <jwakely@redhat.com>
675
676	PR libstdc++/100630
677	* include/experimental/bits/fs_path.h (__is_constructible_from):
678	Test construction from a const lvalue, not an rvalue.
679	* testsuite/27_io/filesystem/path/construct/100630.cc: New test.
680	* testsuite/experimental/filesystem/path/construct/100630.cc:
681	New test.
682
6832021-05-17  Thomas Rodgers  <rodgert@twrodgers.com>
684
685	Backported from master:
686	2021-05-17  Thomas Rodgers  <rodgert@twrodgers.com>
687
688	* include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop
689	until value change observed.
690	(__waiter_base::_M_laundered): New member.
691	(__waiter_base::_M_notify): Check _M_laundered to determine
692	whether to wake one or all.
693	(__detail::__atomic_compare): Return true if call to
694	__builtin_memcmp() == 0.
695	(__waiter_base::_S_do_spin_v): Adjust predicate.
696	* testsuite/29_atomics/atomic/wait_notify/100334.cc: New
697	test.
698
6992021-05-12  Patrick Palka  <ppalka@redhat.com>
700
701	Backported from master:
702	2021-04-30  Patrick Palka  <ppalka@redhat.com>
703
704	* include/bits/ranges_util.h (subrange::subrange): Avoid
705	list-initialization in delegating constructor.
706	* include/std/ranges (single_view): Replace implicit guide
707	with explicit deduction guide that decays its argument.
708	(_Single::operator()): Avoid CTAD when constructing the
709	single_view object.
710	(_Iota::operator()): Avoid list-initialization.
711	(__detail::__can_filter_view, _Filter::operator()): Likewise.
712	(__detail::__can_transform_view, _Transform::operator()): Likewise.
713	(take_view::begin): Likewise.
714	(__detail::__can_take_view, _Take::operator()): Likewise.
715	(__detail::__can_take_while_view, _TakeWhile::operator()): Likewise.
716	(__detail::__can_drop_view, _Drop::operator()): Likewise.
717	(__detail::__can_drop_while_view, _DropWhile::operator()): Likewise.
718	(split_view::split_view): Use views::single when initializing
719	_M_pattern.
720	(__detail::__can_split_view, _Split::operator()): Avoid
721	list-initialization.
722	(_Counted::operator()): Likewise.
723	* testsuite/std/ranges/p2367.cc: New test.
724
7252021-05-11  Jonathan Wakely  <jwakely@redhat.com>
726
727	Backported from master:
728	2021-05-11  Jonathan Wakely  <jwakely@redhat.com>
729
730	* testsuite/20_util/headers/memory/synopsis.cc: Define C++98
731	alternative for macro.
732	* testsuite/20_util/shared_ptr/creation/99006.cc: Add effective
733	target keyword.
734	* testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11
735	syntax.
736
7372021-05-11  Jonathan Wakely  <jwakely@redhat.com>
738
739	Backported from master:
740	2021-05-11  Jonathan Wakely  <jwakely@redhat.com>
741
742	* include/bits/allocator.h (allocator<void>) [C++20]: Add
743	missing noexcept to constructor. Restore missing POCMA and
744	is_always_equal_traits.
745	[C++17]: Make construct and destroy members private and
746	declare allocator_traits as a friend.
747	* include/bits/memoryfwd.h (allocator_traits): Declare.
748	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
749	Add nodiscard attribute. Add static assertion for LWG 3307.
750	* include/ext/new_allocator.h (new_allocator::allocate): Add
751	static assertion for LWG 3307.
752	* testsuite/20_util/allocator/void.cc: Check that converting
753	constructor is noexcept. Check for propagation traits and
754	size_type and difference_type. Check that pointer and
755	const_pointer are gone in C++20.
756
7572021-05-11  Jonathan Wakely  <jwakely@redhat.com>
758
759	Backported from master:
760	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
761
762	* include/std/stop_token: Remove TODO comment.
763
7642021-05-11  Jonathan Wakely  <jwakely@redhat.com>
765
766	Backported from master:
767	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
768
769	* include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)):
770	Initialize a non-reference deleter from an rvalue, as per LWG
771	3548.
772	(__shared_ptr::_UniqCompatible): Add missing constraint.
773	* testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test.
774	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check
775	constraints.
776
7772021-05-11  Jonathan Wakely  <jwakely@redhat.com>
778
779	Backported from master:
780	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
781
782	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove
783	-std=gnu++17 from dg-options directive.
784	* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
785	Likewise.
786	* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
787	Likewise.
788	* testsuite/17_intro/headers/c++2017/operator_names.cc:
789	Likewise.
790	* testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise.
791	* testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
792	* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
793	Likewise.
794	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
795	* testsuite/18_support/byte/81076.cc: Likewise.
796	* testsuite/18_support/byte/global_neg.cc: Likewise.
797	* testsuite/18_support/byte/ops.cc: Likewise.
798	* testsuite/18_support/byte/requirements.cc: Likewise.
799	* testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise.
800	* testsuite/18_support/launder/1.cc: Likewise.
801	* testsuite/18_support/launder/nodiscard.cc: Likewise.
802	* testsuite/18_support/launder/requirements.cc: Likewise.
803	* testsuite/18_support/launder/requirements_neg.cc: Likewise.
804	* testsuite/18_support/new_aligned.cc: Likewise.
805	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
806	Likewise.
807	* testsuite/19_diagnostics/error_code/is_error_code_v.cc:
808	Likewise.
809	* testsuite/19_diagnostics/error_condition/hash.cc: Likewise.
810	* testsuite/20_util/addressof/requirements/constexpr.cc:
811	Likewise.
812	* testsuite/20_util/as_const/1.cc: Likewise.
813	* testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
814	* testsuite/20_util/bind/83427.cc: Likewise.
815	* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
816	* testsuite/20_util/bool_constant/requirements.cc: Likewise.
817	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
818	Likewise.
819	* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
820	Likewise.
821	* testsuite/20_util/duration_cast/rounding.cc: Likewise.
822	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
823	Likewise.
824	* testsuite/20_util/from_chars/1_neg.cc: Likewise.
825	* testsuite/20_util/from_chars/requirements.cc: Likewise.
826	* testsuite/20_util/function/91456.cc: Likewise.
827	* testsuite/20_util/function/cons/deduction.cc: Likewise.
828	* testsuite/20_util/function_objects/83607.cc: Likewise.
829	* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
830	* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
831	* testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
832	* testsuite/20_util/function_objects/not_fn/87538.cc: Likewise.
833	* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
834	Likewise.
835	* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
836	Likewise.
837	* testsuite/20_util/has_unique_object_representations/value.cc:
838	Likewise.
839	* testsuite/20_util/hash/nullptr.cc: Likewise.
840	* testsuite/20_util/in_place/requirements.cc: Likewise.
841	* testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise.
842	* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
843	Likewise.
844	* testsuite/20_util/is_aggregate/requirements/typedefs.cc:
845	Likewise.
846	* testsuite/20_util/is_aggregate/value.cc: Likewise.
847	* testsuite/20_util/is_invocable/83395.cc: Likewise.
848	* testsuite/20_util/is_invocable/91456.cc: Likewise.
849	* testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
850	Likewise.
851	* testsuite/20_util/is_invocable/requirements/typedefs.cc:
852	Likewise.
853	* testsuite/20_util/is_invocable/value.cc: Likewise.
854	* testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise.
855	* testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise.
856	* testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise.
857	* testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
858	Likewise.
859	* testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise.
860	* testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
861	* testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
862	Likewise.
863	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
864	Likewise.
865	* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
866	* testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
867	Likewise.
868	* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
869	Likewise.
870	* testsuite/20_util/is_nothrow_swappable_with/value.cc:
871	Likewise.
872	* testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
873	Likewise.
874	* testsuite/20_util/is_swappable/requirements/typedefs.cc:
875	Likewise.
876	* testsuite/20_util/is_swappable/value.cc: Likewise.
877	* testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
878	Likewise.
879	* testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
880	Likewise.
881	* testsuite/20_util/is_swappable_with/value.cc: Likewise.
882	* testsuite/20_util/logical_traits/83134.cc: Likewise.
883	* testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
884	Likewise.
885	* testsuite/20_util/logical_traits/requirements/typedefs.cc:
886	Likewise.
887	* testsuite/20_util/logical_traits/value.cc: Likewise.
888	* testsuite/20_util/pair/cons/deduction.cc: Likewise.
889	* testsuite/20_util/pair/swap_cxx17.cc: Likewise.
890	* testsuite/20_util/ratio/requirements/ratio_equal_v.cc:
891	Likewise.
892	* testsuite/20_util/reference_wrapper/83427.cc: Likewise.
893	* testsuite/20_util/reference_wrapper/deduction.cc: Likewise.
894	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
895	* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
896	* testsuite/20_util/shared_ptr/requirements/weak_type.cc:
897	Likewise.
898	* testsuite/20_util/time_point/arithmetic/constexpr.cc:
899	Likewise.
900	* testsuite/20_util/time_point_cast/rounding.cc: Likewise.
901	* testsuite/20_util/to_chars/3.cc: Likewise.
902	* testsuite/20_util/to_chars/chars_format.cc: Likewise.
903	* testsuite/20_util/to_chars/lwg3266.cc: Likewise.
904	* testsuite/20_util/to_chars/requirements.cc: Likewise.
905	* testsuite/20_util/tuple/78939.cc: Likewise.
906	* testsuite/20_util/tuple/apply/1.cc: Likewise.
907	* testsuite/20_util/tuple/apply/2.cc: Likewise.
908	* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
909	* testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
910	* testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise.
911	* testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
912	* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
913	* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
914	* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
915	Likewise.
916	* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
917	* testsuite/20_util/void_t/1.cc: Likewise.
918	* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
919	* testsuite/24_iterators/container_access.cc: Likewise.
920	* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
921	Likewise.
922	* testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
923	Likewise.
924	* testsuite/24_iterators/range_access/range_access_cpp17.cc:
925	Likewise.
926	* testsuite/24_iterators/range_access/range_access_cpp17_neg.cc:
927	Likewise.
928	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
929	* testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
930	Likewise.
931	* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
932	* testsuite/26_numerics/headers/cmath/special_functions_global.cc:
933	Likewise.
934	* testsuite/26_numerics/lcm/1.cc: Likewise.
935	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
936	* testsuite/26_numerics/valarray/deduction.cc: Likewise.
937	* testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
938	Likewise.
939	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc:
940	Likewise.
941	* testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc:
942	Likewise.
943	* testsuite/27_io/types/4.cc: Likewise.
944	* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
945	* testsuite/libstdc++-prettyprinters/91997.cc: Likewise.
946	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
947
9482021-05-11  Jonathan Wakely  <jwakely@redhat.com>
949
950	Backported from master:
951	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
952
953	* testsuite/20_util/function_objects/searchers.cc: Remove
954	-std=gnu++17 from dg-options directive.
955	* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
956	Likewise.
957	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
958	Likewise.
959	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
960	Likewise.
961	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc:
962	Likewise.
963	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
964	Likewise.
965	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
966	Likewise.
967	* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
968	Likewise.
969	* testsuite/25_algorithms/clamp/1.cc: Likewise.
970	* testsuite/25_algorithms/clamp/2.cc: Likewise.
971	* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
972	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
973	Likewise.
974	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
975	Likewise.
976	* testsuite/25_algorithms/for_each/for_each_n.cc: Likewise.
977	* testsuite/25_algorithms/for_each/for_each_n_debug.cc:
978	Likewise.
979	* testsuite/25_algorithms/sample/1.cc: Likewise.
980	* testsuite/25_algorithms/sample/2.cc: Likewise.
981	* testsuite/25_algorithms/sample/3.cc: Likewise.
982	* testsuite/25_algorithms/sample/81221.cc: Likewise.
983	* testsuite/25_algorithms/search/searcher.cc: Likewise.
984	* testsuite/26_numerics/exclusive_scan/1.cc: Likewise.
985	* testsuite/26_numerics/inclusive_scan/1.cc: Likewise.
986	* testsuite/26_numerics/reduce/1.cc: Likewise.
987	* testsuite/26_numerics/reduce/2.cc: Likewise.
988	* testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise.
989	* testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise.
990	* testsuite/26_numerics/transform_reduce/1.cc: Likewise.
991
9922021-05-11  Jonathan Wakely  <jwakely@redhat.com>
993
994	Backported from master:
995	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
996
997	* testsuite/23_containers/array/cons/deduction.cc: Remove
998	-std=gnu++17 from dg-options directive.
999	* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
1000	* testsuite/23_containers/array/element_access/constexpr_c++17.cc:
1001	Likewise.
1002	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
1003	Likewise.
1004	* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
1005	Likewise.
1006	* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
1007	* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
1008	Likewise.
1009	* testsuite/23_containers/forward_list/cons/deduction.cc:
1010	Likewise.
1011	* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
1012	Likewise.
1013	* testsuite/23_containers/list/cons/deduction.cc: Likewise.
1014	* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
1015	Likewise.
1016	* testsuite/23_containers/map/cons/deduction.cc: Likewise.
1017	* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
1018	* testsuite/23_containers/map/modifiers/insert/83226.cc:
1019	Likewise.
1020	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
1021	Likewise.
1022	* testsuite/23_containers/map/modifiers/merge.cc: Likewise.
1023	* testsuite/23_containers/map/modifiers/try_emplace/1.cc:
1024	Likewise.
1025	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
1026	* testsuite/23_containers/multimap/modifiers/extract.cc:
1027	Likewise.
1028	* testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
1029	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
1030	* testsuite/23_containers/multiset/modifiers/extract.cc:
1031	Likewise.
1032	* testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
1033	* testsuite/23_containers/priority_queue/deduction.cc: Likewise.
1034	* testsuite/23_containers/queue/deduction.cc: Likewise.
1035	* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
1036	Likewise.
1037	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
1038	* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
1039	* testsuite/23_containers/set/modifiers/merge.cc: Likewise.
1040	* testsuite/23_containers/set/modifiers/node_swap.cc: Likewise.
1041	* testsuite/23_containers/stack/deduction.cc: Likewise.
1042	* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
1043	Likewise.
1044	* testsuite/23_containers/unordered_map/cons/deduction.cc:
1045	Likewise.
1046	* testsuite/23_containers/unordered_map/modifiers/extract.cc:
1047	Likewise.
1048	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
1049	Likewise.
1050	* testsuite/23_containers/unordered_map/modifiers/merge.cc:
1051	Likewise.
1052	* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
1053	Likewise.
1054	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
1055	Likewise.
1056	* testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
1057	Likewise.
1058	* testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
1059	Likewise.
1060	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
1061	Likewise.
1062	* testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
1063	Likewise.
1064	* testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
1065	Likewise.
1066	* testsuite/23_containers/unordered_set/cons/deduction.cc:
1067	Likewise.
1068	* testsuite/23_containers/unordered_set/modifiers/extract.cc:
1069	Likewise.
1070	* testsuite/23_containers/unordered_set/modifiers/merge.cc:
1071	Likewise.
1072	* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
1073	Likewise.
1074	* testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise.
1075	* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
1076	* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
1077	Likewise.
1078
10792021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1080
1081	Backported from master:
1082	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1083
1084	* testsuite/21_strings/basic_string/79162.cc: Remove
1085	-std=gnu++17 from dg-options directive.
1086	* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1087	* testsuite/21_strings/basic_string/cons/char/79162.cc:
1088	Likewise.
1089	* testsuite/21_strings/basic_string/cons/char/86138.cc:
1090	Likewise.
1091	* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
1092	* testsuite/21_strings/basic_string/cons/char/deduction.cc:
1093	Likewise.
1094	* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
1095	Likewise.
1096	* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1097	* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc:
1098	Likewise.
1099	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc:
1100	Likewise.
1101	* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
1102	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1103	Likewise.
1104	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
1105	Likewise.
1106	* testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
1107	* testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
1108	* testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
1109	* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1110	Likewise.
1111	* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1112	Likewise.
1113	* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1114	Likewise.
1115	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1116	Likewise.
1117	* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1118	Likewise.
1119	* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1120	Likewise.
1121	* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1122	Likewise.
1123	* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1124	Likewise.
1125	* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1126	Likewise.
1127	* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1128	Likewise.
1129	* testsuite/21_strings/basic_string/operations/data/char/2.cc:
1130	Likewise.
1131	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
1132	Likewise.
1133	* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
1134	Likewise.
1135	* testsuite/21_strings/basic_string/operations/find/char/5.cc:
1136	Likewise.
1137	* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1138	Likewise.
1139	* testsuite/21_strings/basic_string/operators/char/5.cc:
1140	Likewise.
1141	* testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
1142	Likewise.
1143	* testsuite/21_strings/basic_string_view/capacity/1.cc:
1144	Likewise.
1145	* testsuite/21_strings/basic_string_view/capacity/empty_neg.cc:
1146	Likewise.
1147	* testsuite/21_strings/basic_string_view/cons/char/1.cc:
1148	Likewise.
1149	* testsuite/21_strings/basic_string_view/cons/char/2.cc:
1150	Likewise.
1151	* testsuite/21_strings/basic_string_view/cons/char/3.cc:
1152	Likewise.
1153	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
1154	Likewise.
1155	* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1156	Likewise.
1157	* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
1158	Likewise.
1159	* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
1160	Likewise.
1161	* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
1162	Likewise.
1163	* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1164	Likewise.
1165	* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1166	Likewise.
1167	* testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
1168	Likewise.
1169	* testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc:
1170	Likewise.
1171	* testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
1172	Likewise.
1173	* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1174	Likewise.
1175	* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1176	Likewise.
1177	* testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc:
1178	Likewise.
1179	* testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
1180	Likewise.
1181	* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1182	Likewise.
1183	* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1184	Likewise.
1185	* testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
1186	Likewise.
1187	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc:
1188	Likewise.
1189	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
1190	Likewise.
1191	* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1192	Likewise.
1193	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1194	Likewise.
1195	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
1196	Likewise.
1197	* testsuite/21_strings/basic_string_view/include.cc: Likewise.
1198	* testsuite/21_strings/basic_string_view/inserters/94051.cc:
1199	Likewise.
1200	* testsuite/21_strings/basic_string_view/inserters/char/1.cc:
1201	Likewise.
1202	* testsuite/21_strings/basic_string_view/inserters/char/2.cc:
1203	Likewise.
1204	* testsuite/21_strings/basic_string_view/inserters/char/3.cc:
1205	Likewise.
1206	* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1207	Likewise.
1208	* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1209	Likewise.
1210	* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1211	Likewise.
1212	* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1213	Likewise.
1214	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
1215	Likewise.
1216	* testsuite/21_strings/basic_string_view/literals/types.cc:
1217	Likewise.
1218	* testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
1219	Likewise.
1220	* testsuite/21_strings/basic_string_view/literals/values.cc:
1221	Likewise.
1222	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1223	Likewise.
1224	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1225	Likewise.
1226	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1227	Likewise.
1228	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1229	Likewise.
1230	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
1231	Likewise.
1232	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
1233	Likewise.
1234	* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1235	Likewise.
1236	* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1237	Likewise.
1238	* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
1239	Likewise.
1240	* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
1241	Likewise.
1242	* testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc:
1243	Likewise.
1244	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1245	Likewise.
1246	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1247	Likewise.
1248	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
1249	Likewise.
1250	* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1251	Likewise.
1252	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
1253	Likewise.
1254	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1255	Likewise.
1256	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
1257	Likewise.
1258	* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1259	Likewise.
1260	* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1261	Likewise.
1262	* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1263	Likewise.
1264	* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1265	Likewise.
1266	* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1267	Likewise.
1268	* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1269	Likewise.
1270	* testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc:
1271	Likewise.
1272	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1273	Likewise.
1274	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1275	Likewise.
1276	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1277	Likewise.
1278	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1279	Likewise.
1280	* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1281	Likewise.
1282	* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1283	Likewise.
1284	* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1285	Likewise.
1286	* testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc:
1287	Likewise.
1288	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1289	Likewise.
1290	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1291	Likewise.
1292	* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1293	Likewise.
1294	* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1295	Likewise.
1296	* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1297	Likewise.
1298	* testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc:
1299	Likewise.
1300	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1301	Likewise.
1302	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc:
1303	Likewise.
1304	* testsuite/21_strings/basic_string_view/operators/char/2.cc:
1305	Likewise.
1306	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
1307	Likewise.
1308	* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1309	Likewise.
1310	* testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
1311	Likewise.
1312	* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1313	Likewise.
1314	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1315	Likewise.
1316	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1317	Likewise.
1318	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1319	Likewise.
1320	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1321	Likewise.
1322	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1323	Likewise.
1324	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
1325	Likewise.
1326	* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1327	Likewise.
1328	* testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
1329	Likewise.
1330	* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1331	Likewise.
1332	* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1333	* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1334	* testsuite/21_strings/char_traits/requirements/char/99181.cc:
1335	Likewise.
1336	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
1337
13382021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1339
1340	Backported from master:
1341	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1342
1343	* testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17
1344	from dg-options directive.
1345	* testsuite/20_util/memory_resource/2.cc: Likewise.
1346	* testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise.
1347	* testsuite/20_util/monotonic_buffer_resource/93208.cc:
1348	Likewise.
1349	* testsuite/20_util/monotonic_buffer_resource/allocate.cc:
1350	Likewise.
1351	* testsuite/20_util/monotonic_buffer_resource/deallocate.cc:
1352	Likewise.
1353	* testsuite/20_util/monotonic_buffer_resource/release.cc:
1354	Likewise.
1355	* testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc:
1356	Likewise.
1357	* testsuite/20_util/polymorphic_allocator/1.cc: Likewise.
1358	* testsuite/20_util/polymorphic_allocator/construct_pair.cc:
1359	Likewise.
1360	* testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
1361	* testsuite/20_util/polymorphic_allocator/select.cc: Likewise.
1362	* testsuite/20_util/synchronized_pool_resource/allocate.cc:
1363	Likewise.
1364	* testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
1365	Likewise.
1366	* testsuite/20_util/synchronized_pool_resource/cons.cc:
1367	Likewise.
1368	* testsuite/20_util/synchronized_pool_resource/cons_single.cc:
1369	Likewise.
1370	* testsuite/20_util/synchronized_pool_resource/is_equal.cc:
1371	Likewise.
1372	* testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
1373	Likewise.
1374	* testsuite/20_util/synchronized_pool_resource/options.cc:
1375	Likewise.
1376	* testsuite/20_util/synchronized_pool_resource/release.cc:
1377	Likewise.
1378	* testsuite/20_util/synchronized_pool_resource/release_single.cc:
1379	Likewise.
1380	* testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc:
1381	Likewise.
1382	* testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
1383	Likewise.
1384	* testsuite/20_util/unsynchronized_pool_resource/cons.cc:
1385	Likewise.
1386	* testsuite/20_util/unsynchronized_pool_resource/is_equal.cc:
1387	Likewise.
1388	* testsuite/20_util/unsynchronized_pool_resource/options.cc:
1389	Likewise.
1390	* testsuite/20_util/unsynchronized_pool_resource/release.cc:
1391	Likewise.
1392	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
1393	Likewise.
1394	* testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
1395	* testsuite/23_containers/deque/types/pmr_typedefs_debug.cc:
1396	Likewise.
1397	* testsuite/23_containers/forward_list/pmr_typedefs.cc:
1398	Likewise.
1399	* testsuite/23_containers/forward_list/pmr_typedefs_debug.cc:
1400	Likewise.
1401	* testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
1402	* testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
1403	* testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
1404	* testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
1405	* testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
1406	* testsuite/23_containers/multimap/pmr_typedefs_debug.cc:
1407	Likewise.
1408	* testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
1409	* testsuite/23_containers/multiset/pmr_typedefs_debug.cc:
1410	Likewise.
1411	* testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
1412	* testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
1413	* testsuite/23_containers/unordered_map/pmr_typedefs.cc:
1414	Likewise.
1415	* testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
1416	Likewise.
1417	* testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
1418	Likewise.
1419	* testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
1420	Likewise.
1421	* testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
1422	Likewise.
1423	* testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
1424	Likewise.
1425	* testsuite/23_containers/unordered_set/pmr_typedefs.cc:
1426	Likewise.
1427	* testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
1428	Likewise.
1429	* testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
1430	* testsuite/23_containers/vector/types/pmr_typedefs_debug.cc:
1431	Likewise.
1432	* testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
1433
14342021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1435
1436	Backported from master:
1437	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1438
1439	* testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from
1440	dg-options.
1441	* testsuite/29_atomics/atomic/is_always_lock_free.cc:
1442	* testsuite/29_atomics/atomic/requirements/typedefs.cc:
1443	* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
1444	* testsuite/29_atomics/atomic_integral/requirements/typedefs.cc:
1445	* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
1446	* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
1447	* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
1448	* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
1449	Likewise.
1450	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
1451	Likewise.
1452	* testsuite/30_threads/shared_lock/70766.cc: Likewise.
1453	* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
1454	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
1455	Likewise.
1456	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
1457	* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
1458	Likewise.
1459	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
1460	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
1461	* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
1462	* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
1463
14642021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1465
1466	Backported from master:
1467	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1468
1469	* testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from
1470	dg-options directive.
1471	* testsuite/20_util/any/assign/2.cc: Likewise.
1472	* testsuite/20_util/any/assign/emplace.cc: Likewise.
1473	* testsuite/20_util/any/assign/exception.cc: Likewise.
1474	* testsuite/20_util/any/assign/self.cc: Likewise.
1475	* testsuite/20_util/any/cons/1.cc: Likewise.
1476	* testsuite/20_util/any/cons/2.cc: Likewise.
1477	* testsuite/20_util/any/cons/90415.cc: Likewise.
1478	* testsuite/20_util/any/cons/92156.cc: Likewise.
1479	* testsuite/20_util/any/cons/aligned.cc: Likewise.
1480	* testsuite/20_util/any/cons/explicit.cc: Likewise.
1481	* testsuite/20_util/any/cons/in_place.cc: Likewise.
1482	* testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1483	* testsuite/20_util/any/make_any.cc: Likewise.
1484	* testsuite/20_util/any/misc/any_cast.cc: Likewise.
1485	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1486	* testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1487	* testsuite/20_util/any/misc/swap.cc: Likewise.
1488	* testsuite/20_util/any/modifiers/1.cc: Likewise.
1489	* testsuite/20_util/any/modifiers/83658.cc: Likewise.
1490	* testsuite/20_util/any/modifiers/92156.cc: Likewise.
1491	* testsuite/20_util/any/observers/type.cc: Likewise.
1492	* testsuite/20_util/any/requirements.cc: Likewise.
1493	* testsuite/20_util/any/typedefs.cc: Likewise.
1494	* testsuite/20_util/optional/77288.cc: Likewise.
1495	* testsuite/20_util/optional/84601.cc: Likewise.
1496	* testsuite/20_util/optional/assignment/1.cc: Likewise.
1497	* testsuite/20_util/optional/assignment/2.cc: Likewise.
1498	* testsuite/20_util/optional/assignment/3.cc: Likewise.
1499	* testsuite/20_util/optional/assignment/4.cc: Likewise.
1500	* testsuite/20_util/optional/assignment/5.cc: Likewise.
1501	* testsuite/20_util/optional/assignment/6.cc: Likewise.
1502	* testsuite/20_util/optional/assignment/7.cc: Likewise.
1503	* testsuite/20_util/optional/assignment/8.cc: Likewise.
1504	* testsuite/20_util/optional/assignment/9.cc: Likewise.
1505	* testsuite/20_util/optional/bad_access.cc: Likewise.
1506	* testsuite/20_util/optional/cons/77727.cc: Likewise.
1507	* testsuite/20_util/optional/cons/85642.cc: Likewise.
1508	* testsuite/20_util/optional/cons/copy.cc: Likewise.
1509	* testsuite/20_util/optional/cons/deduction.cc: Likewise.
1510	* testsuite/20_util/optional/cons/default.cc: Likewise.
1511	* testsuite/20_util/optional/cons/move.cc: Likewise.
1512	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
1513	* testsuite/20_util/optional/cons/value.cc: Likewise.
1514	* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1515	* testsuite/20_util/optional/constexpr/cons/default.cc:
1516	Likewise.
1517	* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1518	* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1519	* testsuite/20_util/optional/constexpr/make_optional.cc:
1520	Likewise.
1521	* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1522	* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1523	* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1524	* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1525	* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1526	* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1527	* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1528	* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1529	* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1530	* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1531	* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1532	* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1533	* testsuite/20_util/optional/hash.cc: Likewise.
1534	* testsuite/20_util/optional/in_place.cc: Likewise.
1535	* testsuite/20_util/optional/make_optional.cc: Likewise.
1536	* testsuite/20_util/optional/nullopt.cc: Likewise.
1537	* testsuite/20_util/optional/observers/1.cc: Likewise.
1538	* testsuite/20_util/optional/observers/2.cc: Likewise.
1539	* testsuite/20_util/optional/observers/3.cc: Likewise.
1540	* testsuite/20_util/optional/observers/4.cc: Likewise.
1541	* testsuite/20_util/optional/observers/5.cc: Likewise.
1542	* testsuite/20_util/optional/observers/6.cc: Likewise.
1543	* testsuite/20_util/optional/relops/1.cc: Likewise.
1544	* testsuite/20_util/optional/relops/2.cc: Likewise.
1545	* testsuite/20_util/optional/relops/3.cc: Likewise.
1546	* testsuite/20_util/optional/relops/4.cc: Likewise.
1547	* testsuite/20_util/optional/relops/5.cc: Likewise.
1548	* testsuite/20_util/optional/relops/6.cc: Likewise.
1549	* testsuite/20_util/optional/relops/7.cc: Likewise.
1550	* testsuite/20_util/optional/requirements.cc: Likewise.
1551	* testsuite/20_util/optional/swap/1.cc: Likewise.
1552	* testsuite/20_util/optional/swap/2.cc: Likewise.
1553	* testsuite/20_util/optional/typedefs.cc: Likewise.
1554	* testsuite/20_util/variant/80165.cc: Likewise.
1555	* testsuite/20_util/variant/85183.cc: Likewise.
1556	* testsuite/20_util/variant/86874.cc: Likewise.
1557	* testsuite/20_util/variant/87431.cc: Likewise.
1558	* testsuite/20_util/variant/87619.cc: Likewise.
1559	* testsuite/20_util/variant/91807.cc: Likewise.
1560	* testsuite/20_util/variant/any.cc: Likewise.
1561	* testsuite/20_util/variant/compile.cc: Likewise.
1562	* testsuite/20_util/variant/deduction.cc: Likewise.
1563	* testsuite/20_util/variant/exception_safety.cc: Likewise.
1564	* testsuite/20_util/variant/hash.cc: Likewise.
1565	* testsuite/20_util/variant/index_type.cc: Likewise.
1566	* testsuite/20_util/variant/relops/89851.cc: Likewise.
1567	* testsuite/20_util/variant/relops/90008.cc: Likewise.
1568	* testsuite/20_util/variant/run.cc: Likewise.
1569	* testsuite/20_util/variant/visit.cc: Likewise.
1570
15712021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1572
1573	Backported from master:
1574	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1575
1576	* testsuite/27_io/basic_filebuf/open/char/path.cc: Remove
1577	-std=gnu++17 from dg-options directive.
1578	* testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
1579	* testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
1580	* testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
1581	* testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
1582	* testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
1583	* testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
1584	* testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise.
1585	* testsuite/27_io/filesystem/directory_entry/lwg3171.cc:
1586	Likewise.
1587	* testsuite/27_io/filesystem/file_status/1.cc: Likewise.
1588	* testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
1589	* testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
1590	* testsuite/27_io/filesystem/iterators/91067.cc: Likewise.
1591	* testsuite/27_io/filesystem/iterators/caching.cc: Likewise.
1592	* testsuite/27_io/filesystem/iterators/directory_iterator.cc:
1593	Likewise.
1594	* testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
1595	* testsuite/27_io/filesystem/iterators/recursion_pending.cc:
1596	Likewise.
1597	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
1598	Likewise.
1599	* testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
1600	* testsuite/27_io/filesystem/operations/all.cc: Likewise.
1601	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
1602	* testsuite/27_io/filesystem/operations/copy.cc: Likewise.
1603	* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
1604	* testsuite/27_io/filesystem/operations/create_directories.cc:
1605	Likewise.
1606	* testsuite/27_io/filesystem/operations/create_directory.cc:
1607	Likewise.
1608	* testsuite/27_io/filesystem/operations/create_symlink.cc:
1609	Likewise.
1610	* testsuite/27_io/filesystem/operations/current_path.cc:
1611	Likewise.
1612	* testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
1613	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
1614	* testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
1615	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
1616	* testsuite/27_io/filesystem/operations/last_write_time.cc:
1617	Likewise.
1618	* testsuite/27_io/filesystem/operations/permissions.cc:
1619	Likewise.
1620	* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
1621	* testsuite/27_io/filesystem/operations/read_symlink.cc:
1622	Likewise.
1623	* testsuite/27_io/filesystem/operations/relative.cc: Likewise.
1624	* testsuite/27_io/filesystem/operations/remove.cc: Likewise.
1625	* testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
1626	* testsuite/27_io/filesystem/operations/rename.cc: Likewise.
1627	* testsuite/27_io/filesystem/operations/resize_file.cc:
1628	Likewise.
1629	* testsuite/27_io/filesystem/operations/space.cc: Likewise.
1630	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
1631	* testsuite/27_io/filesystem/operations/symlink_status.cc:
1632	Likewise.
1633	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
1634	Likewise.
1635	* testsuite/27_io/filesystem/operations/weakly_canonical.cc:
1636	Likewise.
1637	* testsuite/27_io/filesystem/path/append/path.cc: Likewise.
1638	* testsuite/27_io/filesystem/path/append/source.cc: Likewise.
1639	* testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
1640	* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
1641	* testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
1642	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
1643	* testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
1644	* testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
1645	* testsuite/27_io/filesystem/path/concat/92853.cc: Likewise.
1646	* testsuite/27_io/filesystem/path/concat/94063.cc: Likewise.
1647	* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
1648	* testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
1649	* testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
1650	* testsuite/27_io/filesystem/path/construct/90281.cc: Likewise.
1651	* testsuite/27_io/filesystem/path/construct/90634.cc: Likewise.
1652	* testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
1653	* testsuite/27_io/filesystem/path/construct/default.cc:
1654	Likewise.
1655	* testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
1656	* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
1657	* testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
1658	* testsuite/27_io/filesystem/path/construct/string_view.cc:
1659	Likewise.
1660	* testsuite/27_io/filesystem/path/decompose/extension.cc:
1661	Likewise.
1662	* testsuite/27_io/filesystem/path/decompose/filename.cc:
1663	Likewise.
1664	* testsuite/27_io/filesystem/path/decompose/parent_path.cc:
1665	Likewise.
1666	* testsuite/27_io/filesystem/path/decompose/relative_path.cc:
1667	Likewise.
1668	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
1669	Likewise.
1670	* testsuite/27_io/filesystem/path/decompose/root_name.cc:
1671	Likewise.
1672	* testsuite/27_io/filesystem/path/decompose/root_path.cc:
1673	Likewise.
1674	* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
1675	* testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1676	Likewise.
1677	* testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1678	* testsuite/27_io/filesystem/path/generation/normal.cc:
1679	Likewise.
1680	* testsuite/27_io/filesystem/path/generation/normal2.cc:
1681	Likewise.
1682	* testsuite/27_io/filesystem/path/generation/proximate.cc:
1683	Likewise.
1684	* testsuite/27_io/filesystem/path/generation/relative.cc:
1685	Likewise.
1686	* testsuite/27_io/filesystem/path/generic/94242.cc: Likewise.
1687	* testsuite/27_io/filesystem/path/generic/generic_string.cc:
1688	Likewise.
1689	* testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
1690	* testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
1691	* testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
1692	* testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
1693	* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
1694	* testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
1695	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
1696	Likewise.
1697	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
1698	Likewise.
1699	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
1700	Likewise.
1701	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
1702	Likewise.
1703	* testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
1704	* testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
1705	* testsuite/27_io/filesystem/path/native/string-char8_t.cc:
1706	Likewise.
1707	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1708	* testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
1709	* testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise.
1710	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
1711	Likewise.
1712	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
1713	* testsuite/27_io/filesystem/path/query/empty_neg.cc:
1714	* testsuite/27_io/filesystem/path/query/has_extension.cc:
1715	Likewise.
1716	* testsuite/27_io/filesystem/path/query/has_filename.cc:
1717	Likewise.
1718	* testsuite/27_io/filesystem/path/query/has_parent_path.cc:
1719	Likewise.
1720	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
1721	Likewise.
1722	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
1723	Likewise.
1724	* testsuite/27_io/filesystem/path/query/has_root_name.cc:
1725	Likewise.
1726	* testsuite/27_io/filesystem/path/query/has_root_path.cc:
1727	Likewise.
1728	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
1729	* testsuite/27_io/filesystem/path/query/is_absolute.cc:
1730	Likewise.
1731	* testsuite/27_io/filesystem/path/query/is_relative.cc:
1732	Likewise.
1733	* testsuite/experimental/filesystem/path/construct/string_view.cc:
1734	Likewise.
1735
17362021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1737
1738	Backported from master:
1739	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1740
1741	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
1742	Remove -std=gnu++17 from dg-options.
1743	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
1744	Likewise.
1745	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
1746	Likewise.
1747	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
1748	Likewise.
1749	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
1750	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
1751	Likewise.
1752	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
1753	Likewise.
1754	* testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
1755	Likewise.
1756	* testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
1757	Likewise.
1758	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
1759	Likewise.
1760	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
1761	Likewise.
1762	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
1763	Likewise.
1764	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
1765	Likewise.
1766	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
1767	Likewise.
1768	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
1769	Likewise.
1770	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
1771	Likewise.
1772	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
1773	Likewise.
1774	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
1775	Likewise.
1776	* testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
1777	Likewise.
1778	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
1779	Likewise.
1780	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
1781	Likewise.
1782	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
1783	Likewise.
1784	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
1785	Likewise.
1786	* testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
1787	Likewise.
1788	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
1789	Likewise.
1790	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
1791	Likewise.
1792	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
1793	Likewise.
1794	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
1795	Likewise.
1796	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
1797	Likewise.
1798	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
1799	Likewise.
1800	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
1801	Likewise.
1802	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
1803	Likewise.
1804	* testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
1805	Likewise.
1806	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
1807	Likewise.
1808	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
1809	Likewise.
1810	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
1811	Likewise.
1812	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
1813	Likewise.
1814	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
1815	Likewise.
1816	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
1817	Likewise.
1818	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
1819	Likewise.
1820	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
1821	* testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
1822	Likewise.
1823	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
1824	Likewise.
1825	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
1826	Likewise.
1827	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
1828	Likewise.
1829	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
1830	Likewise.
1831	* testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise.
1832	* testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise.
1833	* testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
1834	* testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
1835	* testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
1836	* testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
1837	* testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
1838	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
1839	Likewise.
1840	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
1841	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
1842	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
1843	Likewise.
1844	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
1845	Likewise.
1846
18472021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1848
1849	Backported from master:
1850	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1851
1852	* testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error
1853	for additional errors in C++20.
1854	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
1855	Likewise.
1856	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1857	* testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
1858
18592021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1860
1861	Backported from master:
1862	2021-05-10  Jonathan Wakely  <jwakely@redhat.com>
1863
1864	* testsuite/20_util/variant/compile.cc: Rename 'any' to avoid
1865	clash with std::any.
1866
18672021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1868
1869	Backported from master:
1870	2021-05-06  Jonathan Wakely  <jwakely@redhat.com>
1871
1872	* include/std/type_traits (remove_cvref_t): Define in terms of
1873	remove_cvref.
1874	* testsuite/20_util/remove_cvref/value.cc: Check alias.
1875
18762021-05-11  Jonathan Wakely  <jwakely@redhat.com>
1877
1878	Backported from master:
1879	2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
1880
1881	PR libstdc++/99006
1882	* include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
1883	is not an array type.
1884	* include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
1885	* testsuite/20_util/shared_ptr/creation/99006.cc: New test.
1886
18872021-05-11  Philippe Blain  <levraiphilippeblain@gmail.com>
1888
1889	Backported from master:
1890	2021-04-21  Philippe Blain  <levraiphilippeblain@gmail.com>
1891		    Jonathan Wakely  <jwakely@redhat.com>
1892
1893	PR libstdc++/99453
1894	* python/Makefile.am: Install libstdc++*-gdb.py more robustly.
1895	* python/Makefile.in: Regenerate.
1896
18972021-05-11  Patrick Palka  <ppalka@redhat.com>
1898
1899	Backported from master:
1900	2021-05-11  Patrick Palka  <ppalka@redhat.com>
1901
1902	* src/c++17/ryu/LOCAL_PATCHES: Update.
1903	* src/c++17/ryu/ryu_generic_128.h: Remove extern "C".
1904	Remove declarations for never-defined functions.
1905	* testsuite/20_util/to_chars/4.cc: New test.
1906
19072021-05-07  Jonathan Wakely  <jwakely@redhat.com>
1908
1909	Backported from master:
1910	2021-05-07  Jonathan Wakely  <jwakely@redhat.com>
1911
1912	* include/std/istream (__rvalue_stream_extraction_t): Replace
1913	use of __rval_streamable.
1914	* include/std/ostream (__rvalue_stream_insertion_t): Likewise.
1915	(__rval_streamable): Remove.
1916	(_Require_derived_from_ios_base, __derived_from_ios_base): New
1917	helper for checking constraints.
1918	* testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix
1919	reference to the wrong subclause of the standard.
1920	* testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
1921	Likewise.
1922	* testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
1923	Likewise.
1924	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
1925	Likewise.
1926	* testsuite/27_io/basic_ostream/inserters_other/char/99692.cc:
1927	New test.
1928	* testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned
1929	errors.
1930
19312021-05-06  Jonathan Wakely  <jwakely@redhat.com>
1932
1933	Backported from master:
1934	2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
1935
1936	* include/std/istream (operator>>(Istream&&, x&)): Simplify, as
1937	per LWG 1203.
1938	* include/std/ostream (operator<<(Ostream&&, const x&)):
1939	Likewise.
1940	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
1941	Adjust dg-error pattern.
1942	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
1943	Likewise.
1944	* testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define
1945	is_extractable trait to replace std::__is_extractable. Make it
1946	work with rvalue streams as well as lvalues, to replace f() and
1947	g() helper functions.
1948	* testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
1949	Likewise.
1950	* testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
1951	Define is_insertable trait to replace std::__is_insertable. Make
1952	it work with rvalue streams as well as lvalues, to replace f()
1953	and g() helper functions.
1954	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
1955	Likewise.
1956	* testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional
1957	errors from new constraints.
1958	* testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks,
1959	which are no longer expected to compile.
1960	* testsuite/27_io/rvalue_streams.cc: Adjust existing test.
1961	Verify LWG 1203 changes.
1962
19632021-05-06  Jonathan Wakely  <jwakely@redhat.com>
1964
1965	Backported from master:
1966	2021-05-05  Jonathan Wakely  <jwakely@redhat.com>
1967
1968	* testsuite/20_util/function_objects/invoke/3.cc: Check feature
1969	test macro.
1970	* testsuite/20_util/function_objects/invoke/version.cc: New test.
1971
19722021-05-06  Jonathan Wakely  <jwakely@redhat.com>
1973
1974	Backported from master:
1975	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
1976
1977	* include/std/future (promise::set_value): Check for existence
1978	of shared state before dereferncing it.
1979	(promise::set_exception, promise::set_value_at_thread_exit)
1980	(promise::set_exception_at_thread_exit): Likewise.
1981	(promise<R&>::set_value, promise<R&>::set_exception)
1982	(promise<R&>::set_value_at_thread_exit)
1983	(promise<R&>::set_exception_at_thread_exit): Likewise.
1984	(promise<void>::set_value, promise<void>::set_exception)
1985	(promise<void>::set_value_at_thread_exit)
1986	(promise<void>::set_exception_at_thread_exit): Likewise.
1987	* testsuite/30_threads/promise/members/at_thread_exit2.cc:
1988	Remove unused variable.
1989
19902021-05-06  Jonathan Wakely  <jwakely@redhat.com>
1991
1992	Backported from master:
1993	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
1994
1995	* include/bits/basic_string.h (basic_string(const CharT*, const A&)):
1996	Do not do arithmetic on null pointer.
1997
19982021-05-06  Jonathan Wakely  <jwakely@redhat.com>
1999
2000	Backported from master:
2001	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
2002
2003	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
2004	(find_key_pointer(key_const_reference, false_type))
2005	(find_key_pointer(key_const_reference, true_type)): Do not
2006	dereference null pointer.
2007
20082021-05-06  Jonathan Wakely  <jwakely@redhat.com>
2009
2010	Backported from master:
2011	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
2012
2013	* testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid
2014	overflow.
2015	* testsuite/24_iterators/reverse_iterator/2.cc: Do not add
2016	non-zero value to null pointer.
2017	* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
2018	Use past-the-end iterator for result.
2019	* testsuite/25_algorithms/move_backward/69478.cc: Likewise.
2020	* testsuite/25_algorithms/move_backward/93872.cc: Likewise.
2021
20222021-05-06  Jonathan Wakely  <jwakely@redhat.com>
2023
2024	Backported from master:
2025	2021-05-04  Jonathan Wakely  <jwakely@redhat.com>
2026
2027	PR libstdc++/100384
2028	* include/std/variant (__get_t): New alias template yielding the
2029	return type of std::get<N> on a variant.
2030	(__visit_result_t): New alias template yielding the result of
2031	std::visit.
2032	(__same_types): Move into namespace __detail::__variant.
2033	(__check_visitor_results): Likewise. Use __invoke_result_t and
2034	__get_t.
2035	(__check_visitor_result): Remove.
2036	(visit): Use __visit_result_t for return type.
2037	* testsuite/20_util/variant/100384.cc: New test.
2038
20392021-05-05  Patrick Palka  <ppalka@redhat.com>
2040
2041	Backported from master:
2042	2021-05-05  Patrick Palka  <ppalka@redhat.com>
2043
2044	* include/std/ranges (transform_view::_Iterator::iter_swap):
2045	Remove as per LWG 3520.
2046	(join_view::_Iterator::iter_swap): Add indirectly_swappable
2047	constraint as per LWG 3517.
2048
20492021-05-04  Patrick Palka  <ppalka@redhat.com>
2050
2051	Backported from master:
2052	2021-04-30  Patrick Palka  <ppalka@redhat.com>
2053
2054	* include/std/ranges (split_view::_InnerIter::operator++):
2055	Depend on _Base instead of _Vp directly, as per LWG 3532.
2056
20572021-04-30  Jonathan Wakely  <jwakely@redhat.com>
2058
2059	Backported from master:
2060	2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
2061
2062	* include/bits/basic_string.h (__cpp_lib_constexpr_string):
2063	Only define for C++17 and later.
2064	* include/std/version (__cpp_lib_semaphore): Fix condition
2065	to match the one in <semaphore>.
2066
20672021-04-29  Jonathan Wakely  <jwakely@redhat.com>
2068
2069	Backported from master:
2070	2021-04-26  Jonathan Wakely  <jwakely@redhat.com>
2071
2072	PR libstdc++/100259
2073	* include/experimental/internet (net::ip::make_error_code)
2074	(net::ip::make_error_condition, net::ip::make_network_v4)
2075	(net::ip::operator==(const udp&, const udp&)): Add 'inline'.
2076
20772021-04-29  Jonathan Wakely  <jwakely@redhat.com>
2078
2079	Backported from master:
2080	2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
2081
2082	* include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
2083	* include/std/version (__cpp_lib_constexpr_string): Define.
2084	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
2085	Check for __cpp_lib_constexpr_string.
2086	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
2087	Likewise.
2088	* testsuite/21_strings/char_traits/requirements/version.cc: New test.
2089
20902021-04-28  Jonathan Wakely  <jwakely@redhat.com>
2091
2092	Backported from master:
2093	2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
2094
2095	PR libstdc++/100298
2096	* include/bits/std_thread.h (thread::hardware_concurrency): Add
2097	missing noexcept to inline definition for non-gthreads targets.
2098
20992021-04-28  Jakub Jelinek  <jakub@redhat.com>
2100
2101	Revert:
2102	2021-04-22  Jakub Jelinek  <jakub@redhat.com>
2103
2104	PR target/100182
2105	* testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
2106	ia32.
2107	* testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
2108	ia32.
2109
21102021-04-27  Patrick Palka  <ppalka@redhat.com>
2111
2112	Backported from master:
2113	2021-04-27  Patrick Palka  <ppalka@redhat.com>
2114
2115	PR libstdc++/100290
2116	* include/std/ranges (join_view::_Iterator::operator++): Correct
2117	the return type of the lambda to avoid returning a copy of
2118	_M_parent->_M_inner.
2119	* testsuite/std/ranges/adaptors/join.cc (test10): New test.
2120
21212021-04-27  Release Manager
2122
2123	* GCC 11.1.0 released.
2124
21252021-04-23  Jonathan Wakely  <jwakely@redhat.com>
2126
2127	Backported from master:
2128	2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
2129
2130	* include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
2131	Handle system_clock as well as steady_clock.
2132	* testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable.
2133	* testsuite/30_threads/semaphore/try_acquire_until.cc:
2134	Re-enable.
2135
21362021-04-23  Jonathan Wakely  <jwakely@redhat.com>
2137
2138	Backported from master:
2139	2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
2140
2141	* testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
2142	options for libatomic.
2143
21442021-04-22  Thomas Rodgers  <rodgert@twrodgers.com>
2145
2146	Backported from master:
2147	2021-04-22  Thomas Rodgers  <rodgert@twrodgers.com>
2148
2149	* include/bits/atomic_wait.h: Always notify waiters in the
2150	case of 'bare' address notification.
2151
21522021-04-22  Jonathan Wakely  <jwakely@redhat.com>
2153
2154	Backported from master:
2155	2021-04-22  Jonathan Wakely  <jwakely@redhat.com>
2156
2157	PR libstdc++/100179
2158	* include/bits/semaphore_base.h: Remove #error.
2159	* include/std/semaphore: Do not define anything unless one of
2160	the implementations is available.
2161
21622021-04-22  Jakub Jelinek  <jakub@redhat.com>
2163
2164	Backported from master:
2165	2021-04-22  Jakub Jelinek  <jakub@redhat.com>
2166
2167	PR target/100182
2168	* testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
2169	ia32.
2170	* testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
2171	ia32.
2172
21732021-04-22  Thomas Rodgers  <rodgert@twrodgers.com>
2174
2175	Backported from master:
2176	2021-04-21  Thomas Rodgers  <rodgert@twrodgers.com>
2177
2178	* include/bits/semaphore_base.h: Always reload __old in
2179	__atomic_semaphore::_S_do_try_acquire().
2180	* testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2181	re-enable testcase.
2182
21832021-04-21  Thomas Rodgers  <rodgert@twrodgers.com>
2184
2185	Backported from master:
2186	2021-04-21  Thomas Rodgers  <rodgert@twrodgers.com>
2187
2188	* include/bits/semaphore_base.h: Add missing _M_try_acquire()
2189	member to __platform_wait.
2190
21912021-04-21  Jonathan Wakely  <jwakely@redhat.com>
2192
2193	Backported from master:
2194	2021-04-21  Jonathan Wakely  <jwakely@redhat.com>
2195
2196	* include/std/latch: Replace tab characters in license text.
2197	* include/std/semaphore: Likewise.
2198
21992021-04-21  Jakub Jelinek  <jakub@redhat.com>
2200
2201	Backported from master:
2202	2021-04-21  Jakub Jelinek  <jakub@redhat.com>
2203
2204	PR libstdc++/100164
2205	* acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
2206	rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
2207	* configure: Regenerated.
2208	* config.h.in: Regenerated.
2209
22102021-04-20  Jonathan Wakely  <jwakely@redhat.com>
2211
2212	Backported from master:
2213	2021-04-20  Jonathan Wakely  <jwakely@redhat.com>
2214
2215	* testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
2216	test for targets not using futexes for semaphores.
2217	* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
2218	* testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2219	Disable for all targets.
2220
22212021-04-20  Thomas Rodgers  <trodgers@redhat.com>
2222
2223	Backported from master:
2224	2021-04-20  Thomas Rodgers  <trodgers@redhat.com>
2225
2226	* include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
2227	* include/Makefile.in: Regenerate.
2228	* include/bits/this_thread_sleep.h: New file.
2229	* include/bits/atomic_base.h: Adjust all calls
2230	to __atomic_wait/__atomic_notify for new call signatures.
2231	* include/bits/atomic_timed_wait.h: Extensive rewrite.
2232	* include/bits/atomic_wait.h: Likewise.
2233	* include/bits/semaphore_base.h: Adjust all calls
2234	to __atomic_wait/__atomic_notify for new call signatures.
2235	* include/std/atomic: Likewise.
2236	* include/std/barrier: Likewise.
2237	* include/std/latch: Likewise.
2238	* include/std/semaphore: Likewise.
2239	* include/std/thread (this_thread::sleep_for)
2240	(this_thread::sleep_until): Move to new header.
2241	* testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
2242	test.
2243	* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
2244	* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
2245	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
2246	* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
2247	* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
2248	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
2249
22502021-04-20  Patrick Palka  <ppalka@redhat.com>
2251
2252	Backported from master:
2253	2021-04-20  Patrick Palka  <ppalka@redhat.com>
2254
2255	PR libstdc++/95983
2256	* include/bits/stl_iterator.h (__detail::__move_iter_cat):
2257	Define.
2258	(move_iterator): Derive from the above in C++20 in order to
2259	conditionally define iterator_category as per P2259.
2260	(move_iterator::__base_cat): No longer used, so remove.
2261	(move_iterator::iterator_category): Remove in C++20.
2262	(__detail::__common_iter_use_postfix_proxy): Define.
2263	(common_iterator::_Proxy): Rename to ...
2264	(common_iterator:__arrow_proxy): ... this.
2265	(common_iterator::__postfix_proxy): Define as per P2259.
2266	(common_iterator::operator->): Adjust.
2267	(common_iterator::operator++): Adjust as per P2259.
2268	(iterator_traits<common_iterator>::_S_iter_cat): Define.
2269	(iterator_traits<common_iterator>::iterator_category): Change as
2270	per P2259.
2271	(__detail::__counted_iter_value_type): Define.
2272	(__detail::__counted_iter_concept): Define.
2273	(__detail::__counted_iter_cat): Define.
2274	(counted_iterator): Derive from the above three classes in order
2275	to conditionally define value_type, iterator_concept and
2276	iterator category respectively as per P2259.
2277	(counted_iterator::operator->): Define as per P2259.
2278	(incrementable_traits<counted_iterator>): Remove as per P2259.
2279	(iterator_traits<counted_iterator>): Adjust as per P2259.
2280	* include/std/ranges (__detail::__iota_view_iter_cat): Define.
2281	(iota_view::_Iterator): Derive from the above in order to
2282	conditionally define iterator_category as per P2259.
2283	(iota_view::_S_iter_cat): Rename to ...
2284	(iota_view::_S_iter_concept): ... this.
2285	(iota_view::iterator_concept): Use it to apply LWG 3291 changes.
2286	(iota_view::iterator_category): Remove.
2287	(__detail::__filter_view_iter_cat): Define.
2288	(filter_view::_Iterator): Derive from the above in order to
2289	conditionally define iterator_category as per P2259.
2290	(filter_view::_Iterator): Move to struct __filter_view_iter_cat.
2291	(filter_view::_Iterator::iterator_category): Remove.
2292	(transform_view::_Base): Define.
2293	(transform_view::__iter_cat): Define.
2294	(transform_view::_Iterator): Derive from the above in order to
2295	conditionally define iterator_category as per P2259.
2296	(transform_view::_Iterator::_Base): Just alias
2297	transform_view::_Base.
2298	(transform_view::_Iterator::_S_iter_cat): Move to struct
2299	transform_view::__iter_cat.
2300	(transform_view::_Iterator::iterator_category): Remove.
2301	(transform_view::_Sentinel::_Base): Just alias
2302	transform_view::_Base.
2303	(join_view::_Base): Define.
2304	(join_view::_Outer_iter): Define.
2305	(join_view::_Inner_iter): Define.
2306	(join_view::_S_ref_is_glvalue): Define.
2307	(join_view::__iter_cat): Define.
2308	(join_view::_Iterator): Derive from it in order to conditionally
2309	define iterator_category as per P2259.
2310	(join_view::_Iterator::_Base): Just alias join_view::_Base.
2311	(join_view::_Iterator::_S_ref_is_glvalue): Just alias
2312	join_view::_S_ref_is_glvalue.
2313	(join_view::_Iterator::_S_iter_cat): Move to struct
2314	transform_view::__iter_cat.
2315	(join_view::_Iterator::_Outer_iter): Just alias
2316	join_view::_Outer_iter.
2317	(join_view::_Iterator::_Inner_iter): Just alias
2318	join_view::_Inner_iter.
2319	(join_view::_Iterator::iterator_category): Remove.
2320	(join_view::_Sentinel::_Base): Just alias join_view::_Base.
2321	(__detail::__split_view_outer_iter_cat): Define.
2322	(__detail::__split_view_inner_iter_cat): Define.
2323	(split_view::_Base): Define.
2324	(split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
2325	in order to conditionally define iterator_category as per P2259.
2326	(split_view::_Outer_iter::iterator_category): Remove.
2327	(split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
2328	in order to conditionally define iterator_category as per P2259.
2329	(split_view::_Inner_iter::_S_iter_cat): Move to
2330	__split_view_inner_iter_cat.
2331	(split_view::_Inner_iter::iterator_category): Remove.
2332	(elements_view::_Base): Define.
2333	(elements_view::__iter_cat): Define.
2334	(elements_view::_Iterator): Derive from the above in order to
2335	conditionall define iterator_category as per P2259.
2336	(elements_view::_Iterator::_Base): Just alias
2337	elements_view::_Base.
2338	(elements_view::_Iterator::_S_iter_concept)
2339	(elements_view::_Iterator::iterator_concept): Define as per
2340	P2259.
2341	(elements_view::_Iterator::iterator_category): Remove.
2342	(elements_view::_Sentinel::_Base): Just alias
2343	elements_view::_Base.
2344	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
2345	Adjust constraints on iterator_traits<counted_iterator>.
2346	* testsuite/std/ranges/p2259.cc: New test.
2347
23482021-04-20  Jonathan Wakely  <jwakely@redhat.com>
2349
2350	Backported from master:
2351	2021-04-20  Jonathan Wakely  <jwakely@redhat.com>
2352
2353	PR libstdc++/100146
2354	* include/std/charconv (__cpp_lib_to_chars): Define
2355	conditionally.
2356	* include/std/version (__cpp_lib_to_chars): Likewise..
2357	* testsuite/20_util/from_chars/4.cc: Only check feature test
2358	macro, not _GLIBCXX_HAVE_USELOCALE.
2359	* testsuite/20_util/from_chars/5.cc: Likewise.
2360	* testsuite/20_util/from_chars/6.cc: Likewise.
2361	* testsuite/20_util/to_chars/long_double.cc: Likewise.
2362
23632021-04-20  Jakub Jelinek  <jakub@redhat.com>
2364
2365	Backported from master:
2366	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
2367
2368	* testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
2369	versions with _IEEE128_ substring are found, set ieee_version_found
2370	to true.  Ignore missing symbols with _IEEE128_ in version name if
2371	!ieee_version_found.  Use i->first as version_name instead of
2372	i->second.version_name if the latter is empty.
2373	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2374
23752021-04-19  H.J. Lu  <hjl.tools@gmail.com>
2376
2377	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
2378	Updated.
2379
23802021-04-17  Jakub Jelinek  <jakub@redhat.com>
2381
2382	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
2383	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2384
23852021-04-17  Jakub Jelinek  <jakub@redhat.com>
2386
2387	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2388	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2389	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2390	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2391	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2392	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2393
23942021-04-15  Jonathan Wakely  <jwakely@redhat.com>
2395
2396	* testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
2397	add libatomic options for 32-bit sparc*-*-linux-gnu.
2398
23992021-04-15  Jonathan Wakely  <jwakely@redhat.com>
2400
2401	PR libstdc++/96657
2402	* libsupc++/Makefile.am: Add atomicity.cc here.
2403	* src/c++98/Makefile.am: Remove it from here.
2404	* libsupc++/Makefile.in: Regenerate.
2405	* src/c++98/Makefile.in: Regenerate.
2406	* testsuite/18_support/exception_ptr/96657.cc: New test.
2407
24082021-04-13  Jonathan Wakely  <jwakely@redhat.com>
2409
2410	PR libstdc++/100060
2411	* include/std/bit: Only include <ext/numeric_traits.h> for
2412	hosted build, use <limits> otherwise.
2413
24142021-04-13  Jonathan Wakely  <jwakely@redhat.com>
2415
2416	* doc/xml/manual/backwards_compatibility.xml: Remove porting
2417	notes for libg++ and libstdc++-v2, and bibliography.
2418	* doc/html/*: Regenerated.
2419
24202021-04-12  Jonathan Wakely  <jwakely@redhat.com>
2421
2422	PR libstdc++/100044
2423	* include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
2424	Remove helper concept.
2425	(subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
2426	deduction guides, as per LWG 3404.
2427	* testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
2428	template argument deduction fails.
2429
24302021-04-12  Jonathan Wakely  <jwakely@redhat.com>
2431
2432	* testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
2433	Adjust expected error for C++20 mode.
2434	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
2435	Likewise.
2436
24372021-04-12  Jonathan Wakely  <jwakely@redhat.com>
2438
2439	PR libstdc++/99995
2440	* testsuite/17_intro/headers/c++1998/49745.cc: Include all
2441	standard headers and XFAIL for effective-target c++20.
2442
24432021-04-09  François Dumont  <fdumont@gcc.gnu.org>
2444
2445	PR libstdc++/99402
2446	* include/debug/helper_functions.h (__can_advance(_InputIterator,
2447	const std::pair<_Diff, _Distance_precision>&, int)): New.
2448	(__can_advance(const _Safe_iterator<>&,
2449	const std::pair<_Diff, _Distance_precision>&, int)): New.
2450	* include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
2451	use latter.
2452	(__glibcxx_check_can_increment_range): Adapt to use latter.
2453	(__glibcxx_check_can_decrement_range): Likewise.
2454	* include/debug/safe_iterator.h
2455	(_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
2456	int)): New.
2457	(__can_advance(const _Safe_iterator<>&,
2458	const std::pair<_Diff, _Distance_precision>&, int)): New.
2459	* include/debug/safe_iterator.tcc
2460	(_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
2461	int)): New.
2462	(_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
2463	std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
2464	__dp_sign_max_size.
2465	(__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
2466	(__copy_move_backward_a): Likewise.
2467	(__equal_aux): Likewise.
2468	* include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
2469	const std::pair<_Diff, _Distance_precision>&, int)): New.
2470	(__can_advance(const std::move_iterator<>&,
2471	const std::pair<_Diff, _Distance_precision>&, int)): New.
2472	* testsuite/25_algorithms/copy/debug/99402.cc: New test.
2473
24742021-04-09  Jonathan Wakely  <jwakely@redhat.com>
2475
2476	PR libstdc++/99985
2477	* include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
2478	to be a valid constexpr function in C++11.
2479	* testsuite/23_containers/unordered_set/cons/99985.cc: New test.
2480
24812021-04-09  Jonathan Wakely  <jwakely@redhat.com>
2482
2483	* include/bits/fs_fwd.h: Fix doxygen group command.
2484	* include/bits/streambuf_iterator.h: Likewise.
2485	* include/bits/uses_allocator_args.h: Likewise.
2486	* include/std/memory: Likewise.
2487	* include/tr1/complex: Likewise.
2488
24892021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2490
2491	* include/bits/basic_string.h: Tweak doxygen comment.
2492
24932021-04-08  Patrick Palka  <ppalka@redhat.com>
2494
2495	* include/std/ranges (__detail::find): Define.
2496	(split_view::_OuterIter::operator++): Apply proposed resolution
2497	of LWG 3505.
2498	* testsuite/std/ranges/adaptors/split.cc (test10): New test.
2499
25002021-04-08  Patrick Palka  <ppalka@redhat.com>
2501
2502	* include/std/ranges (__detail::find_if): Simplify.
2503	(__detail::find_if_not): Likewise.
2504	(__detail::min): Remove.
2505	(__detail::mismatch): Simplify.
2506	(take_view::size): Use std::min instead of __detail::min.
2507
25082021-04-08  Patrick Palka  <ppalka@redhat.com>
2509
2510	* include/std/ranges (__detail::__returnable_element): New
2511	concept.
2512	(elements_view): Use this concept in its constraints.  Add
2513	missing private access specifier.
2514	(elements_view::_S_get_element): Define as per LWG 3502.
2515	(elements_view::operator*, elements_view::operator[]): Use
2516	_S_get_element.
2517	(elements_view::operator++): Remove unnecessary constraint
2518	as per LWG 3492.
2519	* testsuite/std/ranges/adaptors/elements.cc (test05): New test.
2520
25212021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2522
2523	* doc/Makefile.am (stamp-pdf-doxygen): Also grep for
2524	out-of-memory error in log file.
2525	* doc/Makefile.in: Regenerate.
2526
25272021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2528
2529	* configure: Regenerate.
2530
25312021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2532
2533	* include/bits/random.h: Fix doxygen group commands.
2534	* include/bits/regex_constants.h: Likewise.
2535	* include/tr1/random.h: Likewise.
2536
25372021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2538
2539	* include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
2540	New function to determine noexcept-specifier for move
2541	constructors.
2542	(_Hashtable): Use _S_nothrow_move() on move constructors.
2543	* testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
2544	Correct static assertion message.
2545	* testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
2546	Likewise.
2547	* testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
2548	Likewise.
2549	* testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
2550	Likewise.
2551
25522021-04-08  Patrick Palka  <ppalka@redhat.com>
2553
2554	PR libstdc++/98384
2555	* testsuite/20_util/to_chars/long_double.cc: Don't run the test
2556	on targets without a large long double.  XFAIL the execution on
2557	targets with a non-conforming printf.
2558
25592021-04-08  Patrick Palka  <ppalka@redhat.com>
2560
2561	PR libstdc++/99433
2562	* include/std/ranges (__adaptor::__maybe_refwrap): Remove.
2563	(__adaptor::__adaptor_invocable): New concept.
2564	(__adaptor::__adaptor_partial_app_viable): New concept.
2565	(__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
2566	non-template base class.
2567	(__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
2568	class template.
2569	(__adaptor::_Partial): New class template that represents
2570	partial application of a range adaptor non-closure.
2571	(__adaptor::__pipe_invocable): New concept.
2572	(__adaptor::_Pipe): New class template.
2573	(__detail::__can_ref_view): New concept.
2574	(__detail::__can_subrange): New concept.
2575	(all): Replace the lambda here with ...
2576	(_All): ... this functor.  Add appropriate constraints.
2577	(__detail::__can_filter_view): New concept.
2578	(filter, _Filter): As in all/_All.
2579	(__detail::__can_transform): New concept.
2580	(transform, _Transform): As in all/_All.
2581	(__detail::__can_take_view): New concept.
2582	(take, _Take): As in all/_All.
2583	(__detail::__can_take_while_view): New concept.
2584	(take_while, _TakeWhile): As in all/_All.
2585	(__detail::__can_drop_view): New concept.
2586	(drop, _Drop): As in all/_All.
2587	(__detail::__can_drop_while_view): New concept.
2588	(drop_while, _DropWhile): As in all/_All.
2589	(__detail::__can_join_view): New concept.
2590	(join, _Join): As in all/_All.
2591	(__detail::__can_split_view): New concept.
2592	(split, _Split): As in all/_All.  Rename template parameter
2593	_Fp to _Pattern.
2594	(__detail::__already_common): New concept.
2595	(__detail::__can_common_view): New concept.
2596	(common, _Common): As in all/_All.
2597	(__detail::__can_reverse_view): New concept.
2598	(reverse, _Reverse): As in all/_All.
2599	(__detail::__can_elements_view): New concept.
2600	(elements, _Elements): As in all/_All.
2601	(keys, values): Adjust.
2602	* testsuite/std/ranges/adaptors/99433.cc: New test.
2603	* testsuite/std/ranges/adaptors/all.cc: No longer expect that
2604	adding empty range adaptor closure objects to a pipeline doesn't
2605	increase the size of the pipeline.
2606	(test05): New test.
2607	* testsuite/std/ranges/adaptors/common.cc (test03): New test.
2608	* testsuite/std/ranges/adaptors/drop.cc (test09): New test.
2609	* testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
2610	* testsuite/std/ranges/adaptors/elements.cc (test04): New test.
2611	* testsuite/std/ranges/adaptors/filter.cc (test06): New test.
2612	* testsuite/std/ranges/adaptors/join.cc (test09): New test.
2613	* testsuite/std/ranges/adaptors/p2281.cc: New test.
2614	* testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
2615	* testsuite/std/ranges/adaptors/split.cc (test01, test04):
2616	Adjust.
2617	(test09): New test.
2618	* testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
2619	expected error message.
2620	(test02): Likewise.  Extend test.
2621	* testsuite/std/ranges/adaptors/take.cc (test06): New test.
2622	* testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
2623	* testsuite/std/ranges/adaptors/transform.cc (test07, test08):
2624	New test.
2625
26262021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2627
2628	* include/std/string_view: Adjust Doxygen @file comment.
2629
26302021-04-08  Jonathan Wakely  <jwakely@redhat.com>
2631
2632	* include/std/type_traits (is_scoped_enum<T>): Constrain partial
2633	specialization to not match incomplete enum types. Use a
2634	requires-expression instead of instantiating is_convertible.
2635	(is_scoped_enum<const T>): Add as workaround for PR c++/99968.
2636	* testsuite/20_util/is_scoped_enum/value.cc: Check with
2637	incomplete types and opaque-enum-declarations.
2638
26392021-04-07  Jonathan Wakely  <jwakely@redhat.com>
2640
2641	PR libstdc++/99805
2642	* src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
2643	non-const member on _M_pathname, to avoid copy-on-write.
2644	* testsuite/27_io/filesystem/path/decompose/parent_path.cc:
2645	Check construction from strings that might be shared.
2646
26472021-04-06  Jonathan Wakely  <jwakely@redhat.com>
2648
2649	* include/bits/move.h (forward, move, move_if_noexcept)
2650	(addressof): Add _GLIBCXX_NODISCARD.
2651	* include/bits/ranges_cmp.h (identity::operator()): Add
2652	nodiscard attribute.
2653	* include/c_global/cstddef (to_integer): Likewise.
2654	* include/std/bit (bit_cast): Likewise.
2655	* include/std/utility (as_const, to_underlying): Likewise.
2656
26572021-04-06  Jonathan Wakely  <jwakely@redhat.com>
2658
2659	* include/bits/move.h (forward): Change static_assert message
2660	to be unambiguous about what must be true.
2661	* testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
2662	* testsuite/20_util/forward/f_neg.cc: Likewise.
2663
26642021-04-06  Jonathan Wakely  <jwakely@redhat.com>
2665
2666	* include/bits/alloc_traits.h: Use markdown for code font.
2667	* include/bits/basic_string.h: Fix @param names.
2668	* include/bits/max_size_type.h: Remove period after @file.
2669	* include/bits/regex.h: Fix duplicate @retval names, and rename.
2670	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
2671	group open to match existing group close.
2672	* include/ext/pb_ds/priority_queue.hpp: Add blank line before group
2673	open.
2674
26752021-04-06  Jonathan Wakely  <jwakely@redhat.com>
2676
2677	* include/bits/atomic_base.h: Fix doxygen group close.
2678	* include/bits/basic_ios.h: Likewise.
2679	* include/bits/forward_list.h: Likewise.
2680	* include/bits/fs_dir.h: Likewise.
2681	* include/bits/fs_ops.h: Likewise.
2682	* include/bits/fs_path.h: Likewise.
2683	* include/bits/functional_hash.h: Likewise.
2684	* include/bits/gslice.h: Likewise.
2685	* include/bits/gslice_array.h: Likewise.
2686	* include/bits/hashtable_policy.h: Likewise.
2687	* include/bits/indirect_array.h: Likewise.
2688	* include/bits/locale_classes.h: Likewise.
2689	* include/bits/locale_facets.h: Likewise.
2690	* include/bits/locale_facets_nonio.h: Likewise.
2691	* include/bits/mask_array.h: Likewise.
2692	* include/bits/refwrap.h: Likewise.
2693	* include/bits/regex.h: Likewise.
2694	* include/bits/regex_automaton.h: Likewise.
2695	* include/bits/regex_compiler.h: Likewise.
2696	* include/bits/regex_constants.h: Likewise.
2697	* include/bits/regex_error.h: Likewise.
2698	* include/bits/regex_executor.h: Likewise.
2699	* include/bits/regex_scanner.h: Likewise.
2700	* include/bits/shared_ptr.h: Likewise.
2701	* include/bits/shared_ptr_atomic.h: Likewise.
2702	* include/bits/shared_ptr_base.h: Likewise.
2703	* include/bits/slice_array.h: Likewise.
2704	* include/bits/specfun.h: Likewise.
2705	* include/bits/std_function.h: Likewise.
2706	* include/bits/std_mutex.h: Likewise.
2707	* include/bits/stl_deque.h: Likewise.
2708	* include/bits/stl_iterator.h: Likewise.
2709	* include/bits/stl_iterator_base_types.h: Likewise.
2710	* include/bits/stl_map.h: Likewise.
2711	* include/bits/stl_multimap.h: Likewise.
2712	* include/bits/stl_multiset.h: Likewise.
2713	* include/bits/stl_numeric.h: Likewise.
2714	* include/bits/stl_pair.h: Likewise.
2715	* include/bits/stl_set.h: Likewise.
2716	* include/bits/stl_uninitialized.h: Likewise.
2717	* include/bits/stream_iterator.h: Likewise.
2718	* include/bits/streambuf_iterator.h: Likewise.
2719	* include/bits/unique_ptr.h: Likewise.
2720	* include/bits/unordered_map.h: Likewise.
2721	* include/bits/unordered_set.h: Likewise.
2722	* include/decimal/decimal: Likewise.
2723	* include/experimental/any: Likewise.
2724	* include/experimental/array: Likewise.
2725	* include/experimental/bits/fs_dir.h: Likewise.
2726	* include/experimental/bits/fs_fwd.h: Likewise.
2727	* include/experimental/bits/fs_ops.h: Likewise.
2728	* include/experimental/bits/fs_path.h: Likewise.
2729	* include/experimental/buffer: Likewise.
2730	* include/experimental/internet: Likewise.
2731	* include/experimental/optional: Likewise.
2732	* include/experimental/propagate_const: Likewise.
2733	* include/experimental/socket: Likewise.
2734	* include/ext/pb_ds/assoc_container.hpp: Likewise.
2735	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
2736	Likewise.
2737	* include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
2738	* include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
2739	* include/ext/pb_ds/detail/types_traits.hpp: Likewise.
2740	* include/ext/pb_ds/exception.hpp: Likewise.
2741	* include/ext/pb_ds/priority_queue.hpp: Likewise.
2742	* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
2743	* include/ext/random: Likewise.
2744	* include/std/any: Likewise.
2745	* include/std/atomic: Likewise.
2746	* include/std/bitset: Likewise.
2747	* include/std/chrono: Likewise.
2748	* include/std/complex: Likewise.
2749	* include/std/condition_variable: Likewise.
2750	* include/std/fstream: Likewise.
2751	* include/std/future: Likewise.
2752	* include/std/iostream: Likewise.
2753	* include/std/istream: Likewise.
2754	* include/std/mutex: Likewise.
2755	* include/std/numeric: Likewise.
2756	* include/std/ostream: Likewise.
2757	* include/std/ratio: Likewise.
2758	* include/std/shared_mutex: Likewise.
2759	* include/std/stdexcept: Likewise.
2760	* include/std/streambuf: Likewise.
2761	* include/std/system_error: Likewise.
2762	* include/std/thread: Likewise.
2763	* include/std/valarray: Likewise.
2764	* include/std/variant: Likewise.
2765	* include/tr1/cmath: Likewise.
2766	* include/tr1/regex: Likewise.
2767	* include/tr2/dynamic_bitset: Likewise.
2768	* libsupc++/atomic_lockfree_defines.h: Likewise.
2769	* libsupc++/exception: Likewise.
2770	* libsupc++/exception.h: Likewise.
2771	* libsupc++/exception_ptr.h: Likewise.
2772	* libsupc++/nested_exception.h: Likewise.
2773
27742021-03-31  Alexandre Oliva  <oliva@adacore.com>
2775
2776	* testsuite/30_threads/future/members/poll.cc: Use faster
2777	after-ready call in the calibration loop.
2778
27792021-03-29  Jonathan Wakely  <jwakely@redhat.com>
2780
2781	* doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
2782	* doc/html/manual/status.html: Regenerate.
2783
27842021-03-28  François Dumont  <fdumont@gcc.gnu.org>
2785
2786	* include/debug/forward_list
2787	(forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
2788	* include/debug/list (list(list&&, const allocator_type&)): Likewise and add
2789	call to safe container allocator aware move constructor.
2790	* include/debug/vector (vector(vector&&, const allocator_type&)):
2791	Fix noexcept qualification.
2792	* testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
2793	Add allocator-extended move constructor noexceot qualification check.
2794	* testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
2795
27962021-03-26  Jonathan Wakely  <jwakely@redhat.com>
2797
2798	* src/c++11/random.cc (USE_LCG): Define when a pseudo-random
2799	fallback is needed.
2800	[USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
2801	New helper functions and callback.
2802	(random_device::_M_init): Add 'prng' and 'all' enumerators.
2803	Replace switch with fallthrough with a series of 'if' statements.
2804	[USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
2805	checks fail.
2806	(random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
2807	token.
2808	(random_device::_M_getval): Check for callback unconditionally
2809	and always pass _M_file pointer.
2810	* testsuite/26_numerics/random/random_device/85494.cc: Remove
2811	effective-target check. Use new random_device_available helper.
2812	* testsuite/26_numerics/random/random_device/94087.cc: Likewise.
2813	* testsuite/26_numerics/random/random_device/cons/default-cow.cc:
2814	Remove effective-target check.
2815	* testsuite/26_numerics/random/random_device/cons/default.cc:
2816	Likewise.
2817	* testsuite/26_numerics/random/random_device/cons/token.cc: Use
2818	new random_device_available helper. Test "prng" token.
2819	* testsuite/util/testsuite_random.h (random_device_available):
2820	New helper function.
2821
28222021-03-25  François Dumont  <fdumont@gcc.gnu.org>
2823
2824	* include/debug/string
2825	(basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
2826	(basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
2827	(basic_string<>::erase): Adapt to take __const_iterator.
2828	(basic_string(const _CharT*, const _Allocator&)): Remove assign call.
2829	(basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
2830	remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
2831	[_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
2832	(__gnu_debug::u16string, __gnu_debug::u32string): New.
2833	(std::hash<__gnu_debug::basic_string<>>): New partial specialization.
2834	(std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
2835	* testsuite/util/exception/safety.h
2836	(erase_base<__gnu_debug::basic_string<>>): New partial specialization.
2837	(insert_base<__gnu_debug::basic_string<>>): Likewise.
2838	* testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
2839	New partial specialization.
2840	* testsuite/21_strings/basic_string/hash/debug.cc: New test.
2841	* testsuite/21_strings/basic_string/requirements/citerators.cc:
2842	Add test on __gnu_debug::string.
2843	* testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
2844	* testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
2845	* testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
2846	Likewise.
2847	* testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
2848	Likewise.
2849	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
2850	Likewise.
2851	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
2852	Likewise.
2853	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
2854	Likewise.
2855	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
2856	Likewise.
2857	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
2858	Likewise.
2859	* testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
2860
28612021-03-25  Jakub Jelinek  <jakub@redhat.com>
2862
2863	PR c++/99672
2864	* testsuite/18_support/source_location/consteval.cc (main): Adjust
2865	expected column numbers.
2866	* testsuite/18_support/source_location/1.cc (main): Likewise.
2867
28682021-03-25  Jonathan Wakely  <jwakely@redhat.com>
2869
2870	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
2871
28722021-03-25  Jonathan Wakely  <jwakely@redhat.com>
2873
2874	* testsuite/util/exception/safety.h (setup_base::generate):
2875	Support seeding random engine.
2876	(erase_point, erase_range): Adjust range of random numbers to
2877	ensure dereferenceable iterators are used where required.
2878	(generation_prohibited::run): Do not try to erase from empty
2879	containers.
2880	* testsuite/util/testsuite_containergen.h (test_containers):
2881	Support seeding random engine.
2882
28832021-03-23  Jonathan Wakely  <jwakely@redhat.com>
2884
2885	* testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
2886	line with a check that uses the const being/end overloads.
2887
28882021-03-23  Moritz Sichert  <sichert@in.tum.de>
2889
2890	* include/std/ranges (reverse_view::begin, reverse_view::end):
2891	Qualify make_reverse_iterator calls to avoid ADL.
2892	* testsuite/std/ranges/adaptors/reverse.cc: Test that
2893	views::reverse works when make_reverse_iterator is defined
2894	in an associated namespace.
2895
28962021-03-23  Jonathan Wakely  <jwakely@redhat.com>
2897
2898	* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
2899	Do not define when compiling with Clang.
2900
29012021-03-22  Jonathan Wakely  <jwakely@redhat.com>
2902
2903	* include/std/string_view (basic_string_view(Range&&)): Define new
2904	constructor and deduction guide.
2905	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
2906	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
2907
29082021-03-22  Jonathan Wakely  <jwakely@redhat.com>
2909
2910	* include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
2911	Add missing 'noexcept' as per LWG 2280.
2912	(rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
2913	(rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
2914	* testsuite/24_iterators/range_access/range_access.cc: Check for
2915	expected noexcept specifiers. Check result types of generic
2916	std::begin and std::end overloads.
2917	* testsuite/24_iterators/range_access/range_access_cpp14.cc:
2918	Check for expected noexcept specifiers.
2919	* testsuite/24_iterators/range_access/range_access_cpp17.cc:
2920	Likewise.
2921
29222021-03-19  Jonathan Wakely  <jwakely@redhat.com>
2923
2924	* include/std/type_traits (is_scoped_enum): Define.
2925	* include/std/version (__cpp_lib_is_scoped_enum): Define.
2926	* testsuite/20_util/is_scoped_enum/value.cc: New test.
2927	* testsuite/20_util/is_scoped_enum/version.cc: New test.
2928
29292021-03-16  Jonathan Wakely  <jwakely@redhat.com>
2930
2931	PR libstdc++/99341
2932	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
2933	std::once_flag symbols.
2934	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
2935	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2936	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
2937	Likewise.
2938	* config/abi/pre/gnu.ver: Likewise.
2939	* src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
2940	(struct __once_flag_compat): Remove.
2941	(_ZNSt9once_flag11_M_activateEv): Remove.
2942	(_ZNSt9once_flag9_M_finishEb): Remove.
2943
29442021-03-16  Jonathan Wakely  <jwakely@redhat.com>
2945
2946	PR libstdc++/99341
2947	* include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
2948	Revert to pthread_once_t implementation.
2949	[_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
2950	* src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
2951	(struct __once_flag_compat): New type matching the reverted
2952	implementation of once_flag using futexes.
2953	(once_flag::_M_activate): Remove, replace with ...
2954	(_ZNSt9once_flag11_M_activateEv): ... alias symbol.
2955	(once_flag::_M_finish): Remove, replace with ...
2956	(_ZNSt9once_flag9_M_finishEb): ... alias symbol.
2957	* testsuite/30_threads/call_once/66146.cc: Removed.
2958
29592021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
2960
2961	* testsuite/17_intro/names.cc: Exclude j from the list
2962	of test symbols for Darwin.
2963
29642021-03-15  Iain Sandoe  <iain@sandoe.co.uk>
2965
2966	* config/os/bsd/darwin/ppc-extra.ver: Add matching for
2967	to_chars and from_chars for long double.
2968
29692021-03-15  Patrick Palka  <ppalka@redhat.com>
2970
2971	* include/bits/max_size_type.h (__max_size_type::operator _Tp):
2972	Fix formatting.
2973	(__max_size_type::operator++): Define.
2974	(__max_size_type::operator--): Likewise.
2975	(__max_size_type::operator<=>): Conditionally define (in place
2976	of the other comparison operators).
2977	(__max_diff_type::operator _Tp): Fix formatting.
2978	(__max_diff_type::operator++): Define.
2979	(__max_diff_type::operator--): Likewise.
2980	(__max_diff_type::operator<=>): Conditionally define (in place
2981	of the other comparison operators).
2982	* testsuite/std/ranges/iota/max_size_type.cc (test01): Test
2983	these operator overloads.
2984
29852021-03-15  Caroline Tice  <cmtice@google.com>
2986
2987	PR libstdc++/99172
2988	* src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
2989	AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
2990	AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
2991	filtered out.
2992	* src/Makefile.in: Regenerate.
2993
29942021-03-11  Patrick Palka  <ppalka@redhat.com>
2995
2996	* src/c++17/floating_to_chars.cc: Simplify the file as if
2997	__SIZEOF_INT128__ is always defined.
2998	[!defined __SIZEOF_INT128__]: Include "uint128_t.h".  Define
2999	a base-10 to_chars overload for the uint128_t class type.
3000	* src/c++17/uint128_t.h: New file.
3001	* testsuite/20_util/to_chars/long_double.cc: No longer expect an
3002	execution FAIL on targets that have a large long double type
3003	but lack __int128.
3004
30052021-03-11  Patrick Palka  <ppalka@redhat.com>
3006
3007	* src/c++17/ryu/LOCAL_PATCHES: Update.
3008	* src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
3009	* src/c++17/ryu/generic_128.h: Likewise.
3010	* src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
3011	Use uint128_t instead of __uint128_t.
3012	(generic_binary_to_decimal): Likewise.
3013
30142021-03-11  Patrick Palka  <ppalka@redhat.com>
3015
3016	* src/c++17/ryu/LOCAL_PATCHES: New file.
3017
30182021-03-11  Patrick Palka  <ppalka@redhat.com>
3019
3020	* src/c++17/floating_to_chars.cc (uint128_t): New conditionally
3021	defined alias of unsigned __int128.
3022	(floating_type_traits_binary128::mantissa_t): Use uint128_t
3023	instead of unsigned __int128.
3024	(floating_type_traits<long double>::mantissa_t)
3025	[LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
3026	(get_ieee_repr): Likewise.  Make casts from uint_t to mantissa_t
3027	and uint32_t explicit.  Simplify the extraction of mantissa,
3028	exponent and sign bit.
3029
30302021-03-11  Jonathan Wakely  <jwakely@redhat.com>
3031
3032	* include/std/barrier (barrier::arrival_token): New move-only
3033	class that encapsulates the underlying token value.
3034
30352021-03-11  Jonathan Wakely  <jwakely@redhat.com>
3036
3037	* python/libstdcxx/v6/printers.py (find_type): Use tag attribute
3038	instead of unqualified() method.
3039
30402021-03-11  Jonathan Wakely  <jwakely@redhat.com>
3041
3042	PR libstdc++/99537
3043	* include/std/stop_token (_Stop_state_t::_M_release_ownership):
3044	Use acq_rel memory ordering.
3045
30462021-03-11  Jonathan Wakely  <jwakely@redhat.com>
3047
3048	PR libstdc++/99533
3049	* src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
3050	helper function to check for permission denied errors.
3051	* src/filesystem/dir.cc (recursive_directory_iterator):
3052	Likewise.
3053	* src/filesystem/dir-common.h (is_permission_denied_error): New
3054	helper function.
3055
30562021-03-11  Jonathan Wakely  <jwakely@redhat.com>
3057
3058	PR libstdc++/99536
3059	* include/bits/random.h (normal_distribution): Use
3060	default-initializer for _M_saved and _M_saved_available.
3061
30622021-03-10  John David Anglin  <danglin@gcc.gnu.org>
3063
3064	* testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
3065	link with libatomic.
3066	* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
3067	* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
3068	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
3069	* testsuite/30_threads/barrier/arrive.cc: Likewise.
3070	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
3071	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
3072	* testsuite/30_threads/barrier/completion.cc: Likewise.
3073	* testsuite/30_threads/latch/3.cc: Likewise.
3074	* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
3075	* testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
3076	* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
3077
30782021-03-10  Jonathan Wakely  <jwakely@redhat.com>
3079
3080	PR libstdc++/99413
3081	* include/bits/align.h: Include debug/assertions.h.
3082	* include/bits/codecvt.h: Include bits/c++config.h.
3083	* include/bits/enable_special_members.h: Likewise.
3084	* include/bits/erase_if.h: Likewise.
3085	* include/bits/functional_hash.h: Include <type_traits>.
3086	* include/bits/invoke.h: Include bits/move.h.
3087	* include/bits/ostream_insert.h: Include bits/exception_defines.h.
3088	* include/bits/parse_numbers.h: Include <type_traits>.
3089	* include/bits/predefined_ops.h: Include bits/c++config.h.
3090	* include/bits/range_access.h: Include bits/stl_iterator.h.
3091	* include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
3092	* include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
3093	* include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
3094	* include/bits/uniform_int_dist.h: Include bits/concept_check.h.
3095	* include/bits/unique_lock.h: Include bits/std_mutex.h.
3096	* include/debug/assertions.h: Include bits/c++config.h.
3097
30982021-03-10  Jonathan Wakely  <jwakely@redhat.com>
3099
3100	* include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
3101	(ranges::equal_to, ranges::not_equal_to): Do not constrain
3102	with __eq_builtin_ptr_cmp.
3103	(ranges::less, ranges::greater, ranges::less_equal)
3104	(ranges::greater_equal): Do not constrain with
3105	__less_builtin_ptr_cmp.
3106	* libsupc++/compare (compare_three_way): Do not constrain with
3107	__3way_builtin_ptr_cmp.
3108	* testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
3109	* testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
3110	* testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
3111
31122021-03-10  Jonathan Wakely  <jwakely@redhat.com>
3113
3114	* testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
3115	C++20 calendar types.
3116
31172021-03-06  Jakub Jelinek  <jakub@redhat.com>
3118
3119	PR libstdc++/99396
3120	* include/std/bit (__rotl, __rotr): Add optimized variants for power of
3121	two _Nd which the compiler can pattern match the rotates.
3122
31232021-03-04  Jonathan Wakely  <jwakely@redhat.com>
3124
3125	PR libstdc++/99382
3126	* testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
3127	Make storage larger than required. Verify no write to the last
3128	element.
3129	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
3130	Likewise.
3131
31322021-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3133
3134	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
3135	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
3136	Likewise.
3137	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
3138	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
3139	Likewise.
3140
31412021-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3142
3143	* include/experimental/bits/simd.h: Replace reserved _X, _B by
3144	_Xp, _Bp.
3145	* include/experimental/bits/simd_builtin.h: Likewise.
3146	* include/experimental/bits/simd_x86.h: Likewise.
3147
31482021-02-27  Jonathan Wakely  <jwakely@redhat.com>
3149
3150	PR libstdc++/99301
3151	* include/std/chrono (year_month_day::_M_days_since_epoch()):
3152	Convert chrono::month and chrono::day to unsigned before
3153	converting to uint32_t.
3154
31552021-02-25  Jonathan Wakely  <jwakely@redhat.com>
3156
3157	* include/std/chrono (year_month_day::_S_from_days): Perform
3158	all calculations with type uint32_t.
3159
31602021-02-25  Jonathan Wakely  <jwakely@redhat.com>
3161
3162	* doc/xml/manual/abi.xml: Document versioning for GCC 11.
3163	* doc/html/manual/abi.html: Regenerate.
3164
31652021-02-25  Jonathan Wakely  <jwakely@redhat.com>
3166
3167	PR libstdc++/99270
3168	* testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
3169	FILE instead of FILE.
3170
31712021-02-25  Andreas Schwab  <schwab@suse.de>
3172
3173	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3174	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3175	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3176	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
3177
31782021-02-25  Jonathan Wakely  <jwakely@redhat.com>
3179
3180	PR libstdc++/99265
3181	* include/std/chrono (year_month_day::_S_from_days): Cast long
3182	to int explicitly.
3183
31842021-02-25  Jonathan Wakely  <jwakely@redhat.com>
3185
3186	* include/std/utility (to_underlying): Define.
3187	* include/std/version (__cpp_lib_to_underlying): Define.
3188	* testsuite/20_util/to_underlying/1.cc: New test.
3189	* testsuite/20_util/to_underlying/version.cc: New test.
3190
31912021-02-24  Jonathan Wakely  <jwakely@redhat.com>
3192
3193	PR libstdc++/99261
3194	* src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
3195	before value to be printed.
3196
31972021-02-24  Patrick Palka  <ppalka@redhat.com>
3198
3199	* src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
3200	Relax the condition that guards the printf code path to accept
3201	F128_type as well as long double.
3202
32032021-02-24  Cassio Neri  <cassio.neri@gmail.com>
3204
3205	* include/std/chrono (year_month_day_last:day): New
3206	implementation.
3207
32082021-02-24  Cassio Neri  <cassio.neri@gmail.com>
3209
3210	* include/std/chrono (year::is_leap): New implementation.
3211	* testsuite/std/time/year/2.cc: New test.
3212
32132021-02-24  Cassio Neri  <cassio.neri@gmail.com>
3214
3215	* include/std/chrono (year_month_day::_M_days_since_epoch):
3216	New implementation.
3217	* testsuite/std/time/year_month_day/4.cc: New test.
3218
32192021-02-24  Cassio Neri  <cassio.neri@gmail.com>
3220
3221	* include/std/chrono (year_month_day::_S_from_days): New
3222	implementation.
3223	* testsuite/std/time/year_month_day/3.cc: New test.
3224
32252021-02-24  Patrick Palka  <ppalka@redhat.com>
3226
3227	PR libstdc++/98384
3228	* testsuite/20_util/to_chars/long_double.cc: Include <optional>.
3229	(test01): Simplify verifying the nearby values by using a
3230	2-iteration loop and a dedicated output buffer to check that the
3231	nearby values are different.  Factor out the printf-based
3232	verification into a local function, and check that the leading
3233	hex digits agree before comparing to the output of printf.  Also
3234	verify the output by round-tripping it through from_chars.
3235
32362021-02-24  Jonathan Wakely  <jwakely@redhat.com>
3237
3238	PR libstdc++/98389
3239	* config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
3240	symbols for long double arguments mangled as 'g'.
3241	* config/os/gnu-linux/ldbl-extra.ver: Likewise.
3242	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
3243	* src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
3244	Use -mabi=ibmlongdouble for floating_to_chars.cc.
3245	* src/c++17/Makefile.in: Regenerate.
3246	* src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
3247	New type defining type traits of IEEE binary128 format.
3248	(floating_type_traits<__float128>): Define specialization.
3249	(floating_type_traits<long double>): Define in terms of
3250	floating_type_traits_binary128 when appropriate.
3251	(floating_to_shortest_scientific): Handle __float128.
3252	(sprintf_ld): New function template for printing a long double
3253	or __ieee128 value using sprintf.
3254	(__floating_to_chars_shortest, __floating_to_chars_precision):
3255	Use sprintf_ld.
3256	(to_chars): Define overloads for __float128.
3257
32582021-02-24  Jonathan Wakely  <jwakely@redhat.com>
3259
3260	* testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
3261
32622021-02-23  Martin Sebor  <msebor@redhat.com>
3263
3264	PR c++/99074
3265	* libsupc++/dyncast.cc (__dynamic_cast): Return null when
3266	first argument is null.
3267
32682021-02-23  Jakub Jelinek  <jakub@redhat.com>
3269
3270	PR libstdc++/99181
3271	* testsuite/21_strings/char_traits/requirements/char/99181.cc: New
3272	test.
3273
32742021-02-23  Jakub Jelinek  <jakub@redhat.com>
3275
3276	PR libstdc++/99181
3277	* include/bits/char_traits.h (char_traits<char>::compare): For
3278	constexpr evaluation don't call
3279	__gnu_cxx::char_traits<char_type>::compare but do the comparison loop
3280	directly.
3281
32822021-02-23  Jakub Jelinek  <jakub@redhat.com>
3283
3284	PR libstdc++/97549
3285	* include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
3286
32872021-02-23  Patrick Palka  <ppalka@redhat.com>
3288
3289	PR libstdc++/98384
3290	* src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
3291	the high- and low-order parts from an IBM long double value
3292	in an endian-agnostic way.
3293
32942021-02-19  Jonathan Wakely  <jwakely@redhat.com>
3295
3296	* include/bits/atomic_wait.h (__thread_relax()): Call
3297	__thread_yield() not __gthread_yield().
3298
32992021-02-15  Jonathan Wakely  <jwakely@redhat.com>
3300
3301	* include/bits/atomic_wait.h (__thread_yield()): Check
3302	_GLIBCXX_HAS_GTHREADS before using __gthread_yield.
3303	(__thread_relax()): Use __thread_yield() instead of repeating
3304	the preprocessor checks for __gthread_yield.
3305
33062021-02-15  Jonathan Wakely  <jwakely@redhat.com>
3307
3308	* include/std/mutex (once_flag::_M_activate()): Add explicit
3309	return statement for passive case.
3310	(once_flag::_M_finish(bool)): Use reserved name for parameter.
3311
33122021-02-14  Jonathan Wakely  <jwakely@redhat.com>
3313
3314	PR libstdc++/99096
3315	* testsuite/util/testsuite_fs.h: Always include <unistd.h>.
3316
33172021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3318
3319	PR libstdc++/88881
3320	* src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
3321
33222021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3323
3324	* doc/xml/manual/status_cxx2014.xml: Document implementation
3325	specific properties of std::experimental::filesystem::rename.
3326	* doc/xml/manual/status_cxx2017.xml: Document implementation
3327	specific properties of std::filesystem::rename.
3328	* doc/html/*: Regenerate.
3329	* src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
3330	for directories on Windows.
3331	* src/filesystem/ops-common.h (__gnu_posix::rename): Use
3332	MoveFileExW on Windows.
3333	* testsuite/27_io/filesystem/operations/rename.cc: New test.
3334	* testsuite/experimental/filesystem/operations/rename.cc: New test.
3335
33362021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3337
3338	* testsuite/util/testsuite_fs.h (nonexistent_path): Add
3339	random number to the path.
3340
33412021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3342
3343	* include/experimental/internet (address_v6::to_string): Include
3344	scope ID in string.
3345	* testsuite/experimental/net/internet/address/v6/members.cc:
3346	Test to_string() results.
3347
33482021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3349
3350	* include/experimental/internet (address_v6::any): Avoid using
3351	memcpy in constexpr function.
3352	(address_v6::loopback): Likewise.
3353	(make_address_v6): Fix missing return statements on error paths.
3354	* include/experimental/io_context: Avoid -Wdangling-else
3355	warning.
3356	* testsuite/experimental/net/internet/address/v4/members.cc:
3357	Remove unused variables.
3358	* testsuite/experimental/net/internet/address/v6/members.cc:
3359	New test.
3360
33612021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3362
3363	* include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
3364	Add unused attribute to parameter.
3365	* src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
3366	Likewise.
3367
33682021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3369
3370	* testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
3371	if -fno-rtti is used.
3372	* testsuite/30_threads/async/forced_unwind.cc: Expect test
3373	to abort if -fno-rtti is used.
3374
33752021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3376
3377	* testsuite/util/testsuite_allocator.h (memory_resource):
3378	Remove requirement for RTTI and exceptions to be enabled.
3379
33802021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3381
3382	* testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
3383	static_cast when RTTI is disabled.
3384	* testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
3385	Likewise.
3386	* testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
3387	Likewise.
3388	* testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
3389	Likewise.
3390	* testsuite/27_io/basic_stringstream/str/char/2.cc:
3391	Likewise.
3392	* testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
3393	Likewise.
3394
33952021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3396
3397	* include/std/ostream (__syncbuf_base::_S_get): Mark parameter
3398	as unused and only use dynamic_cast when RTTI is enabled.
3399
34002021-02-12  Jonathan Wakely  <jwakely@redhat.com>
3401
3402	PR libstdc++/99077
3403	* src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
3404	Change int parameter to error_code, to match std::ios_failure.
3405	(__throw_ios_failure(const char*, int)): Construct error_code
3406	from int parameter.
3407
34082021-02-11  Jonathan Wakely  <jwakely@redhat.com>
3409
3410	* libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
3411	new macro.
3412	* libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
3413	macro instead of _GLIBCXX_EH_PTR_COMPAT.
3414	(operator==): Likewise.
3415
34162021-02-11  Jonathan Wakely  <jwakely@redhat.com>
3417
3418	PR libstdc++/99058
3419	* doc/xml/manual/status_cxx2011.xml: Document when support
3420	became stable.
3421	* doc/xml/manual/status_cxx2014.xml: Likewise.
3422	* doc/xml/manual/status_cxx2017.xml: Likewise.
3423	* doc/html/manual/status.html: Regenerate.
3424
34252021-02-10  Jonathan Wakely  <jwakely@redhat.com>
3426
3427	PR libstdc++/88881
3428	* src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
3429
34302021-02-10  Jonathan Wakely  <jwakely@redhat.com>
3431
3432	* src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
3433	(fs::remove): Use std::system_category() for error codes from
3434	GetLastError().
3435	* src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
3436	Likewise.
3437
34382021-02-10  Jonathan Wakely  <jwakely@redhat.com>
3439
3440	* testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
3441	in __MINGW32__ macro name.
3442	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
3443	* testsuite/27_io/filesystem/path/generation/proximate.cc:
3444	Likewise.
3445	* testsuite/27_io/filesystem/path/generation/relative.cc:
3446	Likewise.
3447	* testsuite/util/testsuite_fs.h: Likewise.
3448
34492021-02-09  François Dumont  <fdumont@gcc.gnu.org>
3450
3451	* include/bits/stl_tree.h
3452	(__has_is_transparent, __has_is_transparent_t): Move...
3453	* include/bits/stl_function.h: ...here.
3454	* include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
3455	(_Hashtable_base<>::_M_equals_tr): New.
3456	* include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
3457	_Hashtable<>::_M_equal_range_tr): New member function templates to perform
3458	heterogeneous lookup.
3459	(_Hashtable<>::_M_find_before_node_tr): New.
3460	(_Hashtable<>::_M_find_node_tr): New.
3461	* include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
3462	unordered_map::contains<>, unordered_map::equal_range<>): New member function
3463	templates to perform heterogeneous lookup.
3464	(unordered_multimap::find<>, unordered_multimap::count<>,
3465	unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
3466	* include/bits/unordered_set.h  (unordered_set::find<>, unordered_set::count<>,
3467	unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
3468	(unordered_multiset::find<>, unordered_multiset::count<>,
3469	unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
3470	* include/debug/unordered_map
3471	(unordered_map::find<>, unordered_map::equal_range<>): Likewise.
3472	(unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
3473	* include/debug/unordered_set
3474	(unordered_set::find<>, unordered_set::equal_range<>): Likewise.
3475	(unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
3476	* testsuite/23_containers/unordered_map/operations/1.cc: New test.
3477	* testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
3478	* testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
3479	* testsuite/23_containers/unordered_set/operations/1.cc: New test.
3480
34812021-02-09  François Dumont  <fdumont@gcc.gnu.org>
3482
3483	* include/bits/stl_deque.h
3484	(std::operator-(deque::iterator, deque::iterator)): Replace if/then with
3485	a null pointer test.
3486
34872021-02-09  Jonathan Wakely  <jwakely@redhat.com>
3488
3489	* testsuite/27_io/filesystem/operations/remove_all.cc: Remove
3490	test directory after making it writable again.
3491	* testsuite/experimental/filesystem/operations/remove_all.cc:
3492	Likewise.
3493
34942021-02-09  Jonathan Wakely  <jwakely@redhat.com>
3495
3496	PR libstdc++/99021
3497	* include/std/coroutine (coroutine_handle<P>::from_address): Add
3498	noexcept.
3499
35002021-02-09  Vladimir Vishnevsky  <vv.os.swe@gmail.com>
3501
3502	* include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
3503	* src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
3504
35052021-02-09  Jakub Jelinek  <jakub@redhat.com>
3506
3507	PR middle-end/98465
3508	* include/bits/basic_string.tcc (basic_string::_M_replace): When __s
3509	points to the characters moved by earlier _S_move, compute the source
3510	address using expression based on the __p pointer rather than __s
3511	pointer.
3512
35132021-02-03  Jonathan Wakely  <jwakely@redhat.com>
3514
3515	* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
3516	Add comparison with same category and different values.
3517	* testsuite/19_diagnostics/error_code/operators/less.cc:
3518	Likewise. Fix comparison involving different categories.
3519	* testsuite/19_diagnostics/error_code/operators/three_way.cc:
3520	Likewise.
3521	* testsuite/19_diagnostics/error_condition/operators/less.cc:
3522	Add comment.
3523	* testsuite/19_diagnostics/error_condition/operators/three_way.cc:
3524	Likewise.
3525
35262021-02-03  yaozhongxiao  <yaozhongxiao@linux.alibaba.com>
3527
3528	* include/experimental/bits/simd_neon.h: Replace repeated vpadd
3529	calls with a single vaddv for aarch64.
3530
35312021-02-03  Matthias Kretz  <kretz@kde.org>
3532
3533	* testsuite/Makefile.am: Warn about the workaround. Add
3534	-fno-tree-vrp to CXXFLAGS passed to the check_simd script.
3535	Improve initial user feedback from make check-simd.
3536	* testsuite/Makefile.in: Regenerated.
3537
35382021-02-03  Matthias Kretz  <kretz@kde.org>
3539
3540	* include/experimental/bits/simd.h: Add __detail::_Minimum and
3541	__detail::_Maximum to use them as _BinaryOperation to _S_reduce.
3542	Add hmin and hmax overloads for simd and const_where_expression.
3543	* include/experimental/bits/simd_scalar.h
3544	(_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
3545	parameter const-ref to allow calling _S_reduce with an rvalue.
3546	* testsuite/experimental/simd/tests/reductions.cc: Add tests for
3547	hmin and hmax. Since the compiler statically determined that all
3548	tests pass, repeat the test after a call to make_value_unknown.
3549
35502021-02-03  Matthias Kretz  <kretz@kde.org>
3551
3552	* testsuite/experimental/simd/tests/bits/verify.h (verify): Add
3553	instruction pointer data member. Ensure that the `if (m_failed)`
3554	branch is always inlined into the calling code. The body of the
3555	conditional can still be a function call. Move the get_ip call
3556	into the verify ctor to simplify the ctor calls.
3557	(COMPARE): Don't mention the use of all_of for reduction of a
3558	simd_mask. It only distracts from the real issue.
3559
35602021-02-03  Matthias Kretz  <kretz@kde.org>
3561
3562	* testsuite/experimental/simd/driver.sh: Abstract reading test
3563	options into read_src_option function. Read skip, only,
3564	expensive, and xfail via read_src_option. Add timeout and
3565	timeout-factor options and adjust timeout variable accordingly.
3566	* testsuite/experimental/simd/tests/loadstore.cc: Set
3567	timeout-factor 2.
3568
35692021-02-03  Matthias Kretz  <kretz@kde.org>
3570
3571	* testsuite/experimental/simd/driver.sh: When handling the pipe
3572	to log (and on verbose to stdout) count the lines. If it exceeds
3573	1000 log the issue and exit 125, which is then handled as a
3574	failure.
3575
35762021-02-03  Matthias Kretz  <kretz@kde.org>
3577
3578	* testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
3579	markup for long double on powerpc64*.
3580
35812021-02-03  Matthias Kretz  <kretz@kde.org>
3582
3583	* include/experimental/bits/simd.h: Add __have_power10vec
3584	conditional on _ARCH_PWR10.
3585	* include/experimental/bits/simd_builtin.h: Forward declare
3586	_MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
3587	defined.
3588	(_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
3589	_SuperImpl for optimizations and correctness.
3590	* include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
3591	(_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
3592	Otherwise, for >=int use -vec_sums divided by a sizeof factor.
3593	For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
3594
35952021-02-03  Matthias Kretz  <kretz@kde.org>
3596
3597	* testsuite/experimental/simd/driver.sh: Remove executable on
3598	SIGINT. Process compiler and test executable output: In verbose
3599	mode print messages immediately, limited to 1000 lines and
3600	breaking long lines to below $COLUMNS (or 1024 if not set).
3601	Communicating the exit status of the compiler / test with the
3602	necessary pipe is done via a message through stdout/-in.
3603
36042021-02-03  Matthias Kretz  <kretz@kde.org>
3605
3606	* testsuite/Makefile.am: Ensure .simd.summary is empty before
3607	collecting a new summary.
3608	* testsuite/Makefile.in: Regenerate.
3609
36102021-02-03  Matthias Kretz  <kretz@kde.org>
3611
3612	* testsuite/experimental/simd/generate_makefile.sh: Use
3613	different variables internally than documented for user
3614	overrides. This makes internal append/prepend work as intended.
3615
36162021-02-03  Matthias Kretz  <kretz@kde.org>
3617
3618	* testsuite/experimental/simd/driver.sh (verify_test): Print
3619	test output on run xfail. Do not repeat lines from the log that
3620	were already printed on stdout.
3621	(test_selector): Make the compiler flags pattern usable as a
3622	substring selector.
3623	(toplevel): Trap on SIGINT and remove the log and sum files.
3624	Call timout with --foreground to quickly terminate on SIGINT.
3625	* testsuite/experimental/simd/generate_makefile.sh: Simplify run
3626	targets via target patterns. Default DRIVEROPTS to -v for run
3627	targets. Remove log and sum files after completion of the run
3628	target (so that it's always recompiled).
3629	Place help text into text file for reasonable 'make help'
3630	performance.
3631
36322021-02-03  Matthias Kretz  <kretz@kde.org>
3633
3634	* include/experimental/bits/simd.h: Remove unnecessary static
3635	assertion. Allow sizeof(8) integer __intrinsic_type to enable
3636	the necessary mask type.
3637
36382021-02-03  Matthias Kretz  <kretz@kde.org>
3639
3640	* include/experimental/bits/simd.h: Let __intrinsic_type<long
3641	double, N> be valid if sizeof(long double) == sizeof(double) and
3642	use a __vector double as member type.
3643
36442021-02-03  Matthias Kretz  <kretz@kde.org>
3645
3646	* include/experimental/bits/simd.h (__is_intrinsic_type): New
3647	internal type trait. Alias for __is_vector_type on x86.
3648	(_VectorTraitsImpl): Enable for __intrinsic_type in addition for
3649	__vector_type.
3650	(__intrin_bitcast): Allow casting to & from vector & intrinsic
3651	types.
3652	(__intrinsic_type): Explicitly specialize for NEON intrinsic
3653	vector types.
3654
36552021-02-03  Matthias Kretz  <kretz@kde.org>
3656
3657	* testsuite/experimental/simd/driver.sh: Implement skip, only,
3658	expensive, and xfail markers. They can select on type, ABI tag
3659	subset number, target-triplet, and compiler flags.
3660	* testsuite/experimental/simd/generate_makefile.sh: The summary
3661	now includes lines for unexpected passes and expected failures.
3662	If the skip or only markers are only conditional on the type, do
3663	not generate rules for those types.
3664	* testsuite/experimental/simd/tests/abs.cc: Mark test expensive
3665	for ABI tag subsets 1-9.
3666	* testsuite/experimental/simd/tests/algorithms.cc: Ditto.
3667	* testsuite/experimental/simd/tests/broadcast.cc: Ditto.
3668	* testsuite/experimental/simd/tests/casts.cc: Ditto.
3669	* testsuite/experimental/simd/tests/generator.cc: Ditto.
3670	* testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
3671	* testsuite/experimental/simd/tests/loadstore.cc: Ditto.
3672	* testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
3673	* testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
3674	* testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
3675	* testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
3676	* testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
3677	* testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
3678	* testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
3679	* testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
3680	* testsuite/experimental/simd/tests/operators.cc: Ditto.
3681	* testsuite/experimental/simd/tests/reductions.cc: Ditto.
3682	* testsuite/experimental/simd/tests/simd.cc: Ditto.
3683	* testsuite/experimental/simd/tests/split_concat.cc: Ditto.
3684	* testsuite/experimental/simd/tests/splits.cc: Ditto.
3685	* testsuite/experimental/simd/tests/where.cc: Ditto.
3686	* testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
3687	addition replace "test only floattypes" marker by unconditional
3688	"float|double|ldouble" only marker.
3689	* testsuite/experimental/simd/tests/frexp.cc: Ditto.
3690	* testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
3691	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
3692	Ditto.
3693	* testsuite/experimental/simd/tests/logarithm.cc: Ditto.
3694	* testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
3695	* testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
3696	* testsuite/experimental/simd/tests/remqo.cc: Ditto.
3697	* testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
3698	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
3699	* testsuite/experimental/simd/tests/sincos.cc: Ditto. In
3700	addition, xfail on run because the reference data is missing.
3701
37022021-02-02  Jonathan Wakely  <jwakely@redhat.com>
3703
3704	* doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
3705	* doc/xml/manual/status_cxx2014.xml: Likewise.
3706	* doc/xml/manual/status_cxx2017.xml: Likewise.
3707	* doc/html/manual/status.html: Regenerate.
3708
37092021-02-01  François Dumont  <fdumont@gcc.gnu.org>
3710
3711	PR libstdc++/70303
3712	* include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
3713	Return 0 if both iterators are value-initialized.
3714	* testsuite/23_containers/deque/70303.cc: New test.
3715	* testsuite/23_containers/vector/70303.cc: New test.
3716
37172021-02-01  Jonathan Wakely  <jwakely@redhat.com>
3718
3719	* doc/xml/manual/status_cxx2011.xml: Update std::call_once
3720	status.
3721	* doc/xml/manual/status_cxx2014.xml: Likewise.
3722	* doc/xml/manual/status_cxx2017.xml: Likewise. Update
3723	std::from_chars and std::to_chars status. Fix formatting.
3724	* doc/html/manual/status.html: Regenerate.
3725
37262021-01-28  Jonathan Wakely  <jwakely@redhat.com>
3727
3728	* include/experimental/bits/numeric_traits.h: Update copyright
3729	dates.
3730	* include/experimental/bits/simd.h: Likewise.
3731	* include/experimental/bits/simd_builtin.h: Likewise.
3732	* include/experimental/bits/simd_converter.h: Likewise.
3733	* include/experimental/bits/simd_detail.h: Likewise.
3734	* include/experimental/bits/simd_fixed_size.h: Likewise.
3735	* include/experimental/bits/simd_math.h: Likewise.
3736	* include/experimental/bits/simd_neon.h: Likewise.
3737	* include/experimental/bits/simd_ppc.h: Likewise.
3738	* include/experimental/bits/simd_scalar.h: Likewise.
3739	* include/experimental/bits/simd_x86.h: Likewise.
3740	* include/experimental/bits/simd_x86_conversions.h: Likewise.
3741	* include/experimental/simd: Likewise.
3742	* testsuite/experimental/simd/*: Likewise.
3743
37442021-01-27  Jonathan Wakely  <jwakely@redhat.com>
3745
3746	* doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
3747	* doc/html/*: Regenerate.
3748
37492021-01-27  Jonathan Wakely  <jwakely@redhat.com>
3750
3751	* testsuite/experimental/simd/generate_makefile.sh: Use printf
3752	instead of echo when printing escape characters.
3753
37542021-01-27  Matthias Kretz  <kretz@kde.org>
3755
3756	* scripts/check_simd: New file. This script is called from the
3757	the check-simd target. It determines a set of compiler flags and
3758	simulator setups for calling generate_makefile.sh and passes the
3759	information back to the check-simd target, which recurses to the
3760	generated Makefiles.
3761	* scripts/create_testsuite_files: Remove files below simd/tests/
3762	from testsuite_files and place them in testsuite_files_simd.
3763	* testsuite/Makefile.am: Add testsuite_files_simd. Add
3764	check-simd target.
3765	* testsuite/Makefile.in: Regenerate.
3766	* testsuite/experimental/simd/driver.sh: New file. This script
3767	compiles and runs a given simd test, logging its output and
3768	status. It uses the timeout command to implement compile and
3769	test timeouts.
3770	* testsuite/experimental/simd/generate_makefile.sh: New file.
3771	This script generates a Makefile which uses driver.sh to compile
3772	and run the tests and collect the logs into a single log file.
3773	* testsuite/experimental/simd/tests/abs.cc: New file. Tests
3774	abs(simd).
3775	* testsuite/experimental/simd/tests/algorithms.cc: New file.
3776	Tests min/max(simd, simd).
3777	* testsuite/experimental/simd/tests/bits/conversions.h: New
3778	file. Contains functions to support tests involving conversions.
3779	* testsuite/experimental/simd/tests/bits/make_vec.h: New file.
3780	Support functions make_mask and make_vec.
3781	* testsuite/experimental/simd/tests/bits/mathreference.h: New
3782	file. Support functions to supply precomputed math function
3783	reference data.
3784	* testsuite/experimental/simd/tests/bits/metahelpers.h: New
3785	file. Support code for SFINAE testing.
3786	* testsuite/experimental/simd/tests/bits/simd_view.h: New file.
3787	* testsuite/experimental/simd/tests/bits/test_values.h: New
3788	file. Test functions to easily drive a test with simd objects
3789	initialized from a given list of values and a range of random
3790	values.
3791	* testsuite/experimental/simd/tests/bits/ulp.h: New file.
3792	Support code to determine the ULP distance of simd objects.
3793	* testsuite/experimental/simd/tests/bits/verify.h: New file.
3794	Test framework for COMPARE'ing simd objects and instantiating
3795	the test templates with value_type and ABI tag.
3796	* testsuite/experimental/simd/tests/broadcast.cc: New file. Test
3797	simd broadcasts.
3798	* testsuite/experimental/simd/tests/casts.cc: New file. Test
3799	simd casts.
3800	* testsuite/experimental/simd/tests/fpclassify.cc: New file.
3801	Test floating-point classification functions.
3802	* testsuite/experimental/simd/tests/frexp.cc: New file. Test
3803	frexp(simd).
3804	* testsuite/experimental/simd/tests/generator.cc: New file. Test
3805	simd generator constructor.
3806	* testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
3807	Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
3808	* testsuite/experimental/simd/tests/integer_operators.cc: New
3809	file. Test integer operators.
3810	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
3811	New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
3812	modf(simd).
3813	* testsuite/experimental/simd/tests/loadstore.cc: New file. Test
3814	(converting) simd loads and stores.
3815	* testsuite/experimental/simd/tests/logarithm.cc: New file. Test
3816	log*(simd).
3817	* testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
3818	Test simd_mask broadcasts.
3819	* testsuite/experimental/simd/tests/mask_conversions.cc: New
3820	file. Test simd_mask conversions.
3821	* testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
3822	file. Test simd_mask implicit conversions.
3823	* testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
3824	Test simd_mask loads and stores.
3825	* testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
3826	file. Test simd_mask operators convert as specified.
3827	* testsuite/experimental/simd/tests/mask_operators.cc: New file.
3828	Test simd_mask compares, subscripts, and negation.
3829	* testsuite/experimental/simd/tests/mask_reductions.cc: New
3830	file. Test simd_mask reductions.
3831	* testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
3832	1-arg math functions on simd.
3833	* testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
3834	2-arg math functions on simd.
3835	* testsuite/experimental/simd/tests/operator_cvt.cc: New file.
3836	Test implicit conversions on simd binary operators behave as
3837	specified.
3838	* testsuite/experimental/simd/tests/operators.cc: New file. Test
3839	simd compares, subscripts, not, unary minus, plus, minus,
3840	multiplies, divides, increment, and decrement.
3841	* testsuite/experimental/simd/tests/reductions.cc: New file.
3842	Test reduce(simd).
3843	* testsuite/experimental/simd/tests/remqo.cc: New file. Test
3844	remqo(simd).
3845	* testsuite/experimental/simd/tests/simd.cc: New file. Basic
3846	sanity checks of simd types.
3847	* testsuite/experimental/simd/tests/sincos.cc: New file. Test
3848	sin(simd) and cos(simd).
3849	* testsuite/experimental/simd/tests/split_concat.cc: New file.
3850	Test split(simd) and concat(simd, simd).
3851	* testsuite/experimental/simd/tests/splits.cc: New file. Test
3852	split(simd_mask).
3853	* testsuite/experimental/simd/tests/trigonometric.cc: New file.
3854	Test remaining trigonometric functions on simd.
3855	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
3856	file. Test trunc(simd), ceil(simd), and floor(simd).
3857	* testsuite/experimental/simd/tests/where.cc: New file. Test
3858	masked operations using where.
3859
38602021-01-27  Matthias Kretz  <kretz@kde.org>
3861
3862	* doc/xml/manual/status_cxx2017.xml: Add implementation status
3863	of the Parallelism TS 2. Document implementation-defined types
3864	and behavior.
3865	* include/Makefile.am: Add new headers.
3866	* include/Makefile.in: Regenerate.
3867	* include/experimental/simd: New file. New header for
3868	Parallelism TS 2.
3869	* include/experimental/bits/numeric_traits.h: New file.
3870	Implementation of P1841R1 using internal naming. Addition of
3871	missing IEC559 functionality query.
3872	* include/experimental/bits/simd.h: New file. Definition of the
3873	public simd interfaces and general implementation helpers.
3874	* include/experimental/bits/simd_builtin.h: New file.
3875	Implementation of the _VecBuiltin simd_abi.
3876	* include/experimental/bits/simd_converter.h: New file. Generic
3877	simd conversions.
3878	* include/experimental/bits/simd_detail.h: New file. Internal
3879	macros for the simd implementation.
3880	* include/experimental/bits/simd_fixed_size.h: New file. Simd
3881	fixed_size ABI specific implementations.
3882	* include/experimental/bits/simd_math.h: New file. Math
3883	overloads for simd.
3884	* include/experimental/bits/simd_neon.h: New file. Simd NEON
3885	specific implementations.
3886	* include/experimental/bits/simd_ppc.h: New file. Implement bit
3887	shifts to avoid invalid results for integral types smaller than
3888	int.
3889	* include/experimental/bits/simd_scalar.h: New file. Simd scalar
3890	ABI specific implementations.
3891	* include/experimental/bits/simd_x86.h: New file. Simd x86
3892	specific implementations.
3893	* include/experimental/bits/simd_x86_conversions.h: New file.
3894	x86 specific conversion optimizations. The conversion patterns
3895	work around missing conversion patterns in the compiler and
3896	should be removed as soon as PR85048 is resolved.
3897	* testsuite/experimental/simd/standard_abi_usable.cc: New file.
3898	Test that all (not all fixed_size<N>, though) standard simd and
3899	simd_mask types are usable.
3900	* testsuite/experimental/simd/standard_abi_usable_2.cc: New
3901	file. As above but with -ffast-math.
3902	* testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
3903	from the standard test loop. Instead use
3904	check_vect_support_and_set_flags to build simd tests with the
3905	relevant machine flags.
3906
39072021-01-27  Jonathan Wakely  <jwakely@redhat.com>
3908
3909	PR libstdc++/66414
3910	* include/bits/string_view.tcc
3911	(basic_string_view::find(const CharT*, size_type, size_type)):
3912	Optimize.
3913
39142021-01-27  Paul Fee  <paul.f.fee@gmail.com>
3915
3916	* include/bits/basic_string.h (basic_string::contains): New
3917	member functions.
3918	* include/std/string_view (basic_string_view::contains):
3919	Likewise.
3920	* include/std/version (__cpp_lib_string_contains): Define.
3921	* testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
3922	Remove trailing whitespace.
3923	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
3924	Likewise.
3925	* testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
3926	* testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
3927	* testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
3928	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
3929	* testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
3930
39312021-01-21  Jonathan Wakely  <jwakely@redhat.com>
3932
3933	* src/c++17/Makefile.in: Regenerate.
3934
39352021-01-20  David Edelsohn  <dje.gcc@gmail.com>
3936
3937	* config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
3938	_OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
3939	__lc_type.
3940	(const char* ctype<char>:: is): Same.
3941
39422021-01-18  Jonathan Wakely  <jwakely@redhat.com>
3943
3944	PR libstdc++/98725
3945	* testsuite/20_util/unique_ptr/io/lwg2948.cc:  Do not try to
3946	write to a wide character stream if wide character support is
3947	disabled in the library.
3948
39492021-01-18  Jonathan Wakely  <jwakely@redhat.com>
3950
3951	* testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
3952	stringbuf not wstringbuf.
3953
39542021-01-18  Jakub Jelinek  <jakub@redhat.com>
3955
3956	PR debug/98708
3957	* src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
3958	Compile with -gno-as-loc-support.
3959	* src/c++11/Makefile.in: Regenerated.
3960
39612021-01-16  H.J. Lu  <hjl.tools@gmail.com>
3962
3963	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3964	Add -fcf-protection=none to -march=i486.
3965
39662021-01-14  François Dumont  <fdumont@gcc.gnu.org>
3967
3968	* testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
3969	compliant.
3970
39712021-01-14  Alexandre Oliva  <oliva@adacore.com>
3972
3973	* testsuite/30_threads/future/members/poll.cc: Calibrate
3974	iteration count.
3975
39762021-01-14  François Dumont  <fdumont@gcc.gnu.org>
3977
3978	PR libstdc++/98466
3979	* include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
3980	(_Node_iterator()): Make default.
3981	(_Node_const_iterator()): Make default.
3982	* include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
3983	iterator checks.
3984	* include/debug/safe_iterator.h
3985	(_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
3986	* include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
3987	Likewise.
3988	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
3989	_M_singular checks on input iterators.
3990	* src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
3991	checks.
3992	* testsuite/23_containers/deque/debug/98466.cc: New test.
3993	* testsuite/23_containers/unordered_map/debug/98466.cc: New test.
3994
39952021-01-14  Jonathan Wakely  <jwakely@redhat.com>
3996
3997	PR libstdc++/98471
3998	* include/bits/fs_path.h (__throw_conversion_error): New
3999	function to throw or abort on character conversion errors.
4000	(__wstr_from_utf8): Move definition after filesystem_error has
4001	been defined. Use __throw_conversion_error.
4002	(path::_S_convert<_EcharT>): Use __throw_conversion_error.
4003	(path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
4004	(path::u8string): Likewise.
4005
40062021-01-14  Jonathan Wakely  <jwakely@redhat.com>
4007
4008	* include/std/barrier: Update copyright years. Fix whitespace.
4009	* include/std/version: Fix whitespace.
4010	* testsuite/30_threads/barrier/1.cc: Update copyright years.
4011	* testsuite/30_threads/barrier/2.cc: Likewise.
4012	* testsuite/30_threads/barrier/arrive.cc: Likewise.
4013	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
4014	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
4015	* testsuite/30_threads/barrier/completion.cc: Likewise.
4016
40172021-01-13  Jonathan Wakely  <jwakely@redhat.com>
4018
4019	* doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
4020
40212021-01-10  David Edelsohn  <dje.gcc@gmail.com>
4022
4023	PR libstdc++/98613
4024	* testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
4025	warning.
4026	* testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
4027
40282021-01-08  Olivier Hainque  <hainque@adacore.com>
4029
4030	* testsuite/20_util/bind/ref_neg.cc: Tweak the
4031	dg-prune-output regex for out-of-build-tree contexts.
4032
40332021-01-07  Thomas Rodgers  <trodgers@redhat.com>
4034
4035	* doc/doxygen/user.cfg.in: Add new header.
4036	* include/Makefile.am (std_headers): likewise.
4037	* include/Makefile.in: Regenerate.
4038	* include/precompiled/stdc++.h: Add new header.
4039	* include/std/barrier: New file.
4040	* include/std/version: Add __cpp_lib_barrier feature test macro.
4041	* testsuite/30_threads/barrier/1.cc: New test.
4042	* testsuite/30_threads/barrier/2.cc: Likewise.
4043	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
4044	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
4045	* testsuite/30_threads/barrier/arrive.cc: Likewise.
4046	* testsuite/30_threads/barrier/completion.cc: Likewise.
4047
40482021-01-07  Patrick Palka  <ppalka@redhat.com>
4049
4050	PR libstdc++/98384
4051	* testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
4052	instead of the non-standard nextupl and nextdownl.
4053
40542021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
4055
4056	* configure: Re-generate.
4057
40582021-01-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
4059
4060	* include/precompiled/stdc++.h: Add <source_location> to C++20 section.
4061
40622021-01-01  Jakub Jelinek  <jakub@redhat.com>
4063
4064	* ChangeLog-2020: Rotate ChangeLog.  New file.
4065
4066
4067Copyright (C) 2021 Free Software Foundation, Inc.
4068
4069Copying and distribution of this file, with or without modification,
4070are permitted in any medium without royalty provided the copyright
4071notice and this notice are preserved.
4072