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