]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
05ec629f
GA
12021-04-23 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/100180
4 * include/experimental/io_context (io_context): Define
5 dummy_pollfd type so that most member functions still compile
6 without <poll.h> and struct pollfd.
7
82021-04-23 Jonathan Wakely <jwakely@redhat.com>
9
10 * include/experimental/io_context (io_context::async_wait): Add
11 comment.
12 * include/experimental/socket (basic_socket::async_connect):
13 Cast wait_type constant to int.
14 (basic_datagram_socket::async_receive): Likewise.
15 (basic_datagram_socket::async_receive_from): Likewise.
16 (basic_datagram_socket::async_send): Likewise.
17 (basic_datagram_socket::async_send_to): Likewise.
18 (basic_stream_socket::async_receive): Likewise.
19 (basic_stream_socket::async_send): Likewise. Use io_context
20 parameter directly, instead of via an executor.
21 (basic_socket_acceptor::async_accept): Likewise.
22
232021-04-23 Jonathan Wakely <jwakely@redhat.com>
24
25 * include/experimental/socket (socket_base::shutdown_type):
26 (socket_base::wait_type, socket_base::message_flags):
27 Remove enumerators. Initialize constants directly with desired
28 values.
29 (socket_base::message_flags): Make all operators constexpr and
30 noexcept.
31 * testsuite/util/testsuite_common_types.h (test_bitmask_values):
32 New test utility.
33 * testsuite/experimental/net/socket/socket_base.cc: New test.
34
e3948473
GA
352021-04-22 David Edelsohn <dje.gcc@gmail.com>
36
37 * config/os/aix/atomicity.h: Delete.
38
392021-04-22 Jonathan Wakely <jwakely@redhat.com>
40
41 * include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
42 Handle system_clock as well as steady_clock.
43 * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable.
44 * testsuite/30_threads/semaphore/try_acquire_until.cc:
45 Re-enable.
46
472021-04-22 Jonathan Wakely <jwakely@redhat.com>
48
49 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
50 options for libatomic.
51
522021-04-22 Jonathan Wakely <jwakely@redhat.com>
53
54 * config/os/gnu-linux/os_defines.h: Fix type in comment.
55
562021-04-22 Jonathan Wakely <jwakely@redhat.com>
57
58 PR libstdc++/99006
59 * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
60 is not an array type.
61 * include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
62 * testsuite/20_util/shared_ptr/creation/99006.cc: New test.
63
642021-04-22 Thomas Rodgers <rodgert@twrodgers.com>
65
66 * include/bits/atomic_wait.h: Always notify waiters in the
67 case of 'bare' address notification.
68
692021-04-22 Jakub Jelinek <jakub@redhat.com>
70
71 PR target/100182
72 * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
73 ia32.
74 * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
75 ia32.
76
772021-04-22 Jonathan Wakely <jwakely@redhat.com>
78
79 PR libstdc++/100179
80 * include/bits/semaphore_base.h: Remove #error.
81 * include/std/semaphore: Do not define anything unless one of
82 the implementations is available.
83
c1ef0c92
GA
842021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
85
86 * include/bits/semaphore_base.h: Always reload __old in
87 __atomic_semaphore::_S_do_try_acquire().
88 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
89 re-enable testcase.
90
912021-04-21 Philippe Blain <levraiphilippeblain@gmail.com>
92 Jonathan Wakely <jwakely@redhat.com>
93
94 PR libstdc++/99453
95 * python/Makefile.am: Install libstdc++*-gdb.py more robustly.
96 * python/Makefile.in: Regenerate.
97
982021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
99
100 * include/bits/semaphore_base.h: Add missing _M_try_acquire()
101 member to __platform_wait.
102
1032021-04-21 Jonathan Wakely <jwakely@redhat.com>
104
105 * include/std/latch: Replace tab characters in license text.
106 * include/std/semaphore: Likewise.
107
1082021-04-21 Jakub Jelinek <jakub@redhat.com>
109
110 PR libstdc++/100164
111 * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
112 rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
113 * configure: Regenerated.
114 * config.h.in: Regenerated.
115
be8aad8d
GA
1162021-04-20 Jonathan Wakely <jwakely@redhat.com>
117
118 * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
119 test for targets not using futexes for semaphores.
120 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
121 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
122 Disable for all targets.
123
1242021-04-20 Thomas Rodgers <trodgers@redhat.com>
125
126 * include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
127 * include/Makefile.in: Regenerate.
128 * include/bits/this_thread_sleep.h: New file.
129 * include/bits/atomic_base.h: Adjust all calls
130 to __atomic_wait/__atomic_notify for new call signatures.
131 * include/bits/atomic_timed_wait.h: Extensive rewrite.
132 * include/bits/atomic_wait.h: Likewise.
133 * include/bits/semaphore_base.h: Adjust all calls
134 to __atomic_wait/__atomic_notify for new call signatures.
135 * include/std/atomic: Likewise.
136 * include/std/barrier: Likewise.
137 * include/std/latch: Likewise.
138 * include/std/semaphore: Likewise.
139 * include/std/thread (this_thread::sleep_for)
140 (this_thread::sleep_until): Move to new header.
141 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
142 test.
143 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
144 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
145 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
146 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
147 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
148 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
149
1502021-04-20 Patrick Palka <ppalka@redhat.com>
151
152 PR libstdc++/95983
153 * include/bits/stl_iterator.h (__detail::__move_iter_cat):
154 Define.
155 (move_iterator): Derive from the above in C++20 in order to
156 conditionally define iterator_category as per P2259.
157 (move_iterator::__base_cat): No longer used, so remove.
158 (move_iterator::iterator_category): Remove in C++20.
159 (__detail::__common_iter_use_postfix_proxy): Define.
160 (common_iterator::_Proxy): Rename to ...
161 (common_iterator:__arrow_proxy): ... this.
162 (common_iterator::__postfix_proxy): Define as per P2259.
163 (common_iterator::operator->): Adjust.
164 (common_iterator::operator++): Adjust as per P2259.
165 (iterator_traits<common_iterator>::_S_iter_cat): Define.
166 (iterator_traits<common_iterator>::iterator_category): Change as
167 per P2259.
168 (__detail::__counted_iter_value_type): Define.
169 (__detail::__counted_iter_concept): Define.
170 (__detail::__counted_iter_cat): Define.
171 (counted_iterator): Derive from the above three classes in order
172 to conditionally define value_type, iterator_concept and
173 iterator category respectively as per P2259.
174 (counted_iterator::operator->): Define as per P2259.
175 (incrementable_traits<counted_iterator>): Remove as per P2259.
176 (iterator_traits<counted_iterator>): Adjust as per P2259.
177 * include/std/ranges (__detail::__iota_view_iter_cat): Define.
178 (iota_view::_Iterator): Derive from the above in order to
179 conditionally define iterator_category as per P2259.
180 (iota_view::_S_iter_cat): Rename to ...
181 (iota_view::_S_iter_concept): ... this.
182 (iota_view::iterator_concept): Use it to apply LWG 3291 changes.
183 (iota_view::iterator_category): Remove.
184 (__detail::__filter_view_iter_cat): Define.
185 (filter_view::_Iterator): Derive from the above in order to
186 conditionally define iterator_category as per P2259.
187 (filter_view::_Iterator): Move to struct __filter_view_iter_cat.
188 (filter_view::_Iterator::iterator_category): Remove.
189 (transform_view::_Base): Define.
190 (transform_view::__iter_cat): Define.
191 (transform_view::_Iterator): Derive from the above in order to
192 conditionally define iterator_category as per P2259.
193 (transform_view::_Iterator::_Base): Just alias
194 transform_view::_Base.
195 (transform_view::_Iterator::_S_iter_cat): Move to struct
196 transform_view::__iter_cat.
197 (transform_view::_Iterator::iterator_category): Remove.
198 (transform_view::_Sentinel::_Base): Just alias
199 transform_view::_Base.
200 (join_view::_Base): Define.
201 (join_view::_Outer_iter): Define.
202 (join_view::_Inner_iter): Define.
203 (join_view::_S_ref_is_glvalue): Define.
204 (join_view::__iter_cat): Define.
205 (join_view::_Iterator): Derive from it in order to conditionally
206 define iterator_category as per P2259.
207 (join_view::_Iterator::_Base): Just alias join_view::_Base.
208 (join_view::_Iterator::_S_ref_is_glvalue): Just alias
209 join_view::_S_ref_is_glvalue.
210 (join_view::_Iterator::_S_iter_cat): Move to struct
211 transform_view::__iter_cat.
212 (join_view::_Iterator::_Outer_iter): Just alias
213 join_view::_Outer_iter.
214 (join_view::_Iterator::_Inner_iter): Just alias
215 join_view::_Inner_iter.
216 (join_view::_Iterator::iterator_category): Remove.
217 (join_view::_Sentinel::_Base): Just alias join_view::_Base.
218 (__detail::__split_view_outer_iter_cat): Define.
219 (__detail::__split_view_inner_iter_cat): Define.
220 (split_view::_Base): Define.
221 (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
222 in order to conditionally define iterator_category as per P2259.
223 (split_view::_Outer_iter::iterator_category): Remove.
224 (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
225 in order to conditionally define iterator_category as per P2259.
226 (split_view::_Inner_iter::_S_iter_cat): Move to
227 __split_view_inner_iter_cat.
228 (split_view::_Inner_iter::iterator_category): Remove.
229 (elements_view::_Base): Define.
230 (elements_view::__iter_cat): Define.
231 (elements_view::_Iterator): Derive from the above in order to
232 conditionall define iterator_category as per P2259.
233 (elements_view::_Iterator::_Base): Just alias
234 elements_view::_Base.
235 (elements_view::_Iterator::_S_iter_concept)
236 (elements_view::_Iterator::iterator_concept): Define as per
237 P2259.
238 (elements_view::_Iterator::iterator_category): Remove.
239 (elements_view::_Sentinel::_Base): Just alias
240 elements_view::_Base.
241 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
242 Adjust constraints on iterator_traits<counted_iterator>.
243 * testsuite/std/ranges/p2259.cc: New test.
244
2452021-04-20 Jonathan Wakely <jwakely@redhat.com>
246
247 PR libstdc++/100146
248 * include/std/charconv (__cpp_lib_to_chars): Define
249 conditionally.
250 * include/std/version (__cpp_lib_to_chars): Likewise..
251 * testsuite/20_util/from_chars/4.cc: Only check feature test
252 macro, not _GLIBCXX_HAVE_USELOCALE.
253 * testsuite/20_util/from_chars/5.cc: Likewise.
254 * testsuite/20_util/from_chars/6.cc: Likewise.
255 * testsuite/20_util/to_chars/long_double.cc: Likewise.
256
2572021-04-20 Jakub Jelinek <jakub@redhat.com>
258
259 * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
260 versions with _IEEE128_ substring are found, set ieee_version_found
261 to true. Ignore missing symbols with _IEEE128_ in version name if
262 !ieee_version_found. Use i->first as version_name instead of
263 i->second.version_name if the latter is empty.
264 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
265
6e81e015
GA
2662021-04-19 H.J. Lu <hjl.tools@gmail.com>
267
268 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
269 Updated.
270
da946b41
GA
2712021-04-17 Jakub Jelinek <jakub@redhat.com>
272
273 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
274 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
275
2762021-04-17 Jakub Jelinek <jakub@redhat.com>
277
278 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
279 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
280 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
281 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
282 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
283 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
284
ee351f7f
GA
2852021-04-15 Jonathan Wakely <jwakely@redhat.com>
286
287 * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
288 add libatomic options for 32-bit sparc*-*-linux-gnu.
289
2902021-04-15 Jonathan Wakely <jwakely@redhat.com>
291
292 PR libstdc++/96657
293 * libsupc++/Makefile.am: Add atomicity.cc here.
294 * src/c++98/Makefile.am: Remove it from here.
295 * libsupc++/Makefile.in: Regenerate.
296 * src/c++98/Makefile.in: Regenerate.
297 * testsuite/18_support/exception_ptr/96657.cc: New test.
298
6d0d35d5
GA
2992021-04-13 Jonathan Wakely <jwakely@redhat.com>
300
301 PR libstdc++/100060
302 * include/std/bit: Only include <ext/numeric_traits.h> for
303 hosted build, use <limits> otherwise.
304
3052021-04-13 Jonathan Wakely <jwakely@redhat.com>
306
307 * doc/xml/manual/backwards_compatibility.xml: Remove porting
308 notes for libg++ and libstdc++-v2, and bibliography.
309 * doc/html/*: Regenerated.
310
287ad814
GA
3112021-04-12 Jonathan Wakely <jwakely@redhat.com>
312
313 PR libstdc++/100044
314 * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
315 Remove helper concept.
316 (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
317 deduction guides, as per LWG 3404.
318 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
319 template argument deduction fails.
320
3212021-04-12 Jonathan Wakely <jwakely@redhat.com>
322
323 * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
324 Adjust expected error for C++20 mode.
325 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
326 Likewise.
327
3282021-04-12 Jonathan Wakely <jwakely@redhat.com>
329
330 PR libstdc++/99995
331 * testsuite/17_intro/headers/c++1998/49745.cc: Include all
332 standard headers and XFAIL for effective-target c++20.
333
3115aba8
GA
3342021-04-09 François Dumont <fdumont@gcc.gnu.org>
335
336 PR libstdc++/99402
337 * include/debug/helper_functions.h (__can_advance(_InputIterator,
338 const std::pair<_Diff, _Distance_precision>&, int)): New.
339 (__can_advance(const _Safe_iterator<>&,
340 const std::pair<_Diff, _Distance_precision>&, int)): New.
341 * include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
342 use latter.
343 (__glibcxx_check_can_increment_range): Adapt to use latter.
344 (__glibcxx_check_can_decrement_range): Likewise.
345 * include/debug/safe_iterator.h
346 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
347 int)): New.
348 (__can_advance(const _Safe_iterator<>&,
349 const std::pair<_Diff, _Distance_precision>&, int)): New.
350 * include/debug/safe_iterator.tcc
351 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
352 int)): New.
353 (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
354 std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
355 __dp_sign_max_size.
356 (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
357 (__copy_move_backward_a): Likewise.
358 (__equal_aux): Likewise.
359 * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
360 const std::pair<_Diff, _Distance_precision>&, int)): New.
361 (__can_advance(const std::move_iterator<>&,
362 const std::pair<_Diff, _Distance_precision>&, int)): New.
363 * testsuite/25_algorithms/copy/debug/99402.cc: New test.
364
3652021-04-09 Jonathan Wakely <jwakely@redhat.com>
366
367 PR libstdc++/99985
368 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
369 to be a valid constexpr function in C++11.
370 * testsuite/23_containers/unordered_set/cons/99985.cc: New test.
371
3722021-04-09 Jonathan Wakely <jwakely@redhat.com>
373
374 * include/bits/fs_fwd.h: Fix doxygen group command.
375 * include/bits/streambuf_iterator.h: Likewise.
376 * include/bits/uses_allocator_args.h: Likewise.
377 * include/std/memory: Likewise.
378 * include/tr1/complex: Likewise.
379
019a9220
GA
3802021-04-08 Jonathan Wakely <jwakely@redhat.com>
381
382 * include/bits/basic_string.h: Tweak doxygen comment.
383
3842021-04-08 Patrick Palka <ppalka@redhat.com>
385
386 * include/std/ranges (__detail::find): Define.
387 (split_view::_OuterIter::operator++): Apply proposed resolution
388 of LWG 3505.
389 * testsuite/std/ranges/adaptors/split.cc (test10): New test.
390
3912021-04-08 Patrick Palka <ppalka@redhat.com>
392
393 * include/std/ranges (__detail::find_if): Simplify.
394 (__detail::find_if_not): Likewise.
395 (__detail::min): Remove.
396 (__detail::mismatch): Simplify.
397 (take_view::size): Use std::min instead of __detail::min.
398
3992021-04-08 Patrick Palka <ppalka@redhat.com>
400
401 * include/std/ranges (__detail::__returnable_element): New
402 concept.
403 (elements_view): Use this concept in its constraints. Add
404 missing private access specifier.
405 (elements_view::_S_get_element): Define as per LWG 3502.
406 (elements_view::operator*, elements_view::operator[]): Use
407 _S_get_element.
408 (elements_view::operator++): Remove unnecessary constraint
409 as per LWG 3492.
410 * testsuite/std/ranges/adaptors/elements.cc (test05): New test.
411
4122021-04-08 Jonathan Wakely <jwakely@redhat.com>
413
414 * doc/Makefile.am (stamp-pdf-doxygen): Also grep for
415 out-of-memory error in log file.
416 * doc/Makefile.in: Regenerate.
417
4182021-04-08 Jonathan Wakely <jwakely@redhat.com>
419
420 * configure: Regenerate.
421
4222021-04-08 Jonathan Wakely <jwakely@redhat.com>
423
424 * include/bits/random.h: Fix doxygen group commands.
425 * include/bits/regex_constants.h: Likewise.
426 * include/tr1/random.h: Likewise.
427
4282021-04-08 Jonathan Wakely <jwakely@redhat.com>
429
430 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
431 New function to determine noexcept-specifier for move
432 constructors.
433 (_Hashtable): Use _S_nothrow_move() on move constructors.
434 * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
435 Correct static assertion message.
436 * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
437 Likewise.
438 * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
439 Likewise.
440 * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
441 Likewise.
442
4432021-04-08 Patrick Palka <ppalka@redhat.com>
444
445 PR libstdc++/98384
446 * testsuite/20_util/to_chars/long_double.cc: Don't run the test
447 on targets without a large long double. XFAIL the execution on
448 targets with a non-conforming printf.
449
4502021-04-08 Patrick Palka <ppalka@redhat.com>
451
452 PR libstdc++/99433
453 * include/std/ranges (__adaptor::__maybe_refwrap): Remove.
454 (__adaptor::__adaptor_invocable): New concept.
455 (__adaptor::__adaptor_partial_app_viable): New concept.
456 (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
457 non-template base class.
458 (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
459 class template.
460 (__adaptor::_Partial): New class template that represents
461 partial application of a range adaptor non-closure.
462 (__adaptor::__pipe_invocable): New concept.
463 (__adaptor::_Pipe): New class template.
464 (__detail::__can_ref_view): New concept.
465 (__detail::__can_subrange): New concept.
466 (all): Replace the lambda here with ...
467 (_All): ... this functor. Add appropriate constraints.
468 (__detail::__can_filter_view): New concept.
469 (filter, _Filter): As in all/_All.
470 (__detail::__can_transform): New concept.
471 (transform, _Transform): As in all/_All.
472 (__detail::__can_take_view): New concept.
473 (take, _Take): As in all/_All.
474 (__detail::__can_take_while_view): New concept.
475 (take_while, _TakeWhile): As in all/_All.
476 (__detail::__can_drop_view): New concept.
477 (drop, _Drop): As in all/_All.
478 (__detail::__can_drop_while_view): New concept.
479 (drop_while, _DropWhile): As in all/_All.
480 (__detail::__can_join_view): New concept.
481 (join, _Join): As in all/_All.
482 (__detail::__can_split_view): New concept.
483 (split, _Split): As in all/_All. Rename template parameter
484 _Fp to _Pattern.
485 (__detail::__already_common): New concept.
486 (__detail::__can_common_view): New concept.
487 (common, _Common): As in all/_All.
488 (__detail::__can_reverse_view): New concept.
489 (reverse, _Reverse): As in all/_All.
490 (__detail::__can_elements_view): New concept.
491 (elements, _Elements): As in all/_All.
492 (keys, values): Adjust.
493 * testsuite/std/ranges/adaptors/99433.cc: New test.
494 * testsuite/std/ranges/adaptors/all.cc: No longer expect that
495 adding empty range adaptor closure objects to a pipeline doesn't
496 increase the size of the pipeline.
497 (test05): New test.
498 * testsuite/std/ranges/adaptors/common.cc (test03): New test.
499 * testsuite/std/ranges/adaptors/drop.cc (test09): New test.
500 * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
501 * testsuite/std/ranges/adaptors/elements.cc (test04): New test.
502 * testsuite/std/ranges/adaptors/filter.cc (test06): New test.
503 * testsuite/std/ranges/adaptors/join.cc (test09): New test.
504 * testsuite/std/ranges/adaptors/p2281.cc: New test.
505 * testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
506 * testsuite/std/ranges/adaptors/split.cc (test01, test04):
507 Adjust.
508 (test09): New test.
509 * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
510 expected error message.
511 (test02): Likewise. Extend test.
512 * testsuite/std/ranges/adaptors/take.cc (test06): New test.
513 * testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
514 * testsuite/std/ranges/adaptors/transform.cc (test07, test08):
515 New test.
516
5172021-04-08 Jonathan Wakely <jwakely@redhat.com>
518
519 * include/std/string_view: Adjust Doxygen @file comment.
520
5212021-04-08 Jonathan Wakely <jwakely@redhat.com>
522
523 * include/std/type_traits (is_scoped_enum<T>): Constrain partial
524 specialization to not match incomplete enum types. Use a
525 requires-expression instead of instantiating is_convertible.
526 (is_scoped_enum<const T>): Add as workaround for PR c++/99968.
527 * testsuite/20_util/is_scoped_enum/value.cc: Check with
528 incomplete types and opaque-enum-declarations.
529
299859c2
GA
5302021-04-07 Jonathan Wakely <jwakely@redhat.com>
531
532 PR libstdc++/99805
533 * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
534 non-const member on _M_pathname, to avoid copy-on-write.
535 * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
536 Check construction from strings that might be shared.
537
8cac6af6
GA
5382021-04-06 Jonathan Wakely <jwakely@redhat.com>
539
540 * include/bits/move.h (forward, move, move_if_noexcept)
541 (addressof): Add _GLIBCXX_NODISCARD.
542 * include/bits/ranges_cmp.h (identity::operator()): Add
543 nodiscard attribute.
544 * include/c_global/cstddef (to_integer): Likewise.
545 * include/std/bit (bit_cast): Likewise.
546 * include/std/utility (as_const, to_underlying): Likewise.
547
5482021-04-06 Jonathan Wakely <jwakely@redhat.com>
549
550 * include/bits/move.h (forward): Change static_assert message
551 to be unambiguous about what must be true.
552 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
553 * testsuite/20_util/forward/f_neg.cc: Likewise.
554
5552021-04-06 Jonathan Wakely <jwakely@redhat.com>
556
557 * include/bits/alloc_traits.h: Use markdown for code font.
558 * include/bits/basic_string.h: Fix @param names.
559 * include/bits/max_size_type.h: Remove period after @file.
560 * include/bits/regex.h: Fix duplicate @retval names, and rename.
561 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
562 group open to match existing group close.
563 * include/ext/pb_ds/priority_queue.hpp: Add blank line before group
564 open.
565
8cac6af6
GA
5662021-04-06 Jonathan Wakely <jwakely@redhat.com>
567
568 * include/bits/atomic_base.h: Fix doxygen group close.
569 * include/bits/basic_ios.h: Likewise.
570 * include/bits/forward_list.h: Likewise.
571 * include/bits/fs_dir.h: Likewise.
572 * include/bits/fs_ops.h: Likewise.
573 * include/bits/fs_path.h: Likewise.
574 * include/bits/functional_hash.h: Likewise.
575 * include/bits/gslice.h: Likewise.
576 * include/bits/gslice_array.h: Likewise.
577 * include/bits/hashtable_policy.h: Likewise.
578 * include/bits/indirect_array.h: Likewise.
579 * include/bits/locale_classes.h: Likewise.
580 * include/bits/locale_facets.h: Likewise.
581 * include/bits/locale_facets_nonio.h: Likewise.
582 * include/bits/mask_array.h: Likewise.
583 * include/bits/refwrap.h: Likewise.
584 * include/bits/regex.h: Likewise.
585 * include/bits/regex_automaton.h: Likewise.
586 * include/bits/regex_compiler.h: Likewise.
587 * include/bits/regex_constants.h: Likewise.
588 * include/bits/regex_error.h: Likewise.
589 * include/bits/regex_executor.h: Likewise.
590 * include/bits/regex_scanner.h: Likewise.
591 * include/bits/shared_ptr.h: Likewise.
592 * include/bits/shared_ptr_atomic.h: Likewise.
593 * include/bits/shared_ptr_base.h: Likewise.
594 * include/bits/slice_array.h: Likewise.
595 * include/bits/specfun.h: Likewise.
596 * include/bits/std_function.h: Likewise.
597 * include/bits/std_mutex.h: Likewise.
598 * include/bits/stl_deque.h: Likewise.
599 * include/bits/stl_iterator.h: Likewise.
600 * include/bits/stl_iterator_base_types.h: Likewise.
601 * include/bits/stl_map.h: Likewise.
602 * include/bits/stl_multimap.h: Likewise.
603 * include/bits/stl_multiset.h: Likewise.
604 * include/bits/stl_numeric.h: Likewise.
605 * include/bits/stl_pair.h: Likewise.
606 * include/bits/stl_set.h: Likewise.
607 * include/bits/stl_uninitialized.h: Likewise.
608 * include/bits/stream_iterator.h: Likewise.
609 * include/bits/streambuf_iterator.h: Likewise.
610 * include/bits/unique_ptr.h: Likewise.
611 * include/bits/unordered_map.h: Likewise.
612 * include/bits/unordered_set.h: Likewise.
613 * include/decimal/decimal: Likewise.
614 * include/experimental/any: Likewise.
615 * include/experimental/array: Likewise.
616 * include/experimental/bits/fs_dir.h: Likewise.
617 * include/experimental/bits/fs_fwd.h: Likewise.
618 * include/experimental/bits/fs_ops.h: Likewise.
619 * include/experimental/bits/fs_path.h: Likewise.
620 * include/experimental/buffer: Likewise.
621 * include/experimental/internet: Likewise.
622 * include/experimental/optional: Likewise.
623 * include/experimental/propagate_const: Likewise.
624 * include/experimental/socket: Likewise.
625 * include/ext/pb_ds/assoc_container.hpp: Likewise.
626 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
627 Likewise.
628 * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
629 * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
630 * include/ext/pb_ds/detail/types_traits.hpp: Likewise.
631 * include/ext/pb_ds/exception.hpp: Likewise.
632 * include/ext/pb_ds/priority_queue.hpp: Likewise.
633 * include/ext/pb_ds/tag_and_trait.hpp: Likewise.
634 * include/ext/random: Likewise.
635 * include/std/any: Likewise.
636 * include/std/atomic: Likewise.
637 * include/std/bitset: Likewise.
638 * include/std/chrono: Likewise.
639 * include/std/complex: Likewise.
640 * include/std/condition_variable: Likewise.
641 * include/std/fstream: Likewise.
642 * include/std/future: Likewise.
643 * include/std/iostream: Likewise.
644 * include/std/istream: Likewise.
645 * include/std/mutex: Likewise.
646 * include/std/numeric: Likewise.
647 * include/std/ostream: Likewise.
648 * include/std/ratio: Likewise.
649 * include/std/shared_mutex: Likewise.
650 * include/std/stdexcept: Likewise.
651 * include/std/streambuf: Likewise.
652 * include/std/system_error: Likewise.
653 * include/std/thread: Likewise.
654 * include/std/valarray: Likewise.
655 * include/std/variant: Likewise.
656 * include/tr1/cmath: Likewise.
657 * include/tr1/regex: Likewise.
658 * include/tr2/dynamic_bitset: Likewise.
659 * libsupc++/atomic_lockfree_defines.h: Likewise.
660 * libsupc++/exception: Likewise.
661 * libsupc++/exception.h: Likewise.
662 * libsupc++/exception_ptr.h: Likewise.
663 * libsupc++/nested_exception.h: Likewise.
664
95d217ab
GA
6652021-03-31 Alexandre Oliva <oliva@adacore.com>
666
667 * testsuite/30_threads/future/members/poll.cc: Use faster
668 after-ready call in the calibration loop.
669
65374af2
GA
6702021-03-29 Jonathan Wakely <jwakely@redhat.com>
671
672 * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
673 * doc/html/manual/status.html: Regenerate.
674
c4110112
GA
6752021-03-28 François Dumont <fdumont@gcc.gnu.org>
676
677 * include/debug/forward_list
678 (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
679 * include/debug/list (list(list&&, const allocator_type&)): Likewise and add
680 call to safe container allocator aware move constructor.
681 * include/debug/vector (vector(vector&&, const allocator_type&)):
682 Fix noexcept qualification.
683 * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
684 Add allocator-extended move constructor noexceot qualification check.
685 * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
686
651684b4
GA
6872021-03-26 Jonathan Wakely <jwakely@redhat.com>
688
689 * src/c++11/random.cc (USE_LCG): Define when a pseudo-random
690 fallback is needed.
691 [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
692 New helper functions and callback.
693 (random_device::_M_init): Add 'prng' and 'all' enumerators.
694 Replace switch with fallthrough with a series of 'if' statements.
695 [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
696 checks fail.
697 (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
698 token.
699 (random_device::_M_getval): Check for callback unconditionally
700 and always pass _M_file pointer.
701 * testsuite/26_numerics/random/random_device/85494.cc: Remove
702 effective-target check. Use new random_device_available helper.
703 * testsuite/26_numerics/random/random_device/94087.cc: Likewise.
704 * testsuite/26_numerics/random/random_device/cons/default-cow.cc:
705 Remove effective-target check.
706 * testsuite/26_numerics/random/random_device/cons/default.cc:
707 Likewise.
708 * testsuite/26_numerics/random/random_device/cons/token.cc: Use
709 new random_device_available helper. Test "prng" token.
710 * testsuite/util/testsuite_random.h (random_device_available):
711 New helper function.
712
4493b1c1
GA
7132021-03-25 François Dumont <fdumont@gcc.gnu.org>
714
715 * include/debug/string
716 (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
717 (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
718 (basic_string<>::erase): Adapt to take __const_iterator.
719 (basic_string(const _CharT*, const _Allocator&)): Remove assign call.
720 (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
721 remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
722 [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
723 (__gnu_debug::u16string, __gnu_debug::u32string): New.
724 (std::hash<__gnu_debug::basic_string<>>): New partial specialization.
725 (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
726 * testsuite/util/exception/safety.h
727 (erase_base<__gnu_debug::basic_string<>>): New partial specialization.
728 (insert_base<__gnu_debug::basic_string<>>): Likewise.
729 * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
730 New partial specialization.
731 * testsuite/21_strings/basic_string/hash/debug.cc: New test.
732 * testsuite/21_strings/basic_string/requirements/citerators.cc:
733 Add test on __gnu_debug::string.
734 * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
735 * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
736 * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
737 Likewise.
738 * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
739 Likewise.
740 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
741 Likewise.
742 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
743 Likewise.
744 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
745 Likewise.
746 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
747 Likewise.
748 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
749 Likewise.
750 * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
751
7522021-03-25 Jakub Jelinek <jakub@redhat.com>
753
754 PR c++/99672
755 * testsuite/18_support/source_location/consteval.cc (main): Adjust
756 expected column numbers.
757 * testsuite/18_support/source_location/1.cc (main): Likewise.
758
7592021-03-25 Jonathan Wakely <jwakely@redhat.com>
760
761 * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
762
7632021-03-25 Jonathan Wakely <jwakely@redhat.com>
764
765 * testsuite/util/exception/safety.h (setup_base::generate):
766 Support seeding random engine.
767 (erase_point, erase_range): Adjust range of random numbers to
768 ensure dereferenceable iterators are used where required.
769 (generation_prohibited::run): Do not try to erase from empty
770 containers.
771 * testsuite/util/testsuite_containergen.h (test_containers):
772 Support seeding random engine.
773
bf1f3168
GA
7742021-03-23 Jonathan Wakely <jwakely@redhat.com>
775
776 * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
777 line with a check that uses the const being/end overloads.
778
7792021-03-23 Moritz Sichert <sichert@in.tum.de>
780
781 * include/std/ranges (reverse_view::begin, reverse_view::end):
782 Qualify make_reverse_iterator calls to avoid ADL.
783 * testsuite/std/ranges/adaptors/reverse.cc: Test that
784 views::reverse works when make_reverse_iterator is defined
785 in an associated namespace.
786
7872021-03-23 Jonathan Wakely <jwakely@redhat.com>
788
789 * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
790 Do not define when compiling with Clang.
791
8b744f46
GA
7922021-03-22 Jonathan Wakely <jwakely@redhat.com>
793
794 * include/std/string_view (basic_string_view(Range&&)): Define new
795 constructor and deduction guide.
796 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
797 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
798
7992021-03-22 Jonathan Wakely <jwakely@redhat.com>
800
801 * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
802 Add missing 'noexcept' as per LWG 2280.
803 (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
804 (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
805 * testsuite/24_iterators/range_access/range_access.cc: Check for
806 expected noexcept specifiers. Check result types of generic
807 std::begin and std::end overloads.
808 * testsuite/24_iterators/range_access/range_access_cpp14.cc:
809 Check for expected noexcept specifiers.
810 * testsuite/24_iterators/range_access/range_access_cpp17.cc:
811 Likewise.
812
5f256a70
GA
8132021-03-19 Jonathan Wakely <jwakely@redhat.com>
814
815 * include/std/type_traits (is_scoped_enum): Define.
816 * include/std/version (__cpp_lib_is_scoped_enum): Define.
817 * testsuite/20_util/is_scoped_enum/value.cc: New test.
818 * testsuite/20_util/is_scoped_enum/version.cc: New test.
819
bc212776
GA
8202021-03-16 Jonathan Wakely <jwakely@redhat.com>
821
822 PR libstdc++/99341
823 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
824 std::once_flag symbols.
825 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
826 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
827 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
828 Likewise.
829 * config/abi/pre/gnu.ver: Likewise.
830 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
831 (struct __once_flag_compat): Remove.
832 (_ZNSt9once_flag11_M_activateEv): Remove.
833 (_ZNSt9once_flag9_M_finishEb): Remove.
834
8352021-03-16 Jonathan Wakely <jwakely@redhat.com>
836
837 PR libstdc++/99341
838 * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
839 Revert to pthread_once_t implementation.
840 [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
841 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
842 (struct __once_flag_compat): New type matching the reverted
843 implementation of once_flag using futexes.
844 (once_flag::_M_activate): Remove, replace with ...
845 (_ZNSt9once_flag11_M_activateEv): ... alias symbol.
846 (once_flag::_M_finish): Remove, replace with ...
847 (_ZNSt9once_flag9_M_finishEb): ... alias symbol.
848 * testsuite/30_threads/call_once/66146.cc: Removed.
849
3c5b6d24
GA
8502021-03-15 Iain Sandoe <iain@sandoe.co.uk>
851
852 * testsuite/17_intro/names.cc: Exclude j from the list
853 of test symbols for Darwin.
854
8552021-03-15 Iain Sandoe <iain@sandoe.co.uk>
856
857 * config/os/bsd/darwin/ppc-extra.ver: Add matching for
858 to_chars and from_chars for long double.
859
8602021-03-15 Patrick Palka <ppalka@redhat.com>
861
862 * include/bits/max_size_type.h (__max_size_type::operator _Tp):
863 Fix formatting.
864 (__max_size_type::operator++): Define.
865 (__max_size_type::operator--): Likewise.
866 (__max_size_type::operator<=>): Conditionally define (in place
867 of the other comparison operators).
868 (__max_diff_type::operator _Tp): Fix formatting.
869 (__max_diff_type::operator++): Define.
870 (__max_diff_type::operator--): Likewise.
871 (__max_diff_type::operator<=>): Conditionally define (in place
872 of the other comparison operators).
873 * testsuite/std/ranges/iota/max_size_type.cc (test01): Test
874 these operator overloads.
875
c2be8205
CT
8762021-03-15 Caroline Tice <cmtice@google.com>
877
878 PR libstdc++/99172
879 * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
880 AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
881 AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
882 filtered out.
883 * src/Makefile.in: Regenerate.
884
48ff383f
GA
8852021-03-11 Patrick Palka <ppalka@redhat.com>
886
887 * src/c++17/floating_to_chars.cc: Simplify the file as if
888 __SIZEOF_INT128__ is always defined.
889 [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define
890 a base-10 to_chars overload for the uint128_t class type.
891 * src/c++17/uint128_t.h: New file.
892 * testsuite/20_util/to_chars/long_double.cc: No longer expect an
893 execution FAIL on targets that have a large long double type
894 but lack __int128.
895
8962021-03-11 Patrick Palka <ppalka@redhat.com>
897
898 * src/c++17/ryu/LOCAL_PATCHES: Update.
899 * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
900 * src/c++17/ryu/generic_128.h: Likewise.
901 * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
902 Use uint128_t instead of __uint128_t.
903 (generic_binary_to_decimal): Likewise.
904
9052021-03-11 Patrick Palka <ppalka@redhat.com>
906
907 * src/c++17/ryu/LOCAL_PATCHES: New file.
908
9092021-03-11 Patrick Palka <ppalka@redhat.com>
910
911 * src/c++17/floating_to_chars.cc (uint128_t): New conditionally
912 defined alias of unsigned __int128.
913 (floating_type_traits_binary128::mantissa_t): Use uint128_t
914 instead of unsigned __int128.
915 (floating_type_traits<long double>::mantissa_t)
916 [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
917 (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t
918 and uint32_t explicit. Simplify the extraction of mantissa,
919 exponent and sign bit.
920
9212021-03-11 Jonathan Wakely <jwakely@redhat.com>
922
923 * include/std/barrier (barrier::arrival_token): New move-only
924 class that encapsulates the underlying token value.
925
9262021-03-11 Jonathan Wakely <jwakely@redhat.com>
927
928 * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
929 instead of unqualified() method.
930
9312021-03-11 Jonathan Wakely <jwakely@redhat.com>
932
933 PR libstdc++/99537
934 * include/std/stop_token (_Stop_state_t::_M_release_ownership):
935 Use acq_rel memory ordering.
936
9372021-03-11 Jonathan Wakely <jwakely@redhat.com>
938
864caa15 939 PR libstdc++/99533
48ff383f
GA
940 * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
941 helper function to check for permission denied errors.
942 * src/filesystem/dir.cc (recursive_directory_iterator):
943 Likewise.
944 * src/filesystem/dir-common.h (is_permission_denied_error): New
945 helper function.
946
9472021-03-11 Jonathan Wakely <jwakely@redhat.com>
948
949 PR libstdc++/99536
950 * include/bits/random.h (normal_distribution): Use
951 default-initializer for _M_saved and _M_saved_available.
952
e9800852
GA
9532021-03-10 John David Anglin <danglin@gcc.gnu.org>
954
955 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
956 link with libatomic.
957 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
958 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
959 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
960 * testsuite/30_threads/barrier/arrive.cc: Likewise.
961 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
962 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
963 * testsuite/30_threads/barrier/completion.cc: Likewise.
964 * testsuite/30_threads/latch/3.cc: Likewise.
965 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
966 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
967 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
968
9692021-03-10 Jonathan Wakely <jwakely@redhat.com>
970
971 PR libstdc++/99413
972 * include/bits/align.h: Include debug/assertions.h.
973 * include/bits/codecvt.h: Include bits/c++config.h.
974 * include/bits/enable_special_members.h: Likewise.
975 * include/bits/erase_if.h: Likewise.
976 * include/bits/functional_hash.h: Include <type_traits>.
977 * include/bits/invoke.h: Include bits/move.h.
978 * include/bits/ostream_insert.h: Include bits/exception_defines.h.
979 * include/bits/parse_numbers.h: Include <type_traits>.
980 * include/bits/predefined_ops.h: Include bits/c++config.h.
981 * include/bits/range_access.h: Include bits/stl_iterator.h.
982 * include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
983 * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
984 * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
985 * include/bits/uniform_int_dist.h: Include bits/concept_check.h.
986 * include/bits/unique_lock.h: Include bits/std_mutex.h.
987 * include/debug/assertions.h: Include bits/c++config.h.
988
9892021-03-10 Jonathan Wakely <jwakely@redhat.com>
990
991 * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
992 (ranges::equal_to, ranges::not_equal_to): Do not constrain
993 with __eq_builtin_ptr_cmp.
994 (ranges::less, ranges::greater, ranges::less_equal)
995 (ranges::greater_equal): Do not constrain with
996 __less_builtin_ptr_cmp.
997 * libsupc++/compare (compare_three_way): Do not constrain with
998 __3way_builtin_ptr_cmp.
999 * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
1000 * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
1001 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
1002
10032021-03-10 Jonathan Wakely <jwakely@redhat.com>
1004
1005 * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
1006 C++20 calendar types.
1007
0ad6a2e2
GA
10082021-03-06 Jakub Jelinek <jakub@redhat.com>
1009
1010 PR libstdc++/99396
1011 * include/std/bit (__rotl, __rotr): Add optimized variants for power of
1012 two _Nd which the compiler can pattern match the rotates.
1013
67f10d28
GA
10142021-03-04 Jonathan Wakely <jwakely@redhat.com>
1015
1016 PR libstdc++/99382
1017 * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
1018 Make storage larger than required. Verify no write to the last
1019 element.
1020 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
1021 Likewise.
1022
f3641ac7
GA
10232021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1024
1025 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
1026 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
1027 Likewise.
1028 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
1029 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
1030 Likewise.
1031
10322021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1033
1034 * include/experimental/bits/simd.h: Replace reserved _X, _B by
1035 _Xp, _Bp.
1036 * include/experimental/bits/simd_builtin.h: Likewise.
1037 * include/experimental/bits/simd_x86.h: Likewise.
1038
ec9dc4fa
GA
10392021-02-27 Jonathan Wakely <jwakely@redhat.com>
1040
1041 PR libstdc++/99301
1042 * include/std/chrono (year_month_day::_M_days_since_epoch()):
1043 Convert chrono::month and chrono::day to unsigned before
1044 converting to uint32_t.
1045
daa68844
GA
10462021-02-25 Jonathan Wakely <jwakely@redhat.com>
1047
1048 * include/std/chrono (year_month_day::_S_from_days): Perform
1049 all calculations with type uint32_t.
1050
10512021-02-25 Jonathan Wakely <jwakely@redhat.com>
1052
1053 * doc/xml/manual/abi.xml: Document versioning for GCC 11.
1054 * doc/html/manual/abi.html: Regenerate.
1055
10562021-02-25 Jonathan Wakely <jwakely@redhat.com>
1057
1058 PR libstdc++/99270
1059 * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
1060 FILE instead of FILE.
1061
10622021-02-25 Andreas Schwab <schwab@suse.de>
1063
1064 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1065 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1066 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1067 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
1068
10692021-02-25 Jonathan Wakely <jwakely@redhat.com>
1070
1071 PR libstdc++/99265
1072 * include/std/chrono (year_month_day::_S_from_days): Cast long
1073 to int explicitly.
1074
10752021-02-25 Jonathan Wakely <jwakely@redhat.com>
1076
1077 * include/std/utility (to_underlying): Define.
1078 * include/std/version (__cpp_lib_to_underlying): Define.
1079 * testsuite/20_util/to_underlying/1.cc: New test.
1080 * testsuite/20_util/to_underlying/version.cc: New test.
1081
4028d01a
GA
10822021-02-24 Jonathan Wakely <jwakely@redhat.com>
1083
1084 PR libstdc++/99261
1085 * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
1086 before value to be printed.
1087
10882021-02-24 Patrick Palka <ppalka@redhat.com>
1089
1090 * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
1091 Relax the condition that guards the printf code path to accept
1092 F128_type as well as long double.
1093
10942021-02-24 Cassio Neri <cassio.neri@gmail.com>
1095
1096 * include/std/chrono (year_month_day_last:day): New
1097 implementation.
1098
10992021-02-24 Cassio Neri <cassio.neri@gmail.com>
1100
1101 * include/std/chrono (year::is_leap): New implementation.
1102 * testsuite/std/time/year/2.cc: New test.
1103
11042021-02-24 Cassio Neri <cassio.neri@gmail.com>
1105
1106 * include/std/chrono (year_month_day::_M_days_since_epoch):
1107 New implementation.
1108 * testsuite/std/time/year_month_day/4.cc: New test.
1109
11102021-02-24 Cassio Neri <cassio.neri@gmail.com>
1111
1112 * include/std/chrono (year_month_day::_S_from_days): New
1113 implementation.
1114 * testsuite/std/time/year_month_day/3.cc: New test.
1115
11162021-02-24 Patrick Palka <ppalka@redhat.com>
1117
1118 PR libstdc++/98384
1119 * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
1120 (test01): Simplify verifying the nearby values by using a
1121 2-iteration loop and a dedicated output buffer to check that the
1122 nearby values are different. Factor out the printf-based
1123 verification into a local function, and check that the leading
1124 hex digits agree before comparing to the output of printf. Also
1125 verify the output by round-tripping it through from_chars.
1126
11272021-02-24 Jonathan Wakely <jwakely@redhat.com>
1128
1129 PR libstdc++/98389
1130 * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
1131 symbols for long double arguments mangled as 'g'.
1132 * config/os/gnu-linux/ldbl-extra.ver: Likewise.
1133 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
1134 * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
1135 Use -mabi=ibmlongdouble for floating_to_chars.cc.
1136 * src/c++17/Makefile.in: Regenerate.
1137 * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
1138 New type defining type traits of IEEE binary128 format.
1139 (floating_type_traits<__float128>): Define specialization.
1140 (floating_type_traits<long double>): Define in terms of
1141 floating_type_traits_binary128 when appropriate.
1142 (floating_to_shortest_scientific): Handle __float128.
1143 (sprintf_ld): New function template for printing a long double
1144 or __ieee128 value using sprintf.
1145 (__floating_to_chars_shortest, __floating_to_chars_precision):
1146 Use sprintf_ld.
1147 (to_chars): Define overloads for __float128.
1148
11492021-02-24 Jonathan Wakely <jwakely@redhat.com>
1150
1151 * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
1152
71e24b06
GA
11532021-02-23 Martin Sebor <msebor@redhat.com>
1154
1155 PR c++/99074
1156 * libsupc++/dyncast.cc (__dynamic_cast): Return null when
1157 first argument is null.
1158
11592021-02-23 Jakub Jelinek <jakub@redhat.com>
1160
1161 PR libstdc++/99181
1162 * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
1163 test.
1164
11652021-02-23 Jakub Jelinek <jakub@redhat.com>
1166
1167 PR libstdc++/99181
1168 * include/bits/char_traits.h (char_traits<char>::compare): For
1169 constexpr evaluation don't call
1170 __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
1171 directly.
1172
11732021-02-23 Jakub Jelinek <jakub@redhat.com>
1174
1175 PR libstdc++/97549
1176 * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
1177
11782021-02-23 Patrick Palka <ppalka@redhat.com>
1179
1180 PR libstdc++/98384
1181 * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
1182 the high- and low-order parts from an IBM long double value
1183 in an endian-agnostic way.
1184
50352c6c
GA
11852021-02-19 Jonathan Wakely <jwakely@redhat.com>
1186
1187 * include/bits/atomic_wait.h (__thread_relax()): Call
1188 __thread_yield() not __gthread_yield().
1189
de594739
GA
11902021-02-15 Jonathan Wakely <jwakely@redhat.com>
1191
1192 * include/bits/atomic_wait.h (__thread_yield()): Check
1193 _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
1194 (__thread_relax()): Use __thread_yield() instead of repeating
1195 the preprocessor checks for __gthread_yield.
1196
11972021-02-15 Jonathan Wakely <jwakely@redhat.com>
1198
1199 * include/std/mutex (once_flag::_M_activate()): Add explicit
1200 return statement for passive case.
1201 (once_flag::_M_finish(bool)): Use reserved name for parameter.
1202
c5ae38e8
GA
12032021-02-14 Jonathan Wakely <jwakely@redhat.com>
1204
1205 PR libstdc++/99096
1206 * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
1207
fab095da
GA
12082021-02-12 Jonathan Wakely <jwakely@redhat.com>
1209
1210 PR libstdc++/88881
1211 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
1212
12132021-02-12 Jonathan Wakely <jwakely@redhat.com>
1214
1215 * doc/xml/manual/status_cxx2014.xml: Document implementation
1216 specific properties of std::experimental::filesystem::rename.
1217 * doc/xml/manual/status_cxx2017.xml: Document implementation
1218 specific properties of std::filesystem::rename.
1219 * doc/html/*: Regenerate.
1220 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
1221 for directories on Windows.
1222 * src/filesystem/ops-common.h (__gnu_posix::rename): Use
1223 MoveFileExW on Windows.
1224 * testsuite/27_io/filesystem/operations/rename.cc: New test.
1225 * testsuite/experimental/filesystem/operations/rename.cc: New test.
1226
12272021-02-12 Jonathan Wakely <jwakely@redhat.com>
1228
1229 * testsuite/util/testsuite_fs.h (nonexistent_path): Add
1230 random number to the path.
1231
12322021-02-12 Jonathan Wakely <jwakely@redhat.com>
1233
1234 * include/experimental/internet (address_v6::to_string): Include
1235 scope ID in string.
1236 * testsuite/experimental/net/internet/address/v6/members.cc:
1237 Test to_string() results.
1238
12392021-02-12 Jonathan Wakely <jwakely@redhat.com>
1240
1241 * include/experimental/internet (address_v6::any): Avoid using
1242 memcpy in constexpr function.
1243 (address_v6::loopback): Likewise.
1244 (make_address_v6): Fix missing return statements on error paths.
1245 * include/experimental/io_context: Avoid -Wdangling-else
1246 warning.
1247 * testsuite/experimental/net/internet/address/v4/members.cc:
1248 Remove unused variables.
1249 * testsuite/experimental/net/internet/address/v6/members.cc:
1250 New test.
1251
12522021-02-12 Jonathan Wakely <jwakely@redhat.com>
1253
1254 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
1255 Add unused attribute to parameter.
1256 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
1257 Likewise.
1258
12592021-02-12 Jonathan Wakely <jwakely@redhat.com>
1260
1261 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
1262 if -fno-rtti is used.
1263 * testsuite/30_threads/async/forced_unwind.cc: Expect test
1264 to abort if -fno-rtti is used.
1265
12662021-02-12 Jonathan Wakely <jwakely@redhat.com>
1267
1268 * testsuite/util/testsuite_allocator.h (memory_resource):
1269 Remove requirement for RTTI and exceptions to be enabled.
1270
12712021-02-12 Jonathan Wakely <jwakely@redhat.com>
1272
1273 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
1274 static_cast when RTTI is disabled.
1275 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
1276 Likewise.
1277 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
1278 Likewise.
1279 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
1280 Likewise.
1281 * testsuite/27_io/basic_stringstream/str/char/2.cc:
1282 Likewise.
1283 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
1284 Likewise.
1285
12862021-02-12 Jonathan Wakely <jwakely@redhat.com>
1287
1288 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
1289 as unused and only use dynamic_cast when RTTI is enabled.
1290
12912021-02-12 Jonathan Wakely <jwakely@redhat.com>
1292
1293 PR libstdc++/99077
1294 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
1295 Change int parameter to error_code, to match std::ios_failure.
1296 (__throw_ios_failure(const char*, int)): Construct error_code
1297 from int parameter.
1298
0c5cdb31
GA
12992021-02-11 Jonathan Wakely <jwakely@redhat.com>
1300
1301 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
1302 new macro.
1303 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
1304 macro instead of _GLIBCXX_EH_PTR_COMPAT.
1305 (operator==): Likewise.
1306
13072021-02-11 Jonathan Wakely <jwakely@redhat.com>
1308
1309 PR libstdc++/99058
1310 * doc/xml/manual/status_cxx2011.xml: Document when support
1311 became stable.
1312 * doc/xml/manual/status_cxx2014.xml: Likewise.
1313 * doc/xml/manual/status_cxx2017.xml: Likewise.
1314 * doc/html/manual/status.html: Regenerate.
1315
4b37c3ea
GA
13162021-02-10 Jonathan Wakely <jwakely@redhat.com>
1317
1318 PR libstdc++/88881
1319 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
1320
13212021-02-10 Jonathan Wakely <jwakely@redhat.com>
1322
1323 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
1324 (fs::remove): Use std::system_category() for error codes from
1325 GetLastError().
1326 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
1327 Likewise.
1328
13292021-02-10 Jonathan Wakely <jwakely@redhat.com>
1330
1331 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
1332 in __MINGW32__ macro name.
1333 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
1334 * testsuite/27_io/filesystem/path/generation/proximate.cc:
1335 Likewise.
1336 * testsuite/27_io/filesystem/path/generation/relative.cc:
1337 Likewise.
1338 * testsuite/util/testsuite_fs.h: Likewise.
1339
0a91b73e
GA
13402021-02-09 François Dumont <fdumont@gcc.gnu.org>
1341
1342 * include/bits/stl_tree.h
1343 (__has_is_transparent, __has_is_transparent_t): Move...
1344 * include/bits/stl_function.h: ...here.
1345 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
1346 (_Hashtable_base<>::_M_equals_tr): New.
1347 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
1348 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
1349 heterogeneous lookup.
1350 (_Hashtable<>::_M_find_before_node_tr): New.
1351 (_Hashtable<>::_M_find_node_tr): New.
1352 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
1353 unordered_map::contains<>, unordered_map::equal_range<>): New member function
1354 templates to perform heterogeneous lookup.
1355 (unordered_multimap::find<>, unordered_multimap::count<>,
1356 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
1357 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
1358 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
1359 (unordered_multiset::find<>, unordered_multiset::count<>,
1360 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
1361 * include/debug/unordered_map
1362 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
1363 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
1364 * include/debug/unordered_set
1365 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
1366 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
1367 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
1368 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
1369 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
1370 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
1371
13722021-02-09 François Dumont <fdumont@gcc.gnu.org>
1373
1374 * include/bits/stl_deque.h
1375 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
1376 a null pointer test.
1377
13782021-02-09 Jonathan Wakely <jwakely@redhat.com>
1379
1380 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
1381 test directory after making it writable again.
1382 * testsuite/experimental/filesystem/operations/remove_all.cc:
1383 Likewise.
1384
13852021-02-09 Jonathan Wakely <jwakely@redhat.com>
1386
1387 PR libstdc++/99021
1388 * include/std/coroutine (coroutine_handle<P>::from_address): Add
1389 noexcept.
1390
13912021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
1392
1393 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
1394 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
1395
13962021-02-09 Jakub Jelinek <jakub@redhat.com>
1397
1398 PR middle-end/98465
1399 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
1400 points to the characters moved by earlier _S_move, compute the source
1401 address using expression based on the __p pointer rather than __s
1402 pointer.
1403
9faaa807
GA
14042021-02-03 Jonathan Wakely <jwakely@redhat.com>
1405
1406 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
1407 Add comparison with same category and different values.
1408 * testsuite/19_diagnostics/error_code/operators/less.cc:
1409 Likewise. Fix comparison involving different categories.
1410 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
1411 Likewise.
1412 * testsuite/19_diagnostics/error_condition/operators/less.cc:
1413 Add comment.
1414 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
1415 Likewise.
1416
14172021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
1418
1419 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
1420 calls with a single vaddv for aarch64.
1421
14222021-02-03 Matthias Kretz <kretz@kde.org>
1423
1424 * testsuite/Makefile.am: Warn about the workaround. Add
1425 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
1426 Improve initial user feedback from make check-simd.
1427 * testsuite/Makefile.in: Regenerated.
1428
14292021-02-03 Matthias Kretz <kretz@kde.org>
1430
1431 * include/experimental/bits/simd.h: Add __detail::_Minimum and
1432 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
1433 Add hmin and hmax overloads for simd and const_where_expression.
1434 * include/experimental/bits/simd_scalar.h
1435 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
1436 parameter const-ref to allow calling _S_reduce with an rvalue.
1437 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
1438 hmin and hmax. Since the compiler statically determined that all
1439 tests pass, repeat the test after a call to make_value_unknown.
1440
14412021-02-03 Matthias Kretz <kretz@kde.org>
1442
1443 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
1444 instruction pointer data member. Ensure that the `if (m_failed)`
1445 branch is always inlined into the calling code. The body of the
1446 conditional can still be a function call. Move the get_ip call
1447 into the verify ctor to simplify the ctor calls.
1448 (COMPARE): Don't mention the use of all_of for reduction of a
1449 simd_mask. It only distracts from the real issue.
1450
14512021-02-03 Matthias Kretz <kretz@kde.org>
1452
1453 * testsuite/experimental/simd/driver.sh: Abstract reading test
1454 options into read_src_option function. Read skip, only,
1455 expensive, and xfail via read_src_option. Add timeout and
1456 timeout-factor options and adjust timeout variable accordingly.
1457 * testsuite/experimental/simd/tests/loadstore.cc: Set
1458 timeout-factor 2.
1459
14602021-02-03 Matthias Kretz <kretz@kde.org>
1461
1462 * testsuite/experimental/simd/driver.sh: When handling the pipe
1463 to log (and on verbose to stdout) count the lines. If it exceeds
1464 1000 log the issue and exit 125, which is then handled as a
1465 failure.
1466
14672021-02-03 Matthias Kretz <kretz@kde.org>
1468
1469 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
1470 markup for long double on powerpc64*.
1471
14722021-02-03 Matthias Kretz <kretz@kde.org>
1473
1474 * include/experimental/bits/simd.h: Add __have_power10vec
1475 conditional on _ARCH_PWR10.
1476 * include/experimental/bits/simd_builtin.h: Forward declare
1477 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
1478 defined.
1479 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
1480 _SuperImpl for optimizations and correctness.
1481 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
1482 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
1483 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
1484 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
1485
14862021-02-03 Matthias Kretz <kretz@kde.org>
1487
1488 * testsuite/experimental/simd/driver.sh: Remove executable on
1489 SIGINT. Process compiler and test executable output: In verbose
1490 mode print messages immediately, limited to 1000 lines and
1491 breaking long lines to below $COLUMNS (or 1024 if not set).
1492 Communicating the exit status of the compiler / test with the
1493 necessary pipe is done via a message through stdout/-in.
1494
14952021-02-03 Matthias Kretz <kretz@kde.org>
1496
1497 * testsuite/Makefile.am: Ensure .simd.summary is empty before
1498 collecting a new summary.
1499 * testsuite/Makefile.in: Regenerate.
1500
15012021-02-03 Matthias Kretz <kretz@kde.org>
1502
1503 * testsuite/experimental/simd/generate_makefile.sh: Use
1504 different variables internally than documented for user
1505 overrides. This makes internal append/prepend work as intended.
1506
15072021-02-03 Matthias Kretz <kretz@kde.org>
1508
1509 * testsuite/experimental/simd/driver.sh (verify_test): Print
1510 test output on run xfail. Do not repeat lines from the log that
1511 were already printed on stdout.
1512 (test_selector): Make the compiler flags pattern usable as a
1513 substring selector.
1514 (toplevel): Trap on SIGINT and remove the log and sum files.
1515 Call timout with --foreground to quickly terminate on SIGINT.
1516 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
1517 targets via target patterns. Default DRIVEROPTS to -v for run
1518 targets. Remove log and sum files after completion of the run
1519 target (so that it's always recompiled).
1520 Place help text into text file for reasonable 'make help'
1521 performance.
1522
15232021-02-03 Matthias Kretz <kretz@kde.org>
1524
1525 * include/experimental/bits/simd.h: Remove unnecessary static
1526 assertion. Allow sizeof(8) integer __intrinsic_type to enable
1527 the necessary mask type.
1528
15292021-02-03 Matthias Kretz <kretz@kde.org>
1530
1531 * include/experimental/bits/simd.h: Let __intrinsic_type<long
1532 double, N> be valid if sizeof(long double) == sizeof(double) and
1533 use a __vector double as member type.
1534
15352021-02-03 Matthias Kretz <kretz@kde.org>
1536
1537 * include/experimental/bits/simd.h (__is_intrinsic_type): New
1538 internal type trait. Alias for __is_vector_type on x86.
1539 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
1540 __vector_type.
1541 (__intrin_bitcast): Allow casting to & from vector & intrinsic
1542 types.
1543 (__intrinsic_type): Explicitly specialize for NEON intrinsic
1544 vector types.
1545
15462021-02-03 Matthias Kretz <kretz@kde.org>
1547
1548 * testsuite/experimental/simd/driver.sh: Implement skip, only,
1549 expensive, and xfail markers. They can select on type, ABI tag
1550 subset number, target-triplet, and compiler flags.
1551 * testsuite/experimental/simd/generate_makefile.sh: The summary
1552 now includes lines for unexpected passes and expected failures.
1553 If the skip or only markers are only conditional on the type, do
1554 not generate rules for those types.
1555 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
1556 for ABI tag subsets 1-9.
1557 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
1558 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
1559 * testsuite/experimental/simd/tests/casts.cc: Ditto.
1560 * testsuite/experimental/simd/tests/generator.cc: Ditto.
1561 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
1562 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
1563 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
1564 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
1565 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
1566 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
1567 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
1568 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
1569 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
1570 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
1571 * testsuite/experimental/simd/tests/operators.cc: Ditto.
1572 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
1573 * testsuite/experimental/simd/tests/simd.cc: Ditto.
1574 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
1575 * testsuite/experimental/simd/tests/splits.cc: Ditto.
1576 * testsuite/experimental/simd/tests/where.cc: Ditto.
1577 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
1578 addition replace "test only floattypes" marker by unconditional
1579 "float|double|ldouble" only marker.
1580 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
1581 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
1582 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1583 Ditto.
1584 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
1585 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
1586 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
1587 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
1588 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
1589 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
1590 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
1591 addition, xfail on run because the reference data is missing.
1592
548b75d8
GA
15932021-02-02 Jonathan Wakely <jwakely@redhat.com>
1594
1595 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
1596 * doc/xml/manual/status_cxx2014.xml: Likewise.
1597 * doc/xml/manual/status_cxx2017.xml: Likewise.
1598 * doc/html/manual/status.html: Regenerate.
1599
f7884fb1
GA
16002021-02-01 François Dumont <fdumont@gcc.gnu.org>
1601
1602 PR libstdc++/70303
1603 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
1604 Return 0 if both iterators are value-initialized.
1605 * testsuite/23_containers/deque/70303.cc: New test.
1606 * testsuite/23_containers/vector/70303.cc: New test.
1607
16082021-02-01 Jonathan Wakely <jwakely@redhat.com>
1609
1610 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
1611 status.
1612 * doc/xml/manual/status_cxx2014.xml: Likewise.
1613 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
1614 std::from_chars and std::to_chars status. Fix formatting.
1615 * doc/html/manual/status.html: Regenerate.
1616
85d04a2e
GA
16172021-01-28 Jonathan Wakely <jwakely@redhat.com>
1618
1619 * include/experimental/bits/numeric_traits.h: Update copyright
1620 dates.
1621 * include/experimental/bits/simd.h: Likewise.
1622 * include/experimental/bits/simd_builtin.h: Likewise.
1623 * include/experimental/bits/simd_converter.h: Likewise.
1624 * include/experimental/bits/simd_detail.h: Likewise.
1625 * include/experimental/bits/simd_fixed_size.h: Likewise.
1626 * include/experimental/bits/simd_math.h: Likewise.
1627 * include/experimental/bits/simd_neon.h: Likewise.
1628 * include/experimental/bits/simd_ppc.h: Likewise.
1629 * include/experimental/bits/simd_scalar.h: Likewise.
1630 * include/experimental/bits/simd_x86.h: Likewise.
1631 * include/experimental/bits/simd_x86_conversions.h: Likewise.
1632 * include/experimental/simd: Likewise.
1633 * testsuite/experimental/simd/*: Likewise.
1634
aa69f0a8
GA
16352021-01-27 Jonathan Wakely <jwakely@redhat.com>
1636
1637 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
1638 * doc/html/*: Regenerate.
1639
16402021-01-27 Jonathan Wakely <jwakely@redhat.com>
1641
1642 * testsuite/experimental/simd/generate_makefile.sh: Use printf
1643 instead of echo when printing escape characters.
1644
16452021-01-27 Matthias Kretz <kretz@kde.org>
1646
1647 * scripts/check_simd: New file. This script is called from the
1648 the check-simd target. It determines a set of compiler flags and
1649 simulator setups for calling generate_makefile.sh and passes the
1650 information back to the check-simd target, which recurses to the
1651 generated Makefiles.
1652 * scripts/create_testsuite_files: Remove files below simd/tests/
1653 from testsuite_files and place them in testsuite_files_simd.
1654 * testsuite/Makefile.am: Add testsuite_files_simd. Add
1655 check-simd target.
1656 * testsuite/Makefile.in: Regenerate.
1657 * testsuite/experimental/simd/driver.sh: New file. This script
1658 compiles and runs a given simd test, logging its output and
1659 status. It uses the timeout command to implement compile and
1660 test timeouts.
1661 * testsuite/experimental/simd/generate_makefile.sh: New file.
1662 This script generates a Makefile which uses driver.sh to compile
1663 and run the tests and collect the logs into a single log file.
1664 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
1665 abs(simd).
1666 * testsuite/experimental/simd/tests/algorithms.cc: New file.
1667 Tests min/max(simd, simd).
1668 * testsuite/experimental/simd/tests/bits/conversions.h: New
1669 file. Contains functions to support tests involving conversions.
1670 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
1671 Support functions make_mask and make_vec.
1672 * testsuite/experimental/simd/tests/bits/mathreference.h: New
1673 file. Support functions to supply precomputed math function
1674 reference data.
1675 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
1676 file. Support code for SFINAE testing.
1677 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
1678 * testsuite/experimental/simd/tests/bits/test_values.h: New
1679 file. Test functions to easily drive a test with simd objects
1680 initialized from a given list of values and a range of random
1681 values.
1682 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
1683 Support code to determine the ULP distance of simd objects.
1684 * testsuite/experimental/simd/tests/bits/verify.h: New file.
1685 Test framework for COMPARE'ing simd objects and instantiating
1686 the test templates with value_type and ABI tag.
1687 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
1688 simd broadcasts.
1689 * testsuite/experimental/simd/tests/casts.cc: New file. Test
1690 simd casts.
1691 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
1692 Test floating-point classification functions.
1693 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
1694 frexp(simd).
1695 * testsuite/experimental/simd/tests/generator.cc: New file. Test
1696 simd generator constructor.
1697 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
1698 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
1699 * testsuite/experimental/simd/tests/integer_operators.cc: New
1700 file. Test integer operators.
1701 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1702 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
1703 modf(simd).
1704 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
1705 (converting) simd loads and stores.
1706 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
1707 log*(simd).
1708 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
1709 Test simd_mask broadcasts.
1710 * testsuite/experimental/simd/tests/mask_conversions.cc: New
1711 file. Test simd_mask conversions.
1712 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
1713 file. Test simd_mask implicit conversions.
1714 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
1715 Test simd_mask loads and stores.
1716 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
1717 file. Test simd_mask operators convert as specified.
1718 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
1719 Test simd_mask compares, subscripts, and negation.
1720 * testsuite/experimental/simd/tests/mask_reductions.cc: New
1721 file. Test simd_mask reductions.
1722 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
1723 1-arg math functions on simd.
1724 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
1725 2-arg math functions on simd.
1726 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
1727 Test implicit conversions on simd binary operators behave as
1728 specified.
1729 * testsuite/experimental/simd/tests/operators.cc: New file. Test
1730 simd compares, subscripts, not, unary minus, plus, minus,
1731 multiplies, divides, increment, and decrement.
1732 * testsuite/experimental/simd/tests/reductions.cc: New file.
1733 Test reduce(simd).
1734 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
1735 remqo(simd).
1736 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
1737 sanity checks of simd types.
1738 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
1739 sin(simd) and cos(simd).
1740 * testsuite/experimental/simd/tests/split_concat.cc: New file.
1741 Test split(simd) and concat(simd, simd).
1742 * testsuite/experimental/simd/tests/splits.cc: New file. Test
1743 split(simd_mask).
1744 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
1745 Test remaining trigonometric functions on simd.
1746 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
1747 file. Test trunc(simd), ceil(simd), and floor(simd).
1748 * testsuite/experimental/simd/tests/where.cc: New file. Test
1749 masked operations using where.
1750
17512021-01-27 Matthias Kretz <kretz@kde.org>
1752
1753 * doc/xml/manual/status_cxx2017.xml: Add implementation status
1754 of the Parallelism TS 2. Document implementation-defined types
1755 and behavior.
1756 * include/Makefile.am: Add new headers.
1757 * include/Makefile.in: Regenerate.
1758 * include/experimental/simd: New file. New header for
1759 Parallelism TS 2.
1760 * include/experimental/bits/numeric_traits.h: New file.
1761 Implementation of P1841R1 using internal naming. Addition of
1762 missing IEC559 functionality query.
1763 * include/experimental/bits/simd.h: New file. Definition of the
1764 public simd interfaces and general implementation helpers.
1765 * include/experimental/bits/simd_builtin.h: New file.
1766 Implementation of the _VecBuiltin simd_abi.
1767 * include/experimental/bits/simd_converter.h: New file. Generic
1768 simd conversions.
1769 * include/experimental/bits/simd_detail.h: New file. Internal
1770 macros for the simd implementation.
1771 * include/experimental/bits/simd_fixed_size.h: New file. Simd
1772 fixed_size ABI specific implementations.
1773 * include/experimental/bits/simd_math.h: New file. Math
1774 overloads for simd.
1775 * include/experimental/bits/simd_neon.h: New file. Simd NEON
1776 specific implementations.
1777 * include/experimental/bits/simd_ppc.h: New file. Implement bit
1778 shifts to avoid invalid results for integral types smaller than
1779 int.
1780 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
1781 ABI specific implementations.
1782 * include/experimental/bits/simd_x86.h: New file. Simd x86
1783 specific implementations.
1784 * include/experimental/bits/simd_x86_conversions.h: New file.
1785 x86 specific conversion optimizations. The conversion patterns
1786 work around missing conversion patterns in the compiler and
1787 should be removed as soon as PR85048 is resolved.
1788 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
1789 Test that all (not all fixed_size<N>, though) standard simd and
1790 simd_mask types are usable.
1791 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
1792 file. As above but with -ffast-math.
1793 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
1794 from the standard test loop. Instead use
1795 check_vect_support_and_set_flags to build simd tests with the
1796 relevant machine flags.
1797
17982021-01-27 Jonathan Wakely <jwakely@redhat.com>
1799
1800 PR libstdc++/66414
1801 * include/bits/string_view.tcc
1802 (basic_string_view::find(const CharT*, size_type, size_type)):
1803 Optimize.
1804
18052021-01-27 Paul Fee <paul.f.fee@gmail.com>
1806
1807 * include/bits/basic_string.h (basic_string::contains): New
1808 member functions.
1809 * include/std/string_view (basic_string_view::contains):
1810 Likewise.
1811 * include/std/version (__cpp_lib_string_contains): Define.
1812 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
1813 Remove trailing whitespace.
1814 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
1815 Likewise.
1816 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
1817 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
1818 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
1819 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
1820 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
1821
7559d465
GA
18222021-01-21 Jonathan Wakely <jwakely@redhat.com>
1823
1824 * src/c++17/Makefile.in: Regenerate.
1825
b93d0e36
GA
18262021-01-20 David Edelsohn <dje.gcc@gmail.com>
1827
1828 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
1829 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
1830 __lc_type.
1831 (const char* ctype<char>:: is): Same.
1832
ef1f8ee6
GA
18332021-01-18 Jonathan Wakely <jwakely@redhat.com>
1834
1835 PR libstdc++/98725
1836 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
1837 write to a wide character stream if wide character support is
1838 disabled in the library.
1839
18402021-01-18 Jonathan Wakely <jwakely@redhat.com>
1841
1842 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
1843 stringbuf not wstringbuf.
1844
18452021-01-18 Jakub Jelinek <jakub@redhat.com>
1846
1847 PR debug/98708
1848 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
1849 Compile with -gno-as-loc-support.
1850 * src/c++11/Makefile.in: Regenerated.
1851
59cf67d1
GA
18522021-01-16 H.J. Lu <hjl.tools@gmail.com>
1853
1854 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1855 Add -fcf-protection=none to -march=i486.
1856
5fff80fd
GA
18572021-01-14 François Dumont <fdumont@gcc.gnu.org>
1858
1859 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
1860 compliant.
1861
18622021-01-14 Alexandre Oliva <oliva@adacore.com>
1863
1864 * testsuite/30_threads/future/members/poll.cc: Calibrate
1865 iteration count.
1866
18672021-01-14 François Dumont <fdumont@gcc.gnu.org>
1868
1869 PR libstdc++/98466
1870 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
1871 (_Node_iterator()): Make default.
1872 (_Node_const_iterator()): Make default.
1873 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
1874 iterator checks.
1875 * include/debug/safe_iterator.h
1876 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
1877 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
1878 Likewise.
1879 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
1880 _M_singular checks on input iterators.
1881 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
1882 checks.
1883 * testsuite/23_containers/deque/debug/98466.cc: New test.
1884 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
1885
18862021-01-14 Jonathan Wakely <jwakely@redhat.com>
1887
1888 PR libstdc++/98471
1889 * include/bits/fs_path.h (__throw_conversion_error): New
1890 function to throw or abort on character conversion errors.
1891 (__wstr_from_utf8): Move definition after filesystem_error has
1892 been defined. Use __throw_conversion_error.
1893 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
1894 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
1895 (path::u8string): Likewise.
1896
18972021-01-14 Jonathan Wakely <jwakely@redhat.com>
1898
1899 * include/std/barrier: Update copyright years. Fix whitespace.
1900 * include/std/version: Fix whitespace.
1901 * testsuite/30_threads/barrier/1.cc: Update copyright years.
1902 * testsuite/30_threads/barrier/2.cc: Likewise.
1903 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1904 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1905 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1906 * testsuite/30_threads/barrier/completion.cc: Likewise.
1907
be0851b8
GA
19082021-01-13 Jonathan Wakely <jwakely@redhat.com>
1909
1910 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
1911
366f86bd
GA
19122021-01-10 David Edelsohn <dje.gcc@gmail.com>
1913
1914 PR libstdc++/98613
1915 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
1916 warning.
1917 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
1918
bf5cbb9e
GA
19192021-01-08 Olivier Hainque <hainque@adacore.com>
1920
1921 * testsuite/20_util/bind/ref_neg.cc: Tweak the
1922 dg-prune-output regex for out-of-build-tree contexts.
1923
7d187e4f
GA
19242021-01-07 Thomas Rodgers <trodgers@redhat.com>
1925
1926 * doc/doxygen/user.cfg.in: Add new header.
1927 * include/Makefile.am (std_headers): likewise.
1928 * include/Makefile.in: Regenerate.
1929 * include/precompiled/stdc++.h: Add new header.
1930 * include/std/barrier: New file.
1931 * include/std/version: Add __cpp_lib_barrier feature test macro.
1932 * testsuite/30_threads/barrier/1.cc: New test.
1933 * testsuite/30_threads/barrier/2.cc: Likewise.
1934 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1935 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1936 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1937 * testsuite/30_threads/barrier/completion.cc: Likewise.
1938
19392021-01-07 Patrick Palka <ppalka@redhat.com>
1940
1941 PR libstdc++/98384
1942 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
1943 instead of the non-standard nextupl and nextdownl.
1944
651b8a50
GA
19452021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1946
1947 * configure: Re-generate.
1948
19492021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1950
1951 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
1952
b6dd195a
GA
19532021-01-01 Jakub Jelinek <jakub@redhat.com>
1954
1955 * ChangeLog-2020: Rotate ChangeLog. New file.
1956
b4df5e92 1957\f
618e665a 1958Copyright (C) 2021 Free Software Foundation, Inc.
b4df5e92
JW
1959
1960Copying and distribution of this file, with or without modification,
1961are permitted in any medium without royalty provided the copyright
1962notice and this notice are preserved.