1 2023-11-07 François Dumont <fdumont@gcc.gnu.org>
3 * include/bits/hashtable_policy.h
4 (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor
5 on construct exception.
7 2023-11-07 Richard Biener <rguenther@suse.de>
10 * src/c++98/locale.cc (locale::facet::_S_initialize_once):
11 Check whether _S_c_locale is already initialized.
12 (locale::facet::_S_get_c_locale): Always perform non-threadsafe
13 init when threadsafe init failed.
15 2023-11-06 Ian Lance Taylor <iant@golang.org>
17 PR libbacktrace/111315
18 PR libbacktrace/112263
19 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
20 grepping link.h for dl_iterate_phdr.
21 * configure: Regenerate.
23 2023-11-06 Jonathan Wakely <jwakely@redhat.com>
25 * include/std/expected (expected::and_then, expected::or_else):
26 Add string literals to static assertions.
27 * include/std/optional (optional::and_then, optional::or_else):
30 2023-11-04 Feng Jisen <J1senn@outlook.com>
32 * include/bits/utility.h (_Nth_type): Remove redundant partial
35 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
38 * include/std/system_error (system_error::system_error): Group
39 arguments so that concatenation can reuse rvalue's capacity.
40 * src/c++11/system_error.cc (strerror_string): New function.
41 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
42 (generic_error_category::message): Use strerror_string.
43 (system_error_category::message): Likewise.
45 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
47 * doc/xml/manual/appendix_contributing.xml: Replace example that
49 * doc/html/manual/source_code_style.html: Regenerate.
51 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
54 * include/std/string_view (string_view::remove_suffix): Add
56 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
58 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
61 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
63 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
64 * configure: Regenerate.
66 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
68 * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently
69 added emul TLS symbols.
71 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
73 * src/experimental/contract.cc
74 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment.
75 Remove weak attribute.
77 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
79 * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
82 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
84 * src/experimental/contract.cc
85 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
86 without version namespace decoration for gcc.
88 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
91 * include/std/shared_mutex (shared_lock::unlock): Change errc
92 constant to operation_not_permitted.
93 * testsuite/30_threads/shared_lock/locking/112089.cc: New test.
95 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
97 * testsuite/20_util/duration/io.cc: Double timeout using
99 * testsuite/std/time/day/io.cc: Likewise.
100 * testsuite/std/time/format.cc: Likewise.
101 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
102 * testsuite/std/time/month/io.cc: Likewise.
103 * testsuite/std/time/month_day/io.cc: Likewise.
104 * testsuite/std/time/month_day_last/io.cc: Likewise.
105 * testsuite/std/time/month_weekday/io.cc: Likewise.
106 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
107 * testsuite/std/time/weekday/io.cc: Likewise.
108 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
109 * testsuite/std/time/weekday_last/io.cc: Likewise.
110 * testsuite/std/time/year/io.cc: Likewise.
111 * testsuite/std/time/year_month/io.cc: Likewise.
112 * testsuite/std/time/year_month_day/io.cc: Likewise.
113 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
114 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
115 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
116 * testsuite/std/time/zoned_time/io.cc: Likewise.
118 2023-10-25 Jonathan Wakely <jwakely@redhat.com>
121 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
123 * src/libbacktrace/Makefile.in: Regenerate.
125 2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com>
127 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
129 * include/Makefile.in: Regenerate.
131 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
133 * configure: Regenerate.
134 * configure.ac: Handle Darwin rpaths.
135 * src/Makefile.am: Handle Darwin rpaths.
136 * src/Makefile.in: Regenerate.
138 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
140 * include/bits/basic_string.h (_M_init_local_buf()): New
142 (_M_use_local_data()): Use _M_init_local_buf.
143 (basic_string(), basic_string(const Alloc&))
144 (basic_string(basic_string&&))
145 (basic_string(basic_string&&, const Alloc&)): Use
146 _M_init_local_buf instead of _M_use_local_data().
147 * include/bits/basic_string.tcc (swap(basic_string&))
148 (_M_construct(InIter, InIter, input_iterator_tag))
149 (_M_construct(InIter, InIter, forward_iterator_tag))
150 (_M_construct(size_type, CharT), reserve()): Likewise.
152 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
154 * include/std/ranges (zip_view, adjacent_view): Implement
155 workaround for LLVM-61763.
157 2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com>
159 * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()
161 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
163 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
166 2023-10-20 Marek Polacek <polacek@redhat.com>
169 * include/std/charconv (from_chars): Add explicit casts.
171 2023-10-19 François Dumont <fdumont@gcc.gnu.org>
173 * include/bits/hashtable_policy.h
174 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
175 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
176 * include/bits/hashtable.h
177 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
178 (_M_merge_unique<>, _M_merge_multi<>): Use latter.
179 * testsuite/23_containers/unordered_map/modifiers/merge.cc
180 (test04, test05, test06): New test cases.
182 2023-10-13 Jakub Jelinek <jakub@redhat.com>
184 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
185 Initialize stream to va_arg(ap, FILE*) rather than 0.
186 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
189 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
191 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
192 testsuite/29_atomics/atomic_flag/clear/1.cc,
193 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
194 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
195 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
196 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
197 testsuite/29_atomics/atomic_ref/generic.cc,
198 testsuite/29_atomics/atomic_ref/integral.cc,
199 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
200 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
202 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
204 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
206 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
209 2023-10-05 François Dumont <fdumont@gcc.gnu.org>
211 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
212 for _Float{16,32,64,128,32x,64x,128x}.
214 2023-10-04 Tom Tromey <tromey@adacore.com>
216 * python/libstdcxx/v6/printers.py
217 (StdExpAnyPrinter.__init__): Qualify call to
220 2023-10-04 Tom Tromey <tromey@adacore.com>
222 * python/libstdcxx/v6/printers.py: Assume that
223 _versioned_namespace is non-None.
224 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
225 Assume that _versioned_namespace is non-None.
227 2023-10-04 Tom Tromey <tromey@adacore.com>
229 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
232 2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com>
235 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
237 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
238 (ucs4_in): Fix handling of range with odd number of bytes.
239 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
240 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
241 (ucs2_in): Fix handling of range with odd number of bytes.
242 (__codecvt_utf16_base<char16_t>::do_in): Likewise.
243 (__codecvt_utf16_base<char32_t>::do_in): Likewise.
244 (__codecvt_utf16_base<wchar_t>::do_in): Likewise.
245 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
246 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
247 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
248 testing functions for char8_t, add more test cases for errors,
249 add testing functions for codecvt_utf16.
250 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
251 Renames, add tests for codecvt_utf16<whchar_t>.
252 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
254 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
257 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
259 * include/bits/basic_string.h: (basic_string(basic_string&&)):
260 Activate _M_local_buf when needed.
261 (basic_string(basic_string&&, const _Alloc&)): Likewise.
262 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
263 * include/std/variant: (__detail::__variant::__construct_n): New.
264 (__detail::__variant::__emplace): Use __construct_n.
266 2023-09-28 Tom Tromey <tromey@adacore.com>
268 * python/libstdcxx/v6/printers.py (Printer.add_version)
269 (add_one_template_type_printer)
270 (FilteringTypePrinter.add_one_type_printer): Use Python
273 2023-09-28 Tom Tromey <tromey@adacore.com>
275 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
278 2023-09-28 Tom Tromey <tromey@adacore.com>
280 * python/libstdcxx/v6/printers.py
281 (StdExpOptionalPrinter.__init__, lookup_node_type):
282 Remove unused variables.
284 2023-09-28 Tom Tromey <tromey@adacore.com>
286 * python/libstdcxx/v6/printers.py: Don't import 'os'.
287 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
289 2023-09-28 Tom Tromey <tromey@adacore.com>
291 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
292 everywhere. Rename members to start with "_".
294 2023-09-28 Tom Tromey <tromey@adacore.com>
296 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python
297 stack traces from gdb.
299 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
301 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
303 (ArrayMethodsMatcher, DequeMethodsMatcher)
304 (ForwardListMethodsMatcher, ListMethodsMatcher)
305 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
306 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
307 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
308 is_specialization_of instead of re.match.
310 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
312 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
313 strings for regular expressions. Add whitespace around
315 (is_member_of_namespace): Use isinstance to check type.
316 (is_specialization_of): Likewise. Adjust template_name
317 for versioned namespace instead of duplicating the re.match
319 (StdExpAnyPrinter._string_types): New static method.
320 (StdExpAnyPrinter.to_string): Use _string_types.
322 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
324 * python/libstdcxx/v6/printers.py: Format docstrings according
326 * python/libstdcxx/v6/xmethods.py: Likewise.
328 2023-09-28 Tim Song <t.canens.cpp@gmail.com>
331 * include/bits/hashtable_policy.h
332 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
333 Add [[__gnu__::__always_inline__]].
335 2023-09-27 Jonathan Wakely <jwakely@redhat.com>
337 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
338 Fix incorrect number of replacement fields.
340 2023-09-26 Hans-Peter Nilsson <hp@axis.com>
342 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
343 dg-require-thread-fence.
345 2023-09-25 Patrick Palka <ppalka@redhat.com>
347 * include/std/charconv (__detail::__integer_to_chars_result_type):
349 (__detail::__to_chars_16): Use to_chars_result as return type.
350 (__detail::__to_chars_10): Likewise.
351 (__detail::__to_chars_8): Likewise.
352 (__detail::__to_chars_2): Likewise.
353 (__detail::__to_chars_i): Likewise.
354 (__detail::__integer_from_chars_result_type): Inline the
356 (from_chars): ... here. Use __is_standard_integer in the
357 constraint. Encode constraint as a defaulted non-type template
358 parameter instead of within the return type.
360 2023-09-25 John David Anglin <danglin@gcc.gnu.org>
362 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
364 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
368 * include/std/array (to_array): Cast memcpy arguments to void*.
369 * testsuite/23_containers/array/creation/111512.cc: New test.
371 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
373 * include/bits/move.h (forward_list): Define for C++23.
374 * include/bits/version.def (forward_like): Define.
375 * include/bits/version.h: Regenerate.
376 * include/std/utility (__glibcxx_want_forward_like): Define.
377 * testsuite/20_util/forward_like/1.cc: New test.
378 * testsuite/20_util/forward_like/2_neg.cc: New test.
379 * testsuite/20_util/forward_like/version.cc: New test.
381 2023-09-19 Marek Polacek <polacek@redhat.com>
383 * testsuite/20_util/allocator/105975.cc: Add dg-error.
385 2023-09-18 Patrick Palka <ppalka@redhat.com>
389 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
390 Make data member seed_seq::called mutable.
391 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
393 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
395 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
397 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
399 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
401 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
404 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
406 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
407 * doc/html/manual/status.html: Regenerate.
409 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
411 * doc/xml/manual/configure.xml: Use conventional option name.
412 * doc/xml/manual/status_cxx2020.xml: Update.
413 * doc/xml/manual/status_cxx2023.xml: Update.
414 * doc/html/*: Regenerate.
416 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
418 * doc/xml/manual/intro.xml: Clarify that building libstdc++
419 separately from GCC is not supported.
420 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
422 * doc/html/manual/setup.html: Regenerate.
424 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
426 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
427 restrict to pthreads targets.
428 * testsuite/30_threads/jthread/3.cc: Likewise.
429 * testsuite/30_threads/semaphore/100806.cc: Likewise.
430 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
431 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
432 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
434 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
436 * testsuite/18_support/coroutines/95917.cc: Remove dg-options
438 * testsuite/18_support/coroutines/hash.cc: Likewise.
439 * testsuite/18_support/coroutines/lwg3460.cc: Likewise.
440 * testsuite/18_support/destroying_delete.cc: Likewise.
441 * testsuite/18_support/source_location/1.cc: Likewise.
442 * testsuite/18_support/source_location/consteval.cc: Likewise.
443 * testsuite/18_support/source_location/version.cc: Likewise.
444 * testsuite/19_diagnostics/error_category/operators/three_way.cc:
446 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
448 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
450 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
451 * testsuite/26_numerics/adjacent_difference/lwg2055.cc:
453 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
454 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
455 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
456 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
457 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
458 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
460 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
462 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
464 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
465 * testsuite/experimental/filesystem/iterators/106201.cc:
467 * testsuite/experimental/scopeguard/exit.cc: Likewise.
468 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
470 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
472 * testsuite/30_threads/barrier/1.cc: Remove dg-options
474 * testsuite/30_threads/barrier/2.cc: Likewise.
475 * testsuite/30_threads/barrier/arrive.cc: Likewise.
476 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
477 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
478 * testsuite/30_threads/barrier/completion.cc: Likewise.
479 * testsuite/30_threads/condition_variable/members/clock_neg.cc:
481 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
483 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
485 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
487 * testsuite/30_threads/future/members/clock_neg.cc: Likewise.
488 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
489 * testsuite/30_threads/headers/thread/types_std_c++20.cc:
491 * testsuite/30_threads/jthread/1.cc: Likewise.
492 * testsuite/30_threads/jthread/100612.cc: Likewise.
493 * testsuite/30_threads/jthread/95989.cc: Likewise.
494 * testsuite/30_threads/jthread/jthread.cc: Likewise.
495 * testsuite/30_threads/jthread/version.cc: Likewise.
496 * testsuite/30_threads/latch/1.cc: Likewise.
497 * testsuite/30_threads/latch/2.cc: Likewise.
498 * testsuite/30_threads/latch/3.cc: Likewise.
499 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
501 * testsuite/30_threads/semaphore/1.cc: Likewise.
502 * testsuite/30_threads/semaphore/2.cc: Likewise.
503 * testsuite/30_threads/semaphore/least_max_value_neg.cc:
505 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
506 * testsuite/30_threads/shared_future/members/clock_neg.cc:
508 * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
510 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
512 * testsuite/30_threads/stop_token/1.cc: Likewise.
513 * testsuite/30_threads/stop_token/2.cc: Likewise.
514 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
515 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
517 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
519 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
521 * testsuite/30_threads/stop_token/stop_callback/invoke.cc:
523 * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
524 * testsuite/30_threads/stop_token/stop_source/assign.cc:
526 * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
527 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
529 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
530 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
532 * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
535 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
537 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
538 Remove dg-options -std=gnu++2a.
539 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
541 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
543 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
545 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
546 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
548 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
549 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
551 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
552 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
554 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
555 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
557 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
559 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
560 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
562 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
563 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
565 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
566 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
568 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
569 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
570 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
571 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
572 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
573 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
574 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
575 * testsuite/27_io/basic_stringstream/cons/char/97719.cc:
577 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
579 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
580 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
582 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
583 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
585 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
586 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
587 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
588 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
589 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
590 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
591 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
592 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
593 * testsuite/27_io/basic_syncstream/requirements/types.cc:
595 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
596 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
597 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
599 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
602 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
604 * testsuite/26_numerics/accumulate/constexpr.cc: Remove
605 dg-options -std=gnu++2a.
606 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
607 * testsuite/26_numerics/adjacent_difference/constexpr.cc:
609 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
610 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
611 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
612 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
613 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
615 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
616 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
617 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
618 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
619 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
620 * testsuite/26_numerics/bit/header-2.cc: Likewise.
621 * testsuite/26_numerics/bit/header.cc: Likewise.
622 * testsuite/26_numerics/complex/1.cc: Likewise.
623 * testsuite/26_numerics/complex/2.cc: Likewise.
624 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
626 * testsuite/26_numerics/complex/operators/more_constexpr.cc:
628 * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
630 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
632 * testsuite/26_numerics/endian/1.cc: Likewise.
633 * testsuite/26_numerics/endian/2.cc: Likewise.
634 * testsuite/26_numerics/endian/3.cc: Likewise.
635 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
636 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
637 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
638 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
639 * testsuite/26_numerics/iota/constexpr.cc: Likewise.
640 * testsuite/26_numerics/lerp/1.cc: Likewise.
641 * testsuite/26_numerics/lerp/constexpr.cc: Likewise.
642 * testsuite/26_numerics/lerp/version.cc: Likewise.
643 * testsuite/26_numerics/midpoint/floating.cc: Likewise.
644 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
645 * testsuite/26_numerics/midpoint/pointer.cc: Likewise.
646 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
647 * testsuite/26_numerics/midpoint/version.cc: Likewise.
648 * testsuite/26_numerics/numbers/1.cc: Likewise.
649 * testsuite/26_numerics/numbers/2.cc: Likewise.
650 * testsuite/26_numerics/numbers/3.cc: Likewise.
651 * testsuite/26_numerics/numbers/float128.cc: Likewise.
652 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
653 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
654 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
655 * testsuite/26_numerics/random/concept.cc: Likewise.
656 * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
657 * testsuite/26_numerics/slice/compare.cc: Likewise.
658 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
660 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
662 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
664 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
666 * testsuite/24_iterators/aliases.cc: Remove dg-options
668 * testsuite/24_iterators/associated_types/incrementable.traits.cc:
670 * testsuite/24_iterators/associated_types/iterator.traits.cc:
672 * testsuite/24_iterators/associated_types/readable.traits.cc:
674 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
676 * testsuite/24_iterators/back_insert_iterator/pr93884.cc:
678 * testsuite/24_iterators/bidirectional/concept.cc: Likewise.
679 * testsuite/24_iterators/common_iterator/1.cc: Likewise.
680 * testsuite/24_iterators/common_iterator/100823.cc: Likewise.
681 * testsuite/24_iterators/common_iterator/2.cc: Likewise.
682 * testsuite/24_iterators/contiguous/concept.cc: Likewise.
683 * testsuite/24_iterators/contiguous/tag.cc: Likewise.
684 * testsuite/24_iterators/counted_iterator/1.cc: Likewise.
685 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
686 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
687 * testsuite/24_iterators/customization_points/92894.cc:
689 * testsuite/24_iterators/customization_points/iter_move.cc:
691 * testsuite/24_iterators/customization_points/iter_swap.cc:
693 * testsuite/24_iterators/customization_points/lwg3420.cc:
695 * testsuite/24_iterators/forward/concept.cc: Likewise.
696 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
698 * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
700 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
702 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
703 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
705 * testsuite/24_iterators/indirect_callable/projected.cc:
707 * testsuite/24_iterators/input/concept.cc: Likewise.
708 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
709 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
711 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
712 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
714 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
716 * testsuite/24_iterators/move_iterator/cust.cc: Likewise.
717 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
718 * testsuite/24_iterators/move_iterator/input_iterator.cc:
720 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
721 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
722 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
723 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
724 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
726 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
727 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
728 * testsuite/24_iterators/output/concept.cc: Likewise.
729 * testsuite/24_iterators/random_access/concept.cc: Likewise.
730 * testsuite/24_iterators/range_access/range_access_cpp20.cc:
732 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
734 * testsuite/24_iterators/range_operations/100768.cc: Likewise.
735 * testsuite/24_iterators/range_operations/advance.cc: Likewise.
736 * testsuite/24_iterators/range_operations/advance_overflow.cc:
738 * testsuite/24_iterators/range_operations/distance.cc: Likewise.
739 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
740 * testsuite/24_iterators/range_operations/next.cc: Likewise.
741 * testsuite/24_iterators/range_operations/prev.cc: Likewise.
742 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
743 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
744 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
747 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
749 * testsuite/23_containers/array/comparison_operators/96851.cc:
750 Remove dg-options -std=gnu++2a.
751 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
753 * testsuite/23_containers/array/creation/1.cc: Likewise.
754 * testsuite/23_containers/array/creation/110167.cc: Likewise.
755 * testsuite/23_containers/array/creation/2.cc: Likewise.
756 * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
757 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
759 * testsuite/23_containers/array/requirements/constexpr_swap.cc:
761 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
762 * testsuite/23_containers/deque/erasure.cc: Likewise.
763 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
765 * testsuite/23_containers/deque/operators/cmp_c++20.cc:
767 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
768 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
769 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
770 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
772 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
774 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
776 * testsuite/23_containers/list/48101-3_neg.cc: Likewise.
777 * testsuite/23_containers/list/cmp_c++20.cc: Likewise.
778 * testsuite/23_containers/list/erasure.cc: Likewise.
779 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
781 * testsuite/23_containers/list/operations/remove_cxx20_return.cc:
783 * testsuite/23_containers/list/operations/unique_cxx20_return.cc:
785 * testsuite/23_containers/map/48101-3_neg.cc: Likewise.
786 * testsuite/23_containers/map/erasure.cc: Likewise.
787 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
789 * testsuite/23_containers/map/operations/contains.cc: Likewise.
790 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
791 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
792 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
794 * testsuite/23_containers/multimap/operations/contains.cc:
796 * testsuite/23_containers/multimap/operators/cmp_c++20.cc:
798 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
799 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
801 * testsuite/23_containers/multiset/operations/contains.cc:
803 * testsuite/23_containers/multiset/operators/cmp_c++20.cc:
805 * testsuite/23_containers/priority_queue/92878_92947.cc:
807 * testsuite/23_containers/queue/92878_92947.cc: Likewise.
808 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
809 * testsuite/23_containers/set/48101-3_neg.cc: Likewise.
810 * testsuite/23_containers/set/erasure.cc: Likewise.
811 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
813 * testsuite/23_containers/set/operations/contains.cc: Likewise.
814 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
815 * testsuite/23_containers/span/1.cc: Likewise.
816 * testsuite/23_containers/span/101411.cc: Likewise.
817 * testsuite/23_containers/span/2.cc: Likewise.
818 * testsuite/23_containers/span/deduction.cc: Likewise.
819 * testsuite/23_containers/span/explicit.cc: Likewise.
820 * testsuite/23_containers/span/layout_compat.cc: Likewise.
821 * testsuite/23_containers/span/lwg3255.cc: Likewise.
822 * testsuite/23_containers/span/nothrow_cons.cc: Likewise.
823 * testsuite/23_containers/span/trivially_copyable.cc: Likewise.
824 * testsuite/23_containers/stack/92878_92947.cc: Likewise.
825 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
826 * testsuite/23_containers/unordered_map/48101-3_neg.cc:
828 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
829 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
831 * testsuite/23_containers/unordered_map/operations/1.cc:
833 * testsuite/23_containers/unordered_map/operations/contains.cc:
835 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
837 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
839 * testsuite/23_containers/unordered_multimap/operations/1.cc:
841 * testsuite/23_containers/unordered_multimap/operations/contains.cc:
843 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
845 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
847 * testsuite/23_containers/unordered_multiset/operations/1.cc:
849 * testsuite/23_containers/unordered_multiset/operations/contains.cc:
851 * testsuite/23_containers/unordered_set/48101-3_neg.cc:
853 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
854 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
856 * testsuite/23_containers/unordered_set/operations/1.cc:
858 * testsuite/23_containers/unordered_set/operations/contains.cc:
860 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
861 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
863 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
864 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
866 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
868 * testsuite/23_containers/vector/bool/iterator_c++20.cc:
870 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
872 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
874 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
876 * testsuite/23_containers/vector/capacity/constexpr.cc:
878 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
879 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
880 * testsuite/23_containers/vector/data_access/constexpr.cc:
882 * testsuite/23_containers/vector/element_access/constexpr.cc:
884 * testsuite/23_containers/vector/erasure.cc: Likewise.
885 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
887 * testsuite/23_containers/vector/modifiers/constexpr.cc:
889 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
891 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
893 * testsuite/23_containers/vector/requirements/version.cc:
896 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
898 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
899 dg-options -std=gnu++20.
900 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
902 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
904 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
905 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
907 * testsuite/21_strings/basic_string/literals/constexpr.cc:
909 * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
911 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
913 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
915 * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
917 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
919 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
921 * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
923 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
925 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
927 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
929 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
931 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
933 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
935 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
937 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
939 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
941 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
943 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
945 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
947 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
949 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
951 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
953 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
955 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
958 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
960 * testsuite/20_util/allocator/105975.cc: Remove dg-options
962 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
963 * testsuite/20_util/allocator/requirements/constexpr.cc:
965 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
967 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
968 * testsuite/20_util/allocator_traits/header.cc: Likewise.
969 * testsuite/20_util/allocator_traits/members/92878_92947.cc:
971 * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
972 * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
973 * testsuite/20_util/assume_aligned/1.cc: Likewise.
974 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
975 * testsuite/20_util/assume_aligned/3.cc: Likewise.
976 * testsuite/20_util/assume_aligned/97132.cc: Likewise.
977 * testsuite/20_util/bind/constexpr.cc: Likewise.
978 * testsuite/20_util/bitset/operations/96303.cc: Likewise.
979 * testsuite/20_util/common_reference/100894.cc: Likewise.
980 * testsuite/20_util/common_reference/requirements/alias_decl.cc:
982 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
984 * testsuite/20_util/common_reference/requirements/typedefs.cc:
986 * testsuite/20_util/duration/comparison_operators/three_way.cc:
988 * testsuite/20_util/exchange/constexpr.cc: Likewise.
989 * testsuite/20_util/exchange/noexcept.cc: Likewise.
990 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
991 * testsuite/20_util/from_chars/compare.cc: Likewise.
992 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
993 * testsuite/20_util/function_objects/bind_front/107784.cc:
995 * testsuite/20_util/function_objects/bind_front/111327.cc:
997 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
998 * testsuite/20_util/function_objects/bind_front/97101.cc:
1000 * testsuite/20_util/function_objects/bind_front/constexpr.cc:
1002 * testsuite/20_util/function_objects/constexpr_searcher.cc:
1004 * testsuite/20_util/function_objects/identity/1.cc: Likewise.
1005 * testsuite/20_util/function_objects/invoke/constexpr.cc:
1007 * testsuite/20_util/function_objects/mem_fn/constexpr.cc:
1009 * testsuite/20_util/function_objects/not_fn/constexpr.cc:
1011 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
1012 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
1013 * testsuite/20_util/integer_comparisons/equal.cc: Likewise.
1014 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
1015 * testsuite/20_util/integer_comparisons/greater.cc: Likewise.
1016 * testsuite/20_util/integer_comparisons/greater_equal.cc:
1018 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
1020 * testsuite/20_util/integer_comparisons/greater_neg.cc:
1022 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
1023 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
1025 * testsuite/20_util/integer_comparisons/less.cc: Likewise.
1026 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
1027 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
1029 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
1030 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
1031 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
1033 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
1035 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
1037 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
1038 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
1039 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
1040 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
1041 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
1043 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
1044 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
1045 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
1047 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
1049 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
1051 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
1052 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
1053 * testsuite/20_util/is_pointer_interconvertible/value.cc:
1055 * testsuite/20_util/is_pointer_interconvertible/version.cc:
1057 * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
1059 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
1061 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
1063 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
1064 * testsuite/20_util/optional/assignment/92878_92947.cc:
1066 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
1067 * testsuite/20_util/optional/constexpr/assign.cc: Likewise.
1068 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
1069 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
1070 * testsuite/20_util/optional/constexpr/swap.cc: Likewise.
1071 * testsuite/20_util/optional/relops/96269.cc: Likewise.
1072 * testsuite/20_util/optional/relops/three_way.cc: Likewise.
1073 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
1075 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
1076 * testsuite/20_util/pair/constexpr_assign.cc: Likewise.
1077 * testsuite/20_util/pair/constexpr_swap.cc: Likewise.
1078 * testsuite/20_util/pair/requirements/structural.cc: Likewise.
1079 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
1081 * testsuite/20_util/polymorphic_allocator/allocate_object.cc:
1083 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
1085 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
1086 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
1087 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
1088 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
1090 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
1092 * testsuite/20_util/remove_cvref/value.cc: Likewise.
1093 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
1095 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
1097 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
1098 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
1100 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
1101 * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
1103 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
1104 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
1105 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
1106 * testsuite/20_util/time_point/4.cc: Likewise.
1107 * testsuite/20_util/time_point/comparison_operators/three_way.cc:
1109 * testsuite/20_util/to_address/1.cc: Likewise.
1110 * testsuite/20_util/to_address/1_neg.cc: Likewise.
1111 * testsuite/20_util/to_address/debug.cc: Likewise.
1112 * testsuite/20_util/to_address/lwg3545.cc: Likewise.
1113 * testsuite/20_util/to_chars/compare.cc: Likewise.
1114 * testsuite/20_util/tuple/comparison_operators/three_way.cc:
1116 * testsuite/20_util/tuple/cons/102270.cc: Likewise.
1117 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
1119 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
1120 * testsuite/20_util/type_identity/requirements/alias_decl.cc:
1122 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
1124 * testsuite/20_util/type_identity/requirements/typedefs.cc:
1126 * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
1128 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
1130 * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
1132 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
1134 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
1136 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
1137 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
1138 * testsuite/20_util/unwrap_reference/2.cc: Likewise.
1139 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
1140 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
1141 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
1142 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
1143 * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
1145 * testsuite/20_util/variant/92878_92947.cc: Likewise.
1146 * testsuite/20_util/variant/95915.cc: Likewise.
1147 * testsuite/20_util/variant/constexpr.cc: Likewise.
1148 * testsuite/20_util/variant/relops/three_way.cc: Likewise.
1149 * testsuite/20_util/variant/visit_neg.cc: Likewise.
1150 * testsuite/20_util/variant/visit_r.cc: Likewise.
1151 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
1153 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1155 * testsuite/18_support/comparisons/algorithms/fallback.cc:
1156 Remove dg-options -std=gnu++2a.
1157 * testsuite/18_support/comparisons/algorithms/partial_order.cc:
1159 * testsuite/18_support/comparisons/algorithms/strong_order.cc:
1161 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
1163 * testsuite/18_support/comparisons/algorithms/weak_order.cc:
1165 * testsuite/18_support/comparisons/categories/94565.cc:
1167 * testsuite/18_support/comparisons/categories/partialord.cc:
1169 * testsuite/18_support/comparisons/categories/strongord.cc:
1171 * testsuite/18_support/comparisons/categories/weakord.cc:
1173 * testsuite/18_support/comparisons/categories/zero_neg.cc:
1175 * testsuite/18_support/comparisons/common/1.cc: Likewise.
1176 * testsuite/18_support/comparisons/object/93479.cc: Likewise.
1177 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
1179 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1181 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
1182 Remove dg-options -std=gnu++2a.
1183 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
1184 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
1185 * testsuite/29_atomics/atomic/requirements/types_neg.cc:
1187 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
1188 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
1189 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
1190 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
1191 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
1192 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
1193 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
1194 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
1195 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
1196 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
1197 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
1198 * testsuite/29_atomics/atomic_float/1.cc: Likewise.
1199 * testsuite/29_atomics/atomic_float/95282.cc: Likewise.
1200 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
1201 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
1202 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
1203 * testsuite/29_atomics/atomic_integral/cons/value_init.cc:
1205 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
1206 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
1208 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
1209 * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
1210 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
1211 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
1212 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
1213 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
1214 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
1216 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
1218 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
1220 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
1223 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1225 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
1226 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
1228 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1230 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
1232 * config.h.in: Regenerate.
1233 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
1234 basic_filebuf members.
1235 * config/io/basic_file_stdio.cc (__basic_file::native_handle):
1236 Define new function.
1237 * config/io/basic_file_stdio.h (__basic_file::native_handle):
1238 Declare new function.
1239 * configure: Regenerate.
1240 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
1241 * include/bits/version.def (fstream_native_handles): New macro.
1242 * include/bits/version.h: Regenerate.
1243 * include/std/fstream (basic_filebuf::native_handle)
1244 (basic_fstream::native_handle, basic_ifstream::native_handle)
1245 (basic_ofstream::native_handle): New functions.
1246 * src/c++11/Makefile.am: Move compilation of basic_file.cc,
1247 locale_init.cc and localename.cc to here.
1248 * src/c++11/Makefile.in: Regenerate.
1249 * src/c++98/locale_init.cc: Moved to...
1250 * src/c++11/locale_init.cc: ...here.
1251 * src/c++98/localename.cc: Moved to...
1252 * src/c++11/localename.cc: ...here.
1253 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
1254 and localename.cc from here.
1255 * src/c++98/Makefile.in: Regenerate.
1256 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
1257 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
1258 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
1259 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
1260 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
1261 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
1262 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
1264 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1266 * testsuite/libstdc++-dg/conformance.exp: Add log line when
1267 using testsuite_files.
1269 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1271 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
1273 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1275 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1277 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
1279 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
1281 * testsuite/20_util/synchronized_pool_resource/cons.cc:
1283 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
1285 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
1287 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
1289 * testsuite/20_util/synchronized_pool_resource/options.cc:
1291 * testsuite/20_util/synchronized_pool_resource/release.cc:
1293 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
1295 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
1297 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
1299 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
1302 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1304 * testsuite/23_containers/span/back_assert_neg.cc: Remove
1305 dg-options and add effective target selector to dg-do. Add
1307 * testsuite/23_containers/span/back_neg.cc: Likewise.
1308 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
1309 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
1310 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
1311 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
1312 * testsuite/23_containers/span/first_neg.cc: Likewise.
1313 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
1314 * testsuite/23_containers/span/front_neg.cc: Likewise.
1315 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
1316 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
1317 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
1318 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
1319 * testsuite/23_containers/span/last_neg.cc: Likewise.
1320 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
1322 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
1324 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
1326 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
1328 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
1330 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
1331 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
1332 * testsuite/24_iterators/range_operations/advance_debug_neg.cc:
1335 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1337 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
1339 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
1340 * testsuite/18_support/type_info/constexpr.cc: Likewise.
1341 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
1342 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
1343 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
1344 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
1345 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
1346 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
1347 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
1348 * testsuite/20_util/bitset/access/constexpr.cc: Likewise.
1349 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
1350 * testsuite/20_util/bitset/count/constexpr.cc: Likewise.
1351 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
1352 * testsuite/20_util/bitset/operations/constexpr_c++23.cc:
1354 * testsuite/20_util/bitset/version.cc: Likewise.
1355 * testsuite/20_util/from_chars/8.cc: Likewise.
1356 * testsuite/20_util/from_chars/constexpr.cc: Likewise.
1357 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
1358 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
1359 * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
1361 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
1362 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
1363 * testsuite/20_util/move_only_function/call.cc: Likewise.
1364 * testsuite/20_util/move_only_function/cons.cc: Likewise.
1365 * testsuite/20_util/move_only_function/move.cc: Likewise.
1366 * testsuite/20_util/move_only_function/version.cc: Likewise.
1367 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
1368 * testsuite/20_util/optional/monadic/or_else.cc: Likewise.
1369 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
1370 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
1371 * testsuite/20_util/optional/monadic/transform.cc: Likewise.
1372 * testsuite/20_util/pair/p2321r2.cc: Likewise.
1373 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
1374 * testsuite/20_util/reference_from_temporary/value2.cc:
1376 * testsuite/20_util/reference_from_temporary/version.cc:
1378 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
1379 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
1380 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
1381 * testsuite/20_util/to_chars/version.cc: Likewise.
1382 * testsuite/20_util/to_underlying/1.cc: Likewise.
1383 * testsuite/20_util/to_underlying/version.cc: Likewise.
1384 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
1385 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
1386 * testsuite/20_util/unique_ptr/comparison/constexpr.cc:
1388 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
1390 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
1391 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
1392 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
1393 * testsuite/20_util/unreachable/1.cc: Likewise.
1394 * testsuite/20_util/unreachable/version.cc: Likewise.
1395 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
1396 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
1397 * testsuite/21_strings/basic_string/operations/contains/char.cc:
1399 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
1400 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
1401 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
1402 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
1403 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
1404 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
1405 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
1406 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
1407 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
1408 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
1409 * testsuite/23_containers/vector/bool/element_access/1.cc:
1411 * testsuite/24_iterators/const_iterator/1.cc: Likewise.
1412 * testsuite/25_algorithms/contains/1.cc: Likewise.
1413 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
1414 * testsuite/25_algorithms/find_last/1.cc: Likewise.
1415 * testsuite/25_algorithms/find_last_if/1.cc: Likewise.
1416 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
1417 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
1418 * testsuite/25_algorithms/fold_right/1.cc: Likewise.
1419 * testsuite/25_algorithms/iota/1.cc: Likewise.
1420 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
1421 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
1422 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
1423 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
1424 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
1426 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
1428 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
1430 * testsuite/26_numerics/numbers/4.cc: Likewise.
1431 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
1432 * testsuite/27_io/filesystem/path/native/conv_c++23.cc:
1434 * testsuite/27_io/spanstream/1.cc: Likewise.
1435 * testsuite/27_io/spanstream/2.cc: Likewise.
1436 * testsuite/27_io/spanstream/version.cc: Likewise.
1437 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
1439 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
1441 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
1442 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
1444 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
1446 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
1447 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
1449 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
1450 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
1451 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
1452 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
1453 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
1454 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
1455 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
1456 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
1457 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
1458 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
1459 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
1460 * testsuite/std/ranges/repeat/1.cc: Likewise.
1461 * testsuite/std/ranges/version_c++23.cc: Likewise.
1462 * testsuite/std/ranges/zip/1.cc: Likewise.
1463 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
1465 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1467 * testsuite/20_util/expected/assign.cc: Remove dg-options.
1468 * testsuite/20_util/expected/bad.cc: Likewise.
1469 * testsuite/20_util/expected/cons.cc: Likewise.
1470 * testsuite/20_util/expected/equality.cc: Likewise.
1471 * testsuite/20_util/expected/illformed_neg.cc: Likewise.
1472 * testsuite/20_util/expected/lwg3877.cc: Likewise.
1473 * testsuite/20_util/expected/lwg3938.cc: Likewise.
1474 * testsuite/20_util/expected/monadic.cc: Likewise.
1475 * testsuite/20_util/expected/observers.cc: Likewise.
1476 * testsuite/20_util/expected/requirements.cc: Likewise.
1477 * testsuite/20_util/expected/swap.cc: Likewise.
1478 * testsuite/20_util/expected/synopsis.cc: Likewise.
1479 * testsuite/20_util/expected/unexpected.cc: Likewise.
1480 * testsuite/20_util/expected/version.cc: Likewise.
1482 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1484 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
1486 * testsuite/20_util/duration/io.cc: Likewise.
1487 * testsuite/std/time/clock/file/io.cc: Likewise.
1488 * testsuite/std/time/clock/file/members.cc: Likewise.
1489 * testsuite/std/time/clock/file/overview.cc: Likewise.
1490 * testsuite/std/time/clock/gps/1.cc: Likewise.
1491 * testsuite/std/time/clock/gps/io.cc: Likewise.
1492 * testsuite/std/time/clock/local/io.cc: Likewise.
1493 * testsuite/std/time/clock/system/io.cc: Likewise.
1494 * testsuite/std/time/clock/tai/1.cc: Likewise.
1495 * testsuite/std/time/clock/tai/io.cc: Likewise.
1496 * testsuite/std/time/clock/utc/1.cc: Likewise.
1497 * testsuite/std/time/clock/utc/io.cc: Likewise.
1498 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
1499 * testsuite/std/time/day/1.cc: Likewise.
1500 * testsuite/std/time/day/io.cc: Likewise.
1501 * testsuite/std/time/exceptions.cc: Likewise.
1502 * testsuite/std/time/format.cc: Likewise.
1503 * testsuite/std/time/hh_mm_ss/1.cc: Likewise.
1504 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
1505 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
1506 * testsuite/std/time/is_am/1.cc: Likewise.
1507 * testsuite/std/time/is_pm/1.cc: Likewise.
1508 * testsuite/std/time/make12/1.cc: Likewise.
1509 * testsuite/std/time/make24/1.cc: Likewise.
1510 * testsuite/std/time/month/1.cc: Likewise.
1511 * testsuite/std/time/month/io.cc: Likewise.
1512 * testsuite/std/time/month_day/1.cc: Likewise.
1513 * testsuite/std/time/month_day/io.cc: Likewise.
1514 * testsuite/std/time/month_day_last/1.cc: Likewise.
1515 * testsuite/std/time/month_day_last/io.cc: Likewise.
1516 * testsuite/std/time/month_weekday/1.cc: Likewise.
1517 * testsuite/std/time/month_weekday/io.cc: Likewise.
1518 * testsuite/std/time/month_weekday_last/1.cc: Likewise.
1519 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
1520 * testsuite/std/time/parse.cc: Likewise.
1521 * testsuite/std/time/syn_c++20.cc: Likewise.
1522 * testsuite/std/time/time_zone/get_info_local.cc: Likewise.
1523 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
1524 * testsuite/std/time/time_zone/requirements.cc: Likewise.
1525 * testsuite/std/time/traits/is_clock.cc: Likewise.
1526 * testsuite/std/time/tzdb/1.cc: Likewise.
1527 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
1528 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1529 * testsuite/std/time/tzdb_list/requirements.cc: Likewise.
1530 * testsuite/std/time/weekday/1.cc: Likewise.
1531 * testsuite/std/time/weekday/io.cc: Likewise.
1532 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
1533 * testsuite/std/time/weekday_last/1.cc: Likewise.
1534 * testsuite/std/time/weekday_last/io.cc: Likewise.
1535 * testsuite/std/time/year/1.cc: Likewise.
1536 * testsuite/std/time/year/2.cc: Likewise.
1537 * testsuite/std/time/year/io.cc: Likewise.
1538 * testsuite/std/time/weekday_indexed/1.cc: Likewise.
1539 * testsuite/std/time/year_month/1.cc: Likewise.
1540 * testsuite/std/time/year_month/2.cc: Likewise.
1541 * testsuite/std/time/year_month/io.cc: Likewise.
1542 * testsuite/std/time/year_month_day/1.cc: Likewise.
1543 * testsuite/std/time/year_month_day/2.cc: Likewise.
1544 * testsuite/std/time/year_month_day/3.cc: Likewise.
1545 * testsuite/std/time/year_month_day/4.cc: Likewise.
1546 * testsuite/std/time/year_month_day/io.cc: Likewise.
1547 * testsuite/std/time/year_month_day_last/1.cc: Likewise.
1548 * testsuite/std/time/year_month_day_last/2.cc: Likewise.
1549 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
1550 * testsuite/std/time/year_month_weekday/1.cc: Likewise.
1551 * testsuite/std/time/year_month_weekday/2.cc: Likewise.
1552 * testsuite/std/time/year_month_weekday/3.cc: Likewise.
1553 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
1554 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
1555 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
1556 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
1557 * testsuite/std/time/zoned_time/1.cc: Likewise.
1558 * testsuite/std/time/zoned_time/custom.cc: Likewise.
1559 * testsuite/std/time/zoned_time/deduction.cc: Likewise.
1560 * testsuite/std/time/zoned_time/io.cc: Likewise.
1561 * testsuite/std/time/zoned_time/req_neg.cc: Likewise.
1562 * testsuite/std/time/zoned_time/requirements.cc: Likewise.
1563 * testsuite/std/time/zoned_traits.cc: Likewise.
1565 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1567 * testsuite/std/format/arguments/args.cc: Remove dg-options.
1568 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
1569 * testsuite/std/format/error.cc: Likewise.
1570 * testsuite/std/format/format_string.cc: Likewise.
1571 * testsuite/std/format/formatter/concept.cc: Likewise.
1572 * testsuite/std/format/formatter/ext_float.cc: Likewise.
1573 * testsuite/std/format/formatter/requirements.cc: Likewise.
1574 * testsuite/std/format/functions/107871.cc: Likewise.
1575 * testsuite/std/format/functions/format.cc: Likewise.
1576 * testsuite/std/format/functions/format_to.cc: Likewise.
1577 * testsuite/std/format/functions/format_to_n.cc: Likewise.
1578 * testsuite/std/format/functions/size.cc: Likewise.
1579 * testsuite/std/format/functions/vformat_to.cc: Likewise.
1580 * testsuite/std/format/parse_ctx.cc: Likewise.
1581 * testsuite/std/format/string.cc: Likewise.
1582 * testsuite/std/format/string_neg.cc: Likewise.
1583 * testsuite/std/format/functions/format_c++23.cc: Removed.
1585 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1587 * testsuite/20_util/function_objects/range.cmp/equal_to.cc:
1589 * testsuite/20_util/function_objects/range.cmp/greater.cc:
1591 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
1593 * testsuite/20_util/function_objects/range.cmp/less.cc:
1595 * testsuite/20_util/function_objects/range.cmp/less_equal.cc:
1597 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
1599 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
1601 * testsuite/20_util/specialized_algorithms/construct_at/1.cc:
1603 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
1605 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
1607 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
1609 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
1611 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
1613 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
1615 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
1617 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
1619 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
1621 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
1623 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
1624 * testsuite/25_algorithms/adjacent_find/constrained.cc:
1626 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
1627 * testsuite/25_algorithms/all_of/constrained.cc: Likewise.
1628 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
1629 * testsuite/25_algorithms/any_of/constrained.cc: Likewise.
1630 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
1631 * testsuite/25_algorithms/binary_search/constrained.cc:
1633 * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
1634 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
1635 * testsuite/25_algorithms/copy/95578.cc: Likewise.
1636 * testsuite/25_algorithms/copy/constexpr.cc: Likewise.
1637 * testsuite/25_algorithms/copy/constrained.cc: Likewise.
1638 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
1639 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
1640 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
1641 * testsuite/25_algorithms/copy_backward/constrained.cc:
1643 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
1645 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
1646 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
1647 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
1648 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
1649 * testsuite/25_algorithms/count/constexpr.cc: Likewise.
1650 * testsuite/25_algorithms/count/constrained.cc: Likewise.
1651 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
1652 * testsuite/25_algorithms/count_if/constrained.cc: Likewise.
1653 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
1654 * testsuite/25_algorithms/equal/95578.cc: Likewise.
1655 * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
1656 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
1657 * testsuite/25_algorithms/equal/constrained.cc: Likewise.
1658 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
1660 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
1661 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
1662 * testsuite/25_algorithms/fill/94017.cc: Likewise.
1663 * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
1664 * testsuite/25_algorithms/fill/constrained.cc: Likewise.
1665 * testsuite/25_algorithms/fill_n/94017.cc: Likewise.
1666 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
1667 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
1668 * testsuite/25_algorithms/find/constexpr.cc: Likewise.
1669 * testsuite/25_algorithms/find/constrained.cc: Likewise.
1670 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
1671 * testsuite/25_algorithms/find_end/constrained.cc: Likewise.
1672 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
1673 * testsuite/25_algorithms/find_first_of/constrained.cc:
1675 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
1676 * testsuite/25_algorithms/find_if/constrained.cc: Likewise.
1677 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
1678 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
1679 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
1680 * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
1681 * testsuite/25_algorithms/generate/constexpr.cc: Likewise.
1682 * testsuite/25_algorithms/generate/constrained.cc: Likewise.
1683 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
1684 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
1685 * testsuite/25_algorithms/heap/constrained.cc: Likewise.
1686 * testsuite/25_algorithms/includes/constrained.cc: Likewise.
1687 * testsuite/25_algorithms/inplace_merge/constrained.cc:
1689 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
1690 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
1691 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
1692 * testsuite/25_algorithms/is_partitioned/constrained.cc:
1694 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
1695 * testsuite/25_algorithms/is_permutation/constrained.cc:
1697 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
1698 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
1699 * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
1701 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
1703 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
1704 * testsuite/25_algorithms/lexicographical_compare/93972.cc:
1706 * testsuite/25_algorithms/lexicographical_compare/95578.cc:
1708 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
1710 * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
1712 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
1714 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
1716 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
1717 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
1718 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
1720 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
1722 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
1724 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
1725 * testsuite/25_algorithms/max/constrained.cc: Likewise.
1726 * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
1727 * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
1728 * testsuite/25_algorithms/merge/constrained.cc: Likewise.
1729 * testsuite/25_algorithms/min/constrained.cc: Likewise.
1730 * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
1731 * testsuite/25_algorithms/minmax/constrained.cc: Likewise.
1732 * testsuite/25_algorithms/minmax_element/constrained.cc:
1734 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
1735 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
1736 * testsuite/25_algorithms/move/93872.cc: Likewise.
1737 * testsuite/25_algorithms/move/95578.cc: Likewise.
1738 * testsuite/25_algorithms/move/constexpr.cc: Likewise.
1739 * testsuite/25_algorithms/move/constrained.cc: Likewise.
1740 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
1741 * testsuite/25_algorithms/move_backward/95578.cc: Likewise.
1742 * testsuite/25_algorithms/move_backward/constrained.cc:
1744 * testsuite/25_algorithms/next_permutation/constexpr.cc:
1746 * testsuite/25_algorithms/next_permutation/constrained.cc:
1748 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
1749 * testsuite/25_algorithms/none_of/constrained.cc: Likewise.
1750 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
1751 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
1752 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
1753 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
1754 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
1756 * testsuite/25_algorithms/partial_sort_copy/constrained.cc:
1758 * testsuite/25_algorithms/partition/constexpr.cc: Likewise.
1759 * testsuite/25_algorithms/partition/constrained.cc: Likewise.
1760 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
1761 * testsuite/25_algorithms/partition_copy/constrained.cc:
1763 * testsuite/25_algorithms/partition_point/constexpr.cc:
1765 * testsuite/25_algorithms/partition_point/constrained.cc:
1767 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
1768 * testsuite/25_algorithms/prev_permutation/constexpr.cc:
1770 * testsuite/25_algorithms/prev_permutation/constrained.cc:
1772 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
1773 * testsuite/25_algorithms/remove/constexpr.cc: Likewise.
1774 * testsuite/25_algorithms/remove/constrained.cc: Likewise.
1775 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
1776 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
1777 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
1778 * testsuite/25_algorithms/remove_copy_if/constrained.cc:
1780 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
1781 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
1782 * testsuite/25_algorithms/replace/constrained.cc: Likewise.
1783 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
1784 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
1785 * testsuite/25_algorithms/replace_copy_if/constexpr.cc:
1787 * testsuite/25_algorithms/replace_copy_if/constrained.cc:
1789 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
1790 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
1791 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
1792 * testsuite/25_algorithms/reverse/constrained.cc: Likewise.
1793 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
1794 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
1795 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
1796 * testsuite/25_algorithms/rotate/constrained.cc: Likewise.
1797 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
1798 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
1799 * testsuite/25_algorithms/sample/constrained.cc: Likewise.
1800 * testsuite/25_algorithms/search/constexpr.cc: Likewise.
1801 * testsuite/25_algorithms/search/constrained.cc: Likewise.
1802 * testsuite/25_algorithms/search_n/97828.cc: Likewise.
1803 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
1804 * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
1805 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
1806 * testsuite/25_algorithms/set_difference/constrained.cc:
1808 * testsuite/25_algorithms/set_intersection/constexpr.cc:
1810 * testsuite/25_algorithms/set_intersection/constrained.cc:
1812 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
1814 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
1816 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
1817 * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
1818 * testsuite/25_algorithms/shift_left/1.cc: Likewise.
1819 * testsuite/25_algorithms/shift_right/1.cc: Likewise.
1820 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
1821 * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
1822 * testsuite/25_algorithms/sort/constrained.cc: Likewise.
1823 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
1824 * testsuite/25_algorithms/stable_partition/constrained.cc:
1826 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
1827 * testsuite/25_algorithms/swap/constexpr.cc: Likewise.
1828 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
1829 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
1830 * testsuite/25_algorithms/transform/constexpr.cc: Likewise.
1831 * testsuite/25_algorithms/transform/constrained.cc: Likewise.
1832 * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
1833 * testsuite/25_algorithms/unique/constrained.cc: Likewise.
1834 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
1835 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
1836 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
1837 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
1838 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
1840 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
1842 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
1845 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1847 * testsuite/std/concepts/1.cc: Remove dg-options.
1848 * testsuite/std/concepts/2.cc: Likewise.
1849 * testsuite/std/concepts/concepts.callable/invocable.cc:
1851 * testsuite/std/concepts/concepts.callable/regular_invocable.cc:
1853 * testsuite/std/concepts/concepts.callable/relation.cc:
1855 * testsuite/std/concepts/concepts.callable/strictweakorder.cc:
1857 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
1858 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
1859 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
1860 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
1861 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
1863 * testsuite/std/concepts/concepts.lang/concept.common/1.cc:
1865 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
1867 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
1868 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
1870 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
1871 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
1872 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
1873 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
1875 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
1876 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
1877 * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
1879 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
1880 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
1881 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
1882 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
1883 * testsuite/std/concepts/concepts.object/movable.cc: Likewise.
1884 * testsuite/std/concepts/concepts.object/regular.cc: Likewise.
1885 * testsuite/std/concepts/concepts.object/semiregular.cc:
1887 * testsuite/std/ranges/97600.cc: Likewise.
1888 * testsuite/std/ranges/access/101782.cc: Likewise.
1889 * testsuite/std/ranges/access/begin.cc: Likewise.
1890 * testsuite/std/ranges/access/begin_neg.cc: Likewise.
1891 * testsuite/std/ranges/access/cbegin.cc: Likewise.
1892 * testsuite/std/ranges/access/cdata.cc: Likewise.
1893 * testsuite/std/ranges/access/cend.cc: Likewise.
1894 * testsuite/std/ranges/access/crbegin.cc: Likewise.
1895 * testsuite/std/ranges/access/crend.cc: Likewise.
1896 * testsuite/std/ranges/access/data.cc: Likewise.
1897 * testsuite/std/ranges/access/empty.cc: Likewise.
1898 * testsuite/std/ranges/access/end.cc: Likewise.
1899 * testsuite/std/ranges/access/end_neg.cc: Likewise.
1900 * testsuite/std/ranges/access/lwg3467.cc: Likewise.
1901 * testsuite/std/ranges/access/p2602.cc: Likewise.
1902 * testsuite/std/ranges/access/rbegin.cc: Likewise.
1903 * testsuite/std/ranges/access/rend.cc: Likewise.
1904 * testsuite/std/ranges/access/size.cc: Likewise.
1905 * testsuite/std/ranges/access/size_neg.cc: Likewise.
1906 * testsuite/std/ranges/access/ssize.cc: Likewise.
1907 * testsuite/std/ranges/adaptors/100479.cc: Likewise.
1908 * testsuite/std/ranges/adaptors/100577.cc: Likewise.
1909 * testsuite/std/ranges/adaptors/93978.cc: Likewise.
1910 * testsuite/std/ranges/adaptors/95322.cc: Likewise.
1911 * testsuite/std/ranges/adaptors/99433.cc: Likewise.
1912 * testsuite/std/ranges/adaptors/all.cc: Likewise.
1913 * testsuite/std/ranges/adaptors/common.cc: Likewise.
1914 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
1916 * testsuite/std/ranges/adaptors/counted.cc: Likewise.
1917 * testsuite/std/ranges/adaptors/detail/copyable_box.cc:
1919 * testsuite/std/ranges/adaptors/drop.cc: Likewise.
1920 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
1921 * testsuite/std/ranges/adaptors/elements.cc: Likewise.
1922 * testsuite/std/ranges/adaptors/filter.cc: Likewise.
1923 * testsuite/std/ranges/adaptors/join.cc: Likewise.
1924 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
1925 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
1926 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
1927 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
1928 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
1929 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
1930 * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
1931 * testsuite/std/ranges/adaptors/p2281.cc: Likewise.
1932 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
1933 * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
1934 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
1935 * testsuite/std/ranges/adaptors/split.cc: Likewise.
1936 * testsuite/std/ranges/adaptors/take.cc: Likewise.
1937 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
1938 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
1939 * testsuite/std/ranges/empty_view.cc: Likewise.
1940 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
1941 * testsuite/std/ranges/iota/difference_type.cc: Likewise.
1942 * testsuite/std/ranges/iota/iota_view.cc: Likewise.
1943 * testsuite/std/ranges/iota/iterator.cc: Likewise.
1944 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
1945 * testsuite/std/ranges/iota/max_size_type.cc: Likewise.
1946 * testsuite/std/ranges/istream_view.cc: Likewise.
1947 * testsuite/std/ranges/p2259.cc: Likewise.
1948 * testsuite/std/ranges/p2325.cc: Likewise.
1949 * testsuite/std/ranges/p2367.cc: Likewise.
1950 * testsuite/std/ranges/range.cc: Likewise.
1951 * testsuite/std/ranges/refinements.cc: Likewise.
1952 * testsuite/std/ranges/safe_range.cc: Likewise.
1953 * testsuite/std/ranges/safe_range_types.cc: Likewise.
1954 * testsuite/std/ranges/single_view.cc: Likewise.
1955 * testsuite/std/ranges/sized.cc: Likewise.
1956 * testsuite/std/ranges/subrange/1.cc: Likewise.
1957 * testsuite/std/ranges/subrange/97512.cc: Likewise.
1958 * testsuite/std/ranges/subrange/constexpr.cc: Likewise.
1959 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
1960 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
1961 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
1962 * testsuite/std/ranges/subrange/sizeof.cc: Likewise.
1963 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
1964 * testsuite/std/ranges/view.cc: Likewise.
1966 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1968 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
1970 * testsuite/23_containers/span/contiguous_range_neg.cc:
1972 * testsuite/23_containers/span/everything.cc: Likewise.
1974 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1976 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove
1977 dg-options and add dg-add-options strict_std.
1978 * testsuite/std/ranges/iota/93267.cc: Likewise.
1979 * testsuite/std/ranges/iota/96042.cc: Likewise.
1980 * testsuite/std/ranges/iota/size.cc: Likewise.
1981 * testsuite/std/ranges/subrange/96042.cc: Likewise.
1983 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1985 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
1986 Replace dg-options -std=c++17 with dg-add-options strict_std.
1987 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
1990 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1992 * testsuite/23_containers/deque/48101-2_neg.cc: Replace
1993 dg-options with target selector.
1994 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
1995 * testsuite/23_containers/list/48101-2_neg.cc: Likewise.
1996 * testsuite/23_containers/map/48101-2_neg.cc: Likewise.
1997 * testsuite/23_containers/map/48101_neg.cc: Likewise.
1998 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
1999 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
2000 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
2001 * testsuite/23_containers/set/48101-2_neg.cc: Likewise.
2002 * testsuite/23_containers/unordered_map/48101-2_neg.cc:
2004 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
2006 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
2008 * testsuite/23_containers/unordered_set/48101-2_neg.cc:
2010 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
2012 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2014 * doc/xml/manual/test.xml: Update documentation on running and
2016 * doc/html/manual/test.html: Regenerate.
2017 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp
2018 * testsuite/Makefile.in: Regenerate.
2019 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New
2021 * testsuite/lib/libstdc++.exp (search_for): New utility proc.
2022 (v3-dg-runtest): New proc to replace dg-runtest.
2023 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
2025 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2027 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
2028 Fix test to work for C++23 and C++26 too.
2030 2023-09-15 Patrick Palka <ppalka@redhat.com>
2032 * include/std/bit: Include <concepts>.
2033 (byteswap): Use a type-constraint instead of enable_if_t
2034 inside the return type, and use std::integral.
2035 (_If_is_unsigned_integer): Replace with ...
2036 (__unsigned_integer): ... this.
2037 (rotl): Use a type-constraint instead of enable_if_t inside
2039 (countl_zero): Likewise.
2040 (countl_one): Likewise.
2041 (countr_zero): Likewise.
2042 (countr_one): Likewise.
2043 (popcount): Likewise.
2044 (has_single_bit): Likewise.
2045 (bit_ceil): Likewise.
2046 (bit_floor): Likewise.
2047 (bit_width): Likewise.
2049 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2051 * include/std/variant (variant): Remove derivation from
2052 _Enable_default_constructor base class.
2053 (variant::variant()): Constrain.
2054 * testsuite/20_util/variant/default_ctor.cc: New test.
2056 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2059 * include/std/variant (get<T>): Remove !is_void static
2062 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2064 * include/bits/version.def (to_chars): Define new value for
2066 * include/bits/version.h: Regenerate.
2067 * include/std/charconv (to_chars_result::operator bool): New
2069 (from_chars_result::operator bool): New function.
2070 * testsuite/20_util/to_chars/version.cc: Update expected value.
2071 * testsuite/20_util/from_chars/result.cc: New test.
2072 * testsuite/20_util/to_chars/result.cc: New test.
2074 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2077 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
2079 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2081 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
2082 dg-additional-files. Remove @require@ and @diff@ comments.
2083 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
2084 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
2085 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
2086 * testsuite/lib/dg-options.exp (v3_additional_files): New
2088 (dg-additional-files): New proc.
2089 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy
2090 additional files to test directory.
2092 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2094 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
2095 Use a plain integer for _M_work_count for single-threaded
2097 * include/experimental/memory_resource (__get_default_resource)
2098 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
2099 single-threaded targets.
2100 * src/c++17/default_resource.h: Adjust preprocessor conditions
2101 to match memory_resource.cc.
2102 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
2103 (atomic_mem_res): Use unsynchronized type for single-threaded
2106 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2108 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
2109 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
2110 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
2111 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
2112 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
2113 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
2114 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
2115 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2117 2023-09-14 François Dumont <fdumont@gcc.gnu.org>
2119 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2120 { dg-require-normal-namespace "" }.
2122 2023-09-13 François Dumont <fdumont@gcc.gnu.org>
2124 * include/std/format (std::__format::_Arg_store): Explicit version
2125 namespace on make_format_args friend declaration.
2127 2023-09-12 Patrick Palka <ppalka@redhat.com>
2130 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
2131 a deleted fallback operator() overload. Constrain both the
2132 enabled and deleted overloads accordingly.
2133 * testsuite/20_util/function_objects/not_fn/111327.cc: New test.
2135 2023-09-12 Patrick Palka <ppalka@redhat.com>
2138 * include/std/functional (_Bind_front::operator()): Add deleted
2139 fallback overloads for each const/ref qualifier pair. Give the
2140 enabled overloads dummy constraints to make each one more
2141 specialized than the corresponding deleted overload.
2142 * testsuite/20_util/function_objects/bind_front/111327.cc: New test.
2144 2023-09-12 Patrick Palka <ppalka@redhat.com>
2146 * include/std/functional (_Bind_front0): Remove.
2147 (_Bind_front_t): Adjust.
2149 2023-09-12 Jonathan Wakely <jwakely@redhat.com>
2151 * python/libstdcxx/v6/printers.py: Reformat.
2152 * python/libstdcxx/v6/xmethods.py: Likewise.
2154 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2156 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
2158 (reset_sequence_ptr): New function.
2159 (_Safe_iterator_base::_M_detach)
2160 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
2161 with acquire_sequence_ptr_for_lock.
2162 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
2165 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2167 * src/c++11/Makefile.am: Add new file.
2168 * src/c++11/Makefile.in: Regenerate.
2169 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
2170 * src/c++11/assert_fail.cc: New file.
2172 2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org>
2174 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
2175 (_GLIBCXX_USE_BUILTIN_TRAIT): Define.
2177 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2179 * include/bits/version.def (__cpp_lib_formatters): Define.
2180 * include/bits/version.h: Regenerate.
2181 * include/std/stacktrace (formatter<stacktrace_entry>)
2182 (formatter<basic_stacktrace<Alloc>>): Define.
2183 * include/std/thread (formatter<thread::id, charT>): Define.
2184 * testsuite/19_diagnostics/stacktrace/output.cc: New test.
2185 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2186 std::formatter specializations.
2187 * testsuite/19_diagnostics/stacktrace/version.cc: Check
2188 __cpp_lib_formatters macro.
2189 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads
2191 * testsuite/30_threads/thread/id/operators.cc: Likewise.
2192 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
2193 * testsuite/30_threads/thread/id/output.cc: New test.
2195 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
2197 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
2198 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
2199 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
2201 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2203 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
2204 * configure: Regenerate.
2205 * doc/html/manual/*: Regenerate.
2206 * doc/xml/manual/using.xml: Update documentation on linking.
2207 * include/std/stacktrace: Remove declarations of libbacktrace
2209 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
2211 (stacktrace_entry::_Info): New class.
2212 (stacktrace_entry::_M_get_info): Use _Info.
2213 (__stacktrace_impl): New class.
2214 (basic_stacktrace): Derive from __stacktrace_impl.
2215 (basic_stacktrace::current): Use __stacktrace_impl::_S_current.
2216 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
2217 libstdc++exp instead of libstdc++_libbacktrace.
2218 * src/Makefile.am (SUBDIRS): Add c++23 directory.
2219 * src/Makefile.in: Regenerate.
2220 * src/c++20/Makefile.am: Fix comment.
2221 * src/c++20/Makefile.in: Regenerate.
2222 * src/c++23/Makefile.am: New file.
2223 * src/c++23/Makefile.in: New file.
2224 * src/c++23/stacktrace.cc: New file with definitions of
2225 stacktrace_entry::_Info and __stacktrace_impl members.
2226 * src/experimental/Makefile.am: Use LIBADD to include other
2228 * src/experimental/Makefile.in: Regenerate.
2229 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
2230 * src/libbacktrace/Makefile.in: Regenerate.
2231 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
2232 dg-options to use -lstdc++exp.
2233 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2234 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2235 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
2238 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
2240 * src/libbacktrace/Makefile.am: Remove -Werror.
2241 * src/libbacktrace/Makefile.in: Regenerate.
2243 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2245 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
2246 * testsuite/Makefile.in: Regenerate.
2248 2023-09-08 Yang Yujie <yangyujie@loongson.cn>
2250 * configure.host: Register t-loongarch in tmake_file.
2251 * config/cpu/loongarch/t-loongarch: New file. Manually refresh
2252 MULTISUBDIR with $(shell $(CXX) --print-multi-directory).
2254 2023-09-07 Bruno Victal <mirai@makinata.eu>
2256 * acinclude.m4: Update docbook xsl URI.
2257 * configure: Regenerate.
2259 2023-09-07 Bruno Victal <mirai@makinata.eu>
2261 * doc/Makefile.am: Fix 'doc-install-info' rule.
2262 Fix typo in commment.
2263 * doc/Makefile.in: Regenerate.
2265 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2267 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
2268 dg-do target selector.
2270 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2272 * testsuite/config/default.exp: Remove trailing whitespace.
2273 * testsuite/lib/dg-options.exp: Likewise.
2274 * testsuite/lib/prune.exp: Likewise.
2275 * testsuite/libstdc++-abi/abi.exp: Likewise.
2276 * testsuite/libstdc++-dg/conformance.exp: Likewise.
2277 * testsuite/libstdc++-prettyprinters/prettyprinters.exp:
2279 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
2280 * testsuite/lib/libstdc++.exp: Likewise.
2281 (check_v3_target_c_std): Fix filename for temporary source file.
2283 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2285 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
2286 chmod, chdir, and getcwd.
2287 * config.h.in: Regenerate.
2288 * configure: Regenerate.
2289 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
2290 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
2291 (fs::permissions): Use USE_CHMOD macro.
2292 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
2293 (chmod, mkdir, getcwd, chdir): Define new macros.
2294 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
2296 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
2297 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
2298 (fs::permissions): Use USE_CHMOD macro.
2300 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2302 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
2304 * configure: Regenerate.
2306 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2308 * testsuite/23_containers/unordered_map/operations/1.cc: Add
2309 dg-options for C++20 mode.
2310 * testsuite/23_containers/unordered_multimap/operations/1.cc:
2312 * testsuite/23_containers/unordered_multiset/operations/1.cc:
2314 * testsuite/23_containers/unordered_set/operations/1.cc:
2316 * testsuite/std/time/parse.cc: Move dg-options before dg-do.
2318 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2320 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
2322 * testsuite/std/ranges/access/cdata.cc: Likewise.
2323 * testsuite/std/ranges/access/cend.cc: Likewise.
2324 * testsuite/std/ranges/access/crbegin.cc: Likewise.
2325 * testsuite/std/ranges/access/crend.cc: Likewise.
2326 * testsuite/std/ranges/adaptors/take.cc: Likewise.
2327 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
2328 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2330 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2332 * include/bits/iterator_concepts.h (__imove::iter_move): Define
2333 poison pill as deleted for consistency.
2334 (__access::begin): Replace with a single declaration.
2335 * include/bits/ranges_base.h (__access::end, __access::rbegin)
2336 (__access::rend, __access::size): Likewise.
2337 * include/bits/version.def (ranges): Update value for C++23.
2338 * include/bits/version.h: Regenerate.
2339 * libsupc++/compare (__compare): Add missing poison pill
2341 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
2342 of __cpp_lib_ranges.
2343 * testsuite/std/ranges/access/p2602.cc: New test.
2345 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2347 * include/bits/iterator_concepts.h (ranges::__cust_imove):
2348 Rename to ranges::__imove.
2349 (_IMove): Rename to _IterMove.
2350 (ranges::__cust_iswap): Rename to ranges::__iswap.
2351 (ranges::__cust): Rename to ranges::_Cpo.
2352 (ranges::__cust_access): Rename to ranges::__access.
2353 * include/bits/ranges_base.h (ranges::__cust_access): Rename to
2355 (ranges::__cust): Rename to ranges::_Cpo.
2356 * include/std/concepts (ranges::__cust_swap): Rename to
2358 (ranges::__cust): Rename to ranges::_Cpo.
2359 * libsupc++/compare (__cmp_cust): Rename to __compare.
2360 (__cmp_algo): Rename to _Cpo.
2362 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2364 * include/bits/version.def (ranges): Update value.
2365 * include/bits/version.h: Regenerate.
2366 * include/std/ranges (__detail::__boxable): Use
2367 move_constructible instead of copy_constructible for C++23.
2368 (__detail::__box<T>): Adjust constraints for partial
2370 (single_view, transform_view): Use __box_constructible instead
2371 of copy_constructible in constraints.
2372 (zip_transform_view, adjacent_transform_view, repeat_view): Use
2373 move_constructible instead of copy_constructible in constraints.
2374 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
2375 construction from move-only argument.
2376 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2377 * testsuite/std/ranges/repeat/1.cc: Likewise.
2378 * testsuite/std/ranges/single_view.cc: Likewise.
2379 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
2380 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
2381 of __cpp_lib_ranges.
2383 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2385 * testsuite/util/testsuite_iterators.h (is_customization_point_object):
2386 Remove parameter name.
2388 2023-09-06 Jonathan Wakely <jwakely@redhat.com>
2390 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
2392 * configure: Regenerate.
2394 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2397 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2400 * configure: Regenerate.
2401 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
2402 non-Canadian builds.
2404 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2407 * configure: Regenerate.
2408 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
2409 non-Canadian builds.
2411 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2413 * testsuite/26_numerics/complex/literals/types.cc: Remove
2414 dg-options and add target selector instead.
2416 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2418 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
2419 and qualify ambiguous calls to get.
2420 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
2421 expected result for std::pow(float, int) as per DR 550.
2423 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2425 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
2426 and add dg-warning for deprecation warnings.
2427 * testsuite/20_util/auto_ptr/2.cc: Likewise.
2428 * testsuite/20_util/auto_ptr/3.cc: Likewise.
2429 * testsuite/20_util/auto_ptr/3946.cc: Likewise.
2430 * testsuite/20_util/auto_ptr/4.cc: Likewise.
2431 * testsuite/20_util/auto_ptr/5.cc: Likewise.
2432 * testsuite/20_util/auto_ptr/6.cc: Likewise.
2433 * testsuite/20_util/auto_ptr/7.cc: Likewise.
2434 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
2435 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
2437 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2439 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2441 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
2443 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
2445 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2447 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2450 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2453 * testsuite/23_containers/vector/26412-1.cc: Moved to...
2454 * testsuite/23_containers/vector/26142-1.cc: ...here.
2455 * testsuite/23_containers/vector/26412-2.cc: Moved to...
2456 * testsuite/23_containers/vector/26142-2.cc: ...here.
2458 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2460 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
2461 * testsuite/26_numerics/complex/56111.cc: Likewise.
2463 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2465 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
2466 Add dg-options to restrict the test to C++98 mode.
2467 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
2470 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2472 * testsuite/20_util/expected/bad.cc: Add missing target
2475 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2477 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
2479 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
2482 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2484 * testsuite/27_io/filesystem/iterators/91067.cc: Add
2485 -Wno-self-move to options.
2486 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
2488 2023-09-01 Vladimir Palevich <palevichva@gmail.com>
2491 * include/bits/vector.tcc (_M_realloc_insert): End guard
2492 lifetime just before assignment to class members.
2493 (_M_default_append): Likewise.
2495 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2497 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
2498 Use __resize_and_overwrite to fill buffer.
2499 (fs::read_symlink) [HAVE_READLINK]: Likewise.
2500 * src/filesystem/ops-common.h (get_temp_directory_from_env)
2501 [FILESYSTEM_IS_WINDOWS]: Likewise.
2503 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2506 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
2507 Add _AtomicRef non-type template parameter and use a loop if it
2509 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
2510 (__atomic_impl::compare_exchange_strong): Likewise.
2511 (atomic_ref::compare_exchange_weak): Use true for NTTP.
2512 (atomic_ref::compare_exchange_strong): Use true for NTTP.
2513 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
2514 Fix test to not rely on atomic_ref::load() to return an object
2515 with padding preserved.
2517 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2519 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
2522 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2524 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
2525 for POSIX readlink before using filesystem::read_symlink.
2527 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2529 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
2530 * configure: Regenerate.
2532 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2534 * include/bits/chrono_io.h (_Parser::operator()): Set failbit
2535 early if invalid values are read when _M_need & _TimeOfDay is
2537 * testsuite/std/time/parse.cc: Check that "25:59" cannot be
2540 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2543 * include/bits/chrono_io.h (_Parser::Operator()): Check %C
2544 values are in range of year::min() to year::max().
2545 * testsuite/std/time/parse.cc: Check out of range centuries.
2547 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2549 * include/std/format (__format::_Sink::_M_reset): Change second
2550 argument from iterator to offset.
2552 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
2555 * testsuite/std/format/string.cc: Check wide character format
2556 strings with out-of-range widths.
2558 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
2561 * include/std/format (__format::__parse_integer): Check for
2564 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2566 * testsuite/std/format/functions/format_to.cc: Avoid warning for
2569 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2571 * include/std/atomic: Add comment to #ifdef and fix indentation.
2572 * include/std/ostream: Check __glibcxx_syncbuf instead of
2573 __cplusplus and _GLIBCXX_HOSTED.
2574 * include/std/thread: Add comment to #ifdef.
2576 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2578 * include/bits/version.def (__cpp_lib_ratio): Define.
2579 * include/bits/version.h: Regenerate.
2580 * include/std/ratio (quecto, ronto, yocto, zepto)
2581 (zetta, yotta, ronna, quetta): Define.
2582 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
2583 dg-error line numbers.
2585 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2587 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
2589 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
2591 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2594 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
2595 not show template arguments.
2596 (StdVariantPrinter): Likewise.
2597 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
2599 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
2600 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
2602 2023-08-23 François Dumont <fdumont@gcc.gnu.org>
2604 * testsuite/util/replacement_memory_operators.h
2605 (counter::scope): New, capture and reset counter count at construction and
2606 restore it at destruction.
2607 (counter::check_new): Add scope instantiation.
2608 * testsuite/23_containers/unordered_map/96088.cc (main):
2609 Add counter::scope instantiation.
2610 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
2611 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
2612 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
2613 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
2614 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
2615 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
2616 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
2617 (operator new(size_t)): Check started.
2618 (main): Set/Unset started.
2619 * testsuite/17_intro/no_library_allocation.cc: New test case.
2621 2023-08-21 Jonathan Wakely <jwakely@redhat.com>
2623 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
2624 Call std::set_terminate before throwing the nested exception.
2626 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2629 * include/std/format (formatter): Only define specializations
2630 for 16-bit floating-point types for C++23.
2631 * include/std/limits (numeric_limits): Likewise.
2633 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2635 * include/bits/chrono_io.h (operator<<): Make uses of wide
2636 strings with streams and std::format type-dependent on _CharT.
2637 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
2638 __to_wstring_numeric.
2640 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2642 * include/bits/chrono_io.h (operator<<): Use __format_context.
2643 * include/std/format (__format::__format_context): New alias
2645 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
2648 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2651 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2653 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
2654 double overload for long double if possible.
2656 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2658 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
2661 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2663 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
2664 double overload for long double if possible.
2666 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2668 * src/c++98/localename.cc (is_C_locale): New function.
2669 (locale::locale(const char*)): Use is_C_locale.
2671 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2674 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
2675 Dispatch to _M_replace or move assignment from a temporary,
2676 based on the iterator type.
2678 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2680 * include/std/format (formatter): Add partial specializations
2681 for extended floating-point types.
2682 * testsuite/std/format/functions/format.cc: Move test_float128()
2684 * testsuite/std/format/formatter/ext_float.cc: New test.
2686 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2688 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
2689 whenever __BFLT16_DIG__ is defined, not only for C++23.
2690 * include/std/limits (numeric_limits<bfloat16_t>): Likewise.
2691 (numeric_limits<_Float16>, numeric_limits<_Float32>)
2692 (numeric_limits<_Float64>): Likewise for other extended
2693 floating-point types.
2695 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2697 * include/experimental/internet (address_v4::to_string): Remove
2698 unused parameter name.
2700 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2702 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
2703 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
2704 excess errors caused by invalid consteval calls.
2706 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2708 * include/bits/chrono_io.h (__units_suffix_misc): Remove.
2709 (__units_suffix): Return a known suffix as string view, do not
2710 write unknown suffixes to a buffer.
2711 (__fmt_units_suffix): New function that formats the suffix using
2713 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
2714 (__chrono_formatter::_M_Z): Correct lifetime of wstring.
2716 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2718 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
2719 string formatters with this macro.
2720 (__formatter_int::_M_format_int, __formatter_fp::format)
2721 (formatter<const void*, C>::format): Use __to_wstring_numeric
2722 instead of std::ctype::widen.
2723 (__formatter_fp::_M_localize): Use hardcoded wchar_t values
2724 instead of std::ctype::widen.
2725 * testsuite/std/format/functions/format.cc: Add more checks for
2726 wstring formatting of arithmetic types.
2728 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2730 * include/bits/basic_string.h (to_string(floating-point-type)):
2731 Implement using std::to_chars for C++26.
2732 * include/bits/version.def (__cpp_lib_to_string): Define.
2733 * include/bits/version.h: Regenerate.
2734 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2735 Adjust expected result in C++26 mode.
2736 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
2738 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
2740 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
2742 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
2744 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
2746 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
2749 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2751 * include/bits/basic_string.h (to_string(integral-type)): Use
2752 resize_and_overwrite when available.
2753 (__to_wstring_numeric): New helper functions.
2754 (to_wstring): Use std::to_string then __to_wstring_numeric.
2755 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
2756 Remove check for no excess capacity.
2758 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2760 * include/bits/basic_string.h (__resize_and_overwrite): New
2762 * include/bits/basic_string.tcc (__resize_and_overwrite): New
2764 (resize_and_overwrite): Simplify by using reserve instead of
2765 growing the string manually. Adjust for C++11 compatibility.
2766 * include/bits/cow_string.h (resize_and_overwrite): New
2768 (__resize_and_overwrite): New function.
2769 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
2770 Do not depend on cxx11abi.
2771 * include/bits/version.h: Regenerate.
2772 * include/std/format (__formatter_fp::_S_resize_and_overwrite):
2774 (__formatter_fp::format, __formatter_fp::_M_localize): Use
2775 __resize_and_overwrite instead of _S_resize_and_overwrite.
2776 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2777 Adjust for C++11 compatibility when included by ...
2778 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
2781 2023-08-17 Patrick Palka <ppalka@redhat.com>
2783 * include/bits/regex.h (regex_iterator::iterator_concept):
2784 Define for C++20 as per P2770R0.
2785 (regex_token_iterator::iterator_concept): Likewise.
2786 * include/std/ranges (__detail::__as_lvalue): Define.
2787 (join_view::_Iterator): Befriend join_view.
2788 (join_view::_Iterator::_M_satisfy): Use _M_get_outer
2789 instead of _M_outer.
2790 (join_view::_Iterator::_M_get_outer): Define.
2791 (join_view::_Iterator::_Iterator): Split constructor taking
2792 _Parent argument into two as per P2770R0. Remove constraint on
2793 default constructor.
2794 (join_view::_Iterator::_M_outer): Make this data member present
2795 only when the underlying range is forward.
2796 (join_view::_Iterator::operator++): Use _M_get_outer instead of
2798 (join_view::_Iterator::operator--): Use __as_lvalue helper.
2799 (join_view::_Iterator::operator==): Adjust constraints as per
2801 (join_view::_Sentinel::__equal): Use _M_get_outer instead of
2803 (join_view::_M_outer): New data member when the underlying range
2805 (join_view::begin): Adjust definition as per P2770R0.
2806 (join_view::end): Likewise.
2807 (join_with_view::_M_outer_it): New data member when the
2808 underlying range is non-forward.
2809 (join_with_view::begin): Adjust definition as per P2770R0.
2810 (join_with_view::end): Likewise.
2811 (join_with_view::_Iterator::_M_outer_it): Make this data member
2812 present only when the underlying range is forward.
2813 (join_with_view::_Iterator::_M_get_outer): Define.
2814 (join_with_view::_Iterator::_Iterator): Split constructor
2815 taking _Parent argument into two as per P2770R0. Remove
2816 constraint on default constructor.
2817 (join_with_view::_Iterator::_M_update_inner): Adjust definition
2819 (join_with_view::_Iterator::_M_get_inner): Likewise.
2820 (join_with_view::_Iterator::_M_satisfy): Adjust calls to
2821 _M_get_inner. Use _M_get_outer instead of _M_outer_it.
2822 (join_with_view::_Iterator::operator==): Adjust constraints
2824 (join_with_view::_Sentinel::operator==): Use _M_get_outer
2825 instead of _M_outer_it.
2826 * testsuite/std/ranges/adaptors/p2770r0.cc: New test.
2828 2023-08-17 Patrick Palka <ppalka@redhat.com>
2831 * include/std/ranges (__adaptor::_RangeAdaptorClosure):
2832 Convert into a CRTP class template. Move hidden operator|
2833 friends into namespace scope and adjust their constraints.
2834 (__closure::__is_range_adaptor_closure_fn): Define.
2835 (__closure::__is_range_adaptor_closure): Define.
2836 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
2837 (__adaptor::_Pipe): Likewise.
2838 (views::_All): Likewise.
2839 (views::_Join): Likewise.
2840 (views::_Common): Likewise.
2841 (views::_Reverse): Likewise.
2842 (views::_Elements): Likewise.
2843 (views::_Adjacent): Likewise.
2844 (views::_AsRvalue): Likewise.
2845 (views::_Enumerate): Likewise.
2846 (views::_AsConst): Likewise.
2847 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
2848 expecting that adding empty range adaptor closure objects to a
2849 pipeline doesn't increase the size of a pipeline.
2851 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2853 * include/std/format (__format::_Pres_type): Add _Pres_F.
2854 (__formatter_fp::parse): Use _Pres_F for 'F'.
2855 (__formatter_fp::format): Set __upper for _Pres_F.
2856 * testsuite/std/format/functions/format.cc: Check formatting of
2857 infinity and NaN for each presentation type.
2859 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2861 * include/Makefile.in: Regenerate.
2863 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2865 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
2866 * testsuite/std/format/functions/format.cc: Likewise.
2867 * testsuite/std/format/functions/format_c++23.cc: Likewise.
2869 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2871 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
2872 any "-include bits/stdc++.h" from options and add the macro to
2873 the existing options instead of replacing them.
2875 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2877 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
2878 the callable with the same size as resize_and_overwrite was
2880 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2881 Check with small values for the new size.
2882 * testsuite/std/format/functions/format.cc: Check wide
2883 formatting of double values that produce small strings.
2884 * testsuite/std/format/functions/format_c++23.cc: New test.
2886 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2888 * include/bits/version.def (stds): Update value for C++23.
2889 * include/bits/version.h: Regenerate.
2891 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2893 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
2894 Fix name of upstream file this was derived from.
2895 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
2897 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
2899 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
2901 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.
2903 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
2905 * libsupc++/typeinfo: Switch to bits/version.h for
2906 __cpp_lib_constexpr_typeinfo.
2907 * libsupc++/new: Switch to bits/version.h for
2908 __cpp_lib_{launder,hardware_interference_size,destroying_delete}.
2909 (launder): Guard behind __cpp_lib_launder.
2910 (hardware_destructive_interference_size)
2911 (hardware_constructive_interference_size): Guard behind
2912 __cpp_lib_hardware_interference_size.
2913 * libsupc++/exception: Switch to bits/version.h for
2914 __cpp_lib_uncaught_exceptions.
2915 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
2916 * libsupc++/compare: Switch to bits/version.h for
2917 __cpp_lib_three_way_comparison.
2918 (three_way_comparable, three_way_comparable_with)
2919 (compare_three_way, weak_order, strong_order, partial_order):
2920 Guard behind __cpp_lib_three_way_comparison >= 201907L.
2921 * include/std/chrono: Drop __cpp_lib_chrono definition.
2922 * include/std/vector: Switch to bits/version.h for
2924 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2925 * include/std/variant: Switch to bits/version.h for
2926 __cpp_lib_variant. Guard whole header behind that FTM.
2927 * include/std/utility: Switch to bits/version.h for
2928 __cpp_lib_{exchange_function,constexpr_algorithms,as_const},
2929 __cpp_lib_{integer_comparison_functions,to_underlying}, and
2930 __cpp_lib_unreachable.
2931 (exchange): Guard behind __cpp_lib_exchange_function.
2932 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
2933 (cmp_greater_equal, in_range): Guard behind
2934 __cpp_lib_integer_comparison_functions.
2935 (to_underlying): Guard behind __cpp_lib_to_underlying.
2936 (unreachable): Guard behind __cpp_lib_unreachable.
2937 * include/std/type_traits: Switch to bits/version.h for
2938 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
2939 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
2940 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
2941 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
2942 __cpp_lib_{result_of_sfinae,transformation_trait_aliases},
2943 __cpp_lib_{type_identity,type_trait_variable_templates},
2944 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
2945 __cpp_lib_{bool_constant,bounded_array_traits}, and
2946 __cpp_lib_has_unique_object_representations.
2947 (integral_constant::operator()): Guard behind
2948 __cpp_lib_integral_constant_callable.
2949 (bool_constant): Guard behind __cpp_lib_bool_constant.
2950 (conjunction, disjunction, negation, conjunction_v, disjunction_v)
2951 (negation_v): Guard behind __cpp_lib_logical_traits.
2952 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
2953 (is_final): Guard behind __cpp_lib_is_final.
2954 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
2955 __cpp_lib_is_nothrow_convertible.
2956 (remove_const_t, remove_volatile_t, remove_cv_t)
2957 (add_const_t, add_volatile_t, add_cv_t): Guard behind
2958 __cpp_lib_transformation_trait_aliases.
2959 (void_t): Guard behind __cpp_lib_void_t.
2960 (is_swappable_with_v, is_nothrow_swappable_with_v)
2961 (is_swappable_with, is_nothrow_swappable_with): Guard behind
2962 __cpp_lib_is_swappable.
2963 (is_nothrow_invocable_r, is_invocable_r, invoke_result)
2964 (is_invocable, invoke_result_t): Guard behind
2965 __cpp_lib_is_invocable.
2966 (alignment_of_v, extent_v, has_virtual_destructor_v)
2967 (is_abstract_v, is_arithmetic_v, is_array_v)
2968 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
2969 (is_constructible_v, is_const_v, is_convertible_v)
2970 (is_copy_assignable_v, is_copy_constructible_v)
2971 (is_default_constructible_v, is_destructible_v)
2972 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
2973 (is_function_v, is_fundamental_v, is_integral_v)
2974 (is_invocable_r_v, is_invocable_v, is_literal_type_v)
2975 (is_lvalue_reference_v, is_member_function_pointer_v)
2976 (is_member_object_pointer_v, is_member_pointer_v)
2977 (is_move_assignable_v, is_move_constructible_v)
2978 (is_nothrow_assignable_v, is_nothrow_constructible_v)
2979 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
2980 (is_nothrow_default_constructible_v, is_nothrow_destructible_v)
2981 (is_nothrow_invocable_r_v, is_nothrow_invocable_v)
2982 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
2983 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
2984 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
2985 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
2986 (is_trivially_assignable_v, is_trivially_constructible_v)
2987 (is_trivially_copyable_v, is_trivially_copy_assignable_v)
2988 (is_trivially_copy_constructible_v)
2989 (is_trivially_default_constructible_v)
2990 (is_trivially_destructible_v, is_trivially_move_assignable_v)
2991 (is_trivially_move_constructible_v, is_trivial_v, is_union_v)
2992 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
2993 Guard behind __cpp_lib_type_trait_variable_templates.
2994 (has_unique_object_representations)
2995 (has_unique_object_representations_v): Guard behind
2996 __cpp_lib_has_unique_object_representation.
2997 (is_aggregate): Guard behind __cpp_lib_is_aggregate.
2998 (remove_cvref, remove_cvref_t): Guard behind
2999 __cpp_lib_remove_cvref.
3000 (type_identity, type_identity_t): Guard behind
3001 __cpp_lib_type_identity.
3002 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
3003 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
3004 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
3005 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
3006 (is_scoped_enum, is_scoped_enum_v): Guard behind
3007 __cpp_lib_is_scoped_enum.
3008 (reference_constructs_from_temporary)
3009 (reference_constructs_from_temporary_v): Guard behind
3010 __cpp_lib_reference_from_temporary.
3011 * include/std/tuple: Switch to bits/version.h for
3012 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
3013 (get<T>): Guard behind __cpp_lib_tuple_by_type.
3014 (apply): Guard behind __cpp_lib_apply.
3015 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
3016 * include/std/syncstream: Switch to bits/version.h for
3017 __cpp_lib_syncbuf. Guard header behind that FTM.
3018 * include/std/string_view: Switch to bits/version.h for
3019 __cpp_lib_{string_{view,contains},constexpr_string_view} and
3020 __cpp_lib_starts_ends_with.
3021 (basic_string_view::starts_with, basic_string_view::ends_with):
3022 Guard behind __cpp_lib_starts_ends_with.
3023 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
3024 Assert as impossible ithout a bug in C++23.
3025 * include/std/string: Switch to bits/version.h for
3027 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3028 * include/std/thread: Switch to bits/version.h for
3030 * include/std/stop_token: Switch to bits/version.h for
3032 * include/std/spanstream: Switch to bits/version.h for
3033 __cpp_lib_spanstream. Guard header behind that FTM.
3034 * include/std/span: Switch to bits/version.h for __cpp_lib_span.
3035 Guard header behind that FTM.
3036 * include/std/source_location: Switch to bits/version.h for
3037 __cpp_lib_source_location. Guard header with that FTM.
3038 * include/std/shared_mutex: Switch to bits/version.h for
3039 __cpp_lib_shared{,_timed}_mutex.
3040 (shared_mutex): Guard behind __cpp_lib_shared_mutex.
3041 * include/std/semaphore: Switch to bits/version.h for
3042 __cpp_lib_semaphore. Guard header behind that FTM.
3043 * include/std/ranges: Switch to bits/version.h for
3044 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
3045 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
3046 and __cpp_lib_ranges_{as_const,enumerate,iota}.
3047 (ranges::zip et al, ranges::chunk et al, ranges::slide et al)
3048 (ranges::chunk_by et al, ranges::join_with et al)
3049 (ranges::stride et al, ranges::cartesian_product et al)
3050 (ranges::as_rvalue et al, ranges::as_const et al)
3051 (ranges::enumerate et al): Guard behind appropriate FTM.
3052 * include/std/optional: Switch to bits/version.h for
3053 __cpp_lib_optional. Guard header behind that FTM.
3054 * include/std/numeric: Switch to bits/version.h for
3055 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
3056 and __cpp_lib_parallel_algorithm.
3057 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
3058 (midpoint): Guard behind __cpp_lib_interpolate.
3059 * include/std/numbers: Switch to bits/version.h for
3060 __cpp_lib_math_constants. Guard header behind that FTM.
3061 * include/std/mutex: Switch to bits/version.h for
3062 __cpp_lib_scoped_lock.
3063 (scoped_Lock): Guard behind __cpp_lib_scoped_lock.
3064 * include/std/memory_resource: Switch to bits/version.h for
3065 __cpp_lib_{polymorphic_allocator,memory_resource}.
3066 (synchronized_pool_resource): Guard behind
3067 __cpp_lib_memory_resource >= 201603L.
3068 (polymorphic_allocator): Guard behind
3069 __cpp_lib_polymorphic_allocator.
3070 * include/std/memory: Switch to bits/version.h for
3071 __cpp_lib_{parallel_algorithm,atomic_value_initialization}.
3072 * include/std/list: Switch to bits/version.h for
3074 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3075 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
3076 Guard header behind that FTM.
3077 * include/std/iterator: Switch to bits/version.h for
3078 __cpp_lib_null_iterators.
3079 * include/std/iomanip: Switch to bits/version.h for
3080 __cpp_lib_quoted_string_io.
3081 (quoted): Guard behind __cpp_lib_quoted_string_io.
3082 * include/std/functional: Switch to bits/version.h for
3083 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
3084 __cpp_lib_{not_fn,booyer_moore_searcher}.
3085 (invoke): Guard behind __cpp_lib_invoke.
3086 (invoke_r): Guard behind __cpp_lib_invoke_r.
3087 (bind_front): Guard behind __cpp_lib_bind_front.
3088 (not_fn): Guard behind __cpp_lib_not_fn.
3089 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
3090 definition behind __cpp_lib_boyer_moore_searcher.
3091 * include/std/forward_list: Switch to bits/version.h for
3093 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3094 * include/std/format: Switch to bits/version.h for
3095 __cpp_lib_format. Guard header behind that FTM.
3096 * include/std/filesystem: Switch to bits/version.h for
3097 __cpp_lib_filesystem. Guard header behind that FTM.
3098 * include/std/expected: Switch to bits/version.h for
3099 __cpp_lib_expected. Guard header behind it.
3100 * include/std/execution: Switch to bits/version.h for
3101 __cpp_lib_{execution,parallel_algorithm}. Guard header behind
3103 * include/std/deque: Switch to bits/version.h for
3105 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3106 * include/std/coroutine: Switch to bits/version.h for
3107 __cpp_lib_coroutine. Guard header behind that FTM.
3108 * include/std/concepts: Switch to bits/version.h for
3109 __cpp_lib_concepts. Guard header behind that FTM.
3110 * include/std/complex: Switch to bits/version.h for
3111 __cpp_lib_{complex_udls,constexpr_complex}.
3112 (operator""if, operator""i, operator""il): Guard behind
3113 __cpp_lib_complex_udls.
3114 * include/std/charconv: Swtich to bits/version.h for
3115 __cpp_lib_{to_chars,constexpr_charconv}.
3116 * include/std/bitset: Switch to bits/version.h for
3117 __cpp_lib_constexpr_bitset.
3118 * include/std/bit: Switch to bits/version.h for
3119 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
3120 (bit_cast): Guard behind __cpp_lib_bit_cast.
3121 (byteswap): Guard behind __cpp_lib_byteswap.
3122 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
3123 (popcount): Guard behind __cpp_lib_bitops.
3124 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
3126 (endian): Guard behind __cpp_lib_endian.
3127 * include/std/barrier: Switch to bits/version.h for
3128 __cpp_lib_barrier. Guard header behind that FTM.
3129 * include/std/atomic: Switch to bits/version.h for
3130 __cpp_lib_atomic_{is_always_lock_free,float,ref}
3131 and __cpp_lib_lock_free_type_aliases.
3132 (*::is_always_lock_free): Guard behind
3133 __cpp_lib_atomic_is_always_lock_free.
3134 (atomic<float>): Guard behind __cpp_lib_atomic_float.
3135 (atomic_ref): Guard behind __cpp_lib_atomic_ref.
3136 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
3137 __cpp_lib_atomic_lock_free_type_aliases.
3138 * include/std/array: Switch to bits/version.h for
3140 (to_array): Guard behind __cpp_lib_to_array.
3141 * include/std/any: Switch to bits/version.h for __cpp_lib_any.
3142 Guard header behind that FTM.
3143 * include/std/algorithm: Switch to bits/version.h for
3144 __cpp_lib_parallel_algorithm.
3145 * include/c_global/cstddef: Switch to bits/version.h for
3147 (byte): Guard behind __cpp_lib_byte.
3148 * include/c_global/cmath: Switch to bits/version.h for
3149 __cpp_lib_{hypot,interpolate}.
3150 (hypot3): Guard behind __cpp_lib_hypot.
3151 (lerp): Guard behind __cpp_lib_interpolate.
3152 * include/c_compatibility/stdatomic.h: Switch to
3153 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that
3155 * include/bits/utility.h: Switch to bits/version.h for
3156 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
3157 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
3158 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
3159 * include/bits/uses_allocator_args.h: Switch to bits/version.h for
3160 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM.
3161 * include/bits/unordered_map.h: Switch to bits/version.h for
3162 __cpp_lib_unordered_map_try_emplace.
3163 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
3164 * include/bits/unique_ptr.h: Switch to bits/version.h for
3165 __cpp_lib_{constexpr_memory,make_unique}.
3166 (make_unique): Guard behind __cpp_lib_make_unique.
3167 * include/bits/stl_vector.h: Switch to bits/version.h for
3168 __cpp_lib_constexpr_vector.
3169 * include/bits/stl_uninitialized.h: Switch to bits/version.h for
3170 __cpp_lib_raw_memory_algorithms.
3171 (uninitialized_default_construct)
3172 (uninitialized_default_construct_n, uninitialized_move)
3173 (uninitialized_move_n, uninitialized_value_construct)
3174 (uninitialized_value_construct_n): Guard behind
3175 __cpp_lib_raw_memory_algorithms.
3176 * include/bits/stl_tree.h: Switch to bits/version.h for
3177 __cpp_lib_generic_associative_lookup.
3178 * include/bits/stl_stack.h: Switch to bits/version.h for
3179 __cpp_lib_adaptor_iterator_pair_constructor.
3180 (stack): Guard iterator-pair constructor behind
3181 __cpp_lib_adaptor_iterator_pair_constructor.
3182 * include/bits/stl_queue.h: Switch to bits/version.h for
3183 __cpp_lib_adaptor_iterator_pair_constructor.
3184 (queue): Guard iterator-pair constructor behind
3185 __cpp_lib_adaptor_iterator_pair_constructor.
3186 * include/bits/stl_pair.h: Switch to bits/version.h for
3187 __cpp_lib_{concepts,tuples_by_type}.
3188 (get): Guard type-getting overloads behind
3189 __cpp_lib_tuples_by_type.
3190 * include/bits/stl_map.h: Switch to bits/version.h for
3191 __cpp_lib_map_try_emplace.
3192 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
3193 * include/bits/stl_list.h: Switch to bits/version.h for
3194 __cpp_lib_list_remove_return_type.
3195 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
3196 [C++20]: guard behind __cpp_lib_list_remove_return_type instead.
3197 * include/bits/stl_iterator.h: Switch to bits/version.h for
3198 __cpp_lib_{constexpr_iterator,array_constexpr} and
3199 __cpp_lib_{make_reverse_iterator,move_iterator_concept}.
3200 (make_reverse_iterator): Guard behind
3201 __cpp_lib_make_reverse_iterator.
3202 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept
3203 changes behind that FTM.
3204 * include/bits/stl_function.h: Switch to bits/version.h for
3205 __cpp_lib_transparent_operators.
3206 (equal_to, not_equal_to, greater, less, greater_equal)
3207 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
3208 (logical_or, logical_not, plus, minus, multiplies, divides)
3209 (modulus, negate): Guard '= void' fwdecls behind
3210 __cpp_lib_transparent_operators.
3211 (plus<void>, minus<void>, multiplies<void>, divides<void>)
3212 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
3213 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
3214 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
3215 (greater_equal<void>, less_equal<void>, bit_not<void>)
3216 (__has_is_transparent): Guard behind
3217 __cpp_lib_transparent_operators.
3218 * include/bits/stl_algobase.h: Switch to bits/version.h for
3219 __cpp_lib_robust_nonmodifying_seq_ops.
3220 (robust equal, mismatch): Guard behind
3221 __cpp_lib_nonmember_container_access.
3222 * include/bits/stl_algo.h: Swtich to bits/version.h for
3223 __cpp_lib_{clamp,sample}.
3224 (clamp): Guard behind __cpp_lib_clamp.
3225 (sample): Guard behind __cpp_lib_sample.
3226 * include/bits/specfun.h: Switch to bits/version.h for
3227 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
3228 * include/bits/shared_ptr_base.h: Switch to bits/version.h for
3229 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
3230 (_Sp_overwrite_tag): Guard behind
3231 __cpp_lib_smart_ptr_for_overwrite.
3232 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
3233 __cpp_lib_atomic_shared_ptr.
3234 * include/bits/shared_ptr.h: Switch to bits/version.h for
3235 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
3236 (shared_ptr<T>::weak_type): Guard behind
3237 __cpp_lib_shared_ptr_weak_type.
3238 (enable_shared_from_this<T>::weak_from_this): Guard behind
3239 __cpp_lib_enable_shared_from_this.
3240 * include/bits/ranges_cmp.h: Switch to bits/version.h for
3242 * include/bits/ranges_algo.h: Switch to bits/version.h for
3243 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
3244 * include/bits/range_access.h: Switch to bits/version.h for
3245 __cpp_lib_nonmember_container_access
3246 (size, empty, data): Guard behind
3247 __cpp_lib_nonmember_container_access.
3248 (ssize): Guard behind __cpp_lib_ssize.
3249 * include/bits/ptr_traits.h: Switch to bits/version.h. for
3250 __cpp_lib_{constexpr_memory,to_address}.
3251 (to_address): Guard behind __cpp_lib_to_address.
3252 * include/bits/node_handle.h: Switch to bits/version.h for
3253 __cpp_lib_node_extract. Guard header behind that FTM.
3254 * include/bits/move_only_function.h: Switch to bits/version.h for
3255 __cpp_lib_move_only_function. Guard header behind that FTM.
3256 * include/bits/move.h: Switch to bits/version.h for
3257 __cpp_lib_addressof_constexpr.
3258 * include/bits/ios_base.h: Switch to bits/version.h for
3259 __cpp_lib_ios_noreplace.
3260 (noreplace): Guard with __cpp_lib_ios_noreplace.
3261 * include/bits/hashtable.h: Switch to bits/version.h for
3262 __cpp_lib_generic_unordered_lookup.
3263 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
3264 __cpp_lib_generic_unordered_lookup.
3265 * include/bits/forward_list.h: Switch to bits/version.h for
3266 __cpp_lib_list_remove_return_type.
3267 (__remove_return_type): Guard behind
3268 __cpp_lib_list_remove_return_type.
3269 * include/bits/erase_if.h: Switch to bits/version.h for
3271 * include/bits/cow_string.h: Switch to bits/version.h for
3272 __cpp_lib_constexpr_string.
3273 * include/bits/chrono.h: Swtich to bits/version.h for
3274 __cpp_lib_chrono{,_udls}.
3275 (ceil): Guard behind __cpp_lib_chrono.
3276 (operator""ns et al): Guard behind __cpp_lib_chrono_udls.
3277 * include/bits/char_traits.h: Switch to bits/version.h for
3278 __cpp_lib_constexpr_char_traits.
3279 * include/bits/basic_string.h: Switch to bits/version.h for
3280 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
3281 (resize_and_overwrite): Guard behind
3282 __cpp_lib_string_resize_and_overwrite.
3283 (operator""s): Guard behind __cpp_lib_string_udls.
3284 * include/bits/atomic_wait.h: Switch to bits/version.h for
3285 __cpp_lib_atomic_wait. Guard header behind that FTM.
3286 * include/bits/atomic_base.h: Switch to bits/version.h for
3287 __cpp_lib_atomic_value_initialization and
3288 __cpp_lib_atomic_flag_test.
3289 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
3291 * include/bits/allocator.h: Switch to bits/version.h for
3292 __cpp_lib_incomplete_container_elements.
3293 * include/bits/alloc_traits.h: Switch to using bits/version.h for
3294 __cpp_lib_constexpr_dynamic_alloc and
3295 __cpp_lib_allocator_traits_is_always_equal.
3296 * include/bits/align.h: Switch to bits/version.h for defining
3297 __cpp_lib_assume_aligned.
3298 (assume_aligned): Guard with __cpp_lib_assume_aligned.
3299 * include/bits/algorithmfwd.h: Switch to bits/version.h for
3300 defining __cpp_lib_constexpr_algorithms.
3301 * include/std/stacktrace: Switch to bits/version.h for
3302 __cpp_lib_stacktrace. Guard header behind that FTM.
3303 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
3304 Update line numbers.
3306 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
3308 * include/Makefile.am (bits_freestanding): Add version.h.
3309 (allcreated): Add version.h.
3310 (${bits_srcdir}/version.h): New rule. Regenerates
3311 version.h out of version.{def,tpl}.
3312 * include/Makefile.in: Regenerate.
3313 * include/bits/version.def: New file. Declares a list of
3314 all feature test macros, their values and their preconditions.
3315 * include/bits/version.tpl: New file. Turns version.def
3316 into a sequence of #if blocks.
3317 * include/bits/version.h: New file. Generated from
3319 * include/std/version: Replace with a __glibcxx_want_all define
3320 and bits/version.h include.
3322 2023-08-14 Paul Dreik <gccpatches@pauldreik.se>
3325 * include/std/format (__formatter_fp::format): Use frexp instead
3328 2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org>
3330 * include/std/type_traits (true_type): Use __bool_constant
3332 (false_type): Likewise.
3333 (bool_constant): Likewise.
3335 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3338 * include/std/format (_Seq_sink::get): Only call _M_overflow if
3339 its precondition is met.
3340 (_Iter_sink::_M_finish): Likewise.
3341 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
3342 internal buffer after running out of space.
3343 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
3344 (_Counting_sink::count): Likewise.
3345 * testsuite/std/format/functions/format_to_n.cc: Check cases
3346 where the output fits into the buffer.
3348 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3351 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
3352 to _ChronoParts operators.
3353 (from_stream, parse): Define new functions.
3354 (__detail::_Parse, __detail::_Parser): New class templates.
3355 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
3357 * include/std/version (__cpp_lib_chrono): Likewise.
3358 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
3359 Adjust expected value of feature test macro.
3360 * testsuite/20_util/duration/io.cc: Test parsing.
3361 * testsuite/std/time/clock/file/io.cc: Likewise.
3362 * testsuite/std/time/clock/gps/io.cc: Likewise.
3363 * testsuite/std/time/clock/system/io.cc: Likewise.
3364 * testsuite/std/time/clock/tai/io.cc: Likewise.
3365 * testsuite/std/time/clock/utc/io.cc: Likewise.
3366 * testsuite/std/time/day/io.cc: Likewise.
3367 * testsuite/std/time/month/io.cc: Likewise.
3368 * testsuite/std/time/month_day/io.cc: Likewise.
3369 * testsuite/std/time/weekday/io.cc: Likewise.
3370 * testsuite/std/time/year/io.cc: Likewise.
3371 * testsuite/std/time/year_month/io.cc: Likewise.
3372 * testsuite/std/time/year_month_day/io.cc: Likewise.
3373 * testsuite/std/time/syn_c++20.cc: Check value of macro and for
3374 the existence of parse and from_stream in namespace chrono.
3375 * testsuite/std/time/clock/local/io.cc: New test.
3376 * testsuite/std/time/parse.cc: New test.
3378 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3381 * include/std/format (__formatter_fp::format): Do not call log10
3384 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3386 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
3387 Check for out-of-range month an weekday indices.
3388 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
3389 month and weekday values.
3391 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3393 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
3395 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3398 * include/std/format (_Spec::_S_parse_width_or_precision): Check
3399 for empty range before dereferencing iterator.
3400 * testsuite/std/format/string.cc: Check for expected exception.
3401 Fix expected exception message in test_pr110862() and actually
3404 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3407 * include/std/format (__formatter_fp::format): Check return
3408 value of _M_localize.
3409 * testsuite/std/format/functions/format.cc: Check classic
3412 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3415 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
3417 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
3418 (__detail::__basic_const_iterator_iter_cat): Likewise.
3419 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
3420 Rename to __iter_category_t.
3422 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3424 * include/bits/chrono.h (duration_cast): Do not use braces
3425 around statements for C++11 constexpr rules.
3426 * include/bits/stl_algobase.h (__lg): Rewrite as a single
3427 statement for C++11 constexpr rules.
3428 * include/experimental/bits/fs_path.h (path::string): Use
3429 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
3430 * include/std/charconv (__to_chars_8): Initialize variable for
3431 C++17 constexpr rules.
3433 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3435 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
3436 warning for loop condition.
3438 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3440 * include/std/complex: Add diagnostic pragma for clang.
3442 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3444 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
3446 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
3447 class-head to struct in friend declaration.
3448 * include/std/chrono (tzdb_list::_Node): Likewise.
3449 * include/std/future (_Task_state_base, _Task_state): Likewise.
3450 * include/std/scoped_allocator (__inner_type_impl): Likewise.
3451 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
3452 (_ValFunClos, _RefFunClos): Change class-head to struct.
3454 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3456 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
3458 * include/bits/regex_executor.tcc: Remove name of unused
3460 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
3462 * include/bits/stl_uninitialized.h: Likewise.
3463 * include/bits/streambuf_iterator.h (operator==): Likewise.
3464 * include/bits/uses_allocator.h: Likewise.
3465 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
3466 * include/std/chrono (zoned_time): Likewise.
3467 * include/std/future (__future_base::_S_allocate_result):
3469 (packaged_task): Likewise.
3470 * include/std/optional (_Optional_payload_base): Likewise.
3471 * include/std/scoped_allocator (__inner_type_impl): Likewise.
3472 * include/std/tuple (_Tuple_impl): Likewise.
3474 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3476 * include/bits/new_allocator.h (__new_allocator): Define copy
3477 assignment operator as defaulted.
3478 * include/std/complex (complex<float>, complex<double>)
3479 (complex<long double>): Define copy constructor as defaulted.
3481 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3483 * include/std/format: Fix some warnings.
3484 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
3485 unused function template.
3487 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3490 * include/std/format (__formatter_fp::format): Do not use
3491 __builtin_abs and __builtin_log10 with arbitrary floating-point
3494 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3497 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
3498 Constrain partial specialization for contiguous iterators to
3499 require the value type to be CharT.
3500 * testsuite/std/format/functions/format_to.cc: New test.
3502 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3505 * include/std/format (_Scanner::_M_on_replacement_field):
3506 Check for expected '}' before incrementing iterator.
3507 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
3509 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3511 * configure: Regenerate.
3513 2023-08-07 Alan Modra <amodra@gmail.com>
3515 * configure: Regenerate.
3517 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
3519 * configure: Regenerate.
3521 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3523 * configure: Regenerate.
3525 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3527 * configure: Regenerate.
3529 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
3531 * configure: Regenerate.
3533 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
3535 * configure: Regenerate.
3537 2023-08-06 François Dumont <fdumont@gcc.gnu.org>
3539 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
3542 2023-07-30 François Dumont <fdumont@gcc.gnu.org>
3544 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
3546 * src/c++11/locale-inst-monetary.h: Likewise.
3547 * src/c++11/locale-inst-numeric.h: Likewise.
3549 2023-07-27 Jonathan Wakely <jwakely@redhat.com>
3552 * include/std/format (__formatter_fp::format): Ensure __expc is
3553 always set for all presentation types. Set __z correctly for
3555 * testsuite/std/format/functions/format.cc: Check problem cases.
3557 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3560 * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
3562 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3565 * include/bits/stl_bvector.h (vector(const vector&)): Access
3566 iterators before allocating.
3567 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
3569 * testsuite/23_containers/vector/bool/110807.cc: New test.
3571 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3573 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
3575 * include/bits/stl_algo.h (random_shuffle): Correct comments.
3576 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
3577 deprecated warnings.
3578 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
3579 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
3580 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
3583 2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
3585 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
3587 * testsuite/26_numerics/gcd/105844.cc: Likewise.
3588 * testsuite/26_numerics/lcm/105844.cc: Likewise.
3590 2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
3592 * include/std/format (_Formatting_scanner::_M_on_chars): Add
3593 missing constexpr specifier.
3594 (_Formatting_scanner::_M_format_arg): Likewise.
3596 2023-07-24 Jonathan Wakely <jwakely@redhat.com>
3599 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
3600 throw an exception for zero result.
3601 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
3603 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3606 * src/c++17/floating_from_chars.cc (from_chars): Only define
3607 _Float128 overload when using __strfromf128.
3609 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3612 * include/bits/chrono.h (duration): Improve static assert
3614 (__is_ratio): Move to ...
3615 * include/std/ratio (__is_ratio): ... here.
3616 (__is_ratio_v): New variable template and partial
3618 (__are_both_ratios): New function template.
3619 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
3620 Add static assertion.
3621 * testsuite/20_util/ratio/requirements/type_constraints.cc:
3623 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
3624 Adjust expected error.
3625 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
3628 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3630 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
3631 Do not set __is_neg for hh_mm_ss before calling
3632 _M_format_to_ostream. Change __print_sign lambda to only check
3633 __is_neg for durations and hh_mm_ss types.
3634 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
3636 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
3638 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3641 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
3642 Handle duration and hh_mm_ss.
3643 * testsuite/20_util/duration/io.cc: Check locale-specific
3645 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
3647 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3649 * include/std/format (__write_padded): Initialize first element
3650 of array to avoid a -Wmaybe-uninitialized warning.
3652 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3655 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
3656 allowed modifiers for %z and %Z. Fix -Wparentheses and
3657 -Wnarrowing warnings.
3658 (__formatter_chrono::_M_format): Call new functions for %d, %e,
3660 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
3661 subsecond precision.
3662 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
3664 (__formatter_chrono::_M_e): Replace with _M_d_e and use
3666 (__formatter_chrono::_M_I): Replace with _M_H_I and use
3668 (__formatter_chrono::_M_m): New function.
3669 (__formatter_chrono::_M_M): New function.
3670 (__formatter_chrono::_M_r): Use _M_locale_fmt.
3671 (__formatter_chrono::_M_S): Likewise.
3672 (__formatter_chrono::_M_u_w): Likewise.
3673 (__formatter_chrono::_M_U_V_W): Likewise.
3674 (__formatter_chrono::_M_X): Use _S_floor_seconds.
3675 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
3676 (__formatter_chrono::_S_altnum): Remove function.
3677 (__formatter_chrono::_S_dd_zero_fill): Remove function.
3678 (__formatter_chrono::_S_floor_seconds): New function.
3679 (__formatter_chrono::_M_locale_fmt): New function.
3680 * testsuite/std/time/clock/system/io.cc: Adjust expected output
3681 for locale-specific formats and check modified formats.
3682 * testsuite/std/time/clock/utc/io.cc: Likewise.
3683 * testsuite/std/time/zoned_time/io.cc: New test.
3685 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3688 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
3689 allow a single modifier.
3690 * testsuite/std/time/format.cc: Check multiple modifiers.
3692 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3695 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3696 Remove dg-require-string-conversions.
3697 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3699 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3701 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3703 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
3706 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3709 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
3710 Define in terms of std::stod.
3712 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3715 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
3717 [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
3718 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
3719 Declare in namespace std.
3720 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
3722 2023-07-13 Jonathan Wakely <jwakely@redhat.com>
3725 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
3726 depend on _GLIBCXX_USE_C99_STDLIB.
3727 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
3728 in terms of stol and stoul respectively.
3729 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
3732 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3735 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
3736 conversions to wide strings.
3737 * testsuite/experimental/filesystem/path/construct/95048.cc:
3740 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3742 * config/io/basic_file_stdio.cc: Define LFS macros.
3743 (__basic_file<char>::open): Use fopen unconditionally.
3744 (get_file_offset): Use lseek unconditionally.
3745 (__basic_file<char>::seekoff): Likewise.
3746 (__basic_file<char>::showmanyc): Use fstat unconditionally.
3748 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3751 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
3752 and define _GLIBCXX_USE_FSEEKO_FTELLO.
3753 * config.h.in: Regenerate.
3754 * configure: Regenerate.
3755 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
3756 Check for fwrite error correctly.
3757 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
3758 fread error correctly.
3759 (get_file_offset): New function.
3760 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
3761 fseeko if available. Use get_file_offset instead of return value
3763 (__basic_file<char>::showmanyc): Use get_file_offset.
3765 2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
3767 * include/std/type_traits (__make_unsigned_selector): Use
3768 __is_enum built-in trait.
3769 (__make_signed_selector): Likewise.
3770 (__underlying_type_impl): Likewise.
3772 2023-07-06 Tianqiang Shuai <1101282468@qq.com>
3774 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
3777 2023-07-06 Jonathan Wakely <jwakely@redhat.com>
3780 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
3782 * doc/html/manual/configure.html: Regenerate.
3784 2023-07-05 Thomas Rodgers <trodgers@redhat.com>
3786 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
3788 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
3790 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
3792 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
3794 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
3796 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
3799 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3801 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
3802 Skip as UNSUPPORTED for C++98 mode.
3803 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
3806 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3809 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
3810 Do not use std::fill_n during constant evaluation.
3812 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3814 * include/bits/vector.tcc (_M_default_append): Replace try-block
3817 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3819 * include/bits/iterator_concepts.h (projected): Add typename.
3821 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3823 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
3824 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
3826 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3828 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
3829 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
3830 Define to OpenMP 5.0 pragmas even for GCC 10.0+.
3831 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
3833 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3835 * include/bits/alloc_traits.h (_Destroy): Qualify call.
3836 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
3837 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
3839 2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
3841 * testsuite/lib/libstdc++.exp: Remove additional flag handled
3844 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3847 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
3848 * config.h.in: Regenerate.
3849 * configure: Regenerate.
3850 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
3851 * include/std/iostream: Use new autoconf macro as well as
3853 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
3856 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3858 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
3861 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3864 * src/c++11/random.cc (random_device::_M_init): Throw
3865 std::system_error when the requested device is a valid token but
3866 not available at runtime.
3868 2023-06-30 Hans-Peter Nilsson <hp@axis.com>
3871 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
3872 __INT32_TYPE__ instead of int32_t.
3874 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
3876 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
3877 with USE_ATOMIC_LIST_HEAD.
3878 (list_mutex): Replace global object with function. Use local
3879 static object when std::mutex constructor isn't constexpr.
3881 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
3884 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
3885 copy_file_range can be called with loff_t* arguments.
3886 * configure: Regenerate.
3887 * src/filesystem/ops-common.h (copy_file_copy_file_range):
3888 Use loff_t for offsets.
3890 2023-06-29 Tom Tromey <tromey@adacore.com>
3892 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
3895 2023-06-28 Jan Hubicka <jh@suse.cz>
3897 PR middle-end/109849
3898 * include/bits/c++config (std::__terminate): Mark cold.
3899 * include/bits/functexcept.h: Mark everything as cold.
3900 * libsupc++/exception: Mark terminate and unexpected as cold.
3902 2023-06-26 Thomas Rodgers <trodgers@redhat.com>
3904 * include/pstl/algorithm_fwd.h: Synchronize with upstream.
3905 * include/pstl/algorithm_impl.h: Likewise.
3906 * include/pstl/execution_defs.h: Likewise.
3907 * include/pstl/execution_impl.h: Likewise.
3908 * include/pstl/glue_algorithm_impl.h: Likewise.
3909 * include/pstl/glue_execution_defs.h: Likewise.
3910 * include/pstl/glue_memory_impl.h: Likewise.
3911 * include/pstl/glue_numeric_impl.h: Likewise.
3912 * include/pstl/memory_impl.h: Likewise.
3913 * include/pstl/numeric_fwd.h: Likewise.
3914 * include/pstl/numeric_impl.h: Likewise.
3915 * include/pstl/parallel_backend.h: Likewise.
3916 * include/pstl/parallel_backend_serial.h: Likewise.
3917 * include/pstl/parallel_backend_tbb.h: Likewise.
3918 * include/pstl/parallel_impl.h: Likewise.
3919 * include/pstl/pstl_config.h: Likewise.
3920 * include/pstl/unseq_backend_simd.h: Likewise.
3921 * include/pstl/utils.h: Likewise.
3922 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
3924 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
3926 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
3928 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
3930 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
3931 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
3933 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
3935 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
3937 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
3939 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
3941 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
3943 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
3945 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
3947 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
3949 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
3951 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
3953 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
3955 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
3957 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
3959 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
3961 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
3963 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
3965 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
3967 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
3969 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
3971 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
3973 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
3975 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
3977 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
3979 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
3981 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
3983 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
3985 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
3987 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
3989 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
3991 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
3993 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
3995 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
3997 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
3999 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
4001 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
4003 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
4005 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
4007 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
4009 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
4011 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
4013 * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
4015 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
4017 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
4019 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
4021 * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
4023 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4025 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
4027 * testsuite/util/pstl/test_utils.h:
4030 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4033 * include/std/format (__format::__parse_integer): Fix buffer
4034 overflow for wide chars.
4035 (formatter<const void*, C>::format): Cast to uintptr_t instead
4037 * testsuite/std/format/string.cc: Test too-large widths.
4039 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4041 * include/bits/iterator_concepts.h (projected): Replace class
4042 template with alias template denoting an ADL-proofed helper.
4043 (incremental_traits<projected<Iter, Proj>>): Remove.
4044 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
4047 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4049 * include/debug/helper_functions.h (__get_distance)
4050 (__check_singular, __valid_range_aux, __valid_range): Qualify
4051 calls to disable ADL.
4052 (__check_singular_aux(const _Safe_iterator_base*)): Declare
4053 overload that was previously found via ADL.
4055 2023-06-23 Jonathan Wakely <jwakely@redhat.com>
4057 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
4060 2023-06-20 Jonathan Wakely <jwakely@redhat.com>
4062 * include/std/array (to_array(T(&)[N])): Remove redundant
4064 (to_array(T(&&)[N])): Remove redundant std::move.
4066 2023-06-16 Alexandre Oliva <oliva@adacore.com>
4068 * testsuite/20_util/from_chars/4.cc: Skip long double on
4071 2023-06-16 Joel Brobecker <brobecker@adacore.com>
4073 * configure.ac ["x${with_newlib}" = "xyes"]: Define
4074 HAVE_HYPOTF. Add compile-checks for various long double
4075 math functions as well.
4076 * configure: Regenerate.
4078 2023-06-14 Jonny Grant <jg@jguk.org>
4080 * doc/xml/manual/extensions.xml: Remove demangle exception
4081 description and include.
4082 * doc/html/manual/ext_demangling.html: Regenerate.
4084 2023-06-10 Hans-Peter Nilsson <hp@axis.com>
4086 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
4087 [! SIMULATOR_TEST]: Also exclude running test05.
4088 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
4090 2023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
4092 * include/std/type_traits: Use using instead of typedef
4094 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4097 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
4098 Only define if _Float128 and long double have different
4101 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4104 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
4105 (basic_endpoint, basic_resolver_entry, resolver_base)
4106 (basic_resolver_results, basic_resolver): Only define if the tcp
4107 or udp protocols will be defined.
4109 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4111 * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
4112 * configure: Regenerate.
4113 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
4114 * doc/html/manual/abi.html: Regenerate.
4116 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4119 * include/std/format (formatter<const void*, charT>::parse):
4120 Only alow 0 and P for C++26 and non-strict modes.
4121 (formatter<const void*, charT>::format): Use toupper for P
4122 type, and insert zero-fill characters for 0 option.
4123 * testsuite/std/format/functions/format.cc: Check pointer
4124 formatting. Only check P2510R3 extensions conditionally.
4125 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
4126 extensions conditionally.
4128 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4131 * include/std/array (to_array): Initialize arrays of trivial
4132 types using memcpy. For non-trivial types, use lambda
4133 expressions instead of a separate helper function.
4134 (__to_array): Remove.
4135 * testsuite/23_containers/array/creation/110167.cc: New test.
4137 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4139 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
4141 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
4143 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
4145 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
4147 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
4149 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
4151 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
4153 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
4155 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
4158 2023-06-07 Jakub Jelinek <jakub@redhat.com>
4161 * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
4162 (double_to_chars_test_cases,
4163 double_scientific_precision_to_chars_test_cases_2,
4164 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
4165 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
4166 Add unconditional tests with corresponding double constants
4167 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
4168 0x1.7440bbff418b9p-18.
4170 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4172 * testsuite/util/testsuite_abi.cc (check_version): Re-add
4175 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4177 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
4178 Require effective target exceptions_enabled instead of using
4180 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
4181 shrink_to_fit() to be a no-op without exceptions enabled.
4182 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
4184 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
4185 Require effective target exceptions_enabled.
4186 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
4188 * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
4190 * testsuite/ext/new_allocator/check_allocate_max_size.cc:
4192 * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
4194 * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
4197 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4199 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
4200 affected by rounding.
4201 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
4202 double before comparing for equality.
4203 * testsuite/20_util/from_chars/6.cc: Likewise.
4204 * testsuite/20_util/variant/86874.cc: Use values that aren't
4205 affected by rounding.
4206 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
4207 original value instead of to floating-point-literal.
4208 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
4209 Cast arithmetic result to double before comparing for equality.
4210 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
4212 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
4214 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
4215 the absolute difference is less than 0.01 instead of comparing
4216 to two decimal places.
4217 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
4218 Cast arithmetic result to double before comparing for equality.
4219 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
4221 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4223 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
4225 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
4227 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
4229 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4231 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4234 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4236 * configure.ac: Use AS_IF.
4237 * configure: Regenerate.
4239 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
4241 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
4242 'UNSUPPORTED: [...]: exception handling disabled'.
4244 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4246 * testsuite/util/testsuite_abi.cc (check_version): Add
4247 CXXABI_1.3.15 symver and make it the latestp. Remove
4248 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
4250 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4251 Jakub Jelinek <jakub@redhat.com>
4254 * include/std/limits: (numeric_limits<__float128>): Define
4255 for __STRICT_ANSI__ as well.
4256 * testsuite/18_support/numeric_limits/128bit.cc: Remove
4257 check for __STRICT_ANSI__.
4259 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4261 * configure.ac: Use AS_IF.
4262 * configure: Regenerate.
4264 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4267 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
4268 to avoid casts to other vector types. Implement store as
4269 succession of power-of-2 sized memcpy to avoid PR90424.
4271 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4274 * include/experimental/bits/simd_builtin.h (_S_masked_store):
4275 Call into deduced ABI's SimdImpl after conversion.
4276 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
4277 Don't use _mm_maskmoveu_si128. Use the generic fall-back
4278 implementation. Also fix masked stores without SSE2, which
4279 were not doing anything before.
4281 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4283 * include/experimental/bits/simd.h (__bit_cast): Use
4284 __gnu__::__vector_size__ instead of gnu::vector_size.
4286 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4289 * include/std/array (__array_traits<T, 0>::operator T*()): Make
4290 conversion operator explicit.
4291 (array::front): Use size_type as subscript operand.
4292 (array::data): Use static_cast to make conversion explicit.
4293 * testsuite/23_containers/array/element_access/110139.cc: New
4296 2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
4298 * include/bits/locale_classes.tcc: Remove check for
4299 codecvt<char8_t, char, mbstate_t> facet.
4301 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4303 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
4304 close-on-exec flag on file descriptors.
4306 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4309 * src/filesystem/ops-common.h (do_copy_file): Check for empty
4310 files by trying to read a character.
4311 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
4314 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
4316 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
4317 * config.h.in: Regenerate.
4318 * configure: Regenerate.
4319 * src/filesystem/ops-common.h (copy_file_copy_file_range):
4320 Define new function.
4321 (do_copy_file): Use it.
4323 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
4325 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
4326 * config.h.in: Regenerate.
4327 * configure: Regenerate.
4328 * src/filesystem/ops-common.h (copy_file_sendfile): Define new
4329 function for sendfile logic. Loop to support large files. Skip
4331 (do_copy_file): Use it.
4333 2023-06-04 Jason Merrill <jason@redhat.com>
4336 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
4337 * config/abi/pre/gnu.ver: Add it.
4339 2023-06-02 François Dumont <fdumont@gcc.gnu.org>
4341 * include/parallel/algobase.h: Include <parallel/search.h>.
4343 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4345 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4346 Add const to equality operator.
4348 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4350 * include/std/expected (expected::and_then, expected::or_else)
4351 (expected::transform_error): Use _M_val and _M_unex instead of
4352 calling value() and error(), as per LWG 3938.
4353 (expected::transform): Likewise. Remove incorrect std::move
4354 calls from lvalue overloads.
4355 (expected<void, E>::and_then, expected<void, E>::or_else)
4356 (expected<void, E>::transform): Use _M_unex instead of calling
4358 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
4359 and transform, and for std::expected<void, E>.
4360 * testsuite/20_util/expected/lwg3938.cc: New test.
4362 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4365 * include/bits/stl_vector.h (_Vector_base::_M_invariant):
4367 (vector::size, vector::capacity): Remove calls to _M_invariant.
4368 * include/bits/vector.tcc (vector::_M_fill_assign): Add
4369 optimization hint to reallocating path.
4370 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
4372 * testsuite/23_containers/vector/capacity/invariant.cc: Moved
4374 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
4375 ...here. Check assign(FwdIter, FwdIter) too.
4376 * testsuite/23_containers/vector/types/1.cc: Revert addition
4377 of -Wno-stringop-overread option.
4379 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4381 * doc/xml/manual/evolution.xml: Document removal of implicit
4382 allocator rebinding extensions in strict mode and for C++20.
4383 * doc/html/*: Regenerate.
4385 2023-06-01 Jason Merrill <jason@redhat.com>
4387 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
4388 handlers in the cleanup phase.
4390 2023-06-01 Matthias Kretz <m.kretz@gsi.de>
4393 * include/experimental/bits/simd.h (__vectorized_sizeof): With
4394 __have_neon_a32 only single-precision float works (in addition
4397 2023-06-01 François Dumont <fdumont@gcc.gnu.org>
4399 * include/bits/stl_algo.h
4400 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
4401 * include/bits/stl_algobase.h: ...here.
4402 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
4403 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
4404 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
4406 * include/parallel/algobase.h: ...here.
4407 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
4408 includes. Include <bits/stl_algobase.h>.
4410 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4413 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
4414 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
4415 * config.h.in: Regenerate.
4416 * configure: Regenerate.
4417 * include/c_global/cmath (float_t, double_t): Guard using new
4418 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
4420 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4422 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
4423 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
4424 for C99 rounding functions to here.
4425 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
4426 functions from here.
4427 * config.h.in: Regenerate.
4428 * configure: Regenerate.
4429 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
4430 of _GLIBCXX_USE_C99_MATH_TR1.
4431 * include/bits/random.tcc: Likewise.
4432 * include/c_compatibility/math.h: Likewise.
4433 * include/c_global/cmath: Likewise.
4434 * include/ext/random: Likewise.
4435 * include/ext/random.tcc: Likewise.
4436 * include/std/complex: Likewise.
4437 * testsuite/20_util/from_chars/4.cc: Likewise.
4438 * testsuite/20_util/from_chars/8.cc: Likewise.
4439 * testsuite/26_numerics/complex/proj.cc: Likewise.
4440 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
4441 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
4443 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
4445 * testsuite/util/testsuite_random.h: Likewise.
4447 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4449 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
4451 (vector::size(), vector::capacity()): Call _M_invariant().
4452 * testsuite/23_containers/vector/capacity/invariant.cc: New test.
4453 * testsuite/23_containers/vector/types/1.cc: Add suppression for
4454 false positive warning (PR110060).
4456 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4459 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
4460 defined before trying to use _Float128.
4462 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4464 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
4465 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
4466 * configure: Regenerate.
4468 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4470 * include/bits/unique_lock.h: Include <bits/error_constants.h>
4471 here for std::errc constants.
4472 * include/std/mutex: Do not include <bits/error_constants.h> and
4475 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4477 * configure.ac: Replace use of -o operator for test.
4478 * configure: Regenerate.
4480 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4482 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
4483 noexcept to all constructors except the default constructor.
4484 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
4485 (scoped_allocator_adaptor::outer_allocator): Likewise.
4486 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
4488 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4491 * include/std/limits (numeric_limits<__float128>): Define.
4492 * testsuite/18_support/numeric_limits/128bit.cc: New test.
4494 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4496 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
4497 msp430 to all 16-bit targets.
4498 * configure: Regenerate.
4500 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4503 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
4504 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
4505 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
4507 (from_chars(const char*, const char*, double&, chars_format)):
4508 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
4509 (from_chars(const char*, const char*, _Float128&, chars_format))
4510 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
4511 defined, otherwise parse a long double and convert to _Float128.
4513 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4516 * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
4517 Add deprecated attribute to non-standard overload.
4518 * doc/xml/manual/evolution.xml: Document deprecation.
4519 * doc/html/*: Regenerate.
4520 * testsuite/27_io/manipulators/standard/char/1.cc: Add
4521 dg-warning for expected deprecated warning.
4522 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
4523 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
4524 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
4526 2023-05-30 Alexandre Oliva <oliva@adacore.com>
4528 * testsuite/20_util/from_chars/4.cc: Skip long double test06
4530 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
4533 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4536 * include/experimental/bits/simd.h (to_native): Use int NTTP
4537 as specified in PTS2.
4538 (to_compatible): Likewise. Add missing tag to call mask
4540 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
4543 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4545 * testsuite/experimental/simd/tests/integer_operators.cc:
4546 Compute expected value differently to avoid getting turned into
4549 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4551 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
4552 double <-> (u)long conversion tests conditional on sizeof(long
4553 double) and sizeof(long).
4555 2023-05-26 Matthias Kretz <m.kretz@gsi.de>
4557 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
4558 Negative __y is UB, so prefer signed compare.
4560 2023-05-25 Jonathan Wakely <jwakely@redhat.com>
4562 * testsuite/util/testsuite_allocator.h (PointerBase): Add
4563 relational operators.
4565 2023-05-25 Alexandre Oliva <oliva@adacore.com>
4567 * testsuite/20_util/to_chars/long_double.cc: Expect execution
4568 fail on x86-vxworks.
4570 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4573 * include/experimental/bits/simd.h (__intrinsic_type): If
4574 __ALTIVEC__ is defined, map gnu::vector_size types to their
4575 corresponding __vector T types without losing unsignedness of
4576 integer types. Also prefer long long over long.
4577 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
4578 object to the expected unsigned vector type.
4580 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4583 * include/experimental/bits/simd.h (__intrinsic_type):
4584 Specialize __intrinsic_type<double, 8> and
4585 __intrinsic_type<double, 16> in any case, but provide the member
4586 type only with __aarch64__.
4588 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4591 * include/experimental/bits/simd_neon.h (_S_reduce): Add
4592 constexpr and make NEON implementation conditional on
4593 not __builtin_is_constant_evaluated.
4595 2023-05-23 Matthias Kretz <m.kretz@gsi.de>
4598 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
4599 Avoid vector builtin subscripting in constant expressions.
4600 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
4601 (const_where_expression, where_expression, where)
4602 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
4603 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
4605 * include/experimental/bits/simd_builtin.h (__vector_permute)
4606 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
4607 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
4608 (_MaskImplBuiltin::_S_store): Add constexpr.
4609 (_CommonImplBuiltin::_S_store_bool_array)
4610 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
4611 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
4612 constant_evaluated case.
4613 * include/experimental/bits/simd_fixed_size.h
4614 (_S_masked_load): Reword comment.
4615 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
4616 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
4617 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
4618 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
4619 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
4621 (_SimdTuple::operator[], _M_set): Add constexpr and add
4622 constant_evaluated case.
4623 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
4624 * include/experimental/bits/simd_scalar.h: Add constexpr.
4625 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
4626 constexpr and add constant_evaluated case.
4627 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
4628 (_S_less_equal): Value-initialize to satisfy constexpr
4630 (_MaskImplX86::_S_load): Add constant_evaluated case.
4631 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
4632 case. Value-initialize local variables.
4633 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
4634 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
4636 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
4639 2023-05-22 Matthias Kretz <m.kretz@gsi.de>
4641 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
4642 __infn into #ifdef'ed block.
4643 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
4644 constants only when used.
4645 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
4646 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
4647 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
4649 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
4650 Move totest and expect1 into #ifdef'ed block.
4652 2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
4654 * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
4655 * doc/html/manual/strings.html: Regenerate.
4657 2023-05-17 Jakub Jelinek <jakub@redhat.com>
4660 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
4662 2023-05-17 Jakub Jelinek <jakub@redhat.com>
4665 * include/c_global/cmath (atan2, fmod, pow): Move
4666 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
4667 __gnu_cxx::__bfloat16_t overloads.
4668 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
4670 (fma): Move __gnu_cxx::__promote_3 using template after
4671 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
4673 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4675 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
4676 checks for float_round_style and float_denorm_style.
4678 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4680 * include/bits/c++config: Add system_header pragma.
4682 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4684 * include/std/expected (expected::and_then, expected::or_else)
4685 (expected::transform, expected::transform_error): Fix exception
4686 specifications as per LWG 3877.
4687 (expected<void, E>::and_then, expected<void, E>::transform):
4689 * testsuite/20_util/expected/lwg3877.cc: New test.
4691 2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
4693 * include/std/type_traits: Use __bool_constant instead of
4696 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4698 * configure: Regenerate.
4700 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4703 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
4704 * config.h.in: Regenerate.
4705 * configure: Regenerate.
4706 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
4707 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
4708 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
4709 instead of hardcoded 64.
4711 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4713 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
4714 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
4715 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
4716 * config.h.in: Regenerate.
4717 * configure: Regenerate.
4718 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
4719 instead of _GLIBCXX_USE_C99_FENV_TR1.
4720 * include/c_global/cfenv: Likewise.
4721 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
4722 of _GLIBCXX_USE_C99_CTYPE_TR1.
4724 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4726 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
4727 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
4728 <inttypes.h> features in C++11 mode and define
4729 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
4730 * config.h.in: Regenerate.
4731 * configure: Regenerate.
4732 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
4733 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
4734 of _GLIBCXX_USE_C99_STDINT_TR1.
4735 * include/c_compatibility/inttypes.h: Check
4736 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
4737 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
4738 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
4739 * include/c_compatibility/stdatomic.h: Check
4740 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
4741 * include/c_compatibility/stdint.h: Likewise.
4742 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
4743 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
4744 _GLIBCXX_USE_C99_INTTYPES_TR1 and
4745 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
4746 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
4747 instead of _GLIBCXX_USE_C99_STDINT_TR1.
4748 * include/std/atomic: Likewise.
4749 * src/c++11/cow-stdexcept.cc: Likewise.
4750 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
4752 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
4755 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4757 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
4758 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
4759 * config.h.in: Regenerate.
4760 * configure: Regenerate.
4761 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
4762 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
4763 instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
4765 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4767 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
4768 assertion to ensure expected exception is throw.
4770 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4772 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
4773 printer for chrono::zoned_time for cx11 ABI and tzdb effective
4776 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4778 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
4779 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
4780 * configure: Regenerate.
4782 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4784 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
4785 to check for nan, nanf, and nanl.
4786 * configure: Regenerate.
4788 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4790 * include/bits/char_traits.h (char_traits<char16_t>): Do not
4791 depend on _GLIBCXX_USE_C99_STDINT_TR1.
4792 (char_traits<char32_t>): Likewise.
4793 * include/experimental/source_location: Likewise.
4795 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4797 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
4798 (atomic_int_least16_t, atomic_uint_least16_t)
4799 (atomic_int_least32_t, atomic_uint_least32_t)
4800 (atomic_int_least64_t, atomic_uint_least64_t)
4801 (atomic_int_fast16_t, atomic_uint_fast16_t)
4802 (atomic_int_fast32_t, atomic_uint_fast32_t)
4803 (atomic_int_fast64_t, atomic_uint_fast64_t)
4804 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
4805 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
4807 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4809 * include/bits/algorithmfwd.h (shuffle): Do not depend on
4810 _GLIBCXX_USE_C99_STDINT_TR1.
4811 * include/bits/ranges_algo.h (shuffle): Likewise.
4812 * include/bits/stl_algo.h (shuffle): Likewise.
4813 * include/ext/random: Likewise.
4814 * include/ext/throw_allocator.h (random_condition): Likewise.
4815 * include/std/random: Likewise.
4816 * src/c++11/cow-string-inst.cc: Likewise.
4817 * src/c++11/random.cc: Likewise.
4819 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4821 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
4822 _GLIBCXX_USE_C99_STDINT_TR1.
4824 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4826 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
4827 on _GLIBCXX_USE_C99_STDINT_TR1.
4829 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4831 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
4832 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
4833 * testsuite/experimental/string_view/typedefs.cc: Likewise.
4835 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4837 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
4838 (auto_locale, auto_ferounding): New class types.
4839 (from_chars_impl): Use auto_locale and auto_ferounding.
4841 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4844 * include/std/chrono (hh_mm_ss::__fits): Remove variable
4846 (hh_mm_ss::__subseconds): Remove __fits from constraints.
4847 * testsuite/std/time/hh_mm_ss/109772.cc: New test.
4848 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
4849 hh_mm_ss<duration<int, std::pico>>.
4851 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4853 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
4854 * include/bits/basic_ios.h: Add static assertion checking
4855 traits_type::value_type.
4856 * include/bits/basic_string.h: Likewise. Do not rebind
4857 allocator, and add static assertion checking its value_type.
4858 (basic_string::_Alloc_traits_impl): Remove class template.
4859 (basic_string::_S_allocate): New static member function.
4860 (basic_string::assign): Use _S_allocate.
4861 * include/bits/basic_string.tcc (basic_string::_M_create)
4862 (basic_string::reserve, basic_string::_M_replace): Likewise.
4863 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
4864 Disable for C++20 and later.
4865 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
4868 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4871 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
4872 and negative zero correctly.
4873 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
4875 2023-05-10 François Dumont <fdumont@gcc.gnu.org>
4877 * include/bits/hashtable_policy.h
4878 (_NodeBuilder<>::_S_build): Use __node_ptr.
4879 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
4880 (_AllocNode<>): Likewise.
4881 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
4882 to call std::is_permutation in the non-unique key implementation.
4883 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
4885 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
4886 (_Hashtable<>::_M_insert_bucket_begin): Likewise.
4887 (_Hashtable<>::_M_remove_bucket_begin): Likewise.
4888 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
4890 (_Hashtable<>::find): Likewise.
4891 (_Hashtable<>::_M_emplace): Likewise.
4892 (_Hashtable<>::_M_insert_unique): Likewise.
4894 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
4896 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
4897 Print floating-point durations correctly.
4898 (StdChronoTimePointPrinter): Support printing only the value,
4899 not the type name. Uncomment handling for known clocks.
4900 (StdChronoZonedTimePrinter): Remove type names from output.
4901 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
4902 (StdChronoTimeZonePrinter): Add equals sign to output.
4903 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
4905 2023-05-05 Alexandre Oliva <oliva@adacore.com>
4907 * testsuite/20_util/from_chars/4.cc: Skip long double test06
4909 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
4912 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
4914 * doc/xml/manual/abi.xml (abi.versioning.history): Document
4915 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
4916 * doc/html/manual/abi.html: Regenerate.
4918 2023-05-04 Florian Weimer <fweimer@redhat.com>
4920 * doc/xml/manual/abi.xml (abi.versioning.history): Add
4921 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
4924 2023-05-03 Jakub Jelinek <jakub@redhat.com>
4926 * src/c++17/floating_from_chars.cc
4927 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
4928 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
4929 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
4930 _ZSt8to_charsPcS_u9__ieee128.
4931 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
4932 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
4933 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
4934 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
4935 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
4937 2023-05-03 Jakub Jelinek <jakub@redhat.com>
4939 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
4940 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
4941 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
4942 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
4943 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
4945 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
4948 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
4949 Jonathan Wakely <jwakely@redhat.com>
4952 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
4953 Initialize _M_string_length.
4955 2023-05-02 Jakub Jelinek <jakub@redhat.com>
4957 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4958 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4959 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4960 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4961 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
4962 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4963 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4964 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4966 2023-05-02 Jakub Jelinek <jakub@redhat.com>
4969 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
4972 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4974 * include/bits/random.h (gamma_distribution): Add to the right
4976 (discrete_distribution, piecewise_constant_distribution)
4977 (piecewise_linear_distribution): Create a new doxygen group and
4978 fix the incomplete doxygen comments.
4979 * include/bits/uniform_int_dist.h (uniform_int_distribution):
4980 Add to doxygen group.
4982 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4984 * include/bits/uses_allocator.h: Add missing @file comment.
4985 * include/bits/regex.tcc: Remove stray doxygen comments.
4986 * include/experimental/memory_resource: Likewise.
4987 * include/std/bit: Tweak doxygen @cond comments.
4988 * include/std/expected: Likewise.
4989 * include/std/numbers: Likewise.
4991 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4993 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
4996 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4998 * include/bits/move.h: Simplify opening/closing namespace std.
5000 2023-04-28 Jakub Jelinek <jakub@redhat.com>
5003 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
5004 _ZSt21ios_base_library_initv.
5005 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
5006 symver and make it the latestp.
5007 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
5008 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
5009 * include/std/iostream: If init_priority attribute is supported
5010 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
5011 symbol into the object.
5012 * configure: Regenerated.
5014 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5016 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
5017 * include/std/format: Likewise.
5019 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5021 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
5022 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
5024 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5026 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
5028 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
5030 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
5032 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
5034 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
5036 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
5037 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
5038 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
5039 (_DEFINE_BINARY_OPERATOR): Likewise.
5041 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5043 * include/bits/memory_resource.h: Improve doxygen comments.
5044 * include/std/memory_resource: Likewise.
5046 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5049 * include/bits/basic_string.h: Improve doxygen comments.
5050 * include/bits/cow_string.h: Likewise.
5051 * include/bits/forward_list.h: Likewise.
5052 * include/bits/fs_dir.h: Likewise.
5053 * include/bits/fs_path.h: Likewise.
5054 * include/bits/quoted_string.h: Likewise.
5055 * include/bits/stl_bvector.h: Likewise.
5056 * include/bits/stl_map.h: Likewise.
5057 * include/bits/stl_multimap.h: Likewise.
5058 * include/bits/stl_multiset.h: Likewise.
5059 * include/bits/stl_set.h: Likewise.
5060 * include/bits/stl_vector.h: Likewise.
5061 * include/bits/unordered_map.h: Likewise.
5062 * include/bits/unordered_set.h: Likewise.
5063 * include/std/filesystem: Likewise.
5064 * include/std/iomanip: Likewise.
5066 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5069 * src/c++11/random.cc (__throw_syserr): New function.
5070 (random_device::_M_init, random_device::_M_init_pretr1): Use new
5071 function for bad tokens.
5072 (random_device::_M_getval): Use new function for read errors.
5073 * testsuite/util/testsuite_random.h (random_device_available):
5074 Change catch handler to use std::system_error.
5076 2023-04-24 Patrick Palka <ppalka@redhat.com>
5078 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
5079 Fix propagation of sign bit.
5080 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
5081 non-standard 'signed typedef-name'. Add some compile-time tests
5082 for right-shifting a negative __max_diff_type value by more than
5085 2023-04-19 Patrick Palka <ppalka@redhat.com>
5086 Jonathan Wakely <jwakely@redhat.com>
5089 * include/bits/utility.h (_Nth_type): Conditionally define in
5090 terms of __type_pack_element if available.
5091 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
5092 additional errors from the new built-in.
5094 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5097 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5100 * src/Makefile.am: Move globals_io.cc to here.
5101 * src/Makefile.in: Regenerate.
5102 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5103 * src/c++98/Makefile.in: Regenerate.
5104 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5105 symbol name and then export with GLIBCXX_3.4.31 symver.
5106 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5107 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5109 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5111 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5113 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5115 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5117 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5119 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5121 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5123 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5125 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5128 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5131 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5133 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5135 * doc/xml/manual/extensions.xml: Fix example to declare and
5136 qualify std::free, and use NULL instead of 0.
5137 * doc/html/manual/ext_demangling.html: Regenerate.
5138 * libsupc++/cxxabi.h: Adjust doxygen comments.
5140 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5143 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5145 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5148 * src/Makefile.am: Move globals_io.cc to here.
5149 * src/Makefile.in: Regenerate.
5150 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5151 * src/c++98/Makefile.in: Regenerate.
5152 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5153 symbol name and then export with GLIBCXX_3.4.31 symver.
5154 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5155 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5157 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5159 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5161 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5163 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5165 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5167 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5169 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5171 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5173 2023-04-18 Patrick Palka <ppalka@redhat.com>
5176 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
5178 * include/std/ranges (range_adaptor_closure): Define for C++23.
5179 * include/std/version (__cpp_lib_ranges): Bump value for
5181 * testsuite/std/ranges/version_c++23.cc: Bump expected value
5182 of __cpp_lib_ranges.
5183 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
5185 2023-04-18 Patrick Palka <ppalka@redhat.com>
5187 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
5189 (__cpp_lib_ranges_iota): Likewise.
5190 (__cpp_lib_ranges_find_last): Likewise.
5191 (__cpp_lib_fold): Rename to ...
5192 (__cpp_lib_ranges_fold): ... this.
5193 * include/std/version: As above.
5194 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
5195 renaming __cpp_lib_fold.
5196 * testsuite/std/ranges/version_c++23.cc: Verify values
5197 of the above feature-test macros.
5199 2023-04-18 Patrick Palka <ppalka@redhat.com>
5202 * include/std/ranges (views::_AsConst::operator()): Add
5203 missing const to constant_range test.
5204 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
5205 Improve formatting. Adjust expected type of v2.
5208 2023-04-14 Patrick Palka <ppalka@redhat.com>
5210 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
5211 (const_sentinel_t): Likewise.
5212 (range_const_reference_t): Likewise.
5213 (constant_range): Likewise.
5214 (__cust_access::__possibly_const_range): Likewise, replacing ...
5215 (__cust_access::__as_const): ... this.
5216 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
5217 (__cust_access::_CEnd::operator()): Likewise.
5218 (__cust_access::_CRBegin::operator()): Likewise.
5219 (__cust_access::_CREnd::operator()): Likewise.
5220 (__cust_access::_CData::operator()): Likewise.
5221 * include/bits/ranges_util.h (ranges::__detail::__different_from):
5222 Make it an alias of std::__detail::__different_from.
5223 (view_interface::cbegin): Define for C++23.
5224 (view_interface::cend): Likewise.
5225 * include/bits/stl_iterator.h (__detail::__different_from): Define.
5226 (iter_const_reference_t): Define for C++23.
5227 (__detail::__constant_iterator): Likewise.
5228 (__detail::__is_const_iterator): Likewise.
5229 (__detail::__not_a_const_iterator): Likewise.
5230 (__detail::__iter_const_rvalue_reference_t): Likewise.
5231 (__detail::__basic_const_iter_cat):: Likewise.
5232 (const_iterator): Likewise.
5233 (__detail::__const_sentinel): Likewise.
5234 (const_sentinel): Likewise.
5235 (basic_const_iterator): Likewise.
5236 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
5237 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
5238 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
5240 (make_const_iterator): Define for C++23.
5241 (make_const_sentinel): Likewise.
5242 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
5243 (as_const_view): Likewise.
5244 (enable_borrowed_range<as_const_view>): Likewise.
5245 (views::__detail::__is_ref_view): Likewise.
5246 (views::__detail::__can_is_const_view): Likewise.
5247 (views::_AsConst, views::as_const): Likewise.
5248 * include/std/span (span::const_iterator): Likewise.
5249 (span::const_reverse_iterator): Likewise.
5250 (span::cbegin): Likewise.
5251 (span::cend): Likewise.
5252 (span::crbegin): Likewise.
5253 (span::crend): Likewise.
5254 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
5255 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
5256 behave independently of C++20 vs C++23.
5257 * testsuite/std/ranges/version_c++23.cc: Verify value of
5258 __cpp_lib_ranges_as_const macro.
5259 * testsuite/24_iterators/const_iterator/1.cc: New test.
5260 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
5262 2023-04-14 Patrick Palka <ppalka@redhat.com>
5264 * include/bits/ranges_base.h (__cust_access::__as_const)
5265 (__cust_access::_CBegin, __cust::cbegin)
5266 (__cust_access::_CEnd, __cust::cend)
5267 (__cust_access::_CRBegin, __cust::crbegin)
5268 (__cust_access::_CREnd, __cust::crend)
5269 (__cust_access::_CData, __cust::cdata): Move down definitions to
5270 shortly after the definition of input_range.
5272 2023-04-14 Patrick Palka <ppalka@redhat.com>
5274 * include/bits/ranges_algo.h: Include <optional> for C++23.
5275 (__cpp_lib_fold): Define for C++23.
5276 (in_value_result): Likewise.
5277 (__detail::__flipped): Likewise.
5278 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
5279 (__detail::__indirectly_binary_left_foldable): Likewise.
5280 (___detail:__indirectly_binary_right_foldable): Likewise.
5281 (fold_left_with_iter_result): Likewise.
5282 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
5283 (__fold_left_fn, fold_left): Likewise.
5284 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
5286 (__fold_left_first_fn, fold_left_first): Likewise.
5287 (__fold_right_fn, fold_right): Likewise.
5288 (__fold_right_last_fn, fold_right_last): Likewise.
5289 * include/std/version (__cpp_lib_fold): Likewise.
5290 * testsuite/25_algorithms/fold_left/1.cc: New test.
5291 * testsuite/25_algorithms/fold_right/1.cc: New test.
5293 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
5295 * include/std/format (formatter): Add comment to deleted default
5296 constructor of primary template.
5297 (_Checking_scanner): Add static_assert.
5299 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5301 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
5302 * doc/html/*: Regenerate.
5304 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5306 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
5307 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
5308 namespace to avoid clashing with libc struct.
5309 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
5311 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
5312 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
5313 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
5314 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
5315 * testsuite/experimental/synchronized_value.cc: Require gthreads
5316 and add missing option for pthreads targets.
5318 2023-04-12 Patrick Palka <ppalka@redhat.com>
5320 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
5322 (__detail::__range_with_movable_reference): Likewise.
5323 (enumerate_view): Likewise.
5324 (enumerate_view::_Iterator): Likewise.
5325 (enumerate_view::_Sentinel): Likewise.
5326 (views::__detail::__can_enumerate_view): Likewise.
5327 (views::_Enumerate, views::enumerate): Likewise.
5328 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
5329 * testsuite/std/ranges/version_c++23.cc: Verify value of
5330 __cpp_lib_ranges_enumerate.
5331 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
5333 2023-04-12 Patrick Palka <ppalka@redhat.com>
5335 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
5336 Propagate _M_trailing_empty in the const-converting constructor
5338 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
5340 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
5342 2023-04-12 Patrick Palka <ppalka@redhat.com>
5344 * src/c++17/floating_from_chars.cc: Include <algorithm>,
5345 <iterator>, <limits> and <cstdint>.
5347 2023-04-12 Patrick Palka <ppalka@redhat.com>
5350 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
5351 parameter types of the lambda wrapper passed to adjacent_find.
5352 (chunk_by_view::_M_find_prev): Likewise.
5353 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
5356 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5359 * include/experimental/internet (basic_endpoint::basic_endpoint()):
5360 Ensure that the required union members are active. Only define
5361 as constexpr for C++20 and later.
5362 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
5364 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
5365 check constexpr default constructor for C++20 and later.
5366 * testsuite/experimental/net/internet/endpoint/extensible.cc:
5369 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5371 * src/c++20/tzdata.zi: Import new file from 2023c release.
5373 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5375 * include/precompiled/stdc++.h (C++17): Don't double-include
5376 <charconv>, once with wrong conditions.
5377 * testsuite/18_support/96817.cc: Require hosted.
5378 * testsuite/18_support/bad_exception/59392.cc: Ditto.
5379 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
5380 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
5381 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
5384 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5386 * include/bits/c++config: When __STDC_HOSTED__ is zero,
5387 disable _GLIBCXX_DEBUG and, if it was set, enable
5388 _GLIBCXX_ASSERTIONS.
5389 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
5390 Include <bits/c++config.h> when determining whether debug is
5391 set, in order to inherit the logic from above
5393 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5395 * testsuite/17_intro/versionconflict.cc: New test.
5396 * include/std/version: Allow disabling the system_header pragma
5397 via _GLIBCXX_TESTING_SYSHDR.
5399 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5401 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
5402 Synchronize the definition block with...
5403 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
5404 ... this one here. Also define the 202202L value, rather than
5405 leaving it up to purely unique_ptr.h, so that the value is
5406 synchronized across all headers.
5407 (__gnu_debug::_Safe_iterator_base): Move into new conditional
5409 * include/std/memory (__cpp_lib_atomic_value_initialization):
5410 Define on freestanding under the same conditions as in
5412 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
5413 Also define on freestanding.
5414 (__cpp_lib_to_chars): Ditto.
5415 (__cpp_lib_gcd): Ditto.
5416 (__cpp_lib_gcd_lcm): Ditto.
5417 (__cpp_lib_raw_memory_algorithms): Ditto.
5418 (__cpp_lib_array_constexpr): Ditto.
5419 (__cpp_lib_nonmember_container_access): Ditto.
5420 (__cpp_lib_clamp): Ditto.
5421 (__cpp_lib_constexpr_char_traits): Ditto.
5422 (__cpp_lib_constexpr_string): Ditto.
5423 (__cpp_lib_sample): Ditto.
5424 (__cpp_lib_lcm): Ditto.
5425 (__cpp_lib_constexpr_iterator): Ditto.
5426 (__cpp_lib_constexpr_char_traits): Ditto.
5427 (__cpp_lib_interpolate): Ditto.
5428 (__cpp_lib_constexpr_utility): Ditto.
5429 (__cpp_lib_shift): Ditto.
5430 (__cpp_lib_ranges): Ditto.
5431 (__cpp_lib_move_iterator_concept): Ditto.
5432 (__cpp_lib_constexpr_numeric): Ditto.
5433 (__cpp_lib_constexpr_functional): Ditto.
5434 (__cpp_lib_constexpr_algorithms): Ditto.
5435 (__cpp_lib_constexpr_tuple): Ditto.
5436 (__cpp_lib_constexpr_memory): Ditto.
5438 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
5440 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
5441 timeout factor on hppa*-*-*.
5443 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
5445 * include/bits/regex.h (sub_match::swap): New function.
5446 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
5448 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
5450 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
5452 * doc/html/manual/ext_demangling.html: Regenerate.
5454 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5456 PR tree-optimization/107087
5457 * include/bits/cow_string.h (basic_string::size()): Add
5458 optimizer hint that _S_empty_rep()._M_length is always zero.
5459 (basic_string::length()): Call size().
5461 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5464 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
5465 Add attribute access with access-mode 'none'.
5466 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
5468 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5470 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
5471 Revert change from member function to data member. Fix for
5472 constant evaluation by detecting which union member is active.
5473 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
5476 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5479 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
5480 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
5482 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5484 * include/experimental/internet (ip::make_address): Implement
5486 (ip::address_v4::broadcast()): Avoid undefined shift.
5487 (ip::basic_endpoint): Fix member functions for constexpr.
5488 (ip::basic_endpoint::_M_is_v6): Replace member function with
5489 data member, adjust member functions using it.
5490 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
5492 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
5493 constexpr checks to work in C++14.
5494 * testsuite/experimental/net/internet/address/v4/creation.cc:
5496 * testsuite/experimental/net/internet/endpoint/cons.cc:
5498 * testsuite/experimental/net/internet/network/v4/cons.cc:
5500 * testsuite/experimental/net/internet/network/v4/members.cc:
5502 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
5504 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5506 * include/std/expected (expected::value() &): Use const lvalue
5507 for unex member passed to bad_expected_access constructor, as
5510 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5513 * include/std/expected (expected::transform): Use
5514 std::remove_cv_t instead of std::remove_cvref_t.
5515 (expected::transform_error): Likewise.
5516 (expected<cv void, E>::transform): Likewise.
5517 (expected<cv void, E>::transform_error): Likewise.
5518 * include/std/optional (transform): Use std::remove_cv_t.
5519 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
5521 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5523 * include/std/optional (optional): Adjust static assertion to
5524 reject arrays and functions as well as references.
5525 * testsuite/20_util/optional/requirements_neg.cc: New test.
5527 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5530 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
5531 std::use_facet instead of cached _M_num_get facet.
5532 (istream::operator>>(short&)): Likewise.
5533 (istream::operator>>(int&)): Likewise.
5534 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
5535 std::use_facet instead of cached _M_num_put facet.
5537 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5539 * include/bits/char_traits.h (char_traits::copy): Return without
5540 using memcpy if n==0.
5541 (char_traits::assign): Likewise for memset.
5543 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5546 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
5547 hint for compiler that local strings fit in the local buffer.
5549 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5552 * include/std/chrono (__detail::__get_leap_second_info): Update
5553 expiry date of hardcoded leapseconds list.
5554 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
5556 * src/c++20/tzdata.zi: Import new file from 2023a release.
5557 * testsuite/std/time/time_zone/get_info_local.cc: Only check
5558 transitions for Egypt up to 2014.
5560 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
5562 * include/experimental/bits/simd.h (is_simd_flag_type): New.
5563 (_IsSimdFlagType): New.
5564 (copy_from, copy_to, load ctors): Constrain _Flags using
5567 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
5569 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
5570 _Base::_S_divides if the optimized _S_divides function is hidden
5571 via the preprocessor.
5573 2023-03-27 Jakub Jelinek <jakub@redhat.com>
5575 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
5576 warning if size_t is not unsigned long.
5578 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5580 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
5581 Add overload, as per LWG 3893.
5582 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
5583 Check assignment from nullptr.
5585 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5587 * include/std/format (formatter<const charT[N], charT>): Do not
5588 define partial speclialization, as per LWG 3833.
5589 * testsuite/std/format/formatter/requirements.cc: Check it.
5591 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5593 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
5595 * testsuite/20_util/exchange/constexpr.cc: Check for it.
5597 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5599 * include/std/version (__cpp_lib_format): Define.
5600 * testsuite/std/format/functions/format.cc: Check it.
5602 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5604 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
5605 Pass rvalues to the callback, as now allowed by LWG 3645.
5606 Enforce preconditions on the return value.
5607 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
5610 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5612 * include/std/format: Add a comment noting that the resolution
5613 of LWG 3720 has been applied..
5615 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5617 * include/bits/regex.h (match_results): Add allocator-extended
5618 copy and move constructors, as per LWG 2195.
5619 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
5621 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5623 * include/bits/stream_iterator.h (istream_iterator): Add
5624 constexpr to copy constructor, as per LWG 3600.
5625 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
5626 Check copy construction.
5628 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5630 * include/experimental/bits/simd_x86.h
5631 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
5632 with __RECIPROCAL_MATH__.
5634 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5636 * include/experimental/bits/simd_detail.h: Don't define
5637 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
5638 * include/experimental/bits/simd_x86.h (_S_divides): Remove
5639 check for __clang__.
5641 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5643 * include/experimental/bits/simd_detail.h: Don't declare the
5644 simd API as constexpr with Clang.
5645 * include/experimental/bits/simd_x86.h (__movm): New.
5646 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
5648 (_SimdImplX86::_S_masked_unary): Clang does not implement the
5649 same builtins. Implement the function using __movm, ?:, and -
5650 operators on vector_size types instead.
5652 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5654 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
5655 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
5657 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
5659 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
5662 2023-03-20 Marek Polacek <polacek@redhat.com>
5665 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
5666 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
5667 * testsuite/23_containers/span/explicit.cc: Likewise.
5669 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
5672 * include/std/expected (expected<void>::expected(in_place_t)):
5673 Remove template-head.
5675 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
5678 * testsuite/18_support/coroutines/hash.cc: Use const object
5681 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
5684 * include/std/coroutine (hash<>::operator()): Add const.
5685 * testsuite/18_support/coroutines/hash.cc: New test.
5687 2023-03-14 Patrick Palka <ppalka@redhat.com>
5690 * include/std/ranges (repeat_view): Remove redundant parentheses
5692 (repeat_view::_Iterator): Correct the requires-clause.
5694 2023-03-14 Patrick Palka <ppalka@redhat.com>
5696 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
5698 (__cpp_lib_move_iterator_concept): Define for C++20.
5699 (move_iterator::iterator_concept): Strengthen as per P2520R0.
5700 * include/std/version (__cpp_lib_move_iterator_concept): Define
5702 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
5704 2023-03-14 Patrick Palka <ppalka@redhat.com>
5706 * include/bits/ranges_util.h (view_interface::empty): Add
5707 preferred overloads that use ranges::size when the range is
5708 sized as per LWG 3715.
5709 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
5711 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5713 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
5714 Only define for C++17 and later.
5716 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5718 * src/Makefile.am: Add comment about linker script fragments.
5719 * src/Makefile.in: Regenerate.
5721 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5724 * include/bits/mask_array.h (mask_array): Add assertions to
5725 assignment operators.
5726 * include/std/valarray (valarray::operator[](valarray<bool>)):
5728 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
5729 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
5730 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
5731 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
5732 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
5733 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
5734 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
5735 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
5736 * testsuite/26_numerics/valarray/mask.cc: New test.
5738 2023-03-13 Jakub Jelinek <jakub@redhat.com>
5740 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5741 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
5743 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5745 * doc/Makefile.am: Add comment referring to documentation.
5746 * doc/Makefile.in: Regenerate.
5748 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5750 * doc/html/*: Regenerate.
5752 2023-03-13 Jonny Grant <jg@jguk.org>
5754 * doc/xml/faq.xml: Update copyright year.
5756 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5758 * include/bits/allocator.h: Fix typo in comment.
5760 2023-03-12 Jakub Jelinek <jakub@redhat.com>
5762 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
5763 if it isn't mangled as DF16b but u6__bf16.
5765 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
5767 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
5769 * doc/html/manual/documentation_hacking.html: Regenerate.
5771 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
5774 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
5775 Remove self-recursion in __init__. Add missing _supports.
5776 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
5779 2023-03-09 Patrick Palka <ppalka@redhat.com>
5781 * include/std/ranges
5782 (cartesian_product_view::_Iterator::_Iterator): Remove
5783 constraint on default constructor as per LWG 3849.
5784 (cartesian_product_view::_Iterator::_M_prev): Adjust position
5785 of _Nm > 0 test as per LWG 3820.
5786 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
5787 checking only on sized cartesian products.
5788 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
5790 2023-03-09 Patrick Palka <ppalka@redhat.com>
5793 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
5795 (repeat_view::_M_pred): Likewise.
5796 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
5797 * testsuite/std/ranges/repeat/1.cc (test05): New test.
5799 2023-03-09 Patrick Palka <ppalka@redhat.com>
5802 * include/std/ranges (__detail::__can_single_view): New concept.
5803 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
5804 end of the function declarator.
5805 (__detail::__can_iota_view): New concept.
5806 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
5807 end of the function declarator.
5808 (__detail::__can_istream_view): New concept.
5809 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
5810 end of the function declarator.
5811 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
5812 * testsuite/std/ranges/istream_view.cc (test08): New test.
5813 * testsuite/std/ranges/single_view.cc (test07): New test.
5815 2023-03-09 Patrick Palka <ppalka@redhat.com>
5818 * include/std/ranges (cartesian_product_view::end): When
5819 building the tuple of iterators, avoid calling ranges::begin on
5820 the first range if __empty_tail is false.
5821 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
5823 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
5826 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
5829 2023-03-07 Jakub Jelinek <jakub@redhat.com>
5831 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
5832 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5833 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
5834 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5835 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
5837 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
5840 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
5841 not match symbols in namespace std::__gnu_cxx11_ieee128.
5842 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
5843 std::__gnu_cxx11_ieee128::money_{get,put}.
5845 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
5847 * libsupc++/eh_personality.cc: Fix spelling in comment.
5849 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5851 * testsuite/30_threads/async/async.cc (test04): Initialize
5852 steady_start, renamed from steady_begin, next to slow_start.
5853 Increase tolerance for final wait.
5855 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5857 * testsuite/libstdc++-prettyprinters/80276.cc: Add
5858 std::string to debug info.
5859 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
5861 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5866 * include/bits/std_thread.h (thread::_M_thread_deps): New
5867 static implicitly-inline member function.
5868 (std::thread template ctor): Pass it to _M_start_thread.
5869 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
5870 parameter, force it live on entry.
5872 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5874 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
5875 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
5877 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
5878 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
5881 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
5883 * include/bits/cow_string.h: Fix typo in comment.
5885 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
5887 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
5888 current time zone cannot be determined.
5889 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
5890 HAVE_TZDB macro and test all members unconditionally.
5892 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5895 * include/bits/uses_allocator_args.h
5896 (uses_allocator_construction_args): Implement LWG 3527.
5897 * testsuite/20_util/pair/astuple/get-2.cc: New test.
5898 * testsuite/20_util/scoped_allocator/108952.cc: New test.
5899 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
5901 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5904 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
5905 Add __assign_one static member function.
5906 (__copy_move<true, false, RA>): Likewise.
5907 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
5909 (__copy_move_backward<IsMove, true, RA>): Likewise.
5910 * testsuite/25_algorithms/copy/108846.cc: New test.
5911 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
5912 * testsuite/25_algorithms/copy_n/108846.cc: New test.
5913 * testsuite/25_algorithms/move/108846.cc: New test.
5914 * testsuite/25_algorithms/move_backward/108846.cc: New test.
5916 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5918 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
5921 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
5923 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
5925 * include/bits/basic_string.h (resize_and_overwrite): Add
5928 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5930 * include/experimental/bits/simd.h: Line breaks and indenting
5931 fixed to follow the libstdc++ standard.
5932 * include/experimental/bits/simd_builtin.h: Likewise.
5933 * include/experimental/bits/simd_fixed_size.h: Likewise.
5934 * include/experimental/bits/simd_neon.h: Likewise.
5935 * include/experimental/bits/simd_ppc.h: Likewise.
5936 * include/experimental/bits/simd_scalar.h: Likewise.
5937 * include/experimental/bits/simd_x86.h: Likewise.
5939 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5942 * include/experimental/bits/simd_fixed_size.h
5943 (_SimdImplFixedSize::_S_broadcast): Replace inline with
5944 _GLIBCXX_SIMD_INTRINSIC.
5945 (_SimdImplFixedSize::_S_generate): Likewise.
5946 (_SimdImplFixedSize::_S_load): Likewise.
5947 (_SimdImplFixedSize::_S_masked_load): Likewise.
5948 (_SimdImplFixedSize::_S_store): Likewise.
5949 (_SimdImplFixedSize::_S_masked_store): Likewise.
5950 (_SimdImplFixedSize::_S_min): Likewise.
5951 (_SimdImplFixedSize::_S_max): Likewise.
5952 (_SimdImplFixedSize::_S_complement): Likewise.
5953 (_SimdImplFixedSize::_S_unary_minus): Likewise.
5954 (_SimdImplFixedSize::_S_plus): Likewise.
5955 (_SimdImplFixedSize::_S_minus): Likewise.
5956 (_SimdImplFixedSize::_S_multiplies): Likewise.
5957 (_SimdImplFixedSize::_S_divides): Likewise.
5958 (_SimdImplFixedSize::_S_modulus): Likewise.
5959 (_SimdImplFixedSize::_S_bit_and): Likewise.
5960 (_SimdImplFixedSize::_S_bit_or): Likewise.
5961 (_SimdImplFixedSize::_S_bit_xor): Likewise.
5962 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
5963 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
5964 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
5965 explicit about not always-inline, yet).
5966 (_SimdImplFixedSize::_S_isinf): Likewise.
5967 (_SimdImplFixedSize::_S_isfinite): Likewise.
5968 (_SimdImplFixedSize::_S_isnan): Likewise.
5969 (_SimdImplFixedSize::_S_isnormal): Likewise.
5970 (_SimdImplFixedSize::_S_signbit): Likewise.
5972 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5975 * include/experimental/bits/simd_builtin.h
5976 (_SimdImplBuiltin::_S_masked_unary): More efficient
5977 implementation of masked inc-/decrement for integers and floats
5979 * include/experimental/bits/simd_x86.h
5980 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
5981 builtins for masked inc-/decrement.
5983 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5985 * include/experimental/executor (executor): Constrain template
5988 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5990 * include/experimental/internet (basic_endpoint): Add missing
5991 constexpr to comparison operators.
5992 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
5994 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5996 * include/experimental/internet (network_v4::netmask()): Avoid
5998 (network_v4::broadcast()): Optimize and fix for targets with
5999 uint_least32_t wider than 32 bits.
6000 (network_v4::to_string(const Allocator&)): Fix for custom
6001 allocators and optimize using to_chars.
6002 (operator==(const network_v4&, const network_v4&)): Add missing
6004 (operator==(const network_v6&, const network_v6&)): Likewise.
6005 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
6006 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
6008 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6010 * include/experimental/internet (address_4(const bytes_type&)):
6011 Use __builtin_bit_cast if available, otherwise convert to
6013 (address_v4::to_bytes()): Likewise, but convert from network
6015 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6016 incorrect tests. Check for constexpr too.
6017 * testsuite/experimental/net/internet/address/v4/creation.cc:
6019 * testsuite/experimental/net/internet/address/v4/members.cc:
6020 Check that bytes_type is a standard-layout type.
6022 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6024 * include/experimental/internet (address_v4::to_string):
6026 * testsuite/experimental/net/internet/address/v4/members.cc:
6027 Check more addresses.
6029 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6031 * include/ext/aligned_buffer.h (__aligned_buffer): Add
6034 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6036 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
6039 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6041 * testsuite/experimental/simd/tests/reductions.cc: Introduce
6042 max_distance as the type-dependent max error.
6044 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6046 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
6047 int. The actual range of these indexes is very small.
6049 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6051 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
6052 (_S_bit_shift_right): Declare constexpr. The implementation was
6053 already expecting constexpr evaluation.
6055 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6058 * include/experimental/bits/simd_detail.h
6059 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
6062 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6065 * include/experimental/bits/simd.h (__vector_broadcast):
6066 Implement via __vector_broadcast_impl instead of
6067 __call_with_n_evaluations + 2 lambdas.
6068 (__vector_broadcast_impl): New.
6070 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6072 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
6073 Avoid destruction of the mutex pool.
6075 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6077 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
6079 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
6082 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6084 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
6087 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
6089 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
6091 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
6093 * include/experimental/bits/simd.h (__extract_part, split):
6094 Use reserved name for template parameter.
6096 2023-02-20 Andreas Schwab <schwab@suse.de>
6098 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
6100 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
6102 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
6103 * doc/html/faq.html: Regenerate.
6105 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6107 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
6108 between scalars requires the __bit_cast helper function instead
6111 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6113 * include/experimental/bits/simd_x86.h
6114 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
6115 (_SimdImplX86::_S_less_equal): Do not call
6116 __builtin_is_constant_evaluated in constexpr-if.
6118 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6120 * testsuite/experimental/simd/tests/bits/verify.h
6121 (verify::verify): Use %zx for size_t in format string.
6123 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6125 * testsuite/experimental/simd/generate_makefile.sh: Generate and
6126 pre-compile pch.h, which includes all headers that do not depend
6127 on command-line macros.
6128 * testsuite/experimental/simd/tests/bits/main.h: New file.
6129 (iterate_abis, main): Moved from verify.h.
6130 * testsuite/experimental/simd/tests/bits/verify.h
6131 (iterate_abis, main): Moved to main.h.
6132 * testsuite/experimental/simd/tests/bits/conversions.h: Add
6134 (genHalfBits): Simplify.
6135 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
6137 (make_alternating_mask): Moved from mask_loadstore.
6138 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
6140 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
6141 * testsuite/experimental/simd/tests/mask_loadstore.cc
6142 (make_mask, make_alternating_mask): Removed.
6143 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
6144 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
6146 * testsuite/experimental/simd/tests/abs.cc: Only include
6149 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
6150 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
6151 * testsuite/experimental/simd/tests/casts.cc: Ditto.
6152 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
6153 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
6154 * testsuite/experimental/simd/tests/generator.cc: Ditto.
6155 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
6156 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
6157 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
6158 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
6159 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
6160 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
6161 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
6162 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
6163 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
6164 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
6165 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
6166 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
6167 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
6168 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
6169 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
6170 * testsuite/experimental/simd/tests/simd.cc: Ditto.
6171 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
6172 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
6173 * testsuite/experimental/simd/tests/splits.cc: Ditto.
6174 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
6175 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
6176 * testsuite/experimental/simd/tests/where.cc: Ditto.
6178 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6180 * testsuite/experimental/simd/README.md: Document the timeout
6181 and timeout-factor directives. Minor typo fixed.
6183 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6186 * include/experimental/bits/simd_detail.h: Define
6187 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6188 * include/experimental/bits/simd.h: Annotate lambdas with
6189 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6190 * include/experimental/bits/simd_builtin.h: Ditto.
6191 * include/experimental/bits/simd_converter.h: Ditto.
6192 * include/experimental/bits/simd_fixed_size.h: Ditto.
6193 * include/experimental/bits/simd_math.h: Ditto.
6194 * include/experimental/bits/simd_neon.h: Ditto.
6195 * include/experimental/bits/simd_x86.h: Ditto.
6197 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6199 * include/experimental/bits/simd.h
6200 (_SimdWrapper::_M_is_constprop_none_of)
6201 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
6202 computed result still satisfies __builtin_constant_p.
6204 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6206 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
6209 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6211 * include/Makefile.am: Add new header.
6212 * include/Makefile.in: Regenerate.
6213 * include/experimental/synchronized_value: New file.
6214 * testsuite/experimental/synchronized_value.cc: New test.
6216 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6218 * include/experimental/optional: Fix header name in comment.
6220 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6222 * include/std/format (__format::_Arg_store): New class template.
6223 (basic_format_args): Remove nested type _Store and add deduction
6224 guide from _Arg_store.
6225 (basic_format_arg, make_format_args): Adjust.
6226 * testsuite/std/format/arguments/lwg3810.cc: New test.
6228 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6230 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
6231 constraints to constructors and add deleted overloads for the
6232 dangling cases, as per P2255R2.
6233 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
6234 make dangling cases ill-formed.
6235 * testsuite/20_util/pair/dangling_ref.cc: New test.
6237 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6239 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
6241 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6243 * include/ext/throw_allocator.h: Use reserved names for
6246 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6248 * testsuite/17_intro/names_pstl.cc: Add space after effective
6251 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6253 * include/pstl/algorithm_fwd.h (__pattern_search_n)
6254 (__brick_unique_copy, __brick_adjacent_find)
6255 (__brick_generate_n, __pattern_generate_n): Use reserved names
6257 * include/pstl/algorithm_impl.h (__brick_unique_copy)
6258 (__pattern_reverse, __brick_generate_n): Likewise.
6259 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
6260 (__prefer_parallel_tag): Likewise.
6261 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
6262 * include/pstl/glue_numeric_defs.h (adjacent_difference):
6264 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
6266 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
6267 * include/pstl/unseq_backend_simd.h (_Combiner)
6268 (__simd_min_element, __simd_minmax_element): Likewise.
6269 * testsuite/17_intro/names_pstl.cc: New test.
6271 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6273 * include/bits/fs_ops.h (create_directory): Use reserved name
6275 * include/bits/ranges_algo.h (__contains_subrange_fn):
6277 * include/bits/regex_automaton.h (_State_base::_M_print):
6279 * include/bits/regex_automaton.tcc(_State_base::_M_print):
6281 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
6282 * include/experimental/bits/fs_ops.h (create_directory):
6284 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
6285 (recursive_timed_mutex:_M_clocklock): Likewise.
6286 * include/std/tuple (basic_common_reference): Likewise.
6287 * libsupc++/cxxabi_init_exception.h
6288 (__cxa_init_primary_exception): Likewise.
6289 * testsuite/17_intro/names.cc: Add checks.
6291 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
6293 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
6294 to www.open-std.org and https.
6295 * doc/html/manual/status.html: Regenerate.
6297 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
6300 * include/std/atomic (atomic_flag_wait): Add.
6301 (atomic_flag_wait_explicit): Add.
6302 (atomic_flag_notify): Add.
6303 (atomic_flag_notify_explicit): Add.
6304 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
6305 Add test case to cover missing atomic_flag free functions.
6307 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
6310 * include/std/atomic (atomic_flag_test): Add.
6311 (atomic_flag_test_explicit): Add.
6312 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
6313 test case to cover missing atomic_flag free functions.
6314 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
6317 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
6319 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
6320 "The Component Object Model" reference.
6321 * doc/html/manual/policy_data_structures.html: Regenerate.
6323 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6325 * doc/xml/manual/containers.xml: Tweak a link to N1780
6327 * doc/html/manual/associative.html: Regenerate.
6329 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6331 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
6332 * doc/html/manual/facets.html: Regenerate.
6334 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
6336 * doc/xml/manual/policy_data_structures_biblio.xml: Update
6337 link to "Worst-case efficient priority queues".
6338 * doc/html/manual/policy_data_structures.html: Regenerate.
6340 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
6342 * doc/xml/manual/using.xml: Document newly-freestanding
6343 headers and the effect of the -ffreestanding flag.
6344 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
6346 * doc/xml/manual/configure.xml: Document that hosted installs
6347 respect __STDC_HOSTED__.
6348 * doc/xml/manual/test.xml: Document how to run tests in
6350 * doc/html/*: Regenerate.
6352 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6354 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
6355 (__find_last_if_fn): Likewise.
6357 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6359 * include/std/type_traits: Add diagnostic pragmas around
6360 references to deprecated std::aligned_storage and
6361 std::aligned_union traits.
6362 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
6363 Add dg-warning for et c++23.
6364 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
6366 * testsuite/20_util/aligned_storage/value.cc: Likewise.
6367 * testsuite/20_util/aligned_union/1.cc: Likewise.
6368 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
6371 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
6373 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
6374 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
6375 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
6376 * include/std/type_traits (aligned_storage, aligned_union)
6377 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
6378 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
6379 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
6381 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
6383 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
6384 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
6385 consistent with other 'deprecated' macros.
6386 * include/std/type_traits (is_pod, is_pod_v): Use
6387 _GLIBCXX20_DEPRECATED_SUGGEST instead.
6389 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
6391 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
6392 * Makefile.in: Regenerate.
6393 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
6394 There's no history to be compatible with.
6395 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
6396 source files from the build.
6397 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6398 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6399 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6400 * src/Makefile.in: Regenerate.
6401 * src/c++11/Makefile.in: Regenerate.
6402 * src/c++17/Makefile.in: Regenerate.
6403 * src/c++20/Makefile.in: Regenerate.
6404 * src/c++98/Makefile.in: Regenerate.
6406 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6408 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
6409 filesystem, libbacktrace and experimental.
6410 * src/Makefile.in: Regenerate.
6412 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
6415 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
6418 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
6420 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
6421 * doc/html/manual/documentation_hacking.html: Regenerate.
6423 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
6425 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
6426 storage to the move-from instance when allocators are equal.
6427 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
6430 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
6432 * config/os/gnu-linux/os_defines.h [!__linux__]
6433 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
6435 2023-02-03 Patrick Palka <ppalka@redhat.com>
6437 * include/bits/ranges_algo.h (__find_last_fn, find_last):
6439 (__find_last_if_fn, find_last_if): Define.
6440 (__find_last_if_not_fn, find_last_if_not): Define.
6441 * testsuite/25_algorithms/find_last/1.cc: New test.
6442 * testsuite/25_algorithms/find_last_if/1.cc: New test.
6443 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
6445 2023-02-03 Patrick Palka <ppalka@redhat.com>
6447 * include/bits/ranges_algo.h (out_value_result): Define.
6448 (iota_result): Define.
6449 (__iota_fn, iota): Define.
6450 * testsuite/25_algorithms/iota/1.cc: New test.
6452 2023-02-03 Patrick Palka <ppalka@redhat.com>
6454 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
6455 (__contains_subrange_fn, contains_subrange): Define.
6456 * testsuite/25_algorithms/contains/1.cc: New test.
6457 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
6459 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6461 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
6462 * doc/html/manual/abi.html: Regenerate.
6464 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6466 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
6467 errc::function_not_supported instead of errc::not_supported.
6469 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6471 * include/std/sstream (basic_stringbuf::view): Define for old
6473 (basic_istringstream::view, basic_0stringstream::view)
6474 (basic_stringstream::view): Likewise.
6475 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
6476 { dg-require-effective-target cxx11_abi }.
6477 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
6479 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
6480 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
6482 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
6483 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
6484 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
6485 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
6488 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6491 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
6492 conversion operators for directory iterator comparisons with
6493 std::default_sentinel_t.
6494 * include/bits/fs_path.h (path::path(string_view, _Type))
6495 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
6497 * src/c++17/fs_path.cc: ... here.
6498 * testsuite/27_io/filesystem/path/108636.cc: New test.
6500 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6502 * include/std/variant (variant::operator=): Implement resolution
6504 * testsuite/20_util/variant/lwg3585.cc: New test.
6506 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6508 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
6510 * doc/html/manual/using_exceptions.html: Regenerate.
6512 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6514 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
6515 * doc/html/manual/debug.html: Regenerate.
6517 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6519 * src/c++11/random.cc (random_device::_M_fini): Do not try to
6520 close the file handle if the target doesn't support the
6521 /dev/random and /dev/urandom files.
6523 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6525 * config/os/generic/error_constants.h (errc::value_too_large)
6527 * src/c++11/system_error.cc
6528 (system_category::default_error_condition) [__AVR__]: Only match
6529 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
6530 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
6531 for ENOENT etc. in switch.
6532 (fs::remove_all) [__AVR__]: Likewise.
6533 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
6536 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6538 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
6540 * configure: Regenerate.
6542 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
6545 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
6546 struct at end of S0.
6548 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
6550 * doc/xml/manual/shared_ptr.xml: Move links from both
6551 http://open-std.org and http://www.open-std.org to
6552 https://www.open-std.org.
6553 * doc/html/manual/memory.html: Regenerate.
6555 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6557 * doc/xml/manual/appendix_contributing.xml: Adjust link to
6558 ISO C++ standard at ANSI.
6559 Move link to www.open-std.org to https.
6560 * doc/html/manual/appendix_contributing.html: Regenerate.
6562 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6564 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
6566 * doc/html/manual/documentation_hacking.html: Regenerate.
6568 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6570 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
6571 * doc/html/manual/abi.html: Regenerate.
6573 2023-01-27 Jakub Jelinek <jakub@redhat.com>
6576 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
6577 include features.h if present and then check __GLIBC__ and
6578 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
6579 __GLIBC_PREREQ which isn't defined yet.
6581 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
6583 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
6586 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
6589 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
6591 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6593 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
6594 rules named "+" for compatibility with older tzdata.zi files.
6596 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6599 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
6601 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
6603 * testsuite/23_containers/map/modifiers/108554.cc: New test.
6605 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6608 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
6609 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
6611 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
6613 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
6615 * doc/html/manual/bugs.html: Regenerate.
6617 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
6620 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
6621 /etc/sysconfig/clock.
6623 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
6626 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
6627 std::make_reverse_iterator.
6628 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
6629 (make_from_tuple): Add static assertion from P2255 to diagnose
6630 dangling references.
6631 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
6632 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
6634 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
6636 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
6637 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
6638 (_Safe_iterator::operator++(int)): Use latter.
6639 (_Safe_iterator::operator--(int)): Likewise.
6640 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
6642 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
6644 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
6645 (_Safe_local_iterator::operator++(int)): Use latter.
6646 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
6647 entry associated to the array entry.
6649 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
6651 * include/bits/fs_path.h (u8path): Add deprecated attribute.
6652 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
6653 -Wno-deprecated-declarations for C++20 and later.
6654 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
6656 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
6657 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
6658 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
6660 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
6662 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
6663 Always call _M_fini and _M_getentropy.
6665 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
6667 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
6668 to www.open-std.org to use https.
6669 (COM: Component Model Object Technologies): Rename from...
6670 (The Component Object Model): ...to.
6671 * doc/html/manual/policy_data_structures.html: Regenerate.
6673 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
6675 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
6676 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
6677 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
6679 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
6681 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
6682 of $host. Fix check for file being present during native build.
6683 * configure: Regenerate.
6685 2023-01-17 Martin Liska <mliska@suse.cz>
6687 * src/libbacktrace/Makefile.in: Regenerate.
6689 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
6691 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
6693 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
6696 * include/c_compatibility/stdatomic.h: Change copyright line to
6697 be consistent with other headers contributed under DCO terms.
6698 * include/std/expected: Add full stop to copyright line.
6699 * src/c++20/tzdb.cc: Likewise.
6701 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
6703 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
6705 * doc/xml/manual/status_cxx2017.xml: Ditto.
6706 * doc/xml/manual/status_cxx2020.xml: Ditto.
6707 * doc/xml/manual/status_cxx2023.xml: Ditto.
6708 * doc/html/manual/status.html: Regenerate.
6710 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6712 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
6713 and fail gracefully if defining the weak symbol doesn't work.
6715 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
6718 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
6719 fix to other iterator category.
6720 (_Safe_iterator<>::operator--(int)): Likewise.
6721 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
6723 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
6724 (invalid_local_iterator_post_increment): New.
6725 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
6727 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
6730 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6732 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
6735 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6737 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
6739 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
6741 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
6742 windows.h. Add pecoff as FORMAT_FILE.
6743 * config.h.in: Regenerate.
6744 * configure: Regenerate.
6745 * src/libbacktrace/Makefile.am: Regenerate.
6746 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
6748 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
6750 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
6751 raw __name if __cxa_demangle could not demangle it.
6753 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6756 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
6759 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6761 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
6763 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
6765 * testsuite/std/time/tzdb_list/1.cc: Likewise.
6767 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6769 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
6770 --with-libstdcxx-zoneinfo-dir configure option with
6771 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
6773 * config.h.in: Regenerate.
6774 * configure: Regenerate.
6775 * doc/xml/manual/configure.xml: Document configure option.
6776 * doc/html/manual/configure.html: Regenerate.
6777 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
6778 * src/c++20/Makefile.in: Regenerate.
6779 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
6780 null pointer if no directory is configured.
6781 (zoneinfo_dir): Replace with ...
6782 (zoneinfo_file): New function.
6783 (tzdata_stream): New istream class.
6784 (remote_version, reload_tzdb): Use tzdata_stream.
6785 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
6786 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
6787 tzdata.zi file in default location.
6788 * src/c++20/tzdata.zi: New file.
6790 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6792 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
6793 * testsuite/std/time/month_day/io.cc: New test.
6794 * testsuite/std/time/month_day_last/io.cc: New test.
6795 * testsuite/std/time/month_weekday/io.cc: New test.
6796 * testsuite/std/time/month_weekday_last/io.cc: New test.
6797 * testsuite/std/time/weekday_indexed/io.cc: New test.
6798 * testsuite/std/time/weekday_last/io.cc: New test.
6799 * testsuite/std/time/year_month/io.cc: New test.
6800 * testsuite/std/time/year_month_day_last/io.cc: New test.
6801 * testsuite/std/time/year_month_weekday/io.cc: New test.
6802 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
6804 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
6806 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
6808 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
6811 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6813 * include/bits/std_mutex.h: Include <errno.h>.
6815 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
6817 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
6818 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
6819 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
6820 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
6821 std::make_unique with a freestanding-compatible wrapper around
6823 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
6824 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
6825 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
6827 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
6828 of __cpp_lib_ranges in !HOSTED.
6830 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
6832 * include/Makefile.am: Install bits/char_traits.h,
6834 * include/Makefile.in: Regenerate.
6835 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
6836 mbstate-only bits behind appropriate #ifs.
6837 * include/std/string_view: Gate <iostream> functionality behind
6839 * include/std/version: Enable __cpp_lib_constexpr_string_view
6840 and __cpp_lib_starts_ends_with in !HOSTED.
6841 * include/std/ranges: Re-enable __is_basic_string_view on
6842 freestanding, include <string_view> directly.
6843 * include/precompiled/stdc++.h: Include <string_view> when
6845 * testsuite/20_util/function_objects/searchers.cc: Skip testing
6846 boyer_moore searchers on freestanding
6847 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
6848 <string>-related tests behind __STDC_HOSTED__.
6849 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
6850 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
6851 unused <stdexcept> include.
6852 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
6853 unused <vector> include.
6854 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
6855 Guard <string> related testing behind __STDC_HOSTED__.
6856 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
6857 Guard <stdexcept> related tests behind __STDC_HOSTED__.
6858 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
6860 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
6861 Guard <stdexcept> tests behind __STDC_HOSTED__.
6862 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
6863 Enable test on freestanding, guard <stdexcept> bits behind
6865 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
6866 Guard <stdexcept> bits behind __STDC_HOSTED__.
6867 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
6870 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
6873 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
6874 errors in incomplete multibyte sequences.
6875 (utf16_in): Remove surrogates parameter. Fix conditions for
6877 (utf16_out): Fix condition for returning partial.
6878 (ucs2_in): Do not pass surrogates argument to utf16_in.
6879 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
6880 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
6882 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
6885 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6888 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
6889 __GTHREAD_LEGACY_MUTEX_T if defined.
6891 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6894 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
6895 Export __try_use_facet specializations for facets in namespace
6897 * config/os/gnu-linux/ldbl-ieee128-extra.ver
6898 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
6900 * testsuite/util/testsuite_abi.cc: Add to lists of known and
6903 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6905 * include/bits/std_mutex.h: Remove <system_error> include.
6906 * include/std/condition_variable: Add <bits/error_constants.h>
6908 * include/std/mutex: Likewise.
6909 * include/std/shared_mutex: Likewise.
6911 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6914 * include/experimental/memory_resource
6915 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
6916 (do_allocate, do_deallocate): Check it.
6917 * testsuite/experimental/memory_resource/new_delete_resource.cc:
6918 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
6920 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6922 * doc/xml/manual/abi.xml: Add latest library versions.
6923 * doc/html/manual/abi.html: Regenerate.
6925 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
6928 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
6929 unused _Alloc_node instance.
6931 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6933 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
6934 Define as unsigned long if always lock-free, and unsigned int
6937 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6939 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
6940 __catch macros for exception handling.
6942 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6945 * include/bits/stl_algobase.h (__lg): Replace six overloads with
6946 a single function template for all integer types.
6947 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
6948 arithmetic results back to _Distance.
6950 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6953 * include/std/span (span::span()): Un-simplify constraint to
6954 work for size_t of lesser rank than int.
6956 2023-01-07 LIU Hao <lh_mouse@126.com>
6958 PR middle-end/108300
6959 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
6961 * src/c++11/thread.cc: Likewise.
6962 * src/c++17/fs_ops.cc: Likewise.
6963 * src/filesystem/ops.cc: Likewise.
6965 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6968 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
6970 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6973 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
6974 template and partial specialization for synchronizing access to
6975 time_zone::_Impl::infos.
6976 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
6979 2023-01-06 Patrick Palka <ppalka@redhat.com>
6982 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
6983 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
6984 (__cpp_lib_ranges_chunk): Likewise.
6985 (__cpp_lib_ranges_slide): Likewise.
6986 (__cpp_lib_ranges_chunk_by): Likewise.
6987 (__cpp_lib_ranges_join_with): Likewise.
6988 (__cpp_lib_ranges_repeat): Likewise.
6989 (__cpp_lib_ranges_stride): Likewise.
6990 (__cpp_lib_ranges_cartesian_product): Likewise.
6991 (__cpp_lib_ranges_as_rvalue): Likewise.
6992 * include/std/version: Ditto.
6993 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
6995 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
6996 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
6997 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
6998 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
6999 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
7000 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
7001 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
7002 * testsuite/std/ranges/repeat/1.cc: Likewise.
7003 * testsuite/std/ranges/zip/1.cc: Likewise.
7004 * testsuite/std/ranges/version_c++23.cc: New test.
7006 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7009 * include/std/bitset (operator>>): Use alloca in the right
7010 scope, not in a constructor.
7011 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
7013 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7016 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
7017 Disable visiting floating-point types.
7019 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7022 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
7023 (_Safe_iterator::operator--(int)): Do not hold lock around
7024 construction of return value.
7026 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
7028 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
7029 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
7030 lock release. Revise loop.
7031 (__atomic_add): Likewise.
7033 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7036 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
7038 (StdChronoTimePointPrinter::to_string): Use it.
7040 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7043 * include/std/functional (_Bind_front): Add no_unique_address
7044 attribute to data members.
7045 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
7046 size of call wrappers with empty types for targets and bound
7049 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7052 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
7053 using only last component of the name.
7055 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7059 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
7060 the latest symbol version.
7061 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
7062 atomic<_Node*> is not always lock free.
7063 (USE_ATOMIC_LIST_HEAD): New macro.
7064 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
7065 definition of weak symbol.
7066 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
7067 (tzdb_list::_Node::_S_list_head): New function for accessing
7068 list head efficiently.
7069 (tzdb_list::_Node::_S_cache_list_head): New function for
7070 updating _S_list_head.
7072 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7075 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
7076 duration rep is unsigned.
7077 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
7079 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
7082 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
7083 Add __gnu_cxx::zoneinfo_dir_override().
7085 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
7088 * include/std/array (__array_traits<T, 0>::operator T*()): Add
7090 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
7091 std::array<T, 0>::data().
7094 Copyright (C) 2023 Free Software Foundation, Inc.
7096 Copying and distribution of this file, with or without modification,
7097 are permitted in any medium without royalty provided the copyright
7098 notice and this notice are preserved.