]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
419af06a
GA
12021-06-22 Jonathan Wakely <jwakely@redhat.com>
2 Matthias Kretz <m.kretz@gsi.de>
3
4 * include/std/mutex (lock): Replace recursion with iteration
5 when lockables all have the same type.
6 (__detail::__try_lock_impl): Likewise. Pass lockables as
7 parameters, instead of a tuple. Always lock the first one, and
8 recurse for the rest.
9 (__detail::__lock_impl): Adjust call to __try_lock_impl.
10 (__detail::__try_to_lock): Remove.
11 * testsuite/30_threads/lock/3.cc: Check that mutexes are locked.
12 * testsuite/30_threads/lock/4.cc: Also test non-heterogeneous
13 arguments.
14 * testsuite/30_threads/unique_lock/cons/60497.cc: Also check
15 std::try_lock.
16 * testsuite/30_threads/try_lock/5.cc: New test.
17
182021-06-22 Jonathan Wakely <jwakely@redhat.com>
19
20 * include/std/memory (declare_reachable, undeclare_reachable)
21 (declare_no_pointers, undeclare_no_pointers, get_pointer_safety)
22 (pointer_safety): Only define for C++11 to C++20 inclusive.
23 * testsuite/20_util/pointer_safety/1.cc: Do not run for C++23.
24
252021-06-22 Jonathan Wakely <jwakely@redhat.com>
26
27 * include/bits/random.h (seed_seq): Constrain initializer-list
28 constructor.
29 * include/bits/random.tcc (seed_seq): Add template parameter.
30 * testsuite/26_numerics/random/seed_seq/cons/default.cc: Check
31 for noexcept.
32 * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check
33 constraints.
34
352021-06-22 Thomas Rodgers <rodgert@appliantology.com>
36
37 PR libstdc++/100806
38 * include/bits/semaphore_base.h (__atomic_semaphore::_M_release):
39 Force _M_release() to wake all waiting threads.
40 * testsuite/30_threads/semaphore/100806.cc: New test.
41
2f080224
GA
422021-06-21 Jonathan Wakely <jwakely@redhat.com>
43
44 * include/std/mutex (__try_to_lock): Move to __detail namespace.
45 (struct __try_lock_impl): Replace with ...
46 (__detail::__try_lock_impl<Idx>(tuple<Lockables...>&)): New
47 function templates to implement std::try_lock.
48 (try_lock): Use new __try_lock_impl.
49 (__detail::__lock_impl(int, int&, L0&, L1&...)): New function
50 template to implement std::lock.
51 (lock): Use __lock_impl.
52
532021-06-21 Patrick Palka <ppalka@redhat.com>
54
55 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
56
3e42ff71
GA
572021-06-20 Patrick Palka <ppalka@redhat.com>
58
59 * include/std/ranges (__non_propagating_cache::operator bool):
60 Define for split_view::begin().
61 (split_view): Define as per P2210.
62 (views::__detail::__can_split_view): Define.
63 (views::_Split, views::split): Define.
64 * testsuite/std/ranges/adaptors/100577.cc (test01, test02):
65 Test views::split.
66 * testsuite/std/ranges/adaptors/split.cc: New test.
67 * testsuite/std/ranges/p2325.cc (test08a): New test.
68 * testsuite/std/ranges/p2367.cc (test01): Test views::split.
69
702021-06-20 Patrick Palka <ppalka@redhat.com>
71
72 * include/std/ranges: Rename views::split to views::lazy_split,
73 split_view to lazy_split_view, etc. throughout.
74 * testsuite/std/ranges/*: Likewise.
75 * testsuite/std/ranges/adaptors/lazy_split.cc: New file.
76 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: New file.
77
782021-06-20 Patrick Palka <ppalka@redhat.com>
79
80 * include/std/ranges (split_view::_OuterIter::__at_end):
81 Check _M_trailing_empty.
82 (split_view::_OuterIter::_M_trailing_empty): Define this
83 data member.
84 (split_view::_OuterIter::operator++): Set _M_trailing_empty
85 appropriately.
86 (split_view::_OuterIter::operator==): Compare
87 _M_trailing_empty.
88 * testsuite/std/ranges/adaptors/100479.cc (test03): Expect two
89 split parts instead of one.
90 * testsuite/std/ranges/adaptors/split.cc (test11): New test.
91
922021-06-20 Patrick Palka <ppalka@redhat.com>
93
94 * include/std/ranges (split_view::_InnerIter::base): Define as
95 per P2210.
96
b245d1c3
GA
972021-06-19 Patrick Palka <ppalka@redhat.com>
98
99 * include/std/ranges (transform_view::_Iterator::_S_iter_concept):
100 Consider _Base instead of _Vp as per LWG 3555.
101 (elements_view::_Iterator::_S_iter_concept): Likewise.
102
1032021-06-19 Patrick Palka <ppalka@redhat.com>
104
105 * include/std/ranges (split_view::_OuterIter::value_type::begin):
106 Remove the non-const overload, and remove the copyable constraint
107 on the const overload as per LWG 3553.
108
1092021-06-19 Patrick Palka <ppalka@redhat.com>
110
111 * include/bits/stl_iterator.h
112 (__detail::__common_iter_use_postfix_proxy): Add
113 move_constructible constraint as per LWG 3546.
114 (common_iterator::__postfix_proxy): Adjust initializer of
115 _M_keep as per LWG 3546.
116
c5581d48
GA
1172021-06-18 Patrick Palka <ppalka@redhat.com>
118
119 PR libstdc++/100387
120 * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite
121 to limit comparison complexity to 3*N/2.
122 (__minmax_element_fn::operator()): Likewise.
123 (shift_right): Avoid premature std::move of __result.
124 * testsuite/25_algorithms/minmax/constrained.cc (test04, test05):
125 New tests.
126 * testsuite/25_algorithms/minmax_element/constrained.cc (test02):
127 Likewise.
128
1292021-06-18 Patrick Palka <ppalka@redhat.com>
130
131 * include/std/concepts (convertible_to): Just use declval as per
132 LWG 3557.
133
1342021-06-18 Jonathan Wakely <jwakely@redhat.com>
135
136 PR libstdc++/95833
137 * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
138 incorrect static_assert with ones matching the 'Mandates'
139 conditions in the standard.
140 * testsuite/26_numerics/reduce/95833.cc: New test.
141
1422021-06-18 Jonathan Wakely <jwakely@redhat.com>
143
144 * testsuite/21_strings/basic_string/cons/char/1.cc: Use
145 diagnostic pragma to suppress -Wstringop-overread error.
146
1472021-06-18 Patrick Palka <ppalka@redhat.com>
148
149 * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn)
150 (find_if, __find_if_not_fn, find_if_not, _in_in_result)
151 (__mismatch_fn, mismatch, __search_fn, search): Move to ...
152 * include/bits/ranges_util.h: ... here.
153 * include/std/ranges (__detail::find, __detail::find_if)
154 (__detail::find_if_not, __detail::mismatch): Remove.
155 (filter_view): Use ranges::find_if instead.
156 (drop_while_view): Use ranges::find_if_not instead.
157 (split_view): Use ranges::find and ranges::mismatch instead.
158
1592021-06-18 Patrick Palka <ppalka@redhat.com>
160
161 * include/bits/iterator_concepts.h (weakly_incrementable): Remove
162 default_initializable requirement.
163 * include/bits/ranges_base.h (ranges::view): Likewise.
164 * include/bits/ranges_util.h (subrange): Constrain the default
165 ctor.
166 * include/bits/stl_iterator.h (back_insert_iterator): Remove the
167 default ctor.
168 (front_insert_iterator): Likewise.
169 (insert_iterator): Likewise. Remove NSDMIs.
170 (common_iterator): Constrain the default ctor.
171 (counted_iterator): Likewise.
172 * include/bits/stream_iterator.h (ostream_iterator): Remove the
173 default ctor.
174 * include/std/ranges (__detail::__box::operator=): Handle
175 self-assignment in the primary template.
176 (__detail::__box): In the partial specialization: adjust
177 constraints as per P2325. Add specialized operator= for the
178 case when the wrapped type is not copyable. Constrain the
179 default ctor. Avoid list-initialization.
180 (single_view): Constraint the default ctor.
181 (iota_view): Relax semiregular constraint to copyable.
182 Constrain the default ctor.
183 (iota_view::_Iterator): Constraint the default ctor.
184 (basic_istream_view): Remove the default ctor. Remove NSDMIs.
185 Remove redundant checks for empty _M_stream.
186 (basic_istream_view::_Iterator): Likewise.
187 (ref_view): Remove the default ctor. Remove NSDMIs.
188 (ref_view::_Iterator): Constrain the default ctor.
189 (__detail::__non_propagating_cache::operator=): Define overload
190 for assigning from a value of the underlying type.
191 (filter_view): Likewise.
192 (filter_view::_Iterator): Likewise.
193 (transform_view): Likewise.
194 (transform_view::_Iterator): Likewise.
195 (take_view): Likewise.
196 (take_view::_Iterator): Likewise.
197 (take_while_view): Likewise.
198 (take_while_view::_Iterator): Likewise.
199 (drop_while_view): Likewise.
200 (drop_while_view::_Iterator): Likewise.
201 (join_view): Likewise.
202 (split_view::_OuterIter::__current): Adjust after changing the
203 type of _M_current.
204 (split_view::_M_current): Wrap it in a __non_propagating_cache.
205 (split_view::split_view): Constrain the default ctor.
206 (common_view): Constrain the default ctor.
207 (reverse_view): Likewise.
208 (elements_view): Likewise.
209 * include/std/span (enable_view<span<_ElementType, _Extent>>):
210 Define this partial specialization to true unconditionally.
211 * include/std/version (__cpp_lib_ranges): Adjust value.
212 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
213 Don't attempt to default construct a back_insert_iterator.
214 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
215 Don't attempt to default construct a front_insert_iterator.
216 * testsuite/24_iterators/insert_iterator/constexpr.cc:
217 Don't attempt to default construct an insert_iterator.
218 * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc:
219 Remove this test for default constructibility of ostream_iterator.
220 * testsuite/std/ranges/97600.cc: Don't attempt to default
221 construct a basic_istream_view.
222 * testsuite/std/ranges/adaptors/detail/semiregular_box.cc:
223 Rename to ...
224 * testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this.
225 (test02): Adjust now that __box is copyable-box not
226 semiregular-box.
227 (test03): New test.
228 * testsuite/std/ranges/p2325.cc: New test.
229 * testsuite/std/ranges/single_view.cc (test06): New test.
230 * testsuite/std/ranges/view.cc: Adjust now that view doesn't
231 require default_initializable.
232
688359a2
GA
2332021-06-17 Jonathan Wakely <jwakely@redhat.com>
234
235 PR libstdc++/91488
236 * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only
237 define when is_constant_evaluated is available.
238 * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
239 Likewise.
240 (__constant_string_p, __constant_array_p): Remove.
241 (char_traits): Use is_constant_evaluated directly.
242 * include/std/version (__cpp_lib_constexpr_char_traits)
243 (__cpp_lib_constexpr_string): Only define when
244 is_constant_evaluated is available.
245
2462021-06-17 Patrick Palka <ppalka@redhat.com>
247
248 PR libstdc++/100940
249 * include/std/ranges (__adaptor::_Partial): For the "simple"
250 forwarding partial specializations, also require that
251 the extra arguments are trivially copyable.
252 * testsuite/std/ranges/adaptors/100577.cc (test04): New test.
253
2542021-06-17 Patrick Palka <ppalka@redhat.com>
255
256 PR libstdc++/100940
257 * include/std/ranges (__adaptor::_RangeAdaptor): Document the
258 template form of _S_has_simple_extra_args.
259 (__adaptor::__adaptor_has_simple_extra_args): Add _Args template
260 parameter pack. Try to treat _S_has_simple_extra_args as a
261 variable template parameterized by _Args.
262 (__adaptor::_Partial): Pass _Arg/_Args to the constraint
263 __adaptor_has_simple_extra_args.
264 (views::_Take::_S_has_simple_extra_args): Templatize according
265 to the type of the extra argument.
266 (views::_Drop::_S_has_simple_extra_args): Likewise.
267 (views::_Split::_S_has_simple_extra_args): Define.
268 * testsuite/std/ranges/adaptors/100577.cc (test01, test02):
269 Adjust after changes to _S_has_simple_extra_args mechanism.
270 (test03): Define.
271
9a61dfdb
GA
2722021-06-16 Jonathan Wakely <jwakely@redhat.com>
273
274 * include/bits/iterator_concepts.h (__decay_copy): Name type.
275
2762021-06-16 Jonathan Wakely <jwakely@redhat.com>
277
278 * include/bits/ranges_base.h (ranges::begin, ranges::end)
279 (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
280 (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
281 (ranges::empty, ranges::data, ranges::cdata): Remove final
282 keywords and deleted operator& overloads.
283 * testsuite/24_iterators/customization_points/iter_move.cc: Use
284 new is_customization_point_object function.
285 * testsuite/24_iterators/customization_points/iter_swap.cc:
286 Likewise.
287 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
288 Likewise.
289 * testsuite/std/ranges/access/begin.cc: Likewise.
290 * testsuite/std/ranges/access/cbegin.cc: Likewise.
291 * testsuite/std/ranges/access/cdata.cc: Likewise.
292 * testsuite/std/ranges/access/cend.cc: Likewise.
293 * testsuite/std/ranges/access/crbegin.cc: Likewise.
294 * testsuite/std/ranges/access/crend.cc: Likewise.
295 * testsuite/std/ranges/access/data.cc: Likewise.
296 * testsuite/std/ranges/access/empty.cc: Likewise.
297 * testsuite/std/ranges/access/end.cc: Likewise.
298 * testsuite/std/ranges/access/rbegin.cc: Likewise.
299 * testsuite/std/ranges/access/rend.cc: Likewise.
300 * testsuite/std/ranges/access/size.cc: Likewise.
301 * testsuite/std/ranges/access/ssize.cc: Likewise.
302 * testsuite/util/testsuite_iterators.h
303 (is_customization_point_object): New function.
304
ede6c356
GA
3052021-06-15 Jonathan Wakely <jwakely@redhat.com>
306
307 * include/bits/ranges_base.h (ranges::begin, ranges::end)
308 (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
309 (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
310 (ranges::empty, ranges::data, ranges::cdata): Make types final.
311 Add deleted operator& overloads.
312 (ranges::advance, ranges::distance, ranges::next, ranges::prev):
313 Likewise.
314 * testsuite/std/ranges/headers/ranges/synopsis.cc: Replace
315 ill-formed & expressions with using-declarations. Add checks for
316 other function objects.
317
3182021-06-15 Jonathan Wakely <jwakely@redhat.com>
319
320 * include/bits/ranges_util.h (view_interface): Add noexcept to
321 empty, operator bool, data and size members.
322 (subrange): Add noexcept to constructors.
323 * include/std/ranges (single_view, ref_view): Add noexcept to
324 constructors.
325 (views::single, views::all): Add noexcept.
326 * testsuite/std/ranges/adaptors/all.cc: Check noexcept.
327 * testsuite/std/ranges/single_view.cc: Likewise.
328
3292021-06-15 Jonathan Wakely <jwakely@redhat.com>
330
331 * include/bits/ranges_util.h (subrange): Add __size_type typedef
332 and use it to simplify declarations.
333 (subrange(i, s, n)): Remove assertion.
334 * testsuite/std/ranges/subrange/constexpr.cc: New test.
335
3362021-06-15 Jonathan Wakely <jwakely@redhat.com>
337
338 * include/bits/iterator_concepts.h (__cust_access::__decay_copy):
339 Replace with function object.
340 (__cust_access::__member_begin, ___cust_access::_adl_begin): Use
341 __decay_copy unqualified.
342 * include/bits/ranges_base.h (__member_end, __adl_end):
343 Likewise. Use __range_iter_t for type of ranges::begin.
344 (__member_rend): Use correct value category for rbegin argument.
345 (__member_data): Use __decay_copy unqualified.
346 (__begin_data): Use __range_iter_t for type of ranges::begin.
347
8dc48181
GA
3482021-06-14 Jonathan Wakely <jwakely@redhat.com>
349
350 * include/bits/ranges_base.h (ranges::empty): Check whether
351 conversion to bool can throw.
352 * testsuite/std/ranges/access/empty.cc: Check for correct
353 noexcept-specifier.
354
3552021-06-14 Jonathan Wakely <jwakely@redhat.com>
356
357 PR libstdc++/100894
358 * include/std/type_traits (__common_ref_impl<X&, Y&>): Only
359 use the type if it's a reference.
360 * testsuite/20_util/common_reference/100894.cc: New test.
361
3622021-06-14 Jonathan Wakely <jwakely@redhat.com>
363
364 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
365 Add dg-require-filesystem-ts directive.
366
3672021-06-14 Jonathan Wakely <jwakely@redhat.com>
368
369 PR libstdc++/101034
370 * include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
371 (any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
372 to use lvalue.
373 * testsuite/20_util/any/cons/101034.cc: New test.
374
3752021-06-14 Jonathan Wakely <jwakely@redhat.com>
376
377 * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
378 -std=gnu++17 option.
379
3802021-06-14 Jonathan Wakely <jwakely@redhat.com>
381
382 PR libstdc++/101056
383 * libsupc++/compare (compare_partial_order_fallback): Add
384 constraint using reversed parameter order, as per LWG 3465.
385 * testsuite/18_support/comparisons/algorithms/fallback.cc:
386 Adjust expected result.
387
3882021-06-14 Jonathan Wakely <jwakely@redhat.com>
389
390 * libsupc++/compare (__decayed_same_as): New helper concept.
391 (strong_order, weak_order, partial_order): Constrain with new
392 concept instead of using static_assert.
393 (compare_strong_order_fallback, compare_weak_order_fallback)
394 (compare_partial_order_fallback): Likewise. Do not deduce return
395 types. Remove redundant if-constexpr checks.
396 * testsuite/18_support/comparisons/algorithms/fallback.cc: New test.
397
3982021-06-14 Jonathan Wakely <jwakely@redhat.com>
399
400 PR libstdc++/101055
401 * include/std/tuple: Use reserved form of attribute name.
402 * testsuite/17_intro/headers/c++2011/all_attributes.cc: Add
403 check for no_unique_address.
404 * testsuite/17_intro/headers/c++2014/all_attributes.cc:
405 Likewise.
406 * testsuite/17_intro/headers/c++2017/all_attributes.cc:
407 Likewise.
408
f16f65f8
GA
4092021-06-11 Jonathan Wakely <jwakely@redhat.com>
410
411 * include/bits/fs_path.h (operator==, operator<=>): Use new
412 _S_compare function.
413 (path::_S_compare): New function to call path::compare in a
414 context where path::iterator is complete.
415 * include/experimental/bits/fs_path.h (operator<, operator==):
416 Define after path::iterator is complete.
417 * testsuite/27_io/filesystem/path/native/conv_c++23.cc: New
418 test.
419 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
420 New test.
421
4f625f47
GA
4222021-06-09 Thomas Rodgers <rodgert@appliantology.com>
423
424 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard
425 test logic with constexpr check for is_always_lock_free.
426
4272021-06-09 Jonathan Wakely <jwakely@redhat.com>
428
429 PR libstdc++/100982
430 * include/std/optional (optional::operator=(const optional<U>&)):
431 Fix value category used in is_assignable check.
432 * testsuite/20_util/optional/assignment/100982.cc: New test.
433
4342021-06-09 Jonathan Wakely <jwakely@redhat.com>
435
436 * include/bits/allocator.h (allocator::is_always_equal): Deprecate.
437 * include/bits/iterator_concepts.h (indirectly_readable_traits):
438 Add LWG issue number to comment.
439 * include/std/memory_resource (polymorphic_allocator::release):
440 Deprecate.
441 * testsuite/20_util/allocator/requirements/typedefs.cc: Add
442 dg-warning for deprecation. Also check std::allocator<void>.
443
c6038721
GA
4442021-06-08 Thomas Rodgers <rodgert@appliantology.com>
445
446 PR libstdc++/100889
447 * include/bits/atomic_base.h (atomic_ref<_Tp*>::wait):
448 Change parameter type from _Tp to _Tp*.
449 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend
450 coverage of types tested.
451
4522021-06-08 Thomas Rodgers <rodgert@appliantology.com>
453
454 * include/std/barrier (__tree_barrier::_M_arrive): Remove
455 unnecessary hasher instantiation.
456
4572021-06-08 Jonathan Wakely <jwakely@redhat.com>
458
459 * include/experimental/propagate_const (swap): Constrain.
460 * testsuite/experimental/propagate_const/swap/lwg3413.cc: New test.
461
438aac59
GA
4622021-06-07 Avi Kivity <avi@scylladb.com>
463
464 PR libstdc++/100900
465 * include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
466 Add missing typename.
467
4682021-06-07 Jonathan Wakely <jwakely@redhat.com>
469
470 PR libstdc++/98842
471 * include/std/optional (operator<=>(const optional<T>& const U&)):
472 Add missing constraint and add workaround for template
473 recursion.
474 * testsuite/20_util/optional/relops/three_way.cc: Check that
475 type without equality comparison cannot be compared when wrapped
476 in std::optional.
477
28c62475
GA
4782021-06-05 Jonathan Wakely <jwakely@redhat.com>
479
480 PR libstdc++/100824
481 * include/bits/ranges_base.h (_SSize): Return signed type.
482 * testsuite/std/ranges/access/ssize.cc: Check with __int128.
483
600f90cb
GA
4842021-06-04 Jonathan Wakely <jwakely@redhat.com>
485
486 * include/bits/ranges_base.h (_SSize): Return the result of
487 ranges::size converted to the wider of make-signed-like-t<S> and
488 ptrdiff_t, rather than the ranges different type.
489 * testsuite/std/ranges/access/ssize.cc: Adjust expected result
490 for an iota_view that uses an integer class type for its
491 difference_type.
492
4932021-06-04 Jonathan Wakely <jwakely@redhat.com>
494
495 PR libstdc++/100824
496 * include/bits/ranges_base.h (__member_data): Use __decay_copy.
497 * testsuite/std/ranges/access/data.cc: Add testcase from PR.
498
4992021-06-04 Jonathan Wakely <jwakely@redhat.com>
500
501 PR libstdc++/100824
502 * include/bits/iterator_concepts.h (__detail::__decay_copy)
503 (__detail::__member_begin, __detail::__adl_begin): Move to
504 namespace ranges::__cust_access.
505 (__detail::__ranges_begin): Likewise, and rename to __begin.
506 Remove redundant static assertion.
507 * include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd):
508 Use lvalue in noexcept specifier.
509 (__as_const): Add non-deduced parameter for value category.
510 (_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of
511 __as_const.
512 (__member_size, __adl_size, __member_empty, __size0_empty):
513 (__eq_iter_empty, __adl_data): Use lvalue objects in
514 requirements.
515 (__sentinel_size): Likewise. Add check for conversion to
516 unsigned-like.
517 (__member_data): Allow non-lvalue types to satisfy the concept,
518 but use lvalue object in requirements.
519 (_Size, _SSize): Remove forwarding to always use an lvalue.
520 (_Data): Likewise. Add static assertion for arrays.
521 * testsuite/std/ranges/access/cdata.cc: Adjust expected
522 behaviour for rvalues. Add negative tests for ill-formed
523 expressions.
524 * testsuite/std/ranges/access/data.cc: Likewise.
525 * testsuite/std/ranges/access/empty.cc: Adjust expected
526 behaviour for rvalues.
527 * testsuite/std/ranges/access/size.cc: Likewise.
528
5292021-06-04 Tim Adye <Tim.Adye@cern.ch>
530
531 * include/std/any (any::_Manager::_S_access): New static
532 function to access the contained value.
533 (any::emplace, __any_caster): Use _S_access member of the
534 manager type.
535
5362021-06-04 Jonathan Wakely <jwakely@redhat.com>
537
538 * doc/xml/manual/status_cxx2020.xml:
539 * doc/html/*: Regenerate.
540 * include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup):
541 Define.
542 * include/std/version (__cpp_lib_generic_unordered_lookup):
543 Define.
544 * testsuite/23_containers/unordered_map/operations/1.cc: Check
545 feature test macro.
546 * testsuite/23_containers/unordered_set/operations/1.cc:
547 Likewise.
548
440c8a0a
GA
5492021-06-03 Patrick Palka <ppalka@redhat.com>
550
551 * include/bits/ranges_algo.h (__detail::__can_reread_output):
552 Factor out this concept from ...
553 (__unique_copy_fn::operator()): ... here. Use the concept
554 throughout.
555 * testsuite/std/ranges/range.cc: Remove now ill-formed use
556 of range_value_t on an output_range.
557 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
558 Define value_type, pointer and reference member types to void.
559
5602021-06-03 Patrick Palka <ppalka@redhat.com>
561
562 PR libstdc++/100577
563 * include/std/ranges (_RangeAdaptorClosure): Document
564 _S_has_simple_call_op mechanism.
565 (_RangeAdaptor): Document _S_has_simple_extra_args mechanism.
566 (__closure_has_simple_call_op): New concept.
567 (__adaptor_has_simple_extra_args): Likewise.
568 (_Partial<_Adaptor, _Args...>): New partial specialization.
569 (_Partial<_Adaptor, _Arg>): Likewise.
570 (_Pipe<_Lhs, _Rhs>): Likewise.
571 (views::_All::_S_has_simple_call_op): Define to true.
572 (views::_Filter::_S_has_simple_extra_args): Likewise.
573 (views::_Transform::_S_has_simple_extra_args): Likewise.
574 (views::_Take::_S_has_simple_extra_args): Likewise.
575 (views::_TakeWhile::_S_has_simple_extra_args): Likewise.
576 (views::_Drop::_S_has_simple_extra_args): Likewise.
577 (views::_DropWhile::_S_has_simple_extra_args): Likewise.
578 (views::_Join::_S_has_simple_call_op): Likewise.
579 (views::_Split): Document why we don't define
580 _S_has_simple_extra_args to true for this adaptor.
581 (views::_Common::_S_has_simple_call_op): Define to true.
582 (views::_Reverse::_S_has_simple_call_op): Likewise.
583 (views::_Elements::_S_has_simple_call_op): Likewise.
584 * testsuite/std/ranges/adaptors/100577.cc: New test.
585
9663c744
GA
5862021-06-02 Jonathan Wakely <jwakely@redhat.com>
587
588 PR libstdc++/100863
589 PR libstdc++/65816
590 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
591 Value-initialize subobject.
592 * testsuite/23_containers/unordered_map/allocator/default_init.cc:
593 Remove XFAIL.
594 * testsuite/23_containers/unordered_set/allocator/default_init.cc:
595 Remove XFAIL.
596
5972021-06-02 Jonathan Wakely <jwakely@redhat.com>
598
599 PR libstdc++/96088
600 * testsuite/23_containers/unordered_map/96088.cc: Adjust
601 expected number of allocations.
602 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
603
6042021-06-02 Jonathan Wakely <jwakely@redhat.com>
605
606 * doc/xml/manual/status_cxxis29124.xml: Improve punctuation.
607 * doc/xml/manual/status_cxxtr1.xml: Likewise.
608 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
609 * doc/html/*: Regenerate.
610
b75978d1
GA
6112021-06-01 Patrick Palka <ppalka@redhat.com>
612
613 PR c++/65816
614 * testsuite/23_containers/deque/allocator/default_init.cc,
615 testsuite/23_containers/forward_list/allocator/default_init.cc,
616 testsuite/23_containers/list/allocator/default_init.cc,
617 testsuite/23_containers/map/allocator/default_init.cc,
618 testsuite/23_containers/set/allocator/default_init.cc,
619 testsuite/23_containers/vector/allocator/default_init.cc,
620 testsuite/23_containers/vector/bool/allocator/default_init.cc:
621 Remove xfail.
622
6232021-06-01 Jonathan Wakely <jwakely@redhat.com>
624
625 * testsuite/23_containers/unordered_map/96088.cc: Change
626 effective target to c++17.
627 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
628
6292021-06-01 Jonathan Wakely <jwakely@redhat.com>
630
631 * testsuite/22_locale/ctype/is/string/89728_neg.cc: Only test
632 isblank for C++11 and later.
633
6342021-06-01 Jonathan Wakely <jwakely@redhat.com>
635
636 PR libstdc++/100833
637 * include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)):
638 Fix return value for no-op case.
639 * testsuite/24_iterators/range_operations/advance.cc: Test
640 return values of three-argument overload.
641
6422021-06-01 Jonathan Wakely <jwakely@redhat.com>
643
644 PR libstdc++/99453
645 * python/Makefile.am: Use archive name for printer hook if no
646 dynamic library name is available.
647 * python/Makefile.in: Regenerate.
648
e21e9340
GA
6492021-05-30 Gerald Pfeifer <gerald@pfeifer.com>
650
651 * doc/xml/manual/abi.xml: Remove dead reference to "Intel
652 Compilers for Linux: Compatibility with GNU Compilers" article.
653 * doc/html/manual/abi.html: Regenerate.
654
01c59ef2
GA
6552021-05-26 François Dumont <fdumont@gcc.gnu.org>
656
657 * include/debug/formatter.h
658 (_Error_formatter::_Parameter::_Named): New.
659 (_Error_formatter::_Parameter::_Type): Inherit latter.
660 (_Error_formatter::_Parameter::_M_integer): Likewise.
661 (_Error_formatter::_Parameter::_M_string): Likewise.
662 * src/c++11/debug.cc: Include <cstring>.
663 (_Print_func_t): New.
664 (print_raw(PrintContext&, const char*, ptrdiff_t)): New.
665 (print_word): Use '%.*s' format in fprintf to render only expected number of chars.
666 (pretty_print(PrintContext&, const char*, _Print_func_t)): New.
667 (print_type): Rename in...
668 (print_type_info): ...this. Use pretty_print.
669 (print_address, print_integer): New.
670 (print_named_name, print_iterator_constness, print_iterator_state): New.
671 (print_iterator_seq_type): New.
672 (print_named_field, print_type_field, print_instance_field, print_iterator_field): New.
673 (print_field): Use latters.
674 (print_quoted_named_name, print_type_type, print_type, print_instance): New.
675 (print_string(PrintContext&, const char*, const _Parameter*, size_t)):
676 Change signature to...
677 (print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)):
678 ...this and adapt. Remove intermediate buffer to render input string.
679 (print_string(PrintContext&, const char*, ptrdiff_t)): New.
680
6812021-05-26 Jonathan Wakely <jwakely@redhat.com>
682
683 PR libstdc++/100768
684 * include/bits/ranges_base.h (advance, distance, next, prev):
685 Replace function templates with function objects.
686 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
687 Adjust for changes to function objects.
688 * testsuite/std/ranges/adaptors/elements.cc: Add using
689 declarations for names from namespace ranges.
690 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
691 * testsuite/24_iterators/range_operations/100768.cc: New test.
692
637569df
GA
6932021-05-24 François Dumont <fdumont@gcc.gnu.org>
694
695 PR libstdc++/96088
696 * include/bits/hashtable_policy.h (_Select2nd): New.
697 (_NodeBuilder<>): New.
698 (_ReuseOrAllocNode<>::operator()): Use variadic template args.
699 (_AllocNode<>::operator()): Likewise.
700 * include/bits/hashtable.h
701 (_Hashtable<>::__node_builder_t): New.
702 (_Hashtable<>::_M_insert_unique<>(_Kt&&, _Arg&&, const _NodeGenerator&)):
703 New.
704 (_Hashtable<>::_S_forward_key): New.
705 (_Hashtable<>::_M_insert): Use latter.
706 (_Hashtable<>::_M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type)):
707 Instantiate node first, compute hash code second.
708 * testsuite/23_containers/unordered_map/96088.cc: New test.
709 * testsuite/23_containers/unordered_multimap/96088.cc: New test.
710 * testsuite/23_containers/unordered_multiset/96088.cc: New test.
711 * testsuite/23_containers/unordered_set/96088.cc: New test.
712 * testsuite/util/replacement_memory_operators.h
713 (counter::_M_increment): New.
714 (counter::_M_decrement): New.
715 (counter::reset()): New.
716
7172021-05-24 Patrick Palka <ppalka@redhat.com>
718
719 PR libstdc++/100479
720 * include/std/ranges (__detail::__non_propagating_cache): Move
721 definition up to before that of _CachedPosition. Make base
722 class _Optional_base protected instead of private. Add const
723 overload for operator*.
724 (__detail::_CachedPosition): Rewrite the partial specialization
725 for forward ranges as a derived class of __non_propagating_cache.
726 Remove the size constraint on the partial specialization for
727 random access ranges. Add copy/move/copy-assignment/move-assignment
728 members to the offset partial specialization for random
729 access ranges that propagate the cached value but additionally
730 invalidate it in the source object on move.
731 * testsuite/std/ranges/adaptors/100479.cc: New test.
732
7332021-05-24 Jonathan Wakely <jwakely@redhat.com>
734
735 * testsuite/25_algorithms/inplace_merge/constrained.cc: Qualify
736 call to ranges::next.
737 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
738 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
739 Likewise.
740 * testsuite/25_algorithms/swap_ranges/1.cc: Qualify call to
741 swap_ranges.
742
2832d51b
GA
7432021-05-21 Patrick Palka <ppalka@redhat.com>
744
745 PR libstdc++/100606
746 * include/std/ranges (drop_while_view::begin): Assert the
747 precondition added by LWG 3490.
748
7492021-05-21 Patrick Palka <ppalka@redhat.com>
750
751 PR libstdc++/100690
752 * include/std/ranges (iota_view::_Sentinel::_M_distance_from):
753 Split out this member function from ...
754 (iota_view::_Sentinel::operator-): ... here, for sake of access
755 control.
756 * testsuite/std/ranges/iota/iota_view.cc (test05): New test.
757
ea34e2ed
GA
7582021-05-20 Jonathan Wakely <jwakely@redhat.com>
759
760 * include/bits/random.tcc (__representable_as_double)
761 (__p1_representable_as_double): Add "" to static asserts.
762
7632021-05-20 Jonathan Wakely <jwakely@redhat.com>
764
765 PR libstdc++/100676
766 * include/bits/c++config (__glibcxx_assert_1): Rename to ...
767 (__glibcxx_constexpr_assert): ... this.
768 (__glibcxx_assert_impl): Use __glibcxx_constexpr_assert.
769 (__glibcxx_assert): Define as either __glibcxx_constexpr_assert
770 or __glibcxx_assert_impl.
771 (__glibcxx_assert_2): Remove
772 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use
773 __glibcxx_constexpr_assert instead of __glibcxx_assert_1.
774 * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
775 Adjust expected error.
776 * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
777 Likewise.
778 * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
779 Likewise.
780 Likewise.
781 * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
782 Likewise.
783 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
784 Likewise.
785 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
786 Likewise.
787 * testsuite/23_containers/span/back_neg.cc: Likewise.
788 * testsuite/23_containers/span/front_neg.cc: Likewise.
789 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
790
7912021-05-20 Patrick Palka <ppalka@redhat.com>
792
793 PR libstdc++/100639
794 * include/bits/stl_iterator.h (reverse_iterator::difference_type):
795 In C++20 mode, define in terms of iter_difference_t as per P0896R4.
796 (reverse_iterator::reference): Likewise, but with iter_reference_t.
797 (reverse_iterator::value_type): Likewise, but with iter_value_t.
798 * testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
799 * testsuite/24_iterators/reverse_iterator/100639.cc: New test.
800
8012021-05-20 Joern Rennecke <joern.rennecke@riscy-ip.com>
802
803 PR libstdc++/100361
804 * include/std/charconv (to_chars): Hide the overloads for
805 floating-point types for 16 bit targets.
806 * src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets.
807 * testsuite/20_util/to_chars/double.cc: Run this test only on
808 size32plus targets.
809 * testsuite/20_util/to_chars/float.cc: Likewise.
810 * testsuite/20_util/to_chars/long_double.cc: Likewise.
811
a8daf9a1
GA
8122021-05-18 Patrick Palka <ppalka@redhat.com>
813
814 PR libstdc++/100631
815 * include/std/ranges (elements_view::_Sentinel::operator-): Use
816 _M_distance_from in the other operator- overload too.
817 * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
818
8192021-05-18 Thomas Schwinge <thomas@codesourcery.com>
820
821 * testsuite/lib/prune.exp: Add note about 'dg-note'.
822
8232021-05-18 Patrick Palka <ppalka@redhat.com>
824
825 PR libstdc++/100475
826 * include/std/ranges (__box::__box): Use non-list-initialization
827 in member initializer list of in-place constructor of the
828 partial specialization for semiregular types.
829 (__box::operator->): Use std::__addressof.
830 * testsuite/std/ranges/adaptors/detail/semiregular_box.cc
831 (test02): New test.
832 * testsuite/std/ranges/single_view.cc (test04): New test.
833
8342021-05-18 Patrick Palka <ppalka@redhat.com>
835
836 PR libstdc++/100621
837 * include/std/ranges (reverse_view::_S_needs_cached_begin):
838 Set to true if the underlying non-common random-access range
839 doesn't have a sized sentinel.
840
8412021-05-18 Patrick Palka <ppalka@redhat.com>
842
843 PR libstdc++/100631
844 * include/std/ranges (elements_view::_Iterator): Also befriend
845 _Sentinel<!_Const>.
846 (elements_view::_Sentinel::_M_equal): Templatize.
847 (elements_view::_Sentinel::_M_distance_from): Split out from ...
848 (elements_view::_Sentinel::operator-): ... here. Depend on
849 _Base2 instead of _Base in the return type.
850 * testsuite/std/ranges/adaptors/elements.cc (test06, test07):
851 New tests.
852
a7ffc1ef
GA
8532021-05-17 Thomas Rodgers <rodgert@twrodgers.com>
854
855 * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop
856 until value change observed.
857 (__waiter_base::_M_laundered): New member.
858 (__waiter_base::_M_notify): Check _M_laundered to determine
859 whether to wake one or all.
860 (__detail::__atomic_compare): Return true if call to
861 __builtin_memcmp() == 0.
862 (__waiter_base::_S_do_spin_v): Adjust predicate.
863 * testsuite/29_atomics/atomic/wait_notify/100334.cc: New
864 test.
865
8662021-05-17 Jonathan Wakely <jwakely@redhat.com>
867
868 PR libstdc++/100630
869 * include/experimental/bits/fs_path.h (__is_constructible_from):
870 Test construction from a const lvalue, not an rvalue.
871 * testsuite/27_io/filesystem/path/construct/100630.cc: New test.
872 * testsuite/experimental/filesystem/path/construct/100630.cc:
873 New test.
874
8752021-05-17 Antony Polukhin <antoshkka@gmail.com>
876
877 PR libstdc++/89728
878 * include/bits/locale_facets.h (ctype<basic_string<C,T,A>>):
879 Declare (but do not define) partial specialization.
880 * testsuite/22_locale/ctype/is/string/89728_neg.cc: New test.
881
8822021-05-17 Jonathan Wakely <jwakely@redhat.com>
883
884 * include/std/thread (jthread::_S_create): Fix static assert
885 message.
886 * testsuite/30_threads/jthread/95989.cc: Re-enable test.
887 * testsuite/30_threads/jthread/jthread.cc: Do not require
888 pthread effective target.
889 * testsuite/30_threads/jthread/2.cc: Moved to...
890 * testsuite/30_threads/jthread/version.cc: ...here.
891
8922021-05-17 Jonathan Wakely <jwakely@redhat.com>
893
894 * doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd.
895 * doc/Makefile.in: Regenerate.
896 * doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder
897 value.
898 * scripts/run_doxygen (print_usage): Always print to stdout and
899 do not exit.
900 (fail): New function for exiting on error.
901 (parse_options): Handle --latex_cmd. Do not treat --help the
902 same as errors. Simplify handling of required arguments.
903
0ff3a0f2
GA
9042021-05-12 Jonathan Wakely <jwakely@redhat.com>
905
906 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
907 Increase dg-timeout-factor to 4. Fix -Wunused-parameter
908 warnings. Replace bitwise AND with logical AND in loop
909 condition.
910 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
911 Replace bitwise AND with logical AND in loop condition.
912 * testsuite/util/pstl/test_utils.h: Remove unused parameter
913 names.
914
037e3661
GA
9152021-05-11 Patrick Palka <ppalka@redhat.com>
916
917 * src/c++17/ryu/LOCAL_PATCHES: Update.
918 * src/c++17/ryu/ryu_generic_128.h: Remove extern "C".
919 Remove declarations for never-defined functions.
920 * testsuite/20_util/to_chars/4.cc: New test.
921
9222021-05-11 Jonathan Wakely <jwakely@redhat.com>
923
924 * testsuite/20_util/headers/memory/synopsis.cc: Define C++98
925 alternative for macro.
926 * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective
927 target keyword.
928 * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11
929 syntax.
930
9312021-05-11 Jonathan Wakely <jwakely@redhat.com>
932
933 * include/bits/allocator.h (allocator<void>) [C++20]: Add
934 missing noexcept to constructor. Restore missing POCMA and
935 is_always_equal_traits.
936 [C++17]: Make construct and destroy members private and
937 declare allocator_traits as a friend.
938 * include/bits/memoryfwd.h (allocator_traits): Declare.
939 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
940 Add nodiscard attribute. Add static assertion for LWG 3307.
941 * include/ext/new_allocator.h (new_allocator::allocate): Add
942 static assertion for LWG 3307.
943 * testsuite/20_util/allocator/void.cc: Check that converting
944 constructor is noexcept. Check for propagation traits and
945 size_type and difference_type. Check that pointer and
946 const_pointer are gone in C++20.
947
aa891c56
GA
9482021-05-10 Jonathan Wakely <jwakely@redhat.com>
949
950 * include/std/stop_token: Remove TODO comment.
951
9522021-05-10 Jonathan Wakely <jwakely@redhat.com>
953
954 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)):
955 Initialize a non-reference deleter from an rvalue, as per LWG
956 3548.
957 (__shared_ptr::_UniqCompatible): Add missing constraint.
958 * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test.
959 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check
960 constraints.
961
9622021-05-10 Jonathan Wakely <jwakely@redhat.com>
963
964 * testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove
965 -std=gnu++17 from dg-options directive.
966 * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
967 Likewise.
968 * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
969 Likewise.
970 * testsuite/17_intro/headers/c++2017/operator_names.cc:
971 Likewise.
972 * testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise.
973 * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
974 * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
975 Likewise.
976 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
977 * testsuite/18_support/byte/81076.cc: Likewise.
978 * testsuite/18_support/byte/global_neg.cc: Likewise.
979 * testsuite/18_support/byte/ops.cc: Likewise.
980 * testsuite/18_support/byte/requirements.cc: Likewise.
981 * testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise.
982 * testsuite/18_support/launder/1.cc: Likewise.
983 * testsuite/18_support/launder/nodiscard.cc: Likewise.
984 * testsuite/18_support/launder/requirements.cc: Likewise.
985 * testsuite/18_support/launder/requirements_neg.cc: Likewise.
986 * testsuite/18_support/new_aligned.cc: Likewise.
987 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
988 Likewise.
989 * testsuite/19_diagnostics/error_code/is_error_code_v.cc:
990 Likewise.
991 * testsuite/19_diagnostics/error_condition/hash.cc: Likewise.
992 * testsuite/20_util/addressof/requirements/constexpr.cc:
993 Likewise.
994 * testsuite/20_util/as_const/1.cc: Likewise.
995 * testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
996 * testsuite/20_util/bind/83427.cc: Likewise.
997 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
998 * testsuite/20_util/bool_constant/requirements.cc: Likewise.
999 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
1000 Likewise.
1001 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1002 Likewise.
1003 * testsuite/20_util/duration_cast/rounding.cc: Likewise.
1004 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1005 Likewise.
1006 * testsuite/20_util/from_chars/1_neg.cc: Likewise.
1007 * testsuite/20_util/from_chars/requirements.cc: Likewise.
1008 * testsuite/20_util/function/91456.cc: Likewise.
1009 * testsuite/20_util/function/cons/deduction.cc: Likewise.
1010 * testsuite/20_util/function_objects/83607.cc: Likewise.
1011 * testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
1012 * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
1013 * testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
1014 * testsuite/20_util/function_objects/not_fn/87538.cc: Likewise.
1015 * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
1016 Likewise.
1017 * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
1018 Likewise.
1019 * testsuite/20_util/has_unique_object_representations/value.cc:
1020 Likewise.
1021 * testsuite/20_util/hash/nullptr.cc: Likewise.
1022 * testsuite/20_util/in_place/requirements.cc: Likewise.
1023 * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise.
1024 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
1025 Likewise.
1026 * testsuite/20_util/is_aggregate/requirements/typedefs.cc:
1027 Likewise.
1028 * testsuite/20_util/is_aggregate/value.cc: Likewise.
1029 * testsuite/20_util/is_invocable/83395.cc: Likewise.
1030 * testsuite/20_util/is_invocable/91456.cc: Likewise.
1031 * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
1032 Likewise.
1033 * testsuite/20_util/is_invocable/requirements/typedefs.cc:
1034 Likewise.
1035 * testsuite/20_util/is_invocable/value.cc: Likewise.
1036 * testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise.
1037 * testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise.
1038 * testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise.
1039 * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
1040 Likewise.
1041 * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise.
1042 * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
1043 * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
1044 Likewise.
1045 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1046 Likewise.
1047 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1048 * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
1049 Likewise.
1050 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1051 Likewise.
1052 * testsuite/20_util/is_nothrow_swappable_with/value.cc:
1053 Likewise.
1054 * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
1055 Likewise.
1056 * testsuite/20_util/is_swappable/requirements/typedefs.cc:
1057 Likewise.
1058 * testsuite/20_util/is_swappable/value.cc: Likewise.
1059 * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
1060 Likewise.
1061 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
1062 Likewise.
1063 * testsuite/20_util/is_swappable_with/value.cc: Likewise.
1064 * testsuite/20_util/logical_traits/83134.cc: Likewise.
1065 * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
1066 Likewise.
1067 * testsuite/20_util/logical_traits/requirements/typedefs.cc:
1068 Likewise.
1069 * testsuite/20_util/logical_traits/value.cc: Likewise.
1070 * testsuite/20_util/pair/cons/deduction.cc: Likewise.
1071 * testsuite/20_util/pair/swap_cxx17.cc: Likewise.
1072 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc:
1073 Likewise.
1074 * testsuite/20_util/reference_wrapper/83427.cc: Likewise.
1075 * testsuite/20_util/reference_wrapper/deduction.cc: Likewise.
1076 * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
1077 * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
1078 * testsuite/20_util/shared_ptr/requirements/weak_type.cc:
1079 Likewise.
1080 * testsuite/20_util/time_point/arithmetic/constexpr.cc:
1081 Likewise.
1082 * testsuite/20_util/time_point_cast/rounding.cc: Likewise.
1083 * testsuite/20_util/to_chars/3.cc: Likewise.
1084 * testsuite/20_util/to_chars/chars_format.cc: Likewise.
1085 * testsuite/20_util/to_chars/lwg3266.cc: Likewise.
1086 * testsuite/20_util/to_chars/requirements.cc: Likewise.
1087 * testsuite/20_util/tuple/78939.cc: Likewise.
1088 * testsuite/20_util/tuple/apply/1.cc: Likewise.
1089 * testsuite/20_util/tuple/apply/2.cc: Likewise.
1090 * testsuite/20_util/tuple/cons/deduction.cc: Likewise.
1091 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
1092 * testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise.
1093 * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
1094 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1095 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
1096 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1097 Likewise.
1098 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1099 * testsuite/20_util/void_t/1.cc: Likewise.
1100 * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
1101 * testsuite/24_iterators/container_access.cc: Likewise.
1102 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
1103 Likewise.
1104 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
1105 Likewise.
1106 * testsuite/24_iterators/range_access/range_access_cpp17.cc:
1107 Likewise.
1108 * testsuite/24_iterators/range_access/range_access_cpp17_neg.cc:
1109 Likewise.
1110 * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
1111 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
1112 Likewise.
1113 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
1114 * testsuite/26_numerics/headers/cmath/special_functions_global.cc:
1115 Likewise.
1116 * testsuite/26_numerics/lcm/1.cc: Likewise.
1117 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
1118 * testsuite/26_numerics/valarray/deduction.cc: Likewise.
1119 * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
1120 Likewise.
1121 * testsuite/27_io/manipulators/standard/char/quoted_sv.cc:
1122 Likewise.
1123 * testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc:
1124 Likewise.
1125 * testsuite/27_io/types/4.cc: Likewise.
1126 * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
1127 * testsuite/libstdc++-prettyprinters/91997.cc: Likewise.
1128 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
1129
11302021-05-10 Jonathan Wakely <jwakely@redhat.com>
1131
1132 * testsuite/20_util/function_objects/searchers.cc: Remove
1133 -std=gnu++17 from dg-options directive.
1134 * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
1135 Likewise.
1136 * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
1137 Likewise.
1138 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
1139 Likewise.
1140 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc:
1141 Likewise.
1142 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
1143 Likewise.
1144 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
1145 Likewise.
1146 * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
1147 Likewise.
1148 * testsuite/25_algorithms/clamp/1.cc: Likewise.
1149 * testsuite/25_algorithms/clamp/2.cc: Likewise.
1150 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
1151 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
1152 Likewise.
1153 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
1154 Likewise.
1155 * testsuite/25_algorithms/for_each/for_each_n.cc: Likewise.
1156 * testsuite/25_algorithms/for_each/for_each_n_debug.cc:
1157 Likewise.
1158 * testsuite/25_algorithms/sample/1.cc: Likewise.
1159 * testsuite/25_algorithms/sample/2.cc: Likewise.
1160 * testsuite/25_algorithms/sample/3.cc: Likewise.
1161 * testsuite/25_algorithms/sample/81221.cc: Likewise.
1162 * testsuite/25_algorithms/search/searcher.cc: Likewise.
1163 * testsuite/26_numerics/exclusive_scan/1.cc: Likewise.
1164 * testsuite/26_numerics/inclusive_scan/1.cc: Likewise.
1165 * testsuite/26_numerics/reduce/1.cc: Likewise.
1166 * testsuite/26_numerics/reduce/2.cc: Likewise.
1167 * testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise.
1168 * testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise.
1169 * testsuite/26_numerics/transform_reduce/1.cc: Likewise.
1170
11712021-05-10 Jonathan Wakely <jwakely@redhat.com>
1172
1173 * testsuite/23_containers/array/cons/deduction.cc: Remove
1174 -std=gnu++17 from dg-options directive.
1175 * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
1176 * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
1177 Likewise.
1178 * testsuite/23_containers/array/requirements/constexpr_iter.cc:
1179 Likewise.
1180 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
1181 Likewise.
1182 * testsuite/23_containers/deque/cons/deduction.cc: Likewise.
1183 * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
1184 Likewise.
1185 * testsuite/23_containers/forward_list/cons/deduction.cc:
1186 Likewise.
1187 * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
1188 Likewise.
1189 * testsuite/23_containers/list/cons/deduction.cc: Likewise.
1190 * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
1191 Likewise.
1192 * testsuite/23_containers/map/cons/deduction.cc: Likewise.
1193 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
1194 * testsuite/23_containers/map/modifiers/insert/83226.cc:
1195 Likewise.
1196 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
1197 Likewise.
1198 * testsuite/23_containers/map/modifiers/merge.cc: Likewise.
1199 * testsuite/23_containers/map/modifiers/try_emplace/1.cc:
1200 Likewise.
1201 * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
1202 * testsuite/23_containers/multimap/modifiers/extract.cc:
1203 Likewise.
1204 * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
1205 * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
1206 * testsuite/23_containers/multiset/modifiers/extract.cc:
1207 Likewise.
1208 * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
1209 * testsuite/23_containers/priority_queue/deduction.cc: Likewise.
1210 * testsuite/23_containers/queue/deduction.cc: Likewise.
1211 * testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
1212 Likewise.
1213 * testsuite/23_containers/set/cons/deduction.cc: Likewise.
1214 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
1215 * testsuite/23_containers/set/modifiers/merge.cc: Likewise.
1216 * testsuite/23_containers/set/modifiers/node_swap.cc: Likewise.
1217 * testsuite/23_containers/stack/deduction.cc: Likewise.
1218 * testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
1219 Likewise.
1220 * testsuite/23_containers/unordered_map/cons/deduction.cc:
1221 Likewise.
1222 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
1223 Likewise.
1224 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
1225 Likewise.
1226 * testsuite/23_containers/unordered_map/modifiers/merge.cc:
1227 Likewise.
1228 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
1229 Likewise.
1230 * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
1231 Likewise.
1232 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
1233 Likewise.
1234 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
1235 Likewise.
1236 * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
1237 Likewise.
1238 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
1239 Likewise.
1240 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
1241 Likewise.
1242 * testsuite/23_containers/unordered_set/cons/deduction.cc:
1243 Likewise.
1244 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
1245 Likewise.
1246 * testsuite/23_containers/unordered_set/modifiers/merge.cc:
1247 Likewise.
1248 * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
1249 Likewise.
1250 * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise.
1251 * testsuite/23_containers/vector/cons/deduction.cc: Likewise.
1252 * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
1253 Likewise.
1254
12552021-05-10 Jonathan Wakely <jwakely@redhat.com>
1256
1257 * testsuite/21_strings/basic_string/79162.cc: Remove
1258 -std=gnu++17 from dg-options directive.
1259 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1260 * testsuite/21_strings/basic_string/cons/char/79162.cc:
1261 Likewise.
1262 * testsuite/21_strings/basic_string/cons/char/86138.cc:
1263 Likewise.
1264 * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
1265 * testsuite/21_strings/basic_string/cons/char/deduction.cc:
1266 Likewise.
1267 * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
1268 Likewise.
1269 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1270 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc:
1271 Likewise.
1272 * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc:
1273 Likewise.
1274 * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
1275 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1276 Likewise.
1277 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
1278 Likewise.
1279 * testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
1280 * testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
1281 * testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
1282 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1283 Likewise.
1284 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1285 Likewise.
1286 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1287 Likewise.
1288 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1289 Likewise.
1290 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1291 Likewise.
1292 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1293 Likewise.
1294 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1295 Likewise.
1296 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1297 Likewise.
1298 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1299 Likewise.
1300 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1301 Likewise.
1302 * testsuite/21_strings/basic_string/operations/data/char/2.cc:
1303 Likewise.
1304 * testsuite/21_strings/basic_string/operations/data/char/86169.cc:
1305 Likewise.
1306 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
1307 Likewise.
1308 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1309 Likewise.
1310 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1311 Likewise.
1312 * testsuite/21_strings/basic_string/operators/char/5.cc:
1313 Likewise.
1314 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
1315 Likewise.
1316 * testsuite/21_strings/basic_string_view/capacity/1.cc:
1317 Likewise.
1318 * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc:
1319 Likewise.
1320 * testsuite/21_strings/basic_string_view/cons/char/1.cc:
1321 Likewise.
1322 * testsuite/21_strings/basic_string_view/cons/char/2.cc:
1323 Likewise.
1324 * testsuite/21_strings/basic_string_view/cons/char/3.cc:
1325 Likewise.
1326 * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
1327 Likewise.
1328 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1329 Likewise.
1330 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
1331 Likewise.
1332 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
1333 Likewise.
1334 * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
1335 Likewise.
1336 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1337 Likewise.
1338 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1339 Likewise.
1340 * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
1341 Likewise.
1342 * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc:
1343 Likewise.
1344 * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
1345 Likewise.
1346 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1347 Likewise.
1348 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1349 Likewise.
1350 * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc:
1351 Likewise.
1352 * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
1353 Likewise.
1354 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1355 Likewise.
1356 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1357 Likewise.
1358 * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
1359 Likewise.
1360 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc:
1361 Likewise.
1362 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
1363 Likewise.
1364 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1365 Likewise.
1366 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1367 Likewise.
1368 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
1369 Likewise.
1370 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1371 * testsuite/21_strings/basic_string_view/inserters/94051.cc:
1372 Likewise.
1373 * testsuite/21_strings/basic_string_view/inserters/char/1.cc:
1374 Likewise.
1375 * testsuite/21_strings/basic_string_view/inserters/char/2.cc:
1376 Likewise.
1377 * testsuite/21_strings/basic_string_view/inserters/char/3.cc:
1378 Likewise.
1379 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1380 Likewise.
1381 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1382 Likewise.
1383 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1384 Likewise.
1385 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1386 Likewise.
1387 * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
1388 Likewise.
1389 * testsuite/21_strings/basic_string_view/literals/types.cc:
1390 Likewise.
1391 * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
1392 Likewise.
1393 * testsuite/21_strings/basic_string_view/literals/values.cc:
1394 Likewise.
1395 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1396 Likewise.
1397 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1398 Likewise.
1399 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1400 Likewise.
1401 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1402 Likewise.
1403 * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
1404 Likewise.
1405 * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
1406 Likewise.
1407 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1408 Likewise.
1409 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1410 Likewise.
1411 * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
1412 Likewise.
1413 * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
1414 Likewise.
1415 * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc:
1416 Likewise.
1417 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1418 Likewise.
1419 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1420 Likewise.
1421 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
1422 Likewise.
1423 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1424 Likewise.
1425 * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
1426 Likewise.
1427 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1428 Likewise.
1429 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
1430 Likewise.
1431 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1432 Likewise.
1433 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1434 Likewise.
1435 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1436 Likewise.
1437 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1438 Likewise.
1439 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1440 Likewise.
1441 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1442 Likewise.
1443 * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc:
1444 Likewise.
1445 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1446 Likewise.
1447 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1448 Likewise.
1449 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1450 Likewise.
1451 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1452 Likewise.
1453 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1454 Likewise.
1455 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1456 Likewise.
1457 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1458 Likewise.
1459 * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc:
1460 Likewise.
1461 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1462 Likewise.
1463 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1464 Likewise.
1465 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1466 Likewise.
1467 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1468 Likewise.
1469 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1470 Likewise.
1471 * testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc:
1472 Likewise.
1473 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1474 Likewise.
1475 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc:
1476 Likewise.
1477 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
1478 Likewise.
1479 * testsuite/21_strings/basic_string_view/operators/char/89446.cc:
1480 Likewise.
1481 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1482 Likewise.
1483 * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
1484 Likewise.
1485 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1486 Likewise.
1487 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1488 Likewise.
1489 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1490 Likewise.
1491 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1492 Likewise.
1493 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1494 Likewise.
1495 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1496 Likewise.
1497 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
1498 Likewise.
1499 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1500 Likewise.
1501 * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
1502 Likewise.
1503 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1504 Likewise.
1505 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1506 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1507 * testsuite/21_strings/char_traits/requirements/char/99181.cc:
1508 Likewise.
1509 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
1510
15112021-05-10 Jonathan Wakely <jwakely@redhat.com>
1512
1513 * testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17
1514 from dg-options directive.
1515 * testsuite/20_util/memory_resource/2.cc: Likewise.
1516 * testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise.
1517 * testsuite/20_util/monotonic_buffer_resource/93208.cc:
1518 Likewise.
1519 * testsuite/20_util/monotonic_buffer_resource/allocate.cc:
1520 Likewise.
1521 * testsuite/20_util/monotonic_buffer_resource/deallocate.cc:
1522 Likewise.
1523 * testsuite/20_util/monotonic_buffer_resource/release.cc:
1524 Likewise.
1525 * testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc:
1526 Likewise.
1527 * testsuite/20_util/polymorphic_allocator/1.cc: Likewise.
1528 * testsuite/20_util/polymorphic_allocator/construct_pair.cc:
1529 Likewise.
1530 * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
1531 * testsuite/20_util/polymorphic_allocator/select.cc: Likewise.
1532 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
1533 Likewise.
1534 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
1535 Likewise.
1536 * testsuite/20_util/synchronized_pool_resource/cons.cc:
1537 Likewise.
1538 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
1539 Likewise.
1540 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
1541 Likewise.
1542 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
1543 Likewise.
1544 * testsuite/20_util/synchronized_pool_resource/options.cc:
1545 Likewise.
1546 * testsuite/20_util/synchronized_pool_resource/release.cc:
1547 Likewise.
1548 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
1549 Likewise.
1550 * testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc:
1551 Likewise.
1552 * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
1553 Likewise.
1554 * testsuite/20_util/unsynchronized_pool_resource/cons.cc:
1555 Likewise.
1556 * testsuite/20_util/unsynchronized_pool_resource/is_equal.cc:
1557 Likewise.
1558 * testsuite/20_util/unsynchronized_pool_resource/options.cc:
1559 Likewise.
1560 * testsuite/20_util/unsynchronized_pool_resource/release.cc:
1561 Likewise.
1562 * testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
1563 Likewise.
1564 * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
1565 * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc:
1566 Likewise.
1567 * testsuite/23_containers/forward_list/pmr_typedefs.cc:
1568 Likewise.
1569 * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc:
1570 Likewise.
1571 * testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
1572 * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
1573 * testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
1574 * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
1575 * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
1576 * testsuite/23_containers/multimap/pmr_typedefs_debug.cc:
1577 Likewise.
1578 * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
1579 * testsuite/23_containers/multiset/pmr_typedefs_debug.cc:
1580 Likewise.
1581 * testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
1582 * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
1583 * testsuite/23_containers/unordered_map/pmr_typedefs.cc:
1584 Likewise.
1585 * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
1586 Likewise.
1587 * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
1588 Likewise.
1589 * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
1590 Likewise.
1591 * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
1592 Likewise.
1593 * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
1594 Likewise.
1595 * testsuite/23_containers/unordered_set/pmr_typedefs.cc:
1596 Likewise.
1597 * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
1598 Likewise.
1599 * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
1600 * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc:
1601 Likewise.
1602 * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
1603
16042021-05-10 Jonathan Wakely <jwakely@redhat.com>
1605
1606 * testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from
1607 dg-options.
1608 * testsuite/29_atomics/atomic/is_always_lock_free.cc:
1609 * testsuite/29_atomics/atomic/requirements/typedefs.cc:
1610 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
1611 * testsuite/29_atomics/atomic_integral/requirements/typedefs.cc:
1612 * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
1613 * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
1614 * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
1615 * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
1616 Likewise.
1617 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
1618 Likewise.
1619 * testsuite/30_threads/shared_lock/70766.cc: Likewise.
1620 * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
1621 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
1622 Likewise.
1623 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
1624 * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
1625 Likewise.
1626 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
1627 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
1628 * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
1629 * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
1630
16312021-05-10 Jonathan Wakely <jwakely@redhat.com>
1632
1633 * testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from
1634 dg-options directive.
1635 * testsuite/20_util/any/assign/2.cc: Likewise.
1636 * testsuite/20_util/any/assign/emplace.cc: Likewise.
1637 * testsuite/20_util/any/assign/exception.cc: Likewise.
1638 * testsuite/20_util/any/assign/self.cc: Likewise.
1639 * testsuite/20_util/any/cons/1.cc: Likewise.
1640 * testsuite/20_util/any/cons/2.cc: Likewise.
1641 * testsuite/20_util/any/cons/90415.cc: Likewise.
1642 * testsuite/20_util/any/cons/92156.cc: Likewise.
1643 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1644 * testsuite/20_util/any/cons/explicit.cc: Likewise.
1645 * testsuite/20_util/any/cons/in_place.cc: Likewise.
1646 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1647 * testsuite/20_util/any/make_any.cc: Likewise.
1648 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1649 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1650 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1651 * testsuite/20_util/any/misc/swap.cc: Likewise.
1652 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1653 * testsuite/20_util/any/modifiers/83658.cc: Likewise.
1654 * testsuite/20_util/any/modifiers/92156.cc: Likewise.
1655 * testsuite/20_util/any/observers/type.cc: Likewise.
1656 * testsuite/20_util/any/requirements.cc: Likewise.
1657 * testsuite/20_util/any/typedefs.cc: Likewise.
1658 * testsuite/20_util/optional/77288.cc: Likewise.
1659 * testsuite/20_util/optional/84601.cc: Likewise.
1660 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1661 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1662 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1663 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1664 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1665 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1666 * testsuite/20_util/optional/assignment/7.cc: Likewise.
1667 * testsuite/20_util/optional/assignment/8.cc: Likewise.
1668 * testsuite/20_util/optional/assignment/9.cc: Likewise.
1669 * testsuite/20_util/optional/bad_access.cc: Likewise.
1670 * testsuite/20_util/optional/cons/77727.cc: Likewise.
1671 * testsuite/20_util/optional/cons/85642.cc: Likewise.
1672 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1673 * testsuite/20_util/optional/cons/deduction.cc: Likewise.
1674 * testsuite/20_util/optional/cons/default.cc: Likewise.
1675 * testsuite/20_util/optional/cons/move.cc: Likewise.
1676 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
1677 * testsuite/20_util/optional/cons/value.cc: Likewise.
1678 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1679 * testsuite/20_util/optional/constexpr/cons/default.cc:
1680 Likewise.
1681 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1682 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1683 * testsuite/20_util/optional/constexpr/make_optional.cc:
1684 Likewise.
1685 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1686 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1687 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1688 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1689 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1690 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1691 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1692 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1693 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1694 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1695 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1696 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1697 * testsuite/20_util/optional/hash.cc: Likewise.
1698 * testsuite/20_util/optional/in_place.cc: Likewise.
1699 * testsuite/20_util/optional/make_optional.cc: Likewise.
1700 * testsuite/20_util/optional/nullopt.cc: Likewise.
1701 * testsuite/20_util/optional/observers/1.cc: Likewise.
1702 * testsuite/20_util/optional/observers/2.cc: Likewise.
1703 * testsuite/20_util/optional/observers/3.cc: Likewise.
1704 * testsuite/20_util/optional/observers/4.cc: Likewise.
1705 * testsuite/20_util/optional/observers/5.cc: Likewise.
1706 * testsuite/20_util/optional/observers/6.cc: Likewise.
1707 * testsuite/20_util/optional/relops/1.cc: Likewise.
1708 * testsuite/20_util/optional/relops/2.cc: Likewise.
1709 * testsuite/20_util/optional/relops/3.cc: Likewise.
1710 * testsuite/20_util/optional/relops/4.cc: Likewise.
1711 * testsuite/20_util/optional/relops/5.cc: Likewise.
1712 * testsuite/20_util/optional/relops/6.cc: Likewise.
1713 * testsuite/20_util/optional/relops/7.cc: Likewise.
1714 * testsuite/20_util/optional/requirements.cc: Likewise.
1715 * testsuite/20_util/optional/swap/1.cc: Likewise.
1716 * testsuite/20_util/optional/swap/2.cc: Likewise.
1717 * testsuite/20_util/optional/typedefs.cc: Likewise.
1718 * testsuite/20_util/variant/80165.cc: Likewise.
1719 * testsuite/20_util/variant/85183.cc: Likewise.
1720 * testsuite/20_util/variant/86874.cc: Likewise.
1721 * testsuite/20_util/variant/87431.cc: Likewise.
1722 * testsuite/20_util/variant/87619.cc: Likewise.
1723 * testsuite/20_util/variant/91807.cc: Likewise.
1724 * testsuite/20_util/variant/any.cc: Likewise.
1725 * testsuite/20_util/variant/compile.cc: Likewise.
1726 * testsuite/20_util/variant/deduction.cc: Likewise.
1727 * testsuite/20_util/variant/exception_safety.cc: Likewise.
1728 * testsuite/20_util/variant/hash.cc: Likewise.
1729 * testsuite/20_util/variant/index_type.cc: Likewise.
1730 * testsuite/20_util/variant/relops/89851.cc: Likewise.
1731 * testsuite/20_util/variant/relops/90008.cc: Likewise.
1732 * testsuite/20_util/variant/run.cc: Likewise.
1733 * testsuite/20_util/variant/visit.cc: Likewise.
1734
17352021-05-10 Jonathan Wakely <jwakely@redhat.com>
1736
1737 * testsuite/27_io/basic_filebuf/open/char/path.cc: Remove
1738 -std=gnu++17 from dg-options directive.
1739 * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
1740 * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
1741 * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
1742 * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
1743 * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
1744 * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
1745 * testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise.
1746 * testsuite/27_io/filesystem/directory_entry/lwg3171.cc:
1747 Likewise.
1748 * testsuite/27_io/filesystem/file_status/1.cc: Likewise.
1749 * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
1750 * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
1751 * testsuite/27_io/filesystem/iterators/91067.cc: Likewise.
1752 * testsuite/27_io/filesystem/iterators/caching.cc: Likewise.
1753 * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
1754 Likewise.
1755 * testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
1756 * testsuite/27_io/filesystem/iterators/recursion_pending.cc:
1757 Likewise.
1758 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
1759 Likewise.
1760 * testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
1761 * testsuite/27_io/filesystem/operations/all.cc: Likewise.
1762 * testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
1763 * testsuite/27_io/filesystem/operations/copy.cc: Likewise.
1764 * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
1765 * testsuite/27_io/filesystem/operations/create_directories.cc:
1766 Likewise.
1767 * testsuite/27_io/filesystem/operations/create_directory.cc:
1768 Likewise.
1769 * testsuite/27_io/filesystem/operations/create_symlink.cc:
1770 Likewise.
1771 * testsuite/27_io/filesystem/operations/current_path.cc:
1772 Likewise.
1773 * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
1774 * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
1775 * testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
1776 * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
1777 * testsuite/27_io/filesystem/operations/last_write_time.cc:
1778 Likewise.
1779 * testsuite/27_io/filesystem/operations/permissions.cc:
1780 Likewise.
1781 * testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
1782 * testsuite/27_io/filesystem/operations/read_symlink.cc:
1783 Likewise.
1784 * testsuite/27_io/filesystem/operations/relative.cc: Likewise.
1785 * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
1786 * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
1787 * testsuite/27_io/filesystem/operations/rename.cc: Likewise.
1788 * testsuite/27_io/filesystem/operations/resize_file.cc:
1789 Likewise.
1790 * testsuite/27_io/filesystem/operations/space.cc: Likewise.
1791 * testsuite/27_io/filesystem/operations/status.cc: Likewise.
1792 * testsuite/27_io/filesystem/operations/symlink_status.cc:
1793 Likewise.
1794 * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
1795 Likewise.
1796 * testsuite/27_io/filesystem/operations/weakly_canonical.cc:
1797 Likewise.
1798 * testsuite/27_io/filesystem/path/append/path.cc: Likewise.
1799 * testsuite/27_io/filesystem/path/append/source.cc: Likewise.
1800 * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
1801 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
1802 * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
1803 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
1804 * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
1805 * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
1806 * testsuite/27_io/filesystem/path/concat/92853.cc: Likewise.
1807 * testsuite/27_io/filesystem/path/concat/94063.cc: Likewise.
1808 * testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
1809 * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
1810 * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
1811 * testsuite/27_io/filesystem/path/construct/90281.cc: Likewise.
1812 * testsuite/27_io/filesystem/path/construct/90634.cc: Likewise.
1813 * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
1814 * testsuite/27_io/filesystem/path/construct/default.cc:
1815 Likewise.
1816 * testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
1817 * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
1818 * testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
1819 * testsuite/27_io/filesystem/path/construct/string_view.cc:
1820 Likewise.
1821 * testsuite/27_io/filesystem/path/decompose/extension.cc:
1822 Likewise.
1823 * testsuite/27_io/filesystem/path/decompose/filename.cc:
1824 Likewise.
1825 * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
1826 Likewise.
1827 * testsuite/27_io/filesystem/path/decompose/relative_path.cc:
1828 Likewise.
1829 * testsuite/27_io/filesystem/path/decompose/root_directory.cc:
1830 Likewise.
1831 * testsuite/27_io/filesystem/path/decompose/root_name.cc:
1832 Likewise.
1833 * testsuite/27_io/filesystem/path/decompose/root_path.cc:
1834 Likewise.
1835 * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
1836 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1837 Likewise.
1838 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1839 * testsuite/27_io/filesystem/path/generation/normal.cc:
1840 Likewise.
1841 * testsuite/27_io/filesystem/path/generation/normal2.cc:
1842 Likewise.
1843 * testsuite/27_io/filesystem/path/generation/proximate.cc:
1844 Likewise.
1845 * testsuite/27_io/filesystem/path/generation/relative.cc:
1846 Likewise.
1847 * testsuite/27_io/filesystem/path/generic/94242.cc: Likewise.
1848 * testsuite/27_io/filesystem/path/generic/generic_string.cc:
1849 Likewise.
1850 * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
1851 * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
1852 * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
1853 * testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
1854 * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
1855 * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
1856 * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
1857 Likewise.
1858 * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
1859 Likewise.
1860 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
1861 Likewise.
1862 * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
1863 Likewise.
1864 * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
1865 * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
1866 * testsuite/27_io/filesystem/path/native/string-char8_t.cc:
1867 Likewise.
1868 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1869 * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
1870 * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise.
1871 * testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
1872 Likewise.
1873 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
1874 * testsuite/27_io/filesystem/path/query/empty_neg.cc:
1875 * testsuite/27_io/filesystem/path/query/has_extension.cc:
1876 Likewise.
1877 * testsuite/27_io/filesystem/path/query/has_filename.cc:
1878 Likewise.
1879 * testsuite/27_io/filesystem/path/query/has_parent_path.cc:
1880 Likewise.
1881 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
1882 Likewise.
1883 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
1884 Likewise.
1885 * testsuite/27_io/filesystem/path/query/has_root_name.cc:
1886 Likewise.
1887 * testsuite/27_io/filesystem/path/query/has_root_path.cc:
1888 Likewise.
1889 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
1890 * testsuite/27_io/filesystem/path/query/is_absolute.cc:
1891 Likewise.
1892 * testsuite/27_io/filesystem/path/query/is_relative.cc:
1893 Likewise.
1894 * testsuite/experimental/filesystem/path/construct/string_view.cc:
1895 Likewise.
1896
18972021-05-10 Jonathan Wakely <jwakely@redhat.com>
1898
1899 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
1900 Remove -std=gnu++17 from dg-options.
1901 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
1902 Likewise.
1903 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
1904 Likewise.
1905 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
1906 Likewise.
1907 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
1908 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
1909 Likewise.
1910 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
1911 Likewise.
1912 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
1913 Likewise.
1914 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
1915 Likewise.
1916 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
1917 Likewise.
1918 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
1919 Likewise.
1920 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
1921 Likewise.
1922 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
1923 Likewise.
1924 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
1925 Likewise.
1926 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
1927 Likewise.
1928 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
1929 Likewise.
1930 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
1931 Likewise.
1932 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
1933 Likewise.
1934 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
1935 Likewise.
1936 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
1937 Likewise.
1938 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
1939 Likewise.
1940 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
1941 Likewise.
1942 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
1943 Likewise.
1944 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
1945 Likewise.
1946 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
1947 Likewise.
1948 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
1949 Likewise.
1950 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
1951 Likewise.
1952 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
1953 Likewise.
1954 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
1955 Likewise.
1956 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
1957 Likewise.
1958 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
1959 Likewise.
1960 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
1961 Likewise.
1962 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
1963 Likewise.
1964 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
1965 Likewise.
1966 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
1967 Likewise.
1968 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
1969 Likewise.
1970 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
1971 Likewise.
1972 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
1973 Likewise.
1974 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
1975 Likewise.
1976 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
1977 Likewise.
1978 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
1979 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
1980 Likewise.
1981 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
1982 Likewise.
1983 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
1984 Likewise.
1985 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
1986 Likewise.
1987 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
1988 Likewise.
1989 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise.
1990 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise.
1991 * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
1992 * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
1993 * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
1994 * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
1995 * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
1996 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
1997 Likewise.
1998 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
1999 * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
2000 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
2001 Likewise.
2002 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
2003 Likewise.
2004
20052021-05-10 Jonathan Wakely <jwakely@redhat.com>
2006
2007 * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error
2008 for additional errors in C++20.
2009 * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
2010 Likewise.
2011 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2012 * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
2013
20142021-05-10 Jonathan Wakely <jwakely@redhat.com>
2015
2016 * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid
2017 clash with std::any.
2018
62d87a32
GA
20192021-05-07 Jonathan Wakely <jwakely@redhat.com>
2020
2021 * include/std/istream (__rvalue_stream_extraction_t): Replace
2022 use of __rval_streamable.
2023 * include/std/ostream (__rvalue_stream_insertion_t): Likewise.
2024 (__rval_streamable): Remove.
2025 (_Require_derived_from_ios_base, __derived_from_ios_base): New
2026 helper for checking constraints.
2027 * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix
2028 reference to the wrong subclause of the standard.
2029 * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
2030 Likewise.
2031 * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
2032 Likewise.
2033 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
2034 Likewise.
2035 * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc:
2036 New test.
2037 * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned
2038 errors.
2039
cfe82a0c
GA
20402021-05-06 Jonathan Wakely <jwakely@redhat.com>
2041
2042 * include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
2043 Improve static_assert messages.
2044 * testsuite/25_algorithms/copy/58982.cc: Adjust expected output.
2045 * testsuite/25_algorithms/copy_n/58982.cc: Likewise.
2046
20472021-05-06 Patrick Palka <ppalka@redhat.com>
2048
2049 * include/std/ranges (filter_view::_Iterator::base): Make the
2050 const& overload unconstrained and return a const reference as
2051 per LWG 3533. Make unconditionally noexcept.
2052 (transform_view::_Iterator::base): Likewise.
2053 (elements_view::_Iterator::base): Likewise.
2054
20552021-05-06 Patrick Palka <ppalka@redhat.com>
2056
2057 * include/bits/stl_iterator.h (move_iterator::base): Make the
2058 const& overload unconstrained and return a const reference as
2059 per LWG 3391. Make unconditionally noexcept.
2060 (counted_iterator::base): Likewise.
2061 * testsuite/24_iterators/move_iterator/lwg3391.cc: New test.
2062 * testsuite/24_iterators/move_iterator/move_only.cc: Adjust
2063 has_member_base concept to decay-copy the result of base().
2064
20652021-05-06 Jonathan Wakely <jwakely@redhat.com>
2066
2067 * include/std/type_traits (remove_cvref_t): Define in terms of
2068 remove_cvref.
2069 * testsuite/20_util/remove_cvref/value.cc: Check alias.
2070
20712021-05-06 Jonathan Wakely <jwakely@redhat.com>
2072
2073 Revert:
2074 2021-05-05 Jonathan Wakely <jwakely@redhat.com>
2075
2076 * include/std/charconv (__from_chars_alnum): Pass unsigned
2077 char to std::isdigit.
2078
44948011
GA
20792021-05-05 Patrick Palka <ppalka@redhat.com>
2080
2081 * include/bits/ranges_util.h (enable_borrowed_range<subrange>):
2082 Remove constraints on this partial specialization.
2083 * include/std/ranges (enable_borrowed_range<iota_view>):
2084 Likewise.
2085
20862021-05-05 Patrick Palka <ppalka@redhat.com>
2087
2088 * include/std/ranges (transform_view::_Iterator::iter_swap):
2089 Remove as per LWG 3520.
2090 (join_view::_Iterator::iter_swap): Add indirectly_swappable
2091 constraint as per LWG 3517.
2092
20932021-05-05 Jonathan Wakely <jwakely@redhat.com>
2094
2095 * testsuite/20_util/function_objects/invoke/3.cc: Check feature
2096 test macro.
2097 * testsuite/20_util/function_objects/invoke/version.cc: New test.
2098
20992021-05-05 Jonathan Wakely <jwakely@redhat.com>
2100
2101 * include/std/charconv (__from_chars_alnum): Pass unsigned
2102 char to std::isdigit.
2103
21042021-05-05 Corentin Gay <gay@adacore.com>
2105
2106 * acinclude.m4: Add VxWorks-specific case for the
2107 configuration of ctypes.
2108 * configure: Regenerate.
2109 * config/locale/vxworks/ctype_members.cc: Add VxWorks-specific
2110 version.
2111 * config/os/vxworks/ctype_base.h: Adjust for VxWorks7+.
2112 * config/os/vxworks/ctype_configure_char.cc: Likewise.
2113 * config/os/vxworks/ctype_inline.h: Likewise.
2114 * testsuite/28_regex/traits/char/isctype.cc: Defines
2115 NEWLINE_IN_CLASS_BLANK if the target is VxWorks.
2116 * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
2117
99e8df7a
GA
21182021-05-04 Jonathan Wakely <jwakely@redhat.com>
2119
2120 * include/std/future (promise::set_value): Check for existence
2121 of shared state before dereferncing it.
2122 (promise::set_exception, promise::set_value_at_thread_exit)
2123 (promise::set_exception_at_thread_exit): Likewise.
2124 (promise<R&>::set_value, promise<R&>::set_exception)
2125 (promise<R&>::set_value_at_thread_exit)
2126 (promise<R&>::set_exception_at_thread_exit): Likewise.
2127 (promise<void>::set_value, promise<void>::set_exception)
2128 (promise<void>::set_value_at_thread_exit)
2129 (promise<void>::set_exception_at_thread_exit): Likewise.
2130 * testsuite/30_threads/promise/members/at_thread_exit2.cc:
2131 Remove unused variable.
2132
21332021-05-04 Jonathan Wakely <jwakely@redhat.com>
2134
2135 * include/bits/basic_string.h (basic_string(const CharT*, const A&)):
2136 Do not do arithmetic on null pointer.
2137
21382021-05-04 Jonathan Wakely <jwakely@redhat.com>
2139
2140 * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
2141 (find_key_pointer(key_const_reference, false_type))
2142 (find_key_pointer(key_const_reference, true_type)): Do not
2143 dereference null pointer.
2144
21452021-05-04 Jonathan Wakely <jwakely@redhat.com>
2146
2147 * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid
2148 overflow.
2149 * testsuite/24_iterators/reverse_iterator/2.cc: Do not add
2150 non-zero value to null pointer.
2151 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
2152 Use past-the-end iterator for result.
2153 * testsuite/25_algorithms/move_backward/69478.cc: Likewise.
2154 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
2155
21562021-05-04 Jonathan Wakely <jwakely@redhat.com>
2157
2158 PR libstdc++/100384
2159 * include/std/variant (__get_t): New alias template yielding the
2160 return type of std::get<N> on a variant.
2161 (__visit_result_t): New alias template yielding the result of
2162 std::visit.
2163 (__same_types): Move into namespace __detail::__variant.
2164 (__check_visitor_results): Likewise. Use __invoke_result_t and
2165 __get_t.
2166 (__check_visitor_result): Remove.
2167 (visit): Use __visit_result_t for return type.
2168 * testsuite/20_util/variant/100384.cc: New test.
2169
21702021-05-04 Jonathan Wakely <jwakely@redhat.com>
2171
2172 * acinclude.m4 (GLIBCXX_ENABLE_INT128_FLOAT128): Remove
2173 checks for __int128 and rename to GLIBCXX_ENABLE_FLOAT128.
2174 * config.h.in: Regenerate.
2175 * configure: Regenerate.
2176 * configure.ac: Adjust to use GLIBCXX_ENABLE_FLOAT128.
2177 * include/bits/random.h (_Select_uint_least_t<s, 1>):
2178 Use __SIZEOF_INT128__ to decide whether to use __int128.
2179 * include/std/charconv (__to_chars_unsigned_type): Likewise.
2180
54b20ee0
GA
21812021-05-03 Gerald Pfeifer <gerald@pfeifer.com>
2182
2183 * doc/xml/manual/ctype.xml: Move unix.org reference to https.
2184 * doc/html/manual/facets.html: Regenerate.
2185
9326049e
GA
21862021-04-30 Patrick Palka <ppalka@redhat.com>
2187
2188 * include/std/ranges (__detail::__non_propating_cache): Define
2189 as per P2328.
2190 (join_view): Remove constraints on the value and reference types
2191 of the wrapped iterator type as per P2328.
2192 (join_view::_Iterator::_M_satisfy): Adjust as per P2328.
2193 (join_view::_Iterator::operator++): Likewise.
2194 (join_view::_M_inner): Use __non_propating_cache as per P2328.
2195 Remove now-redundant use of __maybe_present_t.
2196 * testsuite/std/ranges/adaptors/join.cc: Include <array>.
2197 (test10): New test.
2198
21992021-04-30 Jonathan Wakely <jwakely@redhat.com>
2200
2201 * include/bits/basic_string.h (__cpp_lib_constexpr_string):
2202 Only define for C++17 and later.
2203 * include/std/version (__cpp_lib_semaphore): Fix condition
2204 to match the one in <semaphore>.
2205
22062021-04-30 Jonathan Wakely <jwakely@redhat.com>
2207
2208 * acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete.
2209 * config.h.in: Regenerate.
2210 * configure: Regenerate.
2211 * configure.ac: Do not use GLIBCXX_CHECK_INT64_T.
2212 * include/bits/postypes.h: Remove include of <stdint.h> and
2213 definition/undefinition of the __STDC_LIMIT_MACROS and
2214 __STDC_CONSTANT_MACROS macros.
2215 (streamoff): Use __INT64_TYPE__ if defined.
2216
22172021-04-30 Patrick Palka <ppalka@redhat.com>
2218
2219 * include/std/ranges (split_view::_InnerIter::operator++):
2220 Depend on _Base instead of _Vp directly, as per LWG 3532.
2221
22222021-04-30 Patrick Palka <ppalka@redhat.com>
2223
2224 * include/bits/ranges_util.h (subrange::subrange): Avoid
2225 list-initialization in delegating constructor.
2226 * include/std/ranges (single_view): Replace implicit guide
2227 with explicit deduction guide that decays its argument.
2228 (_Single::operator()): Avoid CTAD when constructing the
2229 single_view object.
2230 (_Iota::operator()): Avoid list-initialization.
2231 (__detail::__can_filter_view, _Filter::operator()): Likewise.
2232 (__detail::__can_transform_view, _Transform::operator()): Likewise.
2233 (take_view::begin): Likewise.
2234 (__detail::__can_take_view, _Take::operator()): Likewise.
2235 (__detail::__can_take_while_view, _TakeWhile::operator()): Likewise.
2236 (__detail::__can_drop_view, _Drop::operator()): Likewise.
2237 (__detail::__can_drop_while_view, _DropWhile::operator()): Likewise.
2238 (split_view::split_view): Use views::single when initializing
2239 _M_pattern.
2240 (__detail::__can_split_view, _Split::operator()): Avoid
2241 list-initialization.
2242 (_Counted::operator()): Likewise.
2243 * testsuite/std/ranges/p2367.cc: New test.
2244
22452021-04-30 Jonathan Wakely <jwakely@redhat.com>
2246
2247 PR libstdc++/60497
2248 * include/bits/basic_ios.tcc (basic_ios::copyfmt): use
2249 std::addressof.
2250 * include/bits/basic_string.tcc (basic_string::swap)
2251 (basic_string::assign): Likewise.
2252 * include/bits/deque.tcc (deque::operator=(const deque&)):
2253 Likewise.
2254 * include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)):
2255 Likewise.
2256 * include/bits/vector.tcc (vector::operator=(const vector&)):
2257 Likewise.
2258
22592021-04-30 Jonathan Wakely <jwakely@redhat.com>
2260
2261 * include/std/istream (operator>>(Istream&&, x&)): Simplify, as
2262 per LWG 1203.
2263 * include/std/ostream (operator<<(Ostream&&, const x&)):
2264 Likewise.
2265 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
2266 Adjust dg-error pattern.
2267 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
2268 Likewise.
2269 * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define
2270 is_extractable trait to replace std::__is_extractable. Make it
2271 work with rvalue streams as well as lvalues, to replace f() and
2272 g() helper functions.
2273 * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
2274 Likewise.
2275 * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
2276 Define is_insertable trait to replace std::__is_insertable. Make
2277 it work with rvalue streams as well as lvalues, to replace f()
2278 and g() helper functions.
2279 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
2280 Likewise.
2281 * testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional
2282 errors from new constraints.
2283 * testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks,
2284 which are no longer expected to compile.
2285 * testsuite/27_io/rvalue_streams.cc: Adjust existing test.
2286 Verify LWG 1203 changes.
2287
22882021-04-30 Jonathan Wakely <jwakely@redhat.com>
2289
2290 PR libstdc++/100285
2291 * include/experimental/socket (__basic_socket_impl::set_option)
2292 (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
2293 Just set error code.
2294 * testsuite/experimental/net/socket/socket_base.cc: CHeck
2295 for <sys/socket.h> not <socket.h>.
2296
22972021-04-30 Jonathan Wakely <jwakely@redhat.com>
2298
2299 PR libstdc++/100180
2300 PR libstdc++/100286
2301 PR libstdc++/100351
2302 * testsuite/experimental/net/internet/address/v4/comparisons.cc:
2303 Use new effective-target keyword.
2304 * testsuite/experimental/net/internet/address/v4/cons.cc:
2305 Likewise.
2306 * testsuite/experimental/net/internet/address/v4/creation.cc:
2307 Likewise.
2308 * testsuite/experimental/net/internet/address/v4/members.cc:
2309 Likewise.
2310 * testsuite/experimental/net/internet/address/v6/members.cc:
2311 Likewise.
2312 * testsuite/experimental/net/internet/resolver/base.cc:
2313 Likewise.
2314 * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
2315 Likewise.
2316 * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
2317 Likewise.
2318 * testsuite/experimental/net/internet/socket/opt.cc:
2319 Likewise.
2320 * testsuite/experimental/net/internet/tcp.cc:
2321 Likewise.
2322 * testsuite/experimental/net/internet/udp.cc:
2323 Likewise.
2324 * testsuite/lib/libstdc++.exp (check_effective_target_net_ts_ip):
2325 New proc to check net_ts_ip et.
2326
e4ff4ffb
GA
23272021-04-28 Jonathan Wakely <jwakely@redhat.com>
2328
2329 PR libstdc++/97930
2330 * testsuite/20_util/pair/requirements/structural.cc: New test.
2331
23322021-04-28 Jonathan Wakely <jwakely@redhat.com>
2333
2334 * include/bits/stl_pair.h (pair) [__cplusplus > 202002]: Add
2335 new definitions for constructors and assignment operators using
2336 concepts for constraints.
2337 * testsuite/20_util/pair/cons/99957.cc: Disable for C++20 and
2338 later.
2339 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust
2340 expected error messages to also match C++20 errors.
2341
23422021-04-28 Jonathan Wakely <jwakely@redhat.com>
2343
2344 PR libstdc++/99957
2345 * include/bits/stl_pair.h (_PCC::_MoveCopyPair, _PCC::_CopyMovePair):
2346 Combine and replace with ...
2347 (_PCC::_DeprConsPair): New SFINAE helper function.
2348 (pair): Merge preprocessor blocks so that all C++03 members
2349 are defined together at the end.
2350 (pair::pair(const _T1&, _U2&&), pair::pair(_U1&&, const _T2&)):
2351 Replace _T1 and _T2 parameters with __null_ptr_constant and
2352 adjust constraints.
2353 * testsuite/20_util/pair/40925.cc: Use nullptr instead of 0.
2354 * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
2355 * testsuite/20_util/pair/cons/99957.cc: New test.
2356
23572021-04-28 Jonathan Wakely <jwakely@redhat.com>
2358
2359 * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
2360 * include/std/version (__cpp_lib_constexpr_string): Define.
2361 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
2362 Check for __cpp_lib_constexpr_string.
2363 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
2364 Likewise.
2365 * testsuite/21_strings/char_traits/requirements/version.cc: New test.
2366
23672021-04-28 Jonathan Wakely <jwakely@redhat.com>
2368
2369 * doc/Makefile.am (stamp-pdf-doxygen): Improve comment about
2370 dealing with errors. Use '@' to prevent shell command being
2371 echoed.
2372 * doc/Makefile.in: Regenerate.
2373
23742021-04-28 Jonathan Wakely <jwakely@redhat.com>
2375
2376 PR libstdc++/100298
2377 * include/bits/std_thread.h (thread::hardware_concurrency): Add
2378 missing noexcept to inline definition for non-gthreads targets.
2379
23802021-04-28 Patrick Palka <ppalka@redhat.com>
2381
2382 PR libstdc++/100187
2383 PR libstdc++/100237
2384 PR libstdc++/100249
2385 PR libstdc++/100287
2386 * include/bits/ranges_algo.h (__search_n_fn::operator()): Give
2387 the __value_comp lambda an explicit bool return type.
2388 (__is_permutation_fn::operator()): Give the __proj_scan local
2389 variable auto&& return type. Give the __comp_scan lambda an
2390 explicit bool return type.
2391 (__remove_fn::operator()): Give the __pred lambda an explicit
2392 bool return type.
2393 (__partition_fn::operator()): Don't std::move __first twice
2394 when returning an empty subrange.
2395 (__min_fn::operator()): Don't std::move __comp.
2396 (__max_fn::operator()): Likewise.
2397 (__minmax_fn::operator()): Likewise.
2398
8f54dd61
GA
23992021-04-27 Patrick Palka <ppalka@redhat.com>
2400
2401 PR libstdc++/100290
2402 * include/std/ranges (join_view::_Iterator::operator++): Correct
2403 the return type of the lambda to avoid returning a copy of
2404 _M_parent->_M_inner.
2405 * testsuite/std/ranges/adaptors/join.cc (test10): New test.
2406
24072021-04-27 Jakub Jelinek <jakub@redhat.com>
2408
2409 Revert:
2410 2021-04-22 Jakub Jelinek <jakub@redhat.com>
2411
2412 PR target/100182
2413 * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
2414 ia32.
2415 * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
2416 ia32.
2417
24182021-04-27 Jonathan Wakely <jwakely@redhat.com>
2419
2420 * include/experimental/internet (address_v6::bytes_type): Adjust
2421 formatting.
2422 (basic_endpoint): Define _M_is_v6() to put all checks for
2423 AF_INET6 in one place.
2424 (basic_endpoint::resize): Simplify.
2425 (operator==(const tcp&, const tcp&)): Add constexpr and noexcept.
2426 (operator!=(const tcp&, const tcp&)): Likewise.
2427 (operator==(const udp&, const udp&)): Likewise.
2428 (operator!=(const udp&, const udp&)): Likewise.
2429 * testsuite/experimental/net/internet/tcp.cc: New test.
2430 * testsuite/experimental/net/internet/udp.cc: New test.
2431
24322021-04-27 Jonathan Wakely <jwakely@redhat.com>
2433
2434 PR libstdc++/100286
2435 * include/experimental/internet (resolver_errc, resolver_category())
2436 (make_error_code, make_error_condition): Define unconditionally,
2437 only make enumerators and use of gai_strerror depend on the
2438 availability of <netdb.h>.
2439 (address_v4::to_string): Use correct constant for string length.
2440 (address_v4::to_string, address_v6::to_string): Define
2441 unconditionally, throw if unsupported.
2442 (make_address_v4, make_address_v6): Define unconditionally.
2443 Return an error if unsupported.
2444 (tcp, udp, v6_only, unicast::hops, multicast::*): Define
2445 conditionally,
2446 * testsuite/experimental/net/internet/socket/opt.cc: Check for
2447 <netinet/in.h> and <netinet/tcp.h> before using types from
2448 namespace net::ip.
2449
24502021-04-27 Jonathan Wakely <jwakely@redhat.com>
2451
2452 PR libstdc++/100285
2453 * include/experimental/internet (resolver_base::flags):
2454 Define overloaded operators as hidden friends.
2455 * include/experimental/socket (socket_base::message_flags):
2456 Likewise.
2457
c0fa3f2f
GA
24582021-04-26 Jonathan Wakely <jwakely@redhat.com>
2459
2460 * include/experimental/internet (tcp::no_delay, v6_only)
2461 (unicast::hops, multicast::hops, multicast::enable_loopback):
2462 Change access of base class and static data members. Add
2463 using-declaration for __socket_crtp::operator=(_Tp).
2464 (multicast::__mcastopt): New type.
2465 (multicast::join_group, multicast::leave_group): Derive from
2466 __mcastopt for common implementation.
2467 * include/experimental/socket: Add comment.
2468 * testsuite/experimental/net/internet/socket/opt.cc: New test.
2469 * testsuite/experimental/net/socket/socket_base.cc: Check for
2470 protected constructor/destructor of socket_base. Check for
2471 explicit constructors of socket option classes.
2472
24732021-04-26 Jonathan Wakely <jwakely@redhat.com>
2474
2475 * include/experimental/bits/net.h (__socket_base): Add
2476 bool template parameter to allow BooleanSocketOption and
2477 IntegerSocketOption to have different __socket_base<int>
2478 base classes.
2479 (__socket_base<bool>): Adjust base class.
2480 (__socket_base<int>): Add partial specialization.
2481 (__socket_crtp::operator=(_Tp)): Add noexcept-specifier.
2482 * include/experimental/socket (socket_base::broadcast)
2483 (socket_base::debug, socket_base::do_not_route)
2484 (socket_base::keep_alive, socket_base::linger)
2485 (socket_base::out_of_band_inline)
2486 (socket_base::receive_buffer_size)
2487 (socket_base::receive_low_watermark)
2488 (socket_base::reuse_address, socket_base::send_buffer_size)
2489 (socket_base::send_low_watermark): Add using-declaration for
2490 __socket_crtp::operator=(_Tp).
2491 * testsuite/experimental/net/socket/socket_base.cc: Check
2492 properties of socket option types.
2493
24942021-04-26 Jonathan Wakely <jwakely@redhat.com>
2495
2496 * include/experimental/internet (resolver_base::flags): Remove
2497 enumerators. Initialize constants directly with desired values.
2498 Make all operators constexpr and noexcept.
2499 * testsuite/experimental/net/internet/resolver/base.cc: Use
2500 __gnu_test::test_bitmask_values for bitmask type. Check
2501 construction and destruction is protected.
2502
25032021-04-26 Jonathan Wakely <jwakely@redhat.com>
2504
2505 * include/bits/semaphore_base.h: Include <exception> and <errno.h>.
2506
25072021-04-26 Jonathan Wakely <jwakely@redhat.com>
2508
2509 PR libstdc++/100259
2510 * include/experimental/internet (net::ip::make_error_code)
2511 (net::ip::make_error_condition, net::ip::make_network_v4)
2512 (net::ip::operator==(const udp&, const udp&)): Add 'inline'.
2513
502ef97c
GA
25142021-04-24 David Edelsohn <dje.gcc@gmail.com>
2515
2516 * testsuite/lib/dg-options.exp (atomic_link_flags): New.
2517 (add_options_for_libatomic): Use atomic_link_flags.
2518
05ec629f
GA
25192021-04-23 Jonathan Wakely <jwakely@redhat.com>
2520
2521 PR libstdc++/100180
2522 * include/experimental/io_context (io_context): Define
2523 dummy_pollfd type so that most member functions still compile
2524 without <poll.h> and struct pollfd.
2525
25262021-04-23 Jonathan Wakely <jwakely@redhat.com>
2527
2528 * include/experimental/io_context (io_context::async_wait): Add
2529 comment.
2530 * include/experimental/socket (basic_socket::async_connect):
2531 Cast wait_type constant to int.
2532 (basic_datagram_socket::async_receive): Likewise.
2533 (basic_datagram_socket::async_receive_from): Likewise.
2534 (basic_datagram_socket::async_send): Likewise.
2535 (basic_datagram_socket::async_send_to): Likewise.
2536 (basic_stream_socket::async_receive): Likewise.
2537 (basic_stream_socket::async_send): Likewise. Use io_context
2538 parameter directly, instead of via an executor.
2539 (basic_socket_acceptor::async_accept): Likewise.
2540
25412021-04-23 Jonathan Wakely <jwakely@redhat.com>
2542
2543 * include/experimental/socket (socket_base::shutdown_type):
2544 (socket_base::wait_type, socket_base::message_flags):
2545 Remove enumerators. Initialize constants directly with desired
2546 values.
2547 (socket_base::message_flags): Make all operators constexpr and
2548 noexcept.
2549 * testsuite/util/testsuite_common_types.h (test_bitmask_values):
2550 New test utility.
2551 * testsuite/experimental/net/socket/socket_base.cc: New test.
2552
e3948473
GA
25532021-04-22 David Edelsohn <dje.gcc@gmail.com>
2554
2555 * config/os/aix/atomicity.h: Delete.
2556
25572021-04-22 Jonathan Wakely <jwakely@redhat.com>
2558
2559 * include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
2560 Handle system_clock as well as steady_clock.
2561 * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable.
2562 * testsuite/30_threads/semaphore/try_acquire_until.cc:
2563 Re-enable.
2564
25652021-04-22 Jonathan Wakely <jwakely@redhat.com>
2566
2567 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
2568 options for libatomic.
2569
25702021-04-22 Jonathan Wakely <jwakely@redhat.com>
2571
2572 * config/os/gnu-linux/os_defines.h: Fix type in comment.
2573
25742021-04-22 Jonathan Wakely <jwakely@redhat.com>
2575
2576 PR libstdc++/99006
2577 * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
2578 is not an array type.
2579 * include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
2580 * testsuite/20_util/shared_ptr/creation/99006.cc: New test.
2581
25822021-04-22 Thomas Rodgers <rodgert@twrodgers.com>
2583
2584 * include/bits/atomic_wait.h: Always notify waiters in the
2585 case of 'bare' address notification.
2586
25872021-04-22 Jakub Jelinek <jakub@redhat.com>
2588
2589 PR target/100182
2590 * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
2591 ia32.
2592 * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
2593 ia32.
2594
25952021-04-22 Jonathan Wakely <jwakely@redhat.com>
2596
2597 PR libstdc++/100179
2598 * include/bits/semaphore_base.h: Remove #error.
2599 * include/std/semaphore: Do not define anything unless one of
2600 the implementations is available.
2601
c1ef0c92
GA
26022021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
2603
2604 * include/bits/semaphore_base.h: Always reload __old in
2605 __atomic_semaphore::_S_do_try_acquire().
2606 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2607 re-enable testcase.
2608
26092021-04-21 Philippe Blain <levraiphilippeblain@gmail.com>
2610 Jonathan Wakely <jwakely@redhat.com>
2611
2612 PR libstdc++/99453
2613 * python/Makefile.am: Install libstdc++*-gdb.py more robustly.
2614 * python/Makefile.in: Regenerate.
2615
26162021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
2617
2618 * include/bits/semaphore_base.h: Add missing _M_try_acquire()
2619 member to __platform_wait.
2620
26212021-04-21 Jonathan Wakely <jwakely@redhat.com>
2622
2623 * include/std/latch: Replace tab characters in license text.
2624 * include/std/semaphore: Likewise.
2625
26262021-04-21 Jakub Jelinek <jakub@redhat.com>
2627
2628 PR libstdc++/100164
2629 * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
2630 rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
2631 * configure: Regenerated.
2632 * config.h.in: Regenerated.
2633
be8aad8d
GA
26342021-04-20 Jonathan Wakely <jwakely@redhat.com>
2635
2636 * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
2637 test for targets not using futexes for semaphores.
2638 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
2639 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2640 Disable for all targets.
2641
26422021-04-20 Thomas Rodgers <trodgers@redhat.com>
2643
2644 * include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
2645 * include/Makefile.in: Regenerate.
2646 * include/bits/this_thread_sleep.h: New file.
2647 * include/bits/atomic_base.h: Adjust all calls
2648 to __atomic_wait/__atomic_notify for new call signatures.
2649 * include/bits/atomic_timed_wait.h: Extensive rewrite.
2650 * include/bits/atomic_wait.h: Likewise.
2651 * include/bits/semaphore_base.h: Adjust all calls
2652 to __atomic_wait/__atomic_notify for new call signatures.
2653 * include/std/atomic: Likewise.
2654 * include/std/barrier: Likewise.
2655 * include/std/latch: Likewise.
2656 * include/std/semaphore: Likewise.
2657 * include/std/thread (this_thread::sleep_for)
2658 (this_thread::sleep_until): Move to new header.
2659 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
2660 test.
2661 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
2662 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
2663 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
2664 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
2665 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
2666 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
2667
26682021-04-20 Patrick Palka <ppalka@redhat.com>
2669
2670 PR libstdc++/95983
2671 * include/bits/stl_iterator.h (__detail::__move_iter_cat):
2672 Define.
2673 (move_iterator): Derive from the above in C++20 in order to
2674 conditionally define iterator_category as per P2259.
2675 (move_iterator::__base_cat): No longer used, so remove.
2676 (move_iterator::iterator_category): Remove in C++20.
2677 (__detail::__common_iter_use_postfix_proxy): Define.
2678 (common_iterator::_Proxy): Rename to ...
2679 (common_iterator:__arrow_proxy): ... this.
2680 (common_iterator::__postfix_proxy): Define as per P2259.
2681 (common_iterator::operator->): Adjust.
2682 (common_iterator::operator++): Adjust as per P2259.
2683 (iterator_traits<common_iterator>::_S_iter_cat): Define.
2684 (iterator_traits<common_iterator>::iterator_category): Change as
2685 per P2259.
2686 (__detail::__counted_iter_value_type): Define.
2687 (__detail::__counted_iter_concept): Define.
2688 (__detail::__counted_iter_cat): Define.
2689 (counted_iterator): Derive from the above three classes in order
2690 to conditionally define value_type, iterator_concept and
2691 iterator category respectively as per P2259.
2692 (counted_iterator::operator->): Define as per P2259.
2693 (incrementable_traits<counted_iterator>): Remove as per P2259.
2694 (iterator_traits<counted_iterator>): Adjust as per P2259.
2695 * include/std/ranges (__detail::__iota_view_iter_cat): Define.
2696 (iota_view::_Iterator): Derive from the above in order to
2697 conditionally define iterator_category as per P2259.
2698 (iota_view::_S_iter_cat): Rename to ...
2699 (iota_view::_S_iter_concept): ... this.
2700 (iota_view::iterator_concept): Use it to apply LWG 3291 changes.
2701 (iota_view::iterator_category): Remove.
2702 (__detail::__filter_view_iter_cat): Define.
2703 (filter_view::_Iterator): Derive from the above in order to
2704 conditionally define iterator_category as per P2259.
2705 (filter_view::_Iterator): Move to struct __filter_view_iter_cat.
2706 (filter_view::_Iterator::iterator_category): Remove.
2707 (transform_view::_Base): Define.
2708 (transform_view::__iter_cat): Define.
2709 (transform_view::_Iterator): Derive from the above in order to
2710 conditionally define iterator_category as per P2259.
2711 (transform_view::_Iterator::_Base): Just alias
2712 transform_view::_Base.
2713 (transform_view::_Iterator::_S_iter_cat): Move to struct
2714 transform_view::__iter_cat.
2715 (transform_view::_Iterator::iterator_category): Remove.
2716 (transform_view::_Sentinel::_Base): Just alias
2717 transform_view::_Base.
2718 (join_view::_Base): Define.
2719 (join_view::_Outer_iter): Define.
2720 (join_view::_Inner_iter): Define.
2721 (join_view::_S_ref_is_glvalue): Define.
2722 (join_view::__iter_cat): Define.
2723 (join_view::_Iterator): Derive from it in order to conditionally
2724 define iterator_category as per P2259.
2725 (join_view::_Iterator::_Base): Just alias join_view::_Base.
2726 (join_view::_Iterator::_S_ref_is_glvalue): Just alias
2727 join_view::_S_ref_is_glvalue.
2728 (join_view::_Iterator::_S_iter_cat): Move to struct
2729 transform_view::__iter_cat.
2730 (join_view::_Iterator::_Outer_iter): Just alias
2731 join_view::_Outer_iter.
2732 (join_view::_Iterator::_Inner_iter): Just alias
2733 join_view::_Inner_iter.
2734 (join_view::_Iterator::iterator_category): Remove.
2735 (join_view::_Sentinel::_Base): Just alias join_view::_Base.
2736 (__detail::__split_view_outer_iter_cat): Define.
2737 (__detail::__split_view_inner_iter_cat): Define.
2738 (split_view::_Base): Define.
2739 (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
2740 in order to conditionally define iterator_category as per P2259.
2741 (split_view::_Outer_iter::iterator_category): Remove.
2742 (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
2743 in order to conditionally define iterator_category as per P2259.
2744 (split_view::_Inner_iter::_S_iter_cat): Move to
2745 __split_view_inner_iter_cat.
2746 (split_view::_Inner_iter::iterator_category): Remove.
2747 (elements_view::_Base): Define.
2748 (elements_view::__iter_cat): Define.
2749 (elements_view::_Iterator): Derive from the above in order to
2750 conditionall define iterator_category as per P2259.
2751 (elements_view::_Iterator::_Base): Just alias
2752 elements_view::_Base.
2753 (elements_view::_Iterator::_S_iter_concept)
2754 (elements_view::_Iterator::iterator_concept): Define as per
2755 P2259.
2756 (elements_view::_Iterator::iterator_category): Remove.
2757 (elements_view::_Sentinel::_Base): Just alias
2758 elements_view::_Base.
2759 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
2760 Adjust constraints on iterator_traits<counted_iterator>.
2761 * testsuite/std/ranges/p2259.cc: New test.
2762
27632021-04-20 Jonathan Wakely <jwakely@redhat.com>
2764
2765 PR libstdc++/100146
2766 * include/std/charconv (__cpp_lib_to_chars): Define
2767 conditionally.
2768 * include/std/version (__cpp_lib_to_chars): Likewise..
2769 * testsuite/20_util/from_chars/4.cc: Only check feature test
2770 macro, not _GLIBCXX_HAVE_USELOCALE.
2771 * testsuite/20_util/from_chars/5.cc: Likewise.
2772 * testsuite/20_util/from_chars/6.cc: Likewise.
2773 * testsuite/20_util/to_chars/long_double.cc: Likewise.
2774
27752021-04-20 Jakub Jelinek <jakub@redhat.com>
2776
2777 * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
2778 versions with _IEEE128_ substring are found, set ieee_version_found
2779 to true. Ignore missing symbols with _IEEE128_ in version name if
2780 !ieee_version_found. Use i->first as version_name instead of
2781 i->second.version_name if the latter is empty.
2782 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2783
6e81e015
GA
27842021-04-19 H.J. Lu <hjl.tools@gmail.com>
2785
2786 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
2787 Updated.
2788
da946b41
GA
27892021-04-17 Jakub Jelinek <jakub@redhat.com>
2790
2791 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
2792 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2793
27942021-04-17 Jakub Jelinek <jakub@redhat.com>
2795
2796 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2797 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2798 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2799 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2800 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2801 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2802
ee351f7f
GA
28032021-04-15 Jonathan Wakely <jwakely@redhat.com>
2804
2805 * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
2806 add libatomic options for 32-bit sparc*-*-linux-gnu.
2807
28082021-04-15 Jonathan Wakely <jwakely@redhat.com>
2809
2810 PR libstdc++/96657
2811 * libsupc++/Makefile.am: Add atomicity.cc here.
2812 * src/c++98/Makefile.am: Remove it from here.
2813 * libsupc++/Makefile.in: Regenerate.
2814 * src/c++98/Makefile.in: Regenerate.
2815 * testsuite/18_support/exception_ptr/96657.cc: New test.
2816
6d0d35d5
GA
28172021-04-13 Jonathan Wakely <jwakely@redhat.com>
2818
2819 PR libstdc++/100060
2820 * include/std/bit: Only include <ext/numeric_traits.h> for
2821 hosted build, use <limits> otherwise.
2822
28232021-04-13 Jonathan Wakely <jwakely@redhat.com>
2824
2825 * doc/xml/manual/backwards_compatibility.xml: Remove porting
2826 notes for libg++ and libstdc++-v2, and bibliography.
2827 * doc/html/*: Regenerated.
2828
287ad814
GA
28292021-04-12 Jonathan Wakely <jwakely@redhat.com>
2830
2831 PR libstdc++/100044
2832 * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
2833 Remove helper concept.
2834 (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
2835 deduction guides, as per LWG 3404.
2836 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
2837 template argument deduction fails.
2838
28392021-04-12 Jonathan Wakely <jwakely@redhat.com>
2840
2841 * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
2842 Adjust expected error for C++20 mode.
2843 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
2844 Likewise.
2845
28462021-04-12 Jonathan Wakely <jwakely@redhat.com>
2847
2848 PR libstdc++/99995
2849 * testsuite/17_intro/headers/c++1998/49745.cc: Include all
2850 standard headers and XFAIL for effective-target c++20.
2851
3115aba8
GA
28522021-04-09 François Dumont <fdumont@gcc.gnu.org>
2853
2854 PR libstdc++/99402
2855 * include/debug/helper_functions.h (__can_advance(_InputIterator,
2856 const std::pair<_Diff, _Distance_precision>&, int)): New.
2857 (__can_advance(const _Safe_iterator<>&,
2858 const std::pair<_Diff, _Distance_precision>&, int)): New.
2859 * include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
2860 use latter.
2861 (__glibcxx_check_can_increment_range): Adapt to use latter.
2862 (__glibcxx_check_can_decrement_range): Likewise.
2863 * include/debug/safe_iterator.h
2864 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
2865 int)): New.
2866 (__can_advance(const _Safe_iterator<>&,
2867 const std::pair<_Diff, _Distance_precision>&, int)): New.
2868 * include/debug/safe_iterator.tcc
2869 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
2870 int)): New.
2871 (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
2872 std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
2873 __dp_sign_max_size.
2874 (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
2875 (__copy_move_backward_a): Likewise.
2876 (__equal_aux): Likewise.
2877 * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
2878 const std::pair<_Diff, _Distance_precision>&, int)): New.
2879 (__can_advance(const std::move_iterator<>&,
2880 const std::pair<_Diff, _Distance_precision>&, int)): New.
2881 * testsuite/25_algorithms/copy/debug/99402.cc: New test.
2882
28832021-04-09 Jonathan Wakely <jwakely@redhat.com>
2884
2885 PR libstdc++/99985
2886 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
2887 to be a valid constexpr function in C++11.
2888 * testsuite/23_containers/unordered_set/cons/99985.cc: New test.
2889
28902021-04-09 Jonathan Wakely <jwakely@redhat.com>
2891
2892 * include/bits/fs_fwd.h: Fix doxygen group command.
2893 * include/bits/streambuf_iterator.h: Likewise.
2894 * include/bits/uses_allocator_args.h: Likewise.
2895 * include/std/memory: Likewise.
2896 * include/tr1/complex: Likewise.
2897
019a9220
GA
28982021-04-08 Jonathan Wakely <jwakely@redhat.com>
2899
2900 * include/bits/basic_string.h: Tweak doxygen comment.
2901
29022021-04-08 Patrick Palka <ppalka@redhat.com>
2903
2904 * include/std/ranges (__detail::find): Define.
2905 (split_view::_OuterIter::operator++): Apply proposed resolution
2906 of LWG 3505.
2907 * testsuite/std/ranges/adaptors/split.cc (test10): New test.
2908
29092021-04-08 Patrick Palka <ppalka@redhat.com>
2910
2911 * include/std/ranges (__detail::find_if): Simplify.
2912 (__detail::find_if_not): Likewise.
2913 (__detail::min): Remove.
2914 (__detail::mismatch): Simplify.
2915 (take_view::size): Use std::min instead of __detail::min.
2916
29172021-04-08 Patrick Palka <ppalka@redhat.com>
2918
2919 * include/std/ranges (__detail::__returnable_element): New
2920 concept.
2921 (elements_view): Use this concept in its constraints. Add
2922 missing private access specifier.
2923 (elements_view::_S_get_element): Define as per LWG 3502.
2924 (elements_view::operator*, elements_view::operator[]): Use
2925 _S_get_element.
2926 (elements_view::operator++): Remove unnecessary constraint
2927 as per LWG 3492.
2928 * testsuite/std/ranges/adaptors/elements.cc (test05): New test.
2929
29302021-04-08 Jonathan Wakely <jwakely@redhat.com>
2931
2932 * doc/Makefile.am (stamp-pdf-doxygen): Also grep for
2933 out-of-memory error in log file.
2934 * doc/Makefile.in: Regenerate.
2935
29362021-04-08 Jonathan Wakely <jwakely@redhat.com>
2937
2938 * configure: Regenerate.
2939
29402021-04-08 Jonathan Wakely <jwakely@redhat.com>
2941
2942 * include/bits/random.h: Fix doxygen group commands.
2943 * include/bits/regex_constants.h: Likewise.
2944 * include/tr1/random.h: Likewise.
2945
29462021-04-08 Jonathan Wakely <jwakely@redhat.com>
2947
2948 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
2949 New function to determine noexcept-specifier for move
2950 constructors.
2951 (_Hashtable): Use _S_nothrow_move() on move constructors.
2952 * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
2953 Correct static assertion message.
2954 * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
2955 Likewise.
2956 * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
2957 Likewise.
2958 * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
2959 Likewise.
2960
29612021-04-08 Patrick Palka <ppalka@redhat.com>
2962
2963 PR libstdc++/98384
2964 * testsuite/20_util/to_chars/long_double.cc: Don't run the test
2965 on targets without a large long double. XFAIL the execution on
2966 targets with a non-conforming printf.
2967
29682021-04-08 Patrick Palka <ppalka@redhat.com>
2969
2970 PR libstdc++/99433
2971 * include/std/ranges (__adaptor::__maybe_refwrap): Remove.
2972 (__adaptor::__adaptor_invocable): New concept.
2973 (__adaptor::__adaptor_partial_app_viable): New concept.
2974 (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
2975 non-template base class.
2976 (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
2977 class template.
2978 (__adaptor::_Partial): New class template that represents
2979 partial application of a range adaptor non-closure.
2980 (__adaptor::__pipe_invocable): New concept.
2981 (__adaptor::_Pipe): New class template.
2982 (__detail::__can_ref_view): New concept.
2983 (__detail::__can_subrange): New concept.
2984 (all): Replace the lambda here with ...
2985 (_All): ... this functor. Add appropriate constraints.
2986 (__detail::__can_filter_view): New concept.
2987 (filter, _Filter): As in all/_All.
2988 (__detail::__can_transform): New concept.
2989 (transform, _Transform): As in all/_All.
2990 (__detail::__can_take_view): New concept.
2991 (take, _Take): As in all/_All.
2992 (__detail::__can_take_while_view): New concept.
2993 (take_while, _TakeWhile): As in all/_All.
2994 (__detail::__can_drop_view): New concept.
2995 (drop, _Drop): As in all/_All.
2996 (__detail::__can_drop_while_view): New concept.
2997 (drop_while, _DropWhile): As in all/_All.
2998 (__detail::__can_join_view): New concept.
2999 (join, _Join): As in all/_All.
3000 (__detail::__can_split_view): New concept.
3001 (split, _Split): As in all/_All. Rename template parameter
3002 _Fp to _Pattern.
3003 (__detail::__already_common): New concept.
3004 (__detail::__can_common_view): New concept.
3005 (common, _Common): As in all/_All.
3006 (__detail::__can_reverse_view): New concept.
3007 (reverse, _Reverse): As in all/_All.
3008 (__detail::__can_elements_view): New concept.
3009 (elements, _Elements): As in all/_All.
3010 (keys, values): Adjust.
3011 * testsuite/std/ranges/adaptors/99433.cc: New test.
3012 * testsuite/std/ranges/adaptors/all.cc: No longer expect that
3013 adding empty range adaptor closure objects to a pipeline doesn't
3014 increase the size of the pipeline.
3015 (test05): New test.
3016 * testsuite/std/ranges/adaptors/common.cc (test03): New test.
3017 * testsuite/std/ranges/adaptors/drop.cc (test09): New test.
3018 * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
3019 * testsuite/std/ranges/adaptors/elements.cc (test04): New test.
3020 * testsuite/std/ranges/adaptors/filter.cc (test06): New test.
3021 * testsuite/std/ranges/adaptors/join.cc (test09): New test.
3022 * testsuite/std/ranges/adaptors/p2281.cc: New test.
3023 * testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
3024 * testsuite/std/ranges/adaptors/split.cc (test01, test04):
3025 Adjust.
3026 (test09): New test.
3027 * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
3028 expected error message.
3029 (test02): Likewise. Extend test.
3030 * testsuite/std/ranges/adaptors/take.cc (test06): New test.
3031 * testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
3032 * testsuite/std/ranges/adaptors/transform.cc (test07, test08):
3033 New test.
3034
30352021-04-08 Jonathan Wakely <jwakely@redhat.com>
3036
3037 * include/std/string_view: Adjust Doxygen @file comment.
3038
30392021-04-08 Jonathan Wakely <jwakely@redhat.com>
3040
3041 * include/std/type_traits (is_scoped_enum<T>): Constrain partial
3042 specialization to not match incomplete enum types. Use a
3043 requires-expression instead of instantiating is_convertible.
3044 (is_scoped_enum<const T>): Add as workaround for PR c++/99968.
3045 * testsuite/20_util/is_scoped_enum/value.cc: Check with
3046 incomplete types and opaque-enum-declarations.
3047
299859c2
GA
30482021-04-07 Jonathan Wakely <jwakely@redhat.com>
3049
3050 PR libstdc++/99805
3051 * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
3052 non-const member on _M_pathname, to avoid copy-on-write.
3053 * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
3054 Check construction from strings that might be shared.
3055
8cac6af6
GA
30562021-04-06 Jonathan Wakely <jwakely@redhat.com>
3057
3058 * include/bits/move.h (forward, move, move_if_noexcept)
3059 (addressof): Add _GLIBCXX_NODISCARD.
3060 * include/bits/ranges_cmp.h (identity::operator()): Add
3061 nodiscard attribute.
3062 * include/c_global/cstddef (to_integer): Likewise.
3063 * include/std/bit (bit_cast): Likewise.
3064 * include/std/utility (as_const, to_underlying): Likewise.
3065
30662021-04-06 Jonathan Wakely <jwakely@redhat.com>
3067
3068 * include/bits/move.h (forward): Change static_assert message
3069 to be unambiguous about what must be true.
3070 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
3071 * testsuite/20_util/forward/f_neg.cc: Likewise.
3072
30732021-04-06 Jonathan Wakely <jwakely@redhat.com>
3074
3075 * include/bits/alloc_traits.h: Use markdown for code font.
3076 * include/bits/basic_string.h: Fix @param names.
3077 * include/bits/max_size_type.h: Remove period after @file.
3078 * include/bits/regex.h: Fix duplicate @retval names, and rename.
3079 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
3080 group open to match existing group close.
3081 * include/ext/pb_ds/priority_queue.hpp: Add blank line before group
3082 open.
3083
8cac6af6
GA
30842021-04-06 Jonathan Wakely <jwakely@redhat.com>
3085
3086 * include/bits/atomic_base.h: Fix doxygen group close.
3087 * include/bits/basic_ios.h: Likewise.
3088 * include/bits/forward_list.h: Likewise.
3089 * include/bits/fs_dir.h: Likewise.
3090 * include/bits/fs_ops.h: Likewise.
3091 * include/bits/fs_path.h: Likewise.
3092 * include/bits/functional_hash.h: Likewise.
3093 * include/bits/gslice.h: Likewise.
3094 * include/bits/gslice_array.h: Likewise.
3095 * include/bits/hashtable_policy.h: Likewise.
3096 * include/bits/indirect_array.h: Likewise.
3097 * include/bits/locale_classes.h: Likewise.
3098 * include/bits/locale_facets.h: Likewise.
3099 * include/bits/locale_facets_nonio.h: Likewise.
3100 * include/bits/mask_array.h: Likewise.
3101 * include/bits/refwrap.h: Likewise.
3102 * include/bits/regex.h: Likewise.
3103 * include/bits/regex_automaton.h: Likewise.
3104 * include/bits/regex_compiler.h: Likewise.
3105 * include/bits/regex_constants.h: Likewise.
3106 * include/bits/regex_error.h: Likewise.
3107 * include/bits/regex_executor.h: Likewise.
3108 * include/bits/regex_scanner.h: Likewise.
3109 * include/bits/shared_ptr.h: Likewise.
3110 * include/bits/shared_ptr_atomic.h: Likewise.
3111 * include/bits/shared_ptr_base.h: Likewise.
3112 * include/bits/slice_array.h: Likewise.
3113 * include/bits/specfun.h: Likewise.
3114 * include/bits/std_function.h: Likewise.
3115 * include/bits/std_mutex.h: Likewise.
3116 * include/bits/stl_deque.h: Likewise.
3117 * include/bits/stl_iterator.h: Likewise.
3118 * include/bits/stl_iterator_base_types.h: Likewise.
3119 * include/bits/stl_map.h: Likewise.
3120 * include/bits/stl_multimap.h: Likewise.
3121 * include/bits/stl_multiset.h: Likewise.
3122 * include/bits/stl_numeric.h: Likewise.
3123 * include/bits/stl_pair.h: Likewise.
3124 * include/bits/stl_set.h: Likewise.
3125 * include/bits/stl_uninitialized.h: Likewise.
3126 * include/bits/stream_iterator.h: Likewise.
3127 * include/bits/streambuf_iterator.h: Likewise.
3128 * include/bits/unique_ptr.h: Likewise.
3129 * include/bits/unordered_map.h: Likewise.
3130 * include/bits/unordered_set.h: Likewise.
3131 * include/decimal/decimal: Likewise.
3132 * include/experimental/any: Likewise.
3133 * include/experimental/array: Likewise.
3134 * include/experimental/bits/fs_dir.h: Likewise.
3135 * include/experimental/bits/fs_fwd.h: Likewise.
3136 * include/experimental/bits/fs_ops.h: Likewise.
3137 * include/experimental/bits/fs_path.h: Likewise.
3138 * include/experimental/buffer: Likewise.
3139 * include/experimental/internet: Likewise.
3140 * include/experimental/optional: Likewise.
3141 * include/experimental/propagate_const: Likewise.
3142 * include/experimental/socket: Likewise.
3143 * include/ext/pb_ds/assoc_container.hpp: Likewise.
3144 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
3145 Likewise.
3146 * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
3147 * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
3148 * include/ext/pb_ds/detail/types_traits.hpp: Likewise.
3149 * include/ext/pb_ds/exception.hpp: Likewise.
3150 * include/ext/pb_ds/priority_queue.hpp: Likewise.
3151 * include/ext/pb_ds/tag_and_trait.hpp: Likewise.
3152 * include/ext/random: Likewise.
3153 * include/std/any: Likewise.
3154 * include/std/atomic: Likewise.
3155 * include/std/bitset: Likewise.
3156 * include/std/chrono: Likewise.
3157 * include/std/complex: Likewise.
3158 * include/std/condition_variable: Likewise.
3159 * include/std/fstream: Likewise.
3160 * include/std/future: Likewise.
3161 * include/std/iostream: Likewise.
3162 * include/std/istream: Likewise.
3163 * include/std/mutex: Likewise.
3164 * include/std/numeric: Likewise.
3165 * include/std/ostream: Likewise.
3166 * include/std/ratio: Likewise.
3167 * include/std/shared_mutex: Likewise.
3168 * include/std/stdexcept: Likewise.
3169 * include/std/streambuf: Likewise.
3170 * include/std/system_error: Likewise.
3171 * include/std/thread: Likewise.
3172 * include/std/valarray: Likewise.
3173 * include/std/variant: Likewise.
3174 * include/tr1/cmath: Likewise.
3175 * include/tr1/regex: Likewise.
3176 * include/tr2/dynamic_bitset: Likewise.
3177 * libsupc++/atomic_lockfree_defines.h: Likewise.
3178 * libsupc++/exception: Likewise.
3179 * libsupc++/exception.h: Likewise.
3180 * libsupc++/exception_ptr.h: Likewise.
3181 * libsupc++/nested_exception.h: Likewise.
3182
95d217ab
GA
31832021-03-31 Alexandre Oliva <oliva@adacore.com>
3184
3185 * testsuite/30_threads/future/members/poll.cc: Use faster
3186 after-ready call in the calibration loop.
3187
65374af2
GA
31882021-03-29 Jonathan Wakely <jwakely@redhat.com>
3189
3190 * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
3191 * doc/html/manual/status.html: Regenerate.
3192
c4110112
GA
31932021-03-28 François Dumont <fdumont@gcc.gnu.org>
3194
3195 * include/debug/forward_list
3196 (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
3197 * include/debug/list (list(list&&, const allocator_type&)): Likewise and add
3198 call to safe container allocator aware move constructor.
3199 * include/debug/vector (vector(vector&&, const allocator_type&)):
3200 Fix noexcept qualification.
3201 * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
3202 Add allocator-extended move constructor noexceot qualification check.
3203 * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
3204
651684b4
GA
32052021-03-26 Jonathan Wakely <jwakely@redhat.com>
3206
3207 * src/c++11/random.cc (USE_LCG): Define when a pseudo-random
3208 fallback is needed.
3209 [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
3210 New helper functions and callback.
3211 (random_device::_M_init): Add 'prng' and 'all' enumerators.
3212 Replace switch with fallthrough with a series of 'if' statements.
3213 [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
3214 checks fail.
3215 (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
3216 token.
3217 (random_device::_M_getval): Check for callback unconditionally
3218 and always pass _M_file pointer.
3219 * testsuite/26_numerics/random/random_device/85494.cc: Remove
3220 effective-target check. Use new random_device_available helper.
3221 * testsuite/26_numerics/random/random_device/94087.cc: Likewise.
3222 * testsuite/26_numerics/random/random_device/cons/default-cow.cc:
3223 Remove effective-target check.
3224 * testsuite/26_numerics/random/random_device/cons/default.cc:
3225 Likewise.
3226 * testsuite/26_numerics/random/random_device/cons/token.cc: Use
3227 new random_device_available helper. Test "prng" token.
3228 * testsuite/util/testsuite_random.h (random_device_available):
3229 New helper function.
3230
4493b1c1
GA
32312021-03-25 François Dumont <fdumont@gcc.gnu.org>
3232
3233 * include/debug/string
3234 (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
3235 (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
3236 (basic_string<>::erase): Adapt to take __const_iterator.
3237 (basic_string(const _CharT*, const _Allocator&)): Remove assign call.
3238 (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
3239 remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
3240 [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
3241 (__gnu_debug::u16string, __gnu_debug::u32string): New.
3242 (std::hash<__gnu_debug::basic_string<>>): New partial specialization.
3243 (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
3244 * testsuite/util/exception/safety.h
3245 (erase_base<__gnu_debug::basic_string<>>): New partial specialization.
3246 (insert_base<__gnu_debug::basic_string<>>): Likewise.
3247 * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
3248 New partial specialization.
3249 * testsuite/21_strings/basic_string/hash/debug.cc: New test.
3250 * testsuite/21_strings/basic_string/requirements/citerators.cc:
3251 Add test on __gnu_debug::string.
3252 * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
3253 * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
3254 * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
3255 Likewise.
3256 * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
3257 Likewise.
3258 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
3259 Likewise.
3260 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
3261 Likewise.
3262 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
3263 Likewise.
3264 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
3265 Likewise.
3266 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
3267 Likewise.
3268 * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
3269
32702021-03-25 Jakub Jelinek <jakub@redhat.com>
3271
3272 PR c++/99672
3273 * testsuite/18_support/source_location/consteval.cc (main): Adjust
3274 expected column numbers.
3275 * testsuite/18_support/source_location/1.cc (main): Likewise.
3276
32772021-03-25 Jonathan Wakely <jwakely@redhat.com>
3278
3279 * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
3280
32812021-03-25 Jonathan Wakely <jwakely@redhat.com>
3282
3283 * testsuite/util/exception/safety.h (setup_base::generate):
3284 Support seeding random engine.
3285 (erase_point, erase_range): Adjust range of random numbers to
3286 ensure dereferenceable iterators are used where required.
3287 (generation_prohibited::run): Do not try to erase from empty
3288 containers.
3289 * testsuite/util/testsuite_containergen.h (test_containers):
3290 Support seeding random engine.
3291
bf1f3168
GA
32922021-03-23 Jonathan Wakely <jwakely@redhat.com>
3293
3294 * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
3295 line with a check that uses the const being/end overloads.
3296
32972021-03-23 Moritz Sichert <sichert@in.tum.de>
3298
3299 * include/std/ranges (reverse_view::begin, reverse_view::end):
3300 Qualify make_reverse_iterator calls to avoid ADL.
3301 * testsuite/std/ranges/adaptors/reverse.cc: Test that
3302 views::reverse works when make_reverse_iterator is defined
3303 in an associated namespace.
3304
33052021-03-23 Jonathan Wakely <jwakely@redhat.com>
3306
3307 * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
3308 Do not define when compiling with Clang.
3309
8b744f46
GA
33102021-03-22 Jonathan Wakely <jwakely@redhat.com>
3311
3312 * include/std/string_view (basic_string_view(Range&&)): Define new
3313 constructor and deduction guide.
3314 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
3315 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
3316
33172021-03-22 Jonathan Wakely <jwakely@redhat.com>
3318
3319 * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
3320 Add missing 'noexcept' as per LWG 2280.
3321 (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
3322 (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
3323 * testsuite/24_iterators/range_access/range_access.cc: Check for
3324 expected noexcept specifiers. Check result types of generic
3325 std::begin and std::end overloads.
3326 * testsuite/24_iterators/range_access/range_access_cpp14.cc:
3327 Check for expected noexcept specifiers.
3328 * testsuite/24_iterators/range_access/range_access_cpp17.cc:
3329 Likewise.
3330
5f256a70
GA
33312021-03-19 Jonathan Wakely <jwakely@redhat.com>
3332
3333 * include/std/type_traits (is_scoped_enum): Define.
3334 * include/std/version (__cpp_lib_is_scoped_enum): Define.
3335 * testsuite/20_util/is_scoped_enum/value.cc: New test.
3336 * testsuite/20_util/is_scoped_enum/version.cc: New test.
3337
bc212776
GA
33382021-03-16 Jonathan Wakely <jwakely@redhat.com>
3339
3340 PR libstdc++/99341
3341 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
3342 std::once_flag symbols.
3343 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
3344 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
3345 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
3346 Likewise.
3347 * config/abi/pre/gnu.ver: Likewise.
3348 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
3349 (struct __once_flag_compat): Remove.
3350 (_ZNSt9once_flag11_M_activateEv): Remove.
3351 (_ZNSt9once_flag9_M_finishEb): Remove.
3352
33532021-03-16 Jonathan Wakely <jwakely@redhat.com>
3354
3355 PR libstdc++/99341
3356 * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
3357 Revert to pthread_once_t implementation.
3358 [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
3359 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
3360 (struct __once_flag_compat): New type matching the reverted
3361 implementation of once_flag using futexes.
3362 (once_flag::_M_activate): Remove, replace with ...
3363 (_ZNSt9once_flag11_M_activateEv): ... alias symbol.
3364 (once_flag::_M_finish): Remove, replace with ...
3365 (_ZNSt9once_flag9_M_finishEb): ... alias symbol.
3366 * testsuite/30_threads/call_once/66146.cc: Removed.
3367
3c5b6d24
GA
33682021-03-15 Iain Sandoe <iain@sandoe.co.uk>
3369
3370 * testsuite/17_intro/names.cc: Exclude j from the list
3371 of test symbols for Darwin.
3372
33732021-03-15 Iain Sandoe <iain@sandoe.co.uk>
3374
3375 * config/os/bsd/darwin/ppc-extra.ver: Add matching for
3376 to_chars and from_chars for long double.
3377
33782021-03-15 Patrick Palka <ppalka@redhat.com>
3379
3380 * include/bits/max_size_type.h (__max_size_type::operator _Tp):
3381 Fix formatting.
3382 (__max_size_type::operator++): Define.
3383 (__max_size_type::operator--): Likewise.
3384 (__max_size_type::operator<=>): Conditionally define (in place
3385 of the other comparison operators).
3386 (__max_diff_type::operator _Tp): Fix formatting.
3387 (__max_diff_type::operator++): Define.
3388 (__max_diff_type::operator--): Likewise.
3389 (__max_diff_type::operator<=>): Conditionally define (in place
3390 of the other comparison operators).
3391 * testsuite/std/ranges/iota/max_size_type.cc (test01): Test
3392 these operator overloads.
3393
c2be8205
CT
33942021-03-15 Caroline Tice <cmtice@google.com>
3395
3396 PR libstdc++/99172
3397 * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
3398 AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
3399 AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
3400 filtered out.
3401 * src/Makefile.in: Regenerate.
3402
48ff383f
GA
34032021-03-11 Patrick Palka <ppalka@redhat.com>
3404
3405 * src/c++17/floating_to_chars.cc: Simplify the file as if
3406 __SIZEOF_INT128__ is always defined.
3407 [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define
3408 a base-10 to_chars overload for the uint128_t class type.
3409 * src/c++17/uint128_t.h: New file.
3410 * testsuite/20_util/to_chars/long_double.cc: No longer expect an
3411 execution FAIL on targets that have a large long double type
3412 but lack __int128.
3413
34142021-03-11 Patrick Palka <ppalka@redhat.com>
3415
3416 * src/c++17/ryu/LOCAL_PATCHES: Update.
3417 * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
3418 * src/c++17/ryu/generic_128.h: Likewise.
3419 * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
3420 Use uint128_t instead of __uint128_t.
3421 (generic_binary_to_decimal): Likewise.
3422
34232021-03-11 Patrick Palka <ppalka@redhat.com>
3424
3425 * src/c++17/ryu/LOCAL_PATCHES: New file.
3426
34272021-03-11 Patrick Palka <ppalka@redhat.com>
3428
3429 * src/c++17/floating_to_chars.cc (uint128_t): New conditionally
3430 defined alias of unsigned __int128.
3431 (floating_type_traits_binary128::mantissa_t): Use uint128_t
3432 instead of unsigned __int128.
3433 (floating_type_traits<long double>::mantissa_t)
3434 [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
3435 (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t
3436 and uint32_t explicit. Simplify the extraction of mantissa,
3437 exponent and sign bit.
3438
34392021-03-11 Jonathan Wakely <jwakely@redhat.com>
3440
3441 * include/std/barrier (barrier::arrival_token): New move-only
3442 class that encapsulates the underlying token value.
3443
34442021-03-11 Jonathan Wakely <jwakely@redhat.com>
3445
3446 * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
3447 instead of unqualified() method.
3448
34492021-03-11 Jonathan Wakely <jwakely@redhat.com>
3450
3451 PR libstdc++/99537
3452 * include/std/stop_token (_Stop_state_t::_M_release_ownership):
3453 Use acq_rel memory ordering.
3454
34552021-03-11 Jonathan Wakely <jwakely@redhat.com>
3456
864caa15 3457 PR libstdc++/99533
48ff383f
GA
3458 * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
3459 helper function to check for permission denied errors.
3460 * src/filesystem/dir.cc (recursive_directory_iterator):
3461 Likewise.
3462 * src/filesystem/dir-common.h (is_permission_denied_error): New
3463 helper function.
3464
34652021-03-11 Jonathan Wakely <jwakely@redhat.com>
3466
3467 PR libstdc++/99536
3468 * include/bits/random.h (normal_distribution): Use
3469 default-initializer for _M_saved and _M_saved_available.
3470
e9800852
GA
34712021-03-10 John David Anglin <danglin@gcc.gnu.org>
3472
3473 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
3474 link with libatomic.
3475 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
3476 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
3477 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
3478 * testsuite/30_threads/barrier/arrive.cc: Likewise.
3479 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
3480 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
3481 * testsuite/30_threads/barrier/completion.cc: Likewise.
3482 * testsuite/30_threads/latch/3.cc: Likewise.
3483 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
3484 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
3485 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
3486
34872021-03-10 Jonathan Wakely <jwakely@redhat.com>
3488
3489 PR libstdc++/99413
3490 * include/bits/align.h: Include debug/assertions.h.
3491 * include/bits/codecvt.h: Include bits/c++config.h.
3492 * include/bits/enable_special_members.h: Likewise.
3493 * include/bits/erase_if.h: Likewise.
3494 * include/bits/functional_hash.h: Include <type_traits>.
3495 * include/bits/invoke.h: Include bits/move.h.
3496 * include/bits/ostream_insert.h: Include bits/exception_defines.h.
3497 * include/bits/parse_numbers.h: Include <type_traits>.
3498 * include/bits/predefined_ops.h: Include bits/c++config.h.
3499 * include/bits/range_access.h: Include bits/stl_iterator.h.
3500 * include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
3501 * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
3502 * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
3503 * include/bits/uniform_int_dist.h: Include bits/concept_check.h.
3504 * include/bits/unique_lock.h: Include bits/std_mutex.h.
3505 * include/debug/assertions.h: Include bits/c++config.h.
3506
35072021-03-10 Jonathan Wakely <jwakely@redhat.com>
3508
3509 * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
3510 (ranges::equal_to, ranges::not_equal_to): Do not constrain
3511 with __eq_builtin_ptr_cmp.
3512 (ranges::less, ranges::greater, ranges::less_equal)
3513 (ranges::greater_equal): Do not constrain with
3514 __less_builtin_ptr_cmp.
3515 * libsupc++/compare (compare_three_way): Do not constrain with
3516 __3way_builtin_ptr_cmp.
3517 * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
3518 * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
3519 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
3520
35212021-03-10 Jonathan Wakely <jwakely@redhat.com>
3522
3523 * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
3524 C++20 calendar types.
3525
0ad6a2e2
GA
35262021-03-06 Jakub Jelinek <jakub@redhat.com>
3527
3528 PR libstdc++/99396
3529 * include/std/bit (__rotl, __rotr): Add optimized variants for power of
3530 two _Nd which the compiler can pattern match the rotates.
3531
67f10d28
GA
35322021-03-04 Jonathan Wakely <jwakely@redhat.com>
3533
3534 PR libstdc++/99382
3535 * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
3536 Make storage larger than required. Verify no write to the last
3537 element.
3538 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
3539 Likewise.
3540
f3641ac7
GA
35412021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3542
3543 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
3544 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
3545 Likewise.
3546 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
3547 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
3548 Likewise.
3549
35502021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3551
3552 * include/experimental/bits/simd.h: Replace reserved _X, _B by
3553 _Xp, _Bp.
3554 * include/experimental/bits/simd_builtin.h: Likewise.
3555 * include/experimental/bits/simd_x86.h: Likewise.
3556
ec9dc4fa
GA
35572021-02-27 Jonathan Wakely <jwakely@redhat.com>
3558
3559 PR libstdc++/99301
3560 * include/std/chrono (year_month_day::_M_days_since_epoch()):
3561 Convert chrono::month and chrono::day to unsigned before
3562 converting to uint32_t.
3563
daa68844
GA
35642021-02-25 Jonathan Wakely <jwakely@redhat.com>
3565
3566 * include/std/chrono (year_month_day::_S_from_days): Perform
3567 all calculations with type uint32_t.
3568
35692021-02-25 Jonathan Wakely <jwakely@redhat.com>
3570
3571 * doc/xml/manual/abi.xml: Document versioning for GCC 11.
3572 * doc/html/manual/abi.html: Regenerate.
3573
35742021-02-25 Jonathan Wakely <jwakely@redhat.com>
3575
3576 PR libstdc++/99270
3577 * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
3578 FILE instead of FILE.
3579
35802021-02-25 Andreas Schwab <schwab@suse.de>
3581
3582 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3583 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3584 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3585 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
3586
35872021-02-25 Jonathan Wakely <jwakely@redhat.com>
3588
3589 PR libstdc++/99265
3590 * include/std/chrono (year_month_day::_S_from_days): Cast long
3591 to int explicitly.
3592
35932021-02-25 Jonathan Wakely <jwakely@redhat.com>
3594
3595 * include/std/utility (to_underlying): Define.
3596 * include/std/version (__cpp_lib_to_underlying): Define.
3597 * testsuite/20_util/to_underlying/1.cc: New test.
3598 * testsuite/20_util/to_underlying/version.cc: New test.
3599
4028d01a
GA
36002021-02-24 Jonathan Wakely <jwakely@redhat.com>
3601
3602 PR libstdc++/99261
3603 * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
3604 before value to be printed.
3605
36062021-02-24 Patrick Palka <ppalka@redhat.com>
3607
3608 * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
3609 Relax the condition that guards the printf code path to accept
3610 F128_type as well as long double.
3611
36122021-02-24 Cassio Neri <cassio.neri@gmail.com>
3613
3614 * include/std/chrono (year_month_day_last:day): New
3615 implementation.
3616
36172021-02-24 Cassio Neri <cassio.neri@gmail.com>
3618
3619 * include/std/chrono (year::is_leap): New implementation.
3620 * testsuite/std/time/year/2.cc: New test.
3621
36222021-02-24 Cassio Neri <cassio.neri@gmail.com>
3623
3624 * include/std/chrono (year_month_day::_M_days_since_epoch):
3625 New implementation.
3626 * testsuite/std/time/year_month_day/4.cc: New test.
3627
36282021-02-24 Cassio Neri <cassio.neri@gmail.com>
3629
3630 * include/std/chrono (year_month_day::_S_from_days): New
3631 implementation.
3632 * testsuite/std/time/year_month_day/3.cc: New test.
3633
36342021-02-24 Patrick Palka <ppalka@redhat.com>
3635
3636 PR libstdc++/98384
3637 * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
3638 (test01): Simplify verifying the nearby values by using a
3639 2-iteration loop and a dedicated output buffer to check that the
3640 nearby values are different. Factor out the printf-based
3641 verification into a local function, and check that the leading
3642 hex digits agree before comparing to the output of printf. Also
3643 verify the output by round-tripping it through from_chars.
3644
36452021-02-24 Jonathan Wakely <jwakely@redhat.com>
3646
3647 PR libstdc++/98389
3648 * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
3649 symbols for long double arguments mangled as 'g'.
3650 * config/os/gnu-linux/ldbl-extra.ver: Likewise.
3651 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
3652 * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
3653 Use -mabi=ibmlongdouble for floating_to_chars.cc.
3654 * src/c++17/Makefile.in: Regenerate.
3655 * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
3656 New type defining type traits of IEEE binary128 format.
3657 (floating_type_traits<__float128>): Define specialization.
3658 (floating_type_traits<long double>): Define in terms of
3659 floating_type_traits_binary128 when appropriate.
3660 (floating_to_shortest_scientific): Handle __float128.
3661 (sprintf_ld): New function template for printing a long double
3662 or __ieee128 value using sprintf.
3663 (__floating_to_chars_shortest, __floating_to_chars_precision):
3664 Use sprintf_ld.
3665 (to_chars): Define overloads for __float128.
3666
36672021-02-24 Jonathan Wakely <jwakely@redhat.com>
3668
3669 * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
3670
71e24b06
GA
36712021-02-23 Martin Sebor <msebor@redhat.com>
3672
3673 PR c++/99074
3674 * libsupc++/dyncast.cc (__dynamic_cast): Return null when
3675 first argument is null.
3676
36772021-02-23 Jakub Jelinek <jakub@redhat.com>
3678
3679 PR libstdc++/99181
3680 * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
3681 test.
3682
36832021-02-23 Jakub Jelinek <jakub@redhat.com>
3684
3685 PR libstdc++/99181
3686 * include/bits/char_traits.h (char_traits<char>::compare): For
3687 constexpr evaluation don't call
3688 __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
3689 directly.
3690
36912021-02-23 Jakub Jelinek <jakub@redhat.com>
3692
3693 PR libstdc++/97549
3694 * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
3695
36962021-02-23 Patrick Palka <ppalka@redhat.com>
3697
3698 PR libstdc++/98384
3699 * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
3700 the high- and low-order parts from an IBM long double value
3701 in an endian-agnostic way.
3702
50352c6c
GA
37032021-02-19 Jonathan Wakely <jwakely@redhat.com>
3704
3705 * include/bits/atomic_wait.h (__thread_relax()): Call
3706 __thread_yield() not __gthread_yield().
3707
de594739
GA
37082021-02-15 Jonathan Wakely <jwakely@redhat.com>
3709
3710 * include/bits/atomic_wait.h (__thread_yield()): Check
3711 _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
3712 (__thread_relax()): Use __thread_yield() instead of repeating
3713 the preprocessor checks for __gthread_yield.
3714
37152021-02-15 Jonathan Wakely <jwakely@redhat.com>
3716
3717 * include/std/mutex (once_flag::_M_activate()): Add explicit
3718 return statement for passive case.
3719 (once_flag::_M_finish(bool)): Use reserved name for parameter.
3720
c5ae38e8
GA
37212021-02-14 Jonathan Wakely <jwakely@redhat.com>
3722
3723 PR libstdc++/99096
3724 * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
3725
fab095da
GA
37262021-02-12 Jonathan Wakely <jwakely@redhat.com>
3727
3728 PR libstdc++/88881
3729 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
3730
37312021-02-12 Jonathan Wakely <jwakely@redhat.com>
3732
3733 * doc/xml/manual/status_cxx2014.xml: Document implementation
3734 specific properties of std::experimental::filesystem::rename.
3735 * doc/xml/manual/status_cxx2017.xml: Document implementation
3736 specific properties of std::filesystem::rename.
3737 * doc/html/*: Regenerate.
3738 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
3739 for directories on Windows.
3740 * src/filesystem/ops-common.h (__gnu_posix::rename): Use
3741 MoveFileExW on Windows.
3742 * testsuite/27_io/filesystem/operations/rename.cc: New test.
3743 * testsuite/experimental/filesystem/operations/rename.cc: New test.
3744
37452021-02-12 Jonathan Wakely <jwakely@redhat.com>
3746
3747 * testsuite/util/testsuite_fs.h (nonexistent_path): Add
3748 random number to the path.
3749
37502021-02-12 Jonathan Wakely <jwakely@redhat.com>
3751
3752 * include/experimental/internet (address_v6::to_string): Include
3753 scope ID in string.
3754 * testsuite/experimental/net/internet/address/v6/members.cc:
3755 Test to_string() results.
3756
37572021-02-12 Jonathan Wakely <jwakely@redhat.com>
3758
3759 * include/experimental/internet (address_v6::any): Avoid using
3760 memcpy in constexpr function.
3761 (address_v6::loopback): Likewise.
3762 (make_address_v6): Fix missing return statements on error paths.
3763 * include/experimental/io_context: Avoid -Wdangling-else
3764 warning.
3765 * testsuite/experimental/net/internet/address/v4/members.cc:
3766 Remove unused variables.
3767 * testsuite/experimental/net/internet/address/v6/members.cc:
3768 New test.
3769
37702021-02-12 Jonathan Wakely <jwakely@redhat.com>
3771
3772 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
3773 Add unused attribute to parameter.
3774 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
3775 Likewise.
3776
37772021-02-12 Jonathan Wakely <jwakely@redhat.com>
3778
3779 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
3780 if -fno-rtti is used.
3781 * testsuite/30_threads/async/forced_unwind.cc: Expect test
3782 to abort if -fno-rtti is used.
3783
37842021-02-12 Jonathan Wakely <jwakely@redhat.com>
3785
3786 * testsuite/util/testsuite_allocator.h (memory_resource):
3787 Remove requirement for RTTI and exceptions to be enabled.
3788
37892021-02-12 Jonathan Wakely <jwakely@redhat.com>
3790
3791 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
3792 static_cast when RTTI is disabled.
3793 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
3794 Likewise.
3795 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
3796 Likewise.
3797 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
3798 Likewise.
3799 * testsuite/27_io/basic_stringstream/str/char/2.cc:
3800 Likewise.
3801 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
3802 Likewise.
3803
38042021-02-12 Jonathan Wakely <jwakely@redhat.com>
3805
3806 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
3807 as unused and only use dynamic_cast when RTTI is enabled.
3808
38092021-02-12 Jonathan Wakely <jwakely@redhat.com>
3810
3811 PR libstdc++/99077
3812 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
3813 Change int parameter to error_code, to match std::ios_failure.
3814 (__throw_ios_failure(const char*, int)): Construct error_code
3815 from int parameter.
3816
0c5cdb31
GA
38172021-02-11 Jonathan Wakely <jwakely@redhat.com>
3818
3819 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
3820 new macro.
3821 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
3822 macro instead of _GLIBCXX_EH_PTR_COMPAT.
3823 (operator==): Likewise.
3824
38252021-02-11 Jonathan Wakely <jwakely@redhat.com>
3826
3827 PR libstdc++/99058
3828 * doc/xml/manual/status_cxx2011.xml: Document when support
3829 became stable.
3830 * doc/xml/manual/status_cxx2014.xml: Likewise.
3831 * doc/xml/manual/status_cxx2017.xml: Likewise.
3832 * doc/html/manual/status.html: Regenerate.
3833
4b37c3ea
GA
38342021-02-10 Jonathan Wakely <jwakely@redhat.com>
3835
3836 PR libstdc++/88881
3837 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
3838
38392021-02-10 Jonathan Wakely <jwakely@redhat.com>
3840
3841 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
3842 (fs::remove): Use std::system_category() for error codes from
3843 GetLastError().
3844 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
3845 Likewise.
3846
38472021-02-10 Jonathan Wakely <jwakely@redhat.com>
3848
3849 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
3850 in __MINGW32__ macro name.
3851 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
3852 * testsuite/27_io/filesystem/path/generation/proximate.cc:
3853 Likewise.
3854 * testsuite/27_io/filesystem/path/generation/relative.cc:
3855 Likewise.
3856 * testsuite/util/testsuite_fs.h: Likewise.
3857
0a91b73e
GA
38582021-02-09 François Dumont <fdumont@gcc.gnu.org>
3859
3860 * include/bits/stl_tree.h
3861 (__has_is_transparent, __has_is_transparent_t): Move...
3862 * include/bits/stl_function.h: ...here.
3863 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
3864 (_Hashtable_base<>::_M_equals_tr): New.
3865 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
3866 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
3867 heterogeneous lookup.
3868 (_Hashtable<>::_M_find_before_node_tr): New.
3869 (_Hashtable<>::_M_find_node_tr): New.
3870 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
3871 unordered_map::contains<>, unordered_map::equal_range<>): New member function
3872 templates to perform heterogeneous lookup.
3873 (unordered_multimap::find<>, unordered_multimap::count<>,
3874 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
3875 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
3876 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
3877 (unordered_multiset::find<>, unordered_multiset::count<>,
3878 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
3879 * include/debug/unordered_map
3880 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
3881 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
3882 * include/debug/unordered_set
3883 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
3884 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
3885 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
3886 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
3887 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
3888 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
3889
38902021-02-09 François Dumont <fdumont@gcc.gnu.org>
3891
3892 * include/bits/stl_deque.h
3893 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
3894 a null pointer test.
3895
38962021-02-09 Jonathan Wakely <jwakely@redhat.com>
3897
3898 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
3899 test directory after making it writable again.
3900 * testsuite/experimental/filesystem/operations/remove_all.cc:
3901 Likewise.
3902
39032021-02-09 Jonathan Wakely <jwakely@redhat.com>
3904
3905 PR libstdc++/99021
3906 * include/std/coroutine (coroutine_handle<P>::from_address): Add
3907 noexcept.
3908
39092021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
3910
3911 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
3912 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
3913
39142021-02-09 Jakub Jelinek <jakub@redhat.com>
3915
3916 PR middle-end/98465
3917 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
3918 points to the characters moved by earlier _S_move, compute the source
3919 address using expression based on the __p pointer rather than __s
3920 pointer.
3921
9faaa807
GA
39222021-02-03 Jonathan Wakely <jwakely@redhat.com>
3923
3924 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
3925 Add comparison with same category and different values.
3926 * testsuite/19_diagnostics/error_code/operators/less.cc:
3927 Likewise. Fix comparison involving different categories.
3928 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
3929 Likewise.
3930 * testsuite/19_diagnostics/error_condition/operators/less.cc:
3931 Add comment.
3932 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
3933 Likewise.
3934
39352021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
3936
3937 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
3938 calls with a single vaddv for aarch64.
3939
39402021-02-03 Matthias Kretz <kretz@kde.org>
3941
3942 * testsuite/Makefile.am: Warn about the workaround. Add
3943 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
3944 Improve initial user feedback from make check-simd.
3945 * testsuite/Makefile.in: Regenerated.
3946
39472021-02-03 Matthias Kretz <kretz@kde.org>
3948
3949 * include/experimental/bits/simd.h: Add __detail::_Minimum and
3950 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
3951 Add hmin and hmax overloads for simd and const_where_expression.
3952 * include/experimental/bits/simd_scalar.h
3953 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
3954 parameter const-ref to allow calling _S_reduce with an rvalue.
3955 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
3956 hmin and hmax. Since the compiler statically determined that all
3957 tests pass, repeat the test after a call to make_value_unknown.
3958
39592021-02-03 Matthias Kretz <kretz@kde.org>
3960
3961 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
3962 instruction pointer data member. Ensure that the `if (m_failed)`
3963 branch is always inlined into the calling code. The body of the
3964 conditional can still be a function call. Move the get_ip call
3965 into the verify ctor to simplify the ctor calls.
3966 (COMPARE): Don't mention the use of all_of for reduction of a
3967 simd_mask. It only distracts from the real issue.
3968
39692021-02-03 Matthias Kretz <kretz@kde.org>
3970
3971 * testsuite/experimental/simd/driver.sh: Abstract reading test
3972 options into read_src_option function. Read skip, only,
3973 expensive, and xfail via read_src_option. Add timeout and
3974 timeout-factor options and adjust timeout variable accordingly.
3975 * testsuite/experimental/simd/tests/loadstore.cc: Set
3976 timeout-factor 2.
3977
39782021-02-03 Matthias Kretz <kretz@kde.org>
3979
3980 * testsuite/experimental/simd/driver.sh: When handling the pipe
3981 to log (and on verbose to stdout) count the lines. If it exceeds
3982 1000 log the issue and exit 125, which is then handled as a
3983 failure.
3984
39852021-02-03 Matthias Kretz <kretz@kde.org>
3986
3987 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
3988 markup for long double on powerpc64*.
3989
39902021-02-03 Matthias Kretz <kretz@kde.org>
3991
3992 * include/experimental/bits/simd.h: Add __have_power10vec
3993 conditional on _ARCH_PWR10.
3994 * include/experimental/bits/simd_builtin.h: Forward declare
3995 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
3996 defined.
3997 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
3998 _SuperImpl for optimizations and correctness.
3999 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
4000 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
4001 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
4002 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
4003
40042021-02-03 Matthias Kretz <kretz@kde.org>
4005
4006 * testsuite/experimental/simd/driver.sh: Remove executable on
4007 SIGINT. Process compiler and test executable output: In verbose
4008 mode print messages immediately, limited to 1000 lines and
4009 breaking long lines to below $COLUMNS (or 1024 if not set).
4010 Communicating the exit status of the compiler / test with the
4011 necessary pipe is done via a message through stdout/-in.
4012
40132021-02-03 Matthias Kretz <kretz@kde.org>
4014
4015 * testsuite/Makefile.am: Ensure .simd.summary is empty before
4016 collecting a new summary.
4017 * testsuite/Makefile.in: Regenerate.
4018
40192021-02-03 Matthias Kretz <kretz@kde.org>
4020
4021 * testsuite/experimental/simd/generate_makefile.sh: Use
4022 different variables internally than documented for user
4023 overrides. This makes internal append/prepend work as intended.
4024
40252021-02-03 Matthias Kretz <kretz@kde.org>
4026
4027 * testsuite/experimental/simd/driver.sh (verify_test): Print
4028 test output on run xfail. Do not repeat lines from the log that
4029 were already printed on stdout.
4030 (test_selector): Make the compiler flags pattern usable as a
4031 substring selector.
4032 (toplevel): Trap on SIGINT and remove the log and sum files.
4033 Call timout with --foreground to quickly terminate on SIGINT.
4034 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
4035 targets via target patterns. Default DRIVEROPTS to -v for run
4036 targets. Remove log and sum files after completion of the run
4037 target (so that it's always recompiled).
4038 Place help text into text file for reasonable 'make help'
4039 performance.
4040
40412021-02-03 Matthias Kretz <kretz@kde.org>
4042
4043 * include/experimental/bits/simd.h: Remove unnecessary static
4044 assertion. Allow sizeof(8) integer __intrinsic_type to enable
4045 the necessary mask type.
4046
40472021-02-03 Matthias Kretz <kretz@kde.org>
4048
4049 * include/experimental/bits/simd.h: Let __intrinsic_type<long
4050 double, N> be valid if sizeof(long double) == sizeof(double) and
4051 use a __vector double as member type.
4052
40532021-02-03 Matthias Kretz <kretz@kde.org>
4054
4055 * include/experimental/bits/simd.h (__is_intrinsic_type): New
4056 internal type trait. Alias for __is_vector_type on x86.
4057 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
4058 __vector_type.
4059 (__intrin_bitcast): Allow casting to & from vector & intrinsic
4060 types.
4061 (__intrinsic_type): Explicitly specialize for NEON intrinsic
4062 vector types.
4063
40642021-02-03 Matthias Kretz <kretz@kde.org>
4065
4066 * testsuite/experimental/simd/driver.sh: Implement skip, only,
4067 expensive, and xfail markers. They can select on type, ABI tag
4068 subset number, target-triplet, and compiler flags.
4069 * testsuite/experimental/simd/generate_makefile.sh: The summary
4070 now includes lines for unexpected passes and expected failures.
4071 If the skip or only markers are only conditional on the type, do
4072 not generate rules for those types.
4073 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
4074 for ABI tag subsets 1-9.
4075 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
4076 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
4077 * testsuite/experimental/simd/tests/casts.cc: Ditto.
4078 * testsuite/experimental/simd/tests/generator.cc: Ditto.
4079 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
4080 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
4081 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
4082 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
4083 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
4084 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
4085 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
4086 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
4087 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
4088 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
4089 * testsuite/experimental/simd/tests/operators.cc: Ditto.
4090 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
4091 * testsuite/experimental/simd/tests/simd.cc: Ditto.
4092 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
4093 * testsuite/experimental/simd/tests/splits.cc: Ditto.
4094 * testsuite/experimental/simd/tests/where.cc: Ditto.
4095 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
4096 addition replace "test only floattypes" marker by unconditional
4097 "float|double|ldouble" only marker.
4098 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
4099 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
4100 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
4101 Ditto.
4102 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
4103 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
4104 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
4105 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
4106 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
4107 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
4108 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
4109 addition, xfail on run because the reference data is missing.
4110
548b75d8
GA
41112021-02-02 Jonathan Wakely <jwakely@redhat.com>
4112
4113 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
4114 * doc/xml/manual/status_cxx2014.xml: Likewise.
4115 * doc/xml/manual/status_cxx2017.xml: Likewise.
4116 * doc/html/manual/status.html: Regenerate.
4117
f7884fb1
GA
41182021-02-01 François Dumont <fdumont@gcc.gnu.org>
4119
4120 PR libstdc++/70303
4121 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
4122 Return 0 if both iterators are value-initialized.
4123 * testsuite/23_containers/deque/70303.cc: New test.
4124 * testsuite/23_containers/vector/70303.cc: New test.
4125
41262021-02-01 Jonathan Wakely <jwakely@redhat.com>
4127
4128 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
4129 status.
4130 * doc/xml/manual/status_cxx2014.xml: Likewise.
4131 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
4132 std::from_chars and std::to_chars status. Fix formatting.
4133 * doc/html/manual/status.html: Regenerate.
4134
85d04a2e
GA
41352021-01-28 Jonathan Wakely <jwakely@redhat.com>
4136
4137 * include/experimental/bits/numeric_traits.h: Update copyright
4138 dates.
4139 * include/experimental/bits/simd.h: Likewise.
4140 * include/experimental/bits/simd_builtin.h: Likewise.
4141 * include/experimental/bits/simd_converter.h: Likewise.
4142 * include/experimental/bits/simd_detail.h: Likewise.
4143 * include/experimental/bits/simd_fixed_size.h: Likewise.
4144 * include/experimental/bits/simd_math.h: Likewise.
4145 * include/experimental/bits/simd_neon.h: Likewise.
4146 * include/experimental/bits/simd_ppc.h: Likewise.
4147 * include/experimental/bits/simd_scalar.h: Likewise.
4148 * include/experimental/bits/simd_x86.h: Likewise.
4149 * include/experimental/bits/simd_x86_conversions.h: Likewise.
4150 * include/experimental/simd: Likewise.
4151 * testsuite/experimental/simd/*: Likewise.
4152
aa69f0a8
GA
41532021-01-27 Jonathan Wakely <jwakely@redhat.com>
4154
4155 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
4156 * doc/html/*: Regenerate.
4157
41582021-01-27 Jonathan Wakely <jwakely@redhat.com>
4159
4160 * testsuite/experimental/simd/generate_makefile.sh: Use printf
4161 instead of echo when printing escape characters.
4162
41632021-01-27 Matthias Kretz <kretz@kde.org>
4164
4165 * scripts/check_simd: New file. This script is called from the
4166 the check-simd target. It determines a set of compiler flags and
4167 simulator setups for calling generate_makefile.sh and passes the
4168 information back to the check-simd target, which recurses to the
4169 generated Makefiles.
4170 * scripts/create_testsuite_files: Remove files below simd/tests/
4171 from testsuite_files and place them in testsuite_files_simd.
4172 * testsuite/Makefile.am: Add testsuite_files_simd. Add
4173 check-simd target.
4174 * testsuite/Makefile.in: Regenerate.
4175 * testsuite/experimental/simd/driver.sh: New file. This script
4176 compiles and runs a given simd test, logging its output and
4177 status. It uses the timeout command to implement compile and
4178 test timeouts.
4179 * testsuite/experimental/simd/generate_makefile.sh: New file.
4180 This script generates a Makefile which uses driver.sh to compile
4181 and run the tests and collect the logs into a single log file.
4182 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
4183 abs(simd).
4184 * testsuite/experimental/simd/tests/algorithms.cc: New file.
4185 Tests min/max(simd, simd).
4186 * testsuite/experimental/simd/tests/bits/conversions.h: New
4187 file. Contains functions to support tests involving conversions.
4188 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
4189 Support functions make_mask and make_vec.
4190 * testsuite/experimental/simd/tests/bits/mathreference.h: New
4191 file. Support functions to supply precomputed math function
4192 reference data.
4193 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
4194 file. Support code for SFINAE testing.
4195 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
4196 * testsuite/experimental/simd/tests/bits/test_values.h: New
4197 file. Test functions to easily drive a test with simd objects
4198 initialized from a given list of values and a range of random
4199 values.
4200 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
4201 Support code to determine the ULP distance of simd objects.
4202 * testsuite/experimental/simd/tests/bits/verify.h: New file.
4203 Test framework for COMPARE'ing simd objects and instantiating
4204 the test templates with value_type and ABI tag.
4205 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
4206 simd broadcasts.
4207 * testsuite/experimental/simd/tests/casts.cc: New file. Test
4208 simd casts.
4209 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
4210 Test floating-point classification functions.
4211 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
4212 frexp(simd).
4213 * testsuite/experimental/simd/tests/generator.cc: New file. Test
4214 simd generator constructor.
4215 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
4216 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
4217 * testsuite/experimental/simd/tests/integer_operators.cc: New
4218 file. Test integer operators.
4219 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
4220 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
4221 modf(simd).
4222 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
4223 (converting) simd loads and stores.
4224 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
4225 log*(simd).
4226 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
4227 Test simd_mask broadcasts.
4228 * testsuite/experimental/simd/tests/mask_conversions.cc: New
4229 file. Test simd_mask conversions.
4230 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
4231 file. Test simd_mask implicit conversions.
4232 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
4233 Test simd_mask loads and stores.
4234 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
4235 file. Test simd_mask operators convert as specified.
4236 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
4237 Test simd_mask compares, subscripts, and negation.
4238 * testsuite/experimental/simd/tests/mask_reductions.cc: New
4239 file. Test simd_mask reductions.
4240 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
4241 1-arg math functions on simd.
4242 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
4243 2-arg math functions on simd.
4244 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
4245 Test implicit conversions on simd binary operators behave as
4246 specified.
4247 * testsuite/experimental/simd/tests/operators.cc: New file. Test
4248 simd compares, subscripts, not, unary minus, plus, minus,
4249 multiplies, divides, increment, and decrement.
4250 * testsuite/experimental/simd/tests/reductions.cc: New file.
4251 Test reduce(simd).
4252 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
4253 remqo(simd).
4254 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
4255 sanity checks of simd types.
4256 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
4257 sin(simd) and cos(simd).
4258 * testsuite/experimental/simd/tests/split_concat.cc: New file.
4259 Test split(simd) and concat(simd, simd).
4260 * testsuite/experimental/simd/tests/splits.cc: New file. Test
4261 split(simd_mask).
4262 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
4263 Test remaining trigonometric functions on simd.
4264 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
4265 file. Test trunc(simd), ceil(simd), and floor(simd).
4266 * testsuite/experimental/simd/tests/where.cc: New file. Test
4267 masked operations using where.
4268
42692021-01-27 Matthias Kretz <kretz@kde.org>
4270
4271 * doc/xml/manual/status_cxx2017.xml: Add implementation status
4272 of the Parallelism TS 2. Document implementation-defined types
4273 and behavior.
4274 * include/Makefile.am: Add new headers.
4275 * include/Makefile.in: Regenerate.
4276 * include/experimental/simd: New file. New header for
4277 Parallelism TS 2.
4278 * include/experimental/bits/numeric_traits.h: New file.
4279 Implementation of P1841R1 using internal naming. Addition of
4280 missing IEC559 functionality query.
4281 * include/experimental/bits/simd.h: New file. Definition of the
4282 public simd interfaces and general implementation helpers.
4283 * include/experimental/bits/simd_builtin.h: New file.
4284 Implementation of the _VecBuiltin simd_abi.
4285 * include/experimental/bits/simd_converter.h: New file. Generic
4286 simd conversions.
4287 * include/experimental/bits/simd_detail.h: New file. Internal
4288 macros for the simd implementation.
4289 * include/experimental/bits/simd_fixed_size.h: New file. Simd
4290 fixed_size ABI specific implementations.
4291 * include/experimental/bits/simd_math.h: New file. Math
4292 overloads for simd.
4293 * include/experimental/bits/simd_neon.h: New file. Simd NEON
4294 specific implementations.
4295 * include/experimental/bits/simd_ppc.h: New file. Implement bit
4296 shifts to avoid invalid results for integral types smaller than
4297 int.
4298 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
4299 ABI specific implementations.
4300 * include/experimental/bits/simd_x86.h: New file. Simd x86
4301 specific implementations.
4302 * include/experimental/bits/simd_x86_conversions.h: New file.
4303 x86 specific conversion optimizations. The conversion patterns
4304 work around missing conversion patterns in the compiler and
4305 should be removed as soon as PR85048 is resolved.
4306 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
4307 Test that all (not all fixed_size<N>, though) standard simd and
4308 simd_mask types are usable.
4309 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
4310 file. As above but with -ffast-math.
4311 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
4312 from the standard test loop. Instead use
4313 check_vect_support_and_set_flags to build simd tests with the
4314 relevant machine flags.
4315
43162021-01-27 Jonathan Wakely <jwakely@redhat.com>
4317
4318 PR libstdc++/66414
4319 * include/bits/string_view.tcc
4320 (basic_string_view::find(const CharT*, size_type, size_type)):
4321 Optimize.
4322
43232021-01-27 Paul Fee <paul.f.fee@gmail.com>
4324
4325 * include/bits/basic_string.h (basic_string::contains): New
4326 member functions.
4327 * include/std/string_view (basic_string_view::contains):
4328 Likewise.
4329 * include/std/version (__cpp_lib_string_contains): Define.
4330 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
4331 Remove trailing whitespace.
4332 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
4333 Likewise.
4334 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
4335 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
4336 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
4337 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
4338 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
4339
7559d465
GA
43402021-01-21 Jonathan Wakely <jwakely@redhat.com>
4341
4342 * src/c++17/Makefile.in: Regenerate.
4343
b93d0e36
GA
43442021-01-20 David Edelsohn <dje.gcc@gmail.com>
4345
4346 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
4347 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
4348 __lc_type.
4349 (const char* ctype<char>:: is): Same.
4350
ef1f8ee6
GA
43512021-01-18 Jonathan Wakely <jwakely@redhat.com>
4352
4353 PR libstdc++/98725
4354 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
4355 write to a wide character stream if wide character support is
4356 disabled in the library.
4357
43582021-01-18 Jonathan Wakely <jwakely@redhat.com>
4359
4360 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
4361 stringbuf not wstringbuf.
4362
43632021-01-18 Jakub Jelinek <jakub@redhat.com>
4364
4365 PR debug/98708
4366 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
4367 Compile with -gno-as-loc-support.
4368 * src/c++11/Makefile.in: Regenerated.
4369
59cf67d1
GA
43702021-01-16 H.J. Lu <hjl.tools@gmail.com>
4371
4372 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4373 Add -fcf-protection=none to -march=i486.
4374
5fff80fd
GA
43752021-01-14 François Dumont <fdumont@gcc.gnu.org>
4376
4377 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
4378 compliant.
4379
43802021-01-14 Alexandre Oliva <oliva@adacore.com>
4381
4382 * testsuite/30_threads/future/members/poll.cc: Calibrate
4383 iteration count.
4384
43852021-01-14 François Dumont <fdumont@gcc.gnu.org>
4386
4387 PR libstdc++/98466
4388 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
4389 (_Node_iterator()): Make default.
4390 (_Node_const_iterator()): Make default.
4391 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
4392 iterator checks.
4393 * include/debug/safe_iterator.h
4394 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
4395 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
4396 Likewise.
4397 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
4398 _M_singular checks on input iterators.
4399 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
4400 checks.
4401 * testsuite/23_containers/deque/debug/98466.cc: New test.
4402 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
4403
44042021-01-14 Jonathan Wakely <jwakely@redhat.com>
4405
4406 PR libstdc++/98471
4407 * include/bits/fs_path.h (__throw_conversion_error): New
4408 function to throw or abort on character conversion errors.
4409 (__wstr_from_utf8): Move definition after filesystem_error has
4410 been defined. Use __throw_conversion_error.
4411 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
4412 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
4413 (path::u8string): Likewise.
4414
44152021-01-14 Jonathan Wakely <jwakely@redhat.com>
4416
4417 * include/std/barrier: Update copyright years. Fix whitespace.
4418 * include/std/version: Fix whitespace.
4419 * testsuite/30_threads/barrier/1.cc: Update copyright years.
4420 * testsuite/30_threads/barrier/2.cc: Likewise.
4421 * testsuite/30_threads/barrier/arrive.cc: Likewise.
4422 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
4423 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
4424 * testsuite/30_threads/barrier/completion.cc: Likewise.
4425
be0851b8
GA
44262021-01-13 Jonathan Wakely <jwakely@redhat.com>
4427
4428 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
4429
366f86bd
GA
44302021-01-10 David Edelsohn <dje.gcc@gmail.com>
4431
4432 PR libstdc++/98613
4433 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
4434 warning.
4435 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
4436
bf5cbb9e
GA
44372021-01-08 Olivier Hainque <hainque@adacore.com>
4438
4439 * testsuite/20_util/bind/ref_neg.cc: Tweak the
4440 dg-prune-output regex for out-of-build-tree contexts.
4441
7d187e4f
GA
44422021-01-07 Thomas Rodgers <trodgers@redhat.com>
4443
4444 * doc/doxygen/user.cfg.in: Add new header.
4445 * include/Makefile.am (std_headers): likewise.
4446 * include/Makefile.in: Regenerate.
4447 * include/precompiled/stdc++.h: Add new header.
4448 * include/std/barrier: New file.
4449 * include/std/version: Add __cpp_lib_barrier feature test macro.
4450 * testsuite/30_threads/barrier/1.cc: New test.
4451 * testsuite/30_threads/barrier/2.cc: Likewise.
4452 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
4453 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
4454 * testsuite/30_threads/barrier/arrive.cc: Likewise.
4455 * testsuite/30_threads/barrier/completion.cc: Likewise.
4456
44572021-01-07 Patrick Palka <ppalka@redhat.com>
4458
4459 PR libstdc++/98384
4460 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
4461 instead of the non-standard nextupl and nextdownl.
4462
651b8a50
GA
44632021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
4464
4465 * configure: Re-generate.
4466
44672021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
4468
4469 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
4470
b6dd195a
GA
44712021-01-01 Jakub Jelinek <jakub@redhat.com>
4472
4473 * ChangeLog-2020: Rotate ChangeLog. New file.
4474
b4df5e92 4475\f
618e665a 4476Copyright (C) 2021 Free Software Foundation, Inc.
b4df5e92
JW
4477
4478Copying and distribution of this file, with or without modification,
4479are permitted in any medium without royalty provided the copyright
4480notice and this notice are preserved.