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