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