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