1 2023-10-13 Jakub Jelinek <jakub@redhat.com>
3 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
4 Initialize stream to va_arg(ap, FILE*) rather than 0.
5 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
8 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
10 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
11 testsuite/29_atomics/atomic_flag/clear/1.cc,
12 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
13 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
14 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
15 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
16 testsuite/29_atomics/atomic_ref/generic.cc,
17 testsuite/29_atomics/atomic_ref/integral.cc,
18 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
19 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
21 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
23 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
25 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
28 2023-10-05 François Dumont <fdumont@gcc.gnu.org>
30 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
31 for _Float{16,32,64,128,32x,64x,128x}.
33 2023-10-04 Tom Tromey <tromey@adacore.com>
35 * python/libstdcxx/v6/printers.py
36 (StdExpAnyPrinter.__init__): Qualify call to
39 2023-10-04 Tom Tromey <tromey@adacore.com>
41 * python/libstdcxx/v6/printers.py: Assume that
42 _versioned_namespace is non-None.
43 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
44 Assume that _versioned_namespace is non-None.
46 2023-10-04 Tom Tromey <tromey@adacore.com>
48 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
51 2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com>
54 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
56 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
57 (ucs4_in): Fix handling of range with odd number of bytes.
58 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
59 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
60 (ucs2_in): Fix handling of range with odd number of bytes.
61 (__codecvt_utf16_base<char16_t>::do_in): Likewise.
62 (__codecvt_utf16_base<char32_t>::do_in): Likewise.
63 (__codecvt_utf16_base<wchar_t>::do_in): Likewise.
64 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
65 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
66 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
67 testing functions for char8_t, add more test cases for errors,
68 add testing functions for codecvt_utf16.
69 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
70 Renames, add tests for codecvt_utf16<whchar_t>.
71 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
73 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
76 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
78 * include/bits/basic_string.h: (basic_string(basic_string&&)):
79 Activate _M_local_buf when needed.
80 (basic_string(basic_string&&, const _Alloc&)): Likewise.
81 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
82 * include/std/variant: (__detail::__variant::__construct_n): New.
83 (__detail::__variant::__emplace): Use __construct_n.
85 2023-09-28 Tom Tromey <tromey@adacore.com>
87 * python/libstdcxx/v6/printers.py (Printer.add_version)
88 (add_one_template_type_printer)
89 (FilteringTypePrinter.add_one_type_printer): Use Python
92 2023-09-28 Tom Tromey <tromey@adacore.com>
94 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
97 2023-09-28 Tom Tromey <tromey@adacore.com>
99 * python/libstdcxx/v6/printers.py
100 (StdExpOptionalPrinter.__init__, lookup_node_type):
101 Remove unused variables.
103 2023-09-28 Tom Tromey <tromey@adacore.com>
105 * python/libstdcxx/v6/printers.py: Don't import 'os'.
106 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
108 2023-09-28 Tom Tromey <tromey@adacore.com>
110 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
111 everywhere. Rename members to start with "_".
113 2023-09-28 Tom Tromey <tromey@adacore.com>
115 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python
116 stack traces from gdb.
118 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
120 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
122 (ArrayMethodsMatcher, DequeMethodsMatcher)
123 (ForwardListMethodsMatcher, ListMethodsMatcher)
124 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
125 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
126 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
127 is_specialization_of instead of re.match.
129 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
131 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
132 strings for regular expressions. Add whitespace around
134 (is_member_of_namespace): Use isinstance to check type.
135 (is_specialization_of): Likewise. Adjust template_name
136 for versioned namespace instead of duplicating the re.match
138 (StdExpAnyPrinter._string_types): New static method.
139 (StdExpAnyPrinter.to_string): Use _string_types.
141 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
143 * python/libstdcxx/v6/printers.py: Format docstrings according
145 * python/libstdcxx/v6/xmethods.py: Likewise.
147 2023-09-28 Tim Song <t.canens.cpp@gmail.com>
150 * include/bits/hashtable_policy.h
151 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
152 Add [[__gnu__::__always_inline__]].
154 2023-09-27 Jonathan Wakely <jwakely@redhat.com>
156 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
157 Fix incorrect number of replacement fields.
159 2023-09-26 Hans-Peter Nilsson <hp@axis.com>
161 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
162 dg-require-thread-fence.
164 2023-09-25 Patrick Palka <ppalka@redhat.com>
166 * include/std/charconv (__detail::__integer_to_chars_result_type):
168 (__detail::__to_chars_16): Use to_chars_result as return type.
169 (__detail::__to_chars_10): Likewise.
170 (__detail::__to_chars_8): Likewise.
171 (__detail::__to_chars_2): Likewise.
172 (__detail::__to_chars_i): Likewise.
173 (__detail::__integer_from_chars_result_type): Inline the
175 (from_chars): ... here. Use __is_standard_integer in the
176 constraint. Encode constraint as a defaulted non-type template
177 parameter instead of within the return type.
179 2023-09-25 John David Anglin <danglin@gcc.gnu.org>
181 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
183 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
187 * include/std/array (to_array): Cast memcpy arguments to void*.
188 * testsuite/23_containers/array/creation/111512.cc: New test.
190 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
192 * include/bits/move.h (forward_list): Define for C++23.
193 * include/bits/version.def (forward_like): Define.
194 * include/bits/version.h: Regenerate.
195 * include/std/utility (__glibcxx_want_forward_like): Define.
196 * testsuite/20_util/forward_like/1.cc: New test.
197 * testsuite/20_util/forward_like/2_neg.cc: New test.
198 * testsuite/20_util/forward_like/version.cc: New test.
200 2023-09-19 Marek Polacek <polacek@redhat.com>
202 * testsuite/20_util/allocator/105975.cc: Add dg-error.
204 2023-09-18 Patrick Palka <ppalka@redhat.com>
208 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
209 Make data member seed_seq::called mutable.
210 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
212 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
214 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
216 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
218 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
220 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
223 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
225 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
226 * doc/html/manual/status.html: Regenerate.
228 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
230 * doc/xml/manual/configure.xml: Use conventional option name.
231 * doc/xml/manual/status_cxx2020.xml: Update.
232 * doc/xml/manual/status_cxx2023.xml: Update.
233 * doc/html/*: Regenerate.
235 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
237 * doc/xml/manual/intro.xml: Clarify that building libstdc++
238 separately from GCC is not supported.
239 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
241 * doc/html/manual/setup.html: Regenerate.
243 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
245 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
246 restrict to pthreads targets.
247 * testsuite/30_threads/jthread/3.cc: Likewise.
248 * testsuite/30_threads/semaphore/100806.cc: Likewise.
249 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
250 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
251 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
253 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
255 * testsuite/18_support/coroutines/95917.cc: Remove dg-options
257 * testsuite/18_support/coroutines/hash.cc: Likewise.
258 * testsuite/18_support/coroutines/lwg3460.cc: Likewise.
259 * testsuite/18_support/destroying_delete.cc: Likewise.
260 * testsuite/18_support/source_location/1.cc: Likewise.
261 * testsuite/18_support/source_location/consteval.cc: Likewise.
262 * testsuite/18_support/source_location/version.cc: Likewise.
263 * testsuite/19_diagnostics/error_category/operators/three_way.cc:
265 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
267 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
269 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
270 * testsuite/26_numerics/adjacent_difference/lwg2055.cc:
272 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
273 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
274 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
275 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
276 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
277 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
279 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
281 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
283 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
284 * testsuite/experimental/filesystem/iterators/106201.cc:
286 * testsuite/experimental/scopeguard/exit.cc: Likewise.
287 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
289 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
291 * testsuite/30_threads/barrier/1.cc: Remove dg-options
293 * testsuite/30_threads/barrier/2.cc: Likewise.
294 * testsuite/30_threads/barrier/arrive.cc: Likewise.
295 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
296 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
297 * testsuite/30_threads/barrier/completion.cc: Likewise.
298 * testsuite/30_threads/condition_variable/members/clock_neg.cc:
300 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
302 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
304 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
306 * testsuite/30_threads/future/members/clock_neg.cc: Likewise.
307 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
308 * testsuite/30_threads/headers/thread/types_std_c++20.cc:
310 * testsuite/30_threads/jthread/1.cc: Likewise.
311 * testsuite/30_threads/jthread/100612.cc: Likewise.
312 * testsuite/30_threads/jthread/95989.cc: Likewise.
313 * testsuite/30_threads/jthread/jthread.cc: Likewise.
314 * testsuite/30_threads/jthread/version.cc: Likewise.
315 * testsuite/30_threads/latch/1.cc: Likewise.
316 * testsuite/30_threads/latch/2.cc: Likewise.
317 * testsuite/30_threads/latch/3.cc: Likewise.
318 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
320 * testsuite/30_threads/semaphore/1.cc: Likewise.
321 * testsuite/30_threads/semaphore/2.cc: Likewise.
322 * testsuite/30_threads/semaphore/least_max_value_neg.cc:
324 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
325 * testsuite/30_threads/shared_future/members/clock_neg.cc:
327 * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
329 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
331 * testsuite/30_threads/stop_token/1.cc: Likewise.
332 * testsuite/30_threads/stop_token/2.cc: Likewise.
333 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
334 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
336 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
338 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
340 * testsuite/30_threads/stop_token/stop_callback/invoke.cc:
342 * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
343 * testsuite/30_threads/stop_token/stop_source/assign.cc:
345 * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
346 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
348 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
349 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
351 * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
354 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
356 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
357 Remove dg-options -std=gnu++2a.
358 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
360 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
362 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
364 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
365 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
367 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
368 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
370 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
371 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
373 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
374 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
376 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
378 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
379 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
381 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
382 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
384 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
385 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
387 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
388 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
389 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
390 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
391 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
392 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
393 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
394 * testsuite/27_io/basic_stringstream/cons/char/97719.cc:
396 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
398 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
399 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
401 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
402 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
404 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
405 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
406 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
407 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
408 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
409 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
410 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
411 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
412 * testsuite/27_io/basic_syncstream/requirements/types.cc:
414 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
415 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
416 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
418 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
421 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
423 * testsuite/26_numerics/accumulate/constexpr.cc: Remove
424 dg-options -std=gnu++2a.
425 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
426 * testsuite/26_numerics/adjacent_difference/constexpr.cc:
428 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
429 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
430 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
431 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
432 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
434 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
435 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
436 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
437 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
438 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
439 * testsuite/26_numerics/bit/header-2.cc: Likewise.
440 * testsuite/26_numerics/bit/header.cc: Likewise.
441 * testsuite/26_numerics/complex/1.cc: Likewise.
442 * testsuite/26_numerics/complex/2.cc: Likewise.
443 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
445 * testsuite/26_numerics/complex/operators/more_constexpr.cc:
447 * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
449 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
451 * testsuite/26_numerics/endian/1.cc: Likewise.
452 * testsuite/26_numerics/endian/2.cc: Likewise.
453 * testsuite/26_numerics/endian/3.cc: Likewise.
454 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
455 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
456 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
457 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
458 * testsuite/26_numerics/iota/constexpr.cc: Likewise.
459 * testsuite/26_numerics/lerp/1.cc: Likewise.
460 * testsuite/26_numerics/lerp/constexpr.cc: Likewise.
461 * testsuite/26_numerics/lerp/version.cc: Likewise.
462 * testsuite/26_numerics/midpoint/floating.cc: Likewise.
463 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
464 * testsuite/26_numerics/midpoint/pointer.cc: Likewise.
465 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
466 * testsuite/26_numerics/midpoint/version.cc: Likewise.
467 * testsuite/26_numerics/numbers/1.cc: Likewise.
468 * testsuite/26_numerics/numbers/2.cc: Likewise.
469 * testsuite/26_numerics/numbers/3.cc: Likewise.
470 * testsuite/26_numerics/numbers/float128.cc: Likewise.
471 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
472 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
473 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
474 * testsuite/26_numerics/random/concept.cc: Likewise.
475 * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
476 * testsuite/26_numerics/slice/compare.cc: Likewise.
477 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
479 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
481 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
483 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
485 * testsuite/24_iterators/aliases.cc: Remove dg-options
487 * testsuite/24_iterators/associated_types/incrementable.traits.cc:
489 * testsuite/24_iterators/associated_types/iterator.traits.cc:
491 * testsuite/24_iterators/associated_types/readable.traits.cc:
493 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
495 * testsuite/24_iterators/back_insert_iterator/pr93884.cc:
497 * testsuite/24_iterators/bidirectional/concept.cc: Likewise.
498 * testsuite/24_iterators/common_iterator/1.cc: Likewise.
499 * testsuite/24_iterators/common_iterator/100823.cc: Likewise.
500 * testsuite/24_iterators/common_iterator/2.cc: Likewise.
501 * testsuite/24_iterators/contiguous/concept.cc: Likewise.
502 * testsuite/24_iterators/contiguous/tag.cc: Likewise.
503 * testsuite/24_iterators/counted_iterator/1.cc: Likewise.
504 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
505 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
506 * testsuite/24_iterators/customization_points/92894.cc:
508 * testsuite/24_iterators/customization_points/iter_move.cc:
510 * testsuite/24_iterators/customization_points/iter_swap.cc:
512 * testsuite/24_iterators/customization_points/lwg3420.cc:
514 * testsuite/24_iterators/forward/concept.cc: Likewise.
515 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
517 * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
519 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
521 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
522 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
524 * testsuite/24_iterators/indirect_callable/projected.cc:
526 * testsuite/24_iterators/input/concept.cc: Likewise.
527 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
528 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
530 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
531 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
533 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
535 * testsuite/24_iterators/move_iterator/cust.cc: Likewise.
536 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
537 * testsuite/24_iterators/move_iterator/input_iterator.cc:
539 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
540 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
541 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
542 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
543 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
545 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
546 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
547 * testsuite/24_iterators/output/concept.cc: Likewise.
548 * testsuite/24_iterators/random_access/concept.cc: Likewise.
549 * testsuite/24_iterators/range_access/range_access_cpp20.cc:
551 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
553 * testsuite/24_iterators/range_operations/100768.cc: Likewise.
554 * testsuite/24_iterators/range_operations/advance.cc: Likewise.
555 * testsuite/24_iterators/range_operations/advance_overflow.cc:
557 * testsuite/24_iterators/range_operations/distance.cc: Likewise.
558 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
559 * testsuite/24_iterators/range_operations/next.cc: Likewise.
560 * testsuite/24_iterators/range_operations/prev.cc: Likewise.
561 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
562 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
563 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
566 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
568 * testsuite/23_containers/array/comparison_operators/96851.cc:
569 Remove dg-options -std=gnu++2a.
570 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
572 * testsuite/23_containers/array/creation/1.cc: Likewise.
573 * testsuite/23_containers/array/creation/110167.cc: Likewise.
574 * testsuite/23_containers/array/creation/2.cc: Likewise.
575 * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
576 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
578 * testsuite/23_containers/array/requirements/constexpr_swap.cc:
580 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
581 * testsuite/23_containers/deque/erasure.cc: Likewise.
582 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
584 * testsuite/23_containers/deque/operators/cmp_c++20.cc:
586 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
587 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
588 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
589 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
591 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
593 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
595 * testsuite/23_containers/list/48101-3_neg.cc: Likewise.
596 * testsuite/23_containers/list/cmp_c++20.cc: Likewise.
597 * testsuite/23_containers/list/erasure.cc: Likewise.
598 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
600 * testsuite/23_containers/list/operations/remove_cxx20_return.cc:
602 * testsuite/23_containers/list/operations/unique_cxx20_return.cc:
604 * testsuite/23_containers/map/48101-3_neg.cc: Likewise.
605 * testsuite/23_containers/map/erasure.cc: Likewise.
606 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
608 * testsuite/23_containers/map/operations/contains.cc: Likewise.
609 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
610 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
611 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
613 * testsuite/23_containers/multimap/operations/contains.cc:
615 * testsuite/23_containers/multimap/operators/cmp_c++20.cc:
617 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
618 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
620 * testsuite/23_containers/multiset/operations/contains.cc:
622 * testsuite/23_containers/multiset/operators/cmp_c++20.cc:
624 * testsuite/23_containers/priority_queue/92878_92947.cc:
626 * testsuite/23_containers/queue/92878_92947.cc: Likewise.
627 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
628 * testsuite/23_containers/set/48101-3_neg.cc: Likewise.
629 * testsuite/23_containers/set/erasure.cc: Likewise.
630 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
632 * testsuite/23_containers/set/operations/contains.cc: Likewise.
633 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
634 * testsuite/23_containers/span/1.cc: Likewise.
635 * testsuite/23_containers/span/101411.cc: Likewise.
636 * testsuite/23_containers/span/2.cc: Likewise.
637 * testsuite/23_containers/span/deduction.cc: Likewise.
638 * testsuite/23_containers/span/explicit.cc: Likewise.
639 * testsuite/23_containers/span/layout_compat.cc: Likewise.
640 * testsuite/23_containers/span/lwg3255.cc: Likewise.
641 * testsuite/23_containers/span/nothrow_cons.cc: Likewise.
642 * testsuite/23_containers/span/trivially_copyable.cc: Likewise.
643 * testsuite/23_containers/stack/92878_92947.cc: Likewise.
644 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
645 * testsuite/23_containers/unordered_map/48101-3_neg.cc:
647 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
648 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
650 * testsuite/23_containers/unordered_map/operations/1.cc:
652 * testsuite/23_containers/unordered_map/operations/contains.cc:
654 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
656 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
658 * testsuite/23_containers/unordered_multimap/operations/1.cc:
660 * testsuite/23_containers/unordered_multimap/operations/contains.cc:
662 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
664 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
666 * testsuite/23_containers/unordered_multiset/operations/1.cc:
668 * testsuite/23_containers/unordered_multiset/operations/contains.cc:
670 * testsuite/23_containers/unordered_set/48101-3_neg.cc:
672 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
673 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
675 * testsuite/23_containers/unordered_set/operations/1.cc:
677 * testsuite/23_containers/unordered_set/operations/contains.cc:
679 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
680 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
682 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
683 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
685 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
687 * testsuite/23_containers/vector/bool/iterator_c++20.cc:
689 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
691 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
693 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
695 * testsuite/23_containers/vector/capacity/constexpr.cc:
697 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
698 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
699 * testsuite/23_containers/vector/data_access/constexpr.cc:
701 * testsuite/23_containers/vector/element_access/constexpr.cc:
703 * testsuite/23_containers/vector/erasure.cc: Likewise.
704 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
706 * testsuite/23_containers/vector/modifiers/constexpr.cc:
708 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
710 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
712 * testsuite/23_containers/vector/requirements/version.cc:
715 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
717 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
718 dg-options -std=gnu++20.
719 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
721 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
723 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
724 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
726 * testsuite/21_strings/basic_string/literals/constexpr.cc:
728 * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
730 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
732 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
734 * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
736 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
738 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
740 * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
742 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
744 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
746 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
748 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
750 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
752 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
754 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
756 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
758 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
760 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
762 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
764 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
766 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
768 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
770 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
772 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
774 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
777 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
779 * testsuite/20_util/allocator/105975.cc: Remove dg-options
781 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
782 * testsuite/20_util/allocator/requirements/constexpr.cc:
784 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
786 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
787 * testsuite/20_util/allocator_traits/header.cc: Likewise.
788 * testsuite/20_util/allocator_traits/members/92878_92947.cc:
790 * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
791 * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
792 * testsuite/20_util/assume_aligned/1.cc: Likewise.
793 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
794 * testsuite/20_util/assume_aligned/3.cc: Likewise.
795 * testsuite/20_util/assume_aligned/97132.cc: Likewise.
796 * testsuite/20_util/bind/constexpr.cc: Likewise.
797 * testsuite/20_util/bitset/operations/96303.cc: Likewise.
798 * testsuite/20_util/common_reference/100894.cc: Likewise.
799 * testsuite/20_util/common_reference/requirements/alias_decl.cc:
801 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
803 * testsuite/20_util/common_reference/requirements/typedefs.cc:
805 * testsuite/20_util/duration/comparison_operators/three_way.cc:
807 * testsuite/20_util/exchange/constexpr.cc: Likewise.
808 * testsuite/20_util/exchange/noexcept.cc: Likewise.
809 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
810 * testsuite/20_util/from_chars/compare.cc: Likewise.
811 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
812 * testsuite/20_util/function_objects/bind_front/107784.cc:
814 * testsuite/20_util/function_objects/bind_front/111327.cc:
816 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
817 * testsuite/20_util/function_objects/bind_front/97101.cc:
819 * testsuite/20_util/function_objects/bind_front/constexpr.cc:
821 * testsuite/20_util/function_objects/constexpr_searcher.cc:
823 * testsuite/20_util/function_objects/identity/1.cc: Likewise.
824 * testsuite/20_util/function_objects/invoke/constexpr.cc:
826 * testsuite/20_util/function_objects/mem_fn/constexpr.cc:
828 * testsuite/20_util/function_objects/not_fn/constexpr.cc:
830 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
831 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
832 * testsuite/20_util/integer_comparisons/equal.cc: Likewise.
833 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
834 * testsuite/20_util/integer_comparisons/greater.cc: Likewise.
835 * testsuite/20_util/integer_comparisons/greater_equal.cc:
837 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
839 * testsuite/20_util/integer_comparisons/greater_neg.cc:
841 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
842 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
844 * testsuite/20_util/integer_comparisons/less.cc: Likewise.
845 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
846 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
848 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
849 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
850 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
852 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
854 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
856 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
857 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
858 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
859 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
860 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
862 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
863 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
864 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
866 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
868 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
870 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
871 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
872 * testsuite/20_util/is_pointer_interconvertible/value.cc:
874 * testsuite/20_util/is_pointer_interconvertible/version.cc:
876 * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
878 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
880 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
882 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
883 * testsuite/20_util/optional/assignment/92878_92947.cc:
885 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
886 * testsuite/20_util/optional/constexpr/assign.cc: Likewise.
887 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
888 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
889 * testsuite/20_util/optional/constexpr/swap.cc: Likewise.
890 * testsuite/20_util/optional/relops/96269.cc: Likewise.
891 * testsuite/20_util/optional/relops/three_way.cc: Likewise.
892 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
894 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
895 * testsuite/20_util/pair/constexpr_assign.cc: Likewise.
896 * testsuite/20_util/pair/constexpr_swap.cc: Likewise.
897 * testsuite/20_util/pair/requirements/structural.cc: Likewise.
898 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
900 * testsuite/20_util/polymorphic_allocator/allocate_object.cc:
902 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
904 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
905 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
906 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
907 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
909 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
911 * testsuite/20_util/remove_cvref/value.cc: Likewise.
912 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
914 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
916 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
917 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
919 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
920 * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
922 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
923 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
924 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
925 * testsuite/20_util/time_point/4.cc: Likewise.
926 * testsuite/20_util/time_point/comparison_operators/three_way.cc:
928 * testsuite/20_util/to_address/1.cc: Likewise.
929 * testsuite/20_util/to_address/1_neg.cc: Likewise.
930 * testsuite/20_util/to_address/debug.cc: Likewise.
931 * testsuite/20_util/to_address/lwg3545.cc: Likewise.
932 * testsuite/20_util/to_chars/compare.cc: Likewise.
933 * testsuite/20_util/tuple/comparison_operators/three_way.cc:
935 * testsuite/20_util/tuple/cons/102270.cc: Likewise.
936 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
938 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
939 * testsuite/20_util/type_identity/requirements/alias_decl.cc:
941 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
943 * testsuite/20_util/type_identity/requirements/typedefs.cc:
945 * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
947 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
949 * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
951 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
953 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
955 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
956 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
957 * testsuite/20_util/unwrap_reference/2.cc: Likewise.
958 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
959 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
960 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
961 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
962 * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
964 * testsuite/20_util/variant/92878_92947.cc: Likewise.
965 * testsuite/20_util/variant/95915.cc: Likewise.
966 * testsuite/20_util/variant/constexpr.cc: Likewise.
967 * testsuite/20_util/variant/relops/three_way.cc: Likewise.
968 * testsuite/20_util/variant/visit_neg.cc: Likewise.
969 * testsuite/20_util/variant/visit_r.cc: Likewise.
970 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
972 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
974 * testsuite/18_support/comparisons/algorithms/fallback.cc:
975 Remove dg-options -std=gnu++2a.
976 * testsuite/18_support/comparisons/algorithms/partial_order.cc:
978 * testsuite/18_support/comparisons/algorithms/strong_order.cc:
980 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
982 * testsuite/18_support/comparisons/algorithms/weak_order.cc:
984 * testsuite/18_support/comparisons/categories/94565.cc:
986 * testsuite/18_support/comparisons/categories/partialord.cc:
988 * testsuite/18_support/comparisons/categories/strongord.cc:
990 * testsuite/18_support/comparisons/categories/weakord.cc:
992 * testsuite/18_support/comparisons/categories/zero_neg.cc:
994 * testsuite/18_support/comparisons/common/1.cc: Likewise.
995 * testsuite/18_support/comparisons/object/93479.cc: Likewise.
996 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
998 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1000 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
1001 Remove dg-options -std=gnu++2a.
1002 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
1003 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
1004 * testsuite/29_atomics/atomic/requirements/types_neg.cc:
1006 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
1007 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
1008 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
1009 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
1010 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
1011 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
1012 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
1013 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
1014 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
1015 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
1016 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
1017 * testsuite/29_atomics/atomic_float/1.cc: Likewise.
1018 * testsuite/29_atomics/atomic_float/95282.cc: Likewise.
1019 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
1020 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
1021 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
1022 * testsuite/29_atomics/atomic_integral/cons/value_init.cc:
1024 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
1025 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
1027 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
1028 * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
1029 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
1030 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
1031 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
1032 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
1033 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
1035 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
1037 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
1039 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
1042 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1044 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
1045 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
1047 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1049 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
1051 * config.h.in: Regenerate.
1052 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
1053 basic_filebuf members.
1054 * config/io/basic_file_stdio.cc (__basic_file::native_handle):
1055 Define new function.
1056 * config/io/basic_file_stdio.h (__basic_file::native_handle):
1057 Declare new function.
1058 * configure: Regenerate.
1059 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
1060 * include/bits/version.def (fstream_native_handles): New macro.
1061 * include/bits/version.h: Regenerate.
1062 * include/std/fstream (basic_filebuf::native_handle)
1063 (basic_fstream::native_handle, basic_ifstream::native_handle)
1064 (basic_ofstream::native_handle): New functions.
1065 * src/c++11/Makefile.am: Move compilation of basic_file.cc,
1066 locale_init.cc and localename.cc to here.
1067 * src/c++11/Makefile.in: Regenerate.
1068 * src/c++98/locale_init.cc: Moved to...
1069 * src/c++11/locale_init.cc: ...here.
1070 * src/c++98/localename.cc: Moved to...
1071 * src/c++11/localename.cc: ...here.
1072 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
1073 and localename.cc from here.
1074 * src/c++98/Makefile.in: Regenerate.
1075 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
1076 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
1077 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
1078 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
1079 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
1080 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
1081 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
1083 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1085 * testsuite/libstdc++-dg/conformance.exp: Add log line when
1086 using testsuite_files.
1088 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1090 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
1092 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1094 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1096 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
1098 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
1100 * testsuite/20_util/synchronized_pool_resource/cons.cc:
1102 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
1104 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
1106 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
1108 * testsuite/20_util/synchronized_pool_resource/options.cc:
1110 * testsuite/20_util/synchronized_pool_resource/release.cc:
1112 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
1114 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
1116 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
1118 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
1121 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1123 * testsuite/23_containers/span/back_assert_neg.cc: Remove
1124 dg-options and add effective target selector to dg-do. Add
1126 * testsuite/23_containers/span/back_neg.cc: Likewise.
1127 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
1128 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
1129 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
1130 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
1131 * testsuite/23_containers/span/first_neg.cc: Likewise.
1132 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
1133 * testsuite/23_containers/span/front_neg.cc: Likewise.
1134 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
1135 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
1136 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
1137 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
1138 * testsuite/23_containers/span/last_neg.cc: Likewise.
1139 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
1141 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
1143 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
1145 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
1147 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
1149 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
1150 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
1151 * testsuite/24_iterators/range_operations/advance_debug_neg.cc:
1154 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1156 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
1158 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
1159 * testsuite/18_support/type_info/constexpr.cc: Likewise.
1160 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
1161 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
1162 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
1163 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
1164 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
1165 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
1166 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
1167 * testsuite/20_util/bitset/access/constexpr.cc: Likewise.
1168 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
1169 * testsuite/20_util/bitset/count/constexpr.cc: Likewise.
1170 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
1171 * testsuite/20_util/bitset/operations/constexpr_c++23.cc:
1173 * testsuite/20_util/bitset/version.cc: Likewise.
1174 * testsuite/20_util/from_chars/8.cc: Likewise.
1175 * testsuite/20_util/from_chars/constexpr.cc: Likewise.
1176 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
1177 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
1178 * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
1180 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
1181 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
1182 * testsuite/20_util/move_only_function/call.cc: Likewise.
1183 * testsuite/20_util/move_only_function/cons.cc: Likewise.
1184 * testsuite/20_util/move_only_function/move.cc: Likewise.
1185 * testsuite/20_util/move_only_function/version.cc: Likewise.
1186 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
1187 * testsuite/20_util/optional/monadic/or_else.cc: Likewise.
1188 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
1189 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
1190 * testsuite/20_util/optional/monadic/transform.cc: Likewise.
1191 * testsuite/20_util/pair/p2321r2.cc: Likewise.
1192 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
1193 * testsuite/20_util/reference_from_temporary/value2.cc:
1195 * testsuite/20_util/reference_from_temporary/version.cc:
1197 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
1198 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
1199 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
1200 * testsuite/20_util/to_chars/version.cc: Likewise.
1201 * testsuite/20_util/to_underlying/1.cc: Likewise.
1202 * testsuite/20_util/to_underlying/version.cc: Likewise.
1203 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
1204 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
1205 * testsuite/20_util/unique_ptr/comparison/constexpr.cc:
1207 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
1209 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
1210 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
1211 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
1212 * testsuite/20_util/unreachable/1.cc: Likewise.
1213 * testsuite/20_util/unreachable/version.cc: Likewise.
1214 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
1215 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
1216 * testsuite/21_strings/basic_string/operations/contains/char.cc:
1218 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
1219 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
1220 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
1221 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
1222 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
1223 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
1224 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
1225 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
1226 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
1227 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
1228 * testsuite/23_containers/vector/bool/element_access/1.cc:
1230 * testsuite/24_iterators/const_iterator/1.cc: Likewise.
1231 * testsuite/25_algorithms/contains/1.cc: Likewise.
1232 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
1233 * testsuite/25_algorithms/find_last/1.cc: Likewise.
1234 * testsuite/25_algorithms/find_last_if/1.cc: Likewise.
1235 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
1236 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
1237 * testsuite/25_algorithms/fold_right/1.cc: Likewise.
1238 * testsuite/25_algorithms/iota/1.cc: Likewise.
1239 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
1240 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
1241 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
1242 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
1243 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
1245 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
1247 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
1249 * testsuite/26_numerics/numbers/4.cc: Likewise.
1250 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
1251 * testsuite/27_io/filesystem/path/native/conv_c++23.cc:
1253 * testsuite/27_io/spanstream/1.cc: Likewise.
1254 * testsuite/27_io/spanstream/2.cc: Likewise.
1255 * testsuite/27_io/spanstream/version.cc: Likewise.
1256 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
1258 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
1260 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
1261 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
1263 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
1265 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
1266 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
1268 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
1269 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
1270 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
1271 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
1272 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
1273 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
1274 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
1275 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
1276 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
1277 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
1278 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
1279 * testsuite/std/ranges/repeat/1.cc: Likewise.
1280 * testsuite/std/ranges/version_c++23.cc: Likewise.
1281 * testsuite/std/ranges/zip/1.cc: Likewise.
1282 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
1284 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1286 * testsuite/20_util/expected/assign.cc: Remove dg-options.
1287 * testsuite/20_util/expected/bad.cc: Likewise.
1288 * testsuite/20_util/expected/cons.cc: Likewise.
1289 * testsuite/20_util/expected/equality.cc: Likewise.
1290 * testsuite/20_util/expected/illformed_neg.cc: Likewise.
1291 * testsuite/20_util/expected/lwg3877.cc: Likewise.
1292 * testsuite/20_util/expected/lwg3938.cc: Likewise.
1293 * testsuite/20_util/expected/monadic.cc: Likewise.
1294 * testsuite/20_util/expected/observers.cc: Likewise.
1295 * testsuite/20_util/expected/requirements.cc: Likewise.
1296 * testsuite/20_util/expected/swap.cc: Likewise.
1297 * testsuite/20_util/expected/synopsis.cc: Likewise.
1298 * testsuite/20_util/expected/unexpected.cc: Likewise.
1299 * testsuite/20_util/expected/version.cc: Likewise.
1301 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1303 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
1305 * testsuite/20_util/duration/io.cc: Likewise.
1306 * testsuite/std/time/clock/file/io.cc: Likewise.
1307 * testsuite/std/time/clock/file/members.cc: Likewise.
1308 * testsuite/std/time/clock/file/overview.cc: Likewise.
1309 * testsuite/std/time/clock/gps/1.cc: Likewise.
1310 * testsuite/std/time/clock/gps/io.cc: Likewise.
1311 * testsuite/std/time/clock/local/io.cc: Likewise.
1312 * testsuite/std/time/clock/system/io.cc: Likewise.
1313 * testsuite/std/time/clock/tai/1.cc: Likewise.
1314 * testsuite/std/time/clock/tai/io.cc: Likewise.
1315 * testsuite/std/time/clock/utc/1.cc: Likewise.
1316 * testsuite/std/time/clock/utc/io.cc: Likewise.
1317 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
1318 * testsuite/std/time/day/1.cc: Likewise.
1319 * testsuite/std/time/day/io.cc: Likewise.
1320 * testsuite/std/time/exceptions.cc: Likewise.
1321 * testsuite/std/time/format.cc: Likewise.
1322 * testsuite/std/time/hh_mm_ss/1.cc: Likewise.
1323 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
1324 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
1325 * testsuite/std/time/is_am/1.cc: Likewise.
1326 * testsuite/std/time/is_pm/1.cc: Likewise.
1327 * testsuite/std/time/make12/1.cc: Likewise.
1328 * testsuite/std/time/make24/1.cc: Likewise.
1329 * testsuite/std/time/month/1.cc: Likewise.
1330 * testsuite/std/time/month/io.cc: Likewise.
1331 * testsuite/std/time/month_day/1.cc: Likewise.
1332 * testsuite/std/time/month_day/io.cc: Likewise.
1333 * testsuite/std/time/month_day_last/1.cc: Likewise.
1334 * testsuite/std/time/month_day_last/io.cc: Likewise.
1335 * testsuite/std/time/month_weekday/1.cc: Likewise.
1336 * testsuite/std/time/month_weekday/io.cc: Likewise.
1337 * testsuite/std/time/month_weekday_last/1.cc: Likewise.
1338 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
1339 * testsuite/std/time/parse.cc: Likewise.
1340 * testsuite/std/time/syn_c++20.cc: Likewise.
1341 * testsuite/std/time/time_zone/get_info_local.cc: Likewise.
1342 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
1343 * testsuite/std/time/time_zone/requirements.cc: Likewise.
1344 * testsuite/std/time/traits/is_clock.cc: Likewise.
1345 * testsuite/std/time/tzdb/1.cc: Likewise.
1346 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
1347 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1348 * testsuite/std/time/tzdb_list/requirements.cc: Likewise.
1349 * testsuite/std/time/weekday/1.cc: Likewise.
1350 * testsuite/std/time/weekday/io.cc: Likewise.
1351 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
1352 * testsuite/std/time/weekday_last/1.cc: Likewise.
1353 * testsuite/std/time/weekday_last/io.cc: Likewise.
1354 * testsuite/std/time/year/1.cc: Likewise.
1355 * testsuite/std/time/year/2.cc: Likewise.
1356 * testsuite/std/time/year/io.cc: Likewise.
1357 * testsuite/std/time/weekday_indexed/1.cc: Likewise.
1358 * testsuite/std/time/year_month/1.cc: Likewise.
1359 * testsuite/std/time/year_month/2.cc: Likewise.
1360 * testsuite/std/time/year_month/io.cc: Likewise.
1361 * testsuite/std/time/year_month_day/1.cc: Likewise.
1362 * testsuite/std/time/year_month_day/2.cc: Likewise.
1363 * testsuite/std/time/year_month_day/3.cc: Likewise.
1364 * testsuite/std/time/year_month_day/4.cc: Likewise.
1365 * testsuite/std/time/year_month_day/io.cc: Likewise.
1366 * testsuite/std/time/year_month_day_last/1.cc: Likewise.
1367 * testsuite/std/time/year_month_day_last/2.cc: Likewise.
1368 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
1369 * testsuite/std/time/year_month_weekday/1.cc: Likewise.
1370 * testsuite/std/time/year_month_weekday/2.cc: Likewise.
1371 * testsuite/std/time/year_month_weekday/3.cc: Likewise.
1372 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
1373 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
1374 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
1375 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
1376 * testsuite/std/time/zoned_time/1.cc: Likewise.
1377 * testsuite/std/time/zoned_time/custom.cc: Likewise.
1378 * testsuite/std/time/zoned_time/deduction.cc: Likewise.
1379 * testsuite/std/time/zoned_time/io.cc: Likewise.
1380 * testsuite/std/time/zoned_time/req_neg.cc: Likewise.
1381 * testsuite/std/time/zoned_time/requirements.cc: Likewise.
1382 * testsuite/std/time/zoned_traits.cc: Likewise.
1384 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1386 * testsuite/std/format/arguments/args.cc: Remove dg-options.
1387 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
1388 * testsuite/std/format/error.cc: Likewise.
1389 * testsuite/std/format/format_string.cc: Likewise.
1390 * testsuite/std/format/formatter/concept.cc: Likewise.
1391 * testsuite/std/format/formatter/ext_float.cc: Likewise.
1392 * testsuite/std/format/formatter/requirements.cc: Likewise.
1393 * testsuite/std/format/functions/107871.cc: Likewise.
1394 * testsuite/std/format/functions/format.cc: Likewise.
1395 * testsuite/std/format/functions/format_to.cc: Likewise.
1396 * testsuite/std/format/functions/format_to_n.cc: Likewise.
1397 * testsuite/std/format/functions/size.cc: Likewise.
1398 * testsuite/std/format/functions/vformat_to.cc: Likewise.
1399 * testsuite/std/format/parse_ctx.cc: Likewise.
1400 * testsuite/std/format/string.cc: Likewise.
1401 * testsuite/std/format/string_neg.cc: Likewise.
1402 * testsuite/std/format/functions/format_c++23.cc: Removed.
1404 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1406 * testsuite/20_util/function_objects/range.cmp/equal_to.cc:
1408 * testsuite/20_util/function_objects/range.cmp/greater.cc:
1410 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
1412 * testsuite/20_util/function_objects/range.cmp/less.cc:
1414 * testsuite/20_util/function_objects/range.cmp/less_equal.cc:
1416 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
1418 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
1420 * testsuite/20_util/specialized_algorithms/construct_at/1.cc:
1422 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
1424 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
1426 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
1428 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
1430 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
1432 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
1434 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
1436 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
1438 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
1440 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
1442 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
1443 * testsuite/25_algorithms/adjacent_find/constrained.cc:
1445 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
1446 * testsuite/25_algorithms/all_of/constrained.cc: Likewise.
1447 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
1448 * testsuite/25_algorithms/any_of/constrained.cc: Likewise.
1449 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
1450 * testsuite/25_algorithms/binary_search/constrained.cc:
1452 * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
1453 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
1454 * testsuite/25_algorithms/copy/95578.cc: Likewise.
1455 * testsuite/25_algorithms/copy/constexpr.cc: Likewise.
1456 * testsuite/25_algorithms/copy/constrained.cc: Likewise.
1457 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
1458 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
1459 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
1460 * testsuite/25_algorithms/copy_backward/constrained.cc:
1462 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
1464 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
1465 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
1466 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
1467 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
1468 * testsuite/25_algorithms/count/constexpr.cc: Likewise.
1469 * testsuite/25_algorithms/count/constrained.cc: Likewise.
1470 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
1471 * testsuite/25_algorithms/count_if/constrained.cc: Likewise.
1472 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
1473 * testsuite/25_algorithms/equal/95578.cc: Likewise.
1474 * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
1475 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
1476 * testsuite/25_algorithms/equal/constrained.cc: Likewise.
1477 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
1479 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
1480 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
1481 * testsuite/25_algorithms/fill/94017.cc: Likewise.
1482 * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
1483 * testsuite/25_algorithms/fill/constrained.cc: Likewise.
1484 * testsuite/25_algorithms/fill_n/94017.cc: Likewise.
1485 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
1486 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
1487 * testsuite/25_algorithms/find/constexpr.cc: Likewise.
1488 * testsuite/25_algorithms/find/constrained.cc: Likewise.
1489 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
1490 * testsuite/25_algorithms/find_end/constrained.cc: Likewise.
1491 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
1492 * testsuite/25_algorithms/find_first_of/constrained.cc:
1494 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
1495 * testsuite/25_algorithms/find_if/constrained.cc: Likewise.
1496 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
1497 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
1498 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
1499 * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
1500 * testsuite/25_algorithms/generate/constexpr.cc: Likewise.
1501 * testsuite/25_algorithms/generate/constrained.cc: Likewise.
1502 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
1503 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
1504 * testsuite/25_algorithms/heap/constrained.cc: Likewise.
1505 * testsuite/25_algorithms/includes/constrained.cc: Likewise.
1506 * testsuite/25_algorithms/inplace_merge/constrained.cc:
1508 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
1509 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
1510 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
1511 * testsuite/25_algorithms/is_partitioned/constrained.cc:
1513 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
1514 * testsuite/25_algorithms/is_permutation/constrained.cc:
1516 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
1517 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
1518 * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
1520 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
1522 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
1523 * testsuite/25_algorithms/lexicographical_compare/93972.cc:
1525 * testsuite/25_algorithms/lexicographical_compare/95578.cc:
1527 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
1529 * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
1531 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
1533 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
1535 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
1536 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
1537 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
1539 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
1541 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
1543 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
1544 * testsuite/25_algorithms/max/constrained.cc: Likewise.
1545 * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
1546 * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
1547 * testsuite/25_algorithms/merge/constrained.cc: Likewise.
1548 * testsuite/25_algorithms/min/constrained.cc: Likewise.
1549 * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
1550 * testsuite/25_algorithms/minmax/constrained.cc: Likewise.
1551 * testsuite/25_algorithms/minmax_element/constrained.cc:
1553 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
1554 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
1555 * testsuite/25_algorithms/move/93872.cc: Likewise.
1556 * testsuite/25_algorithms/move/95578.cc: Likewise.
1557 * testsuite/25_algorithms/move/constexpr.cc: Likewise.
1558 * testsuite/25_algorithms/move/constrained.cc: Likewise.
1559 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
1560 * testsuite/25_algorithms/move_backward/95578.cc: Likewise.
1561 * testsuite/25_algorithms/move_backward/constrained.cc:
1563 * testsuite/25_algorithms/next_permutation/constexpr.cc:
1565 * testsuite/25_algorithms/next_permutation/constrained.cc:
1567 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
1568 * testsuite/25_algorithms/none_of/constrained.cc: Likewise.
1569 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
1570 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
1571 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
1572 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
1573 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
1575 * testsuite/25_algorithms/partial_sort_copy/constrained.cc:
1577 * testsuite/25_algorithms/partition/constexpr.cc: Likewise.
1578 * testsuite/25_algorithms/partition/constrained.cc: Likewise.
1579 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
1580 * testsuite/25_algorithms/partition_copy/constrained.cc:
1582 * testsuite/25_algorithms/partition_point/constexpr.cc:
1584 * testsuite/25_algorithms/partition_point/constrained.cc:
1586 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
1587 * testsuite/25_algorithms/prev_permutation/constexpr.cc:
1589 * testsuite/25_algorithms/prev_permutation/constrained.cc:
1591 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
1592 * testsuite/25_algorithms/remove/constexpr.cc: Likewise.
1593 * testsuite/25_algorithms/remove/constrained.cc: Likewise.
1594 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
1595 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
1596 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
1597 * testsuite/25_algorithms/remove_copy_if/constrained.cc:
1599 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
1600 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
1601 * testsuite/25_algorithms/replace/constrained.cc: Likewise.
1602 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
1603 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
1604 * testsuite/25_algorithms/replace_copy_if/constexpr.cc:
1606 * testsuite/25_algorithms/replace_copy_if/constrained.cc:
1608 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
1609 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
1610 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
1611 * testsuite/25_algorithms/reverse/constrained.cc: Likewise.
1612 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
1613 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
1614 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
1615 * testsuite/25_algorithms/rotate/constrained.cc: Likewise.
1616 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
1617 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
1618 * testsuite/25_algorithms/sample/constrained.cc: Likewise.
1619 * testsuite/25_algorithms/search/constexpr.cc: Likewise.
1620 * testsuite/25_algorithms/search/constrained.cc: Likewise.
1621 * testsuite/25_algorithms/search_n/97828.cc: Likewise.
1622 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
1623 * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
1624 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
1625 * testsuite/25_algorithms/set_difference/constrained.cc:
1627 * testsuite/25_algorithms/set_intersection/constexpr.cc:
1629 * testsuite/25_algorithms/set_intersection/constrained.cc:
1631 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
1633 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
1635 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
1636 * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
1637 * testsuite/25_algorithms/shift_left/1.cc: Likewise.
1638 * testsuite/25_algorithms/shift_right/1.cc: Likewise.
1639 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
1640 * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
1641 * testsuite/25_algorithms/sort/constrained.cc: Likewise.
1642 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
1643 * testsuite/25_algorithms/stable_partition/constrained.cc:
1645 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
1646 * testsuite/25_algorithms/swap/constexpr.cc: Likewise.
1647 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
1648 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
1649 * testsuite/25_algorithms/transform/constexpr.cc: Likewise.
1650 * testsuite/25_algorithms/transform/constrained.cc: Likewise.
1651 * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
1652 * testsuite/25_algorithms/unique/constrained.cc: Likewise.
1653 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
1654 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
1655 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
1656 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
1657 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
1659 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
1661 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
1664 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1666 * testsuite/std/concepts/1.cc: Remove dg-options.
1667 * testsuite/std/concepts/2.cc: Likewise.
1668 * testsuite/std/concepts/concepts.callable/invocable.cc:
1670 * testsuite/std/concepts/concepts.callable/regular_invocable.cc:
1672 * testsuite/std/concepts/concepts.callable/relation.cc:
1674 * testsuite/std/concepts/concepts.callable/strictweakorder.cc:
1676 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
1677 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
1678 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
1679 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
1680 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
1682 * testsuite/std/concepts/concepts.lang/concept.common/1.cc:
1684 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
1686 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
1687 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
1689 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
1690 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
1691 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
1692 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
1694 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
1695 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
1696 * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
1698 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
1699 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
1700 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
1701 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
1702 * testsuite/std/concepts/concepts.object/movable.cc: Likewise.
1703 * testsuite/std/concepts/concepts.object/regular.cc: Likewise.
1704 * testsuite/std/concepts/concepts.object/semiregular.cc:
1706 * testsuite/std/ranges/97600.cc: Likewise.
1707 * testsuite/std/ranges/access/101782.cc: Likewise.
1708 * testsuite/std/ranges/access/begin.cc: Likewise.
1709 * testsuite/std/ranges/access/begin_neg.cc: Likewise.
1710 * testsuite/std/ranges/access/cbegin.cc: Likewise.
1711 * testsuite/std/ranges/access/cdata.cc: Likewise.
1712 * testsuite/std/ranges/access/cend.cc: Likewise.
1713 * testsuite/std/ranges/access/crbegin.cc: Likewise.
1714 * testsuite/std/ranges/access/crend.cc: Likewise.
1715 * testsuite/std/ranges/access/data.cc: Likewise.
1716 * testsuite/std/ranges/access/empty.cc: Likewise.
1717 * testsuite/std/ranges/access/end.cc: Likewise.
1718 * testsuite/std/ranges/access/end_neg.cc: Likewise.
1719 * testsuite/std/ranges/access/lwg3467.cc: Likewise.
1720 * testsuite/std/ranges/access/p2602.cc: Likewise.
1721 * testsuite/std/ranges/access/rbegin.cc: Likewise.
1722 * testsuite/std/ranges/access/rend.cc: Likewise.
1723 * testsuite/std/ranges/access/size.cc: Likewise.
1724 * testsuite/std/ranges/access/size_neg.cc: Likewise.
1725 * testsuite/std/ranges/access/ssize.cc: Likewise.
1726 * testsuite/std/ranges/adaptors/100479.cc: Likewise.
1727 * testsuite/std/ranges/adaptors/100577.cc: Likewise.
1728 * testsuite/std/ranges/adaptors/93978.cc: Likewise.
1729 * testsuite/std/ranges/adaptors/95322.cc: Likewise.
1730 * testsuite/std/ranges/adaptors/99433.cc: Likewise.
1731 * testsuite/std/ranges/adaptors/all.cc: Likewise.
1732 * testsuite/std/ranges/adaptors/common.cc: Likewise.
1733 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
1735 * testsuite/std/ranges/adaptors/counted.cc: Likewise.
1736 * testsuite/std/ranges/adaptors/detail/copyable_box.cc:
1738 * testsuite/std/ranges/adaptors/drop.cc: Likewise.
1739 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
1740 * testsuite/std/ranges/adaptors/elements.cc: Likewise.
1741 * testsuite/std/ranges/adaptors/filter.cc: Likewise.
1742 * testsuite/std/ranges/adaptors/join.cc: Likewise.
1743 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
1744 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
1745 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
1746 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
1747 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
1748 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
1749 * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
1750 * testsuite/std/ranges/adaptors/p2281.cc: Likewise.
1751 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
1752 * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
1753 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
1754 * testsuite/std/ranges/adaptors/split.cc: Likewise.
1755 * testsuite/std/ranges/adaptors/take.cc: Likewise.
1756 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
1757 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
1758 * testsuite/std/ranges/empty_view.cc: Likewise.
1759 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
1760 * testsuite/std/ranges/iota/difference_type.cc: Likewise.
1761 * testsuite/std/ranges/iota/iota_view.cc: Likewise.
1762 * testsuite/std/ranges/iota/iterator.cc: Likewise.
1763 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
1764 * testsuite/std/ranges/iota/max_size_type.cc: Likewise.
1765 * testsuite/std/ranges/istream_view.cc: Likewise.
1766 * testsuite/std/ranges/p2259.cc: Likewise.
1767 * testsuite/std/ranges/p2325.cc: Likewise.
1768 * testsuite/std/ranges/p2367.cc: Likewise.
1769 * testsuite/std/ranges/range.cc: Likewise.
1770 * testsuite/std/ranges/refinements.cc: Likewise.
1771 * testsuite/std/ranges/safe_range.cc: Likewise.
1772 * testsuite/std/ranges/safe_range_types.cc: Likewise.
1773 * testsuite/std/ranges/single_view.cc: Likewise.
1774 * testsuite/std/ranges/sized.cc: Likewise.
1775 * testsuite/std/ranges/subrange/1.cc: Likewise.
1776 * testsuite/std/ranges/subrange/97512.cc: Likewise.
1777 * testsuite/std/ranges/subrange/constexpr.cc: Likewise.
1778 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
1779 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
1780 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
1781 * testsuite/std/ranges/subrange/sizeof.cc: Likewise.
1782 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
1783 * testsuite/std/ranges/view.cc: Likewise.
1785 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1787 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
1789 * testsuite/23_containers/span/contiguous_range_neg.cc:
1791 * testsuite/23_containers/span/everything.cc: Likewise.
1793 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1795 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove
1796 dg-options and add dg-add-options strict_std.
1797 * testsuite/std/ranges/iota/93267.cc: Likewise.
1798 * testsuite/std/ranges/iota/96042.cc: Likewise.
1799 * testsuite/std/ranges/iota/size.cc: Likewise.
1800 * testsuite/std/ranges/subrange/96042.cc: Likewise.
1802 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1804 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
1805 Replace dg-options -std=c++17 with dg-add-options strict_std.
1806 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
1809 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1811 * testsuite/23_containers/deque/48101-2_neg.cc: Replace
1812 dg-options with target selector.
1813 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
1814 * testsuite/23_containers/list/48101-2_neg.cc: Likewise.
1815 * testsuite/23_containers/map/48101-2_neg.cc: Likewise.
1816 * testsuite/23_containers/map/48101_neg.cc: Likewise.
1817 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
1818 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
1819 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
1820 * testsuite/23_containers/set/48101-2_neg.cc: Likewise.
1821 * testsuite/23_containers/unordered_map/48101-2_neg.cc:
1823 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
1825 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
1827 * testsuite/23_containers/unordered_set/48101-2_neg.cc:
1829 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
1831 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1833 * doc/xml/manual/test.xml: Update documentation on running and
1835 * doc/html/manual/test.html: Regenerate.
1836 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp
1837 * testsuite/Makefile.in: Regenerate.
1838 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New
1840 * testsuite/lib/libstdc++.exp (search_for): New utility proc.
1841 (v3-dg-runtest): New proc to replace dg-runtest.
1842 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
1844 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1846 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
1847 Fix test to work for C++23 and C++26 too.
1849 2023-09-15 Patrick Palka <ppalka@redhat.com>
1851 * include/std/bit: Include <concepts>.
1852 (byteswap): Use a type-constraint instead of enable_if_t
1853 inside the return type, and use std::integral.
1854 (_If_is_unsigned_integer): Replace with ...
1855 (__unsigned_integer): ... this.
1856 (rotl): Use a type-constraint instead of enable_if_t inside
1858 (countl_zero): Likewise.
1859 (countl_one): Likewise.
1860 (countr_zero): Likewise.
1861 (countr_one): Likewise.
1862 (popcount): Likewise.
1863 (has_single_bit): Likewise.
1864 (bit_ceil): Likewise.
1865 (bit_floor): Likewise.
1866 (bit_width): Likewise.
1868 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1870 * include/std/variant (variant): Remove derivation from
1871 _Enable_default_constructor base class.
1872 (variant::variant()): Constrain.
1873 * testsuite/20_util/variant/default_ctor.cc: New test.
1875 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1878 * include/std/variant (get<T>): Remove !is_void static
1881 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1883 * include/bits/version.def (to_chars): Define new value for
1885 * include/bits/version.h: Regenerate.
1886 * include/std/charconv (to_chars_result::operator bool): New
1888 (from_chars_result::operator bool): New function.
1889 * testsuite/20_util/to_chars/version.cc: Update expected value.
1890 * testsuite/20_util/from_chars/result.cc: New test.
1891 * testsuite/20_util/to_chars/result.cc: New test.
1893 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
1896 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
1898 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
1900 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
1901 dg-additional-files. Remove @require@ and @diff@ comments.
1902 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1903 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1904 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1905 * testsuite/lib/dg-options.exp (v3_additional_files): New
1907 (dg-additional-files): New proc.
1908 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy
1909 additional files to test directory.
1911 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
1913 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
1914 Use a plain integer for _M_work_count for single-threaded
1916 * include/experimental/memory_resource (__get_default_resource)
1917 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
1918 single-threaded targets.
1919 * src/c++17/default_resource.h: Adjust preprocessor conditions
1920 to match memory_resource.cc.
1921 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
1922 (atomic_mem_res): Use unsynchronized type for single-threaded
1925 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
1927 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
1928 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
1929 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
1930 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
1931 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
1932 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
1933 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
1934 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
1936 2023-09-14 François Dumont <fdumont@gcc.gnu.org>
1938 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
1939 { dg-require-normal-namespace "" }.
1941 2023-09-13 François Dumont <fdumont@gcc.gnu.org>
1943 * include/std/format (std::__format::_Arg_store): Explicit version
1944 namespace on make_format_args friend declaration.
1946 2023-09-12 Patrick Palka <ppalka@redhat.com>
1949 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
1950 a deleted fallback operator() overload. Constrain both the
1951 enabled and deleted overloads accordingly.
1952 * testsuite/20_util/function_objects/not_fn/111327.cc: New test.
1954 2023-09-12 Patrick Palka <ppalka@redhat.com>
1957 * include/std/functional (_Bind_front::operator()): Add deleted
1958 fallback overloads for each const/ref qualifier pair. Give the
1959 enabled overloads dummy constraints to make each one more
1960 specialized than the corresponding deleted overload.
1961 * testsuite/20_util/function_objects/bind_front/111327.cc: New test.
1963 2023-09-12 Patrick Palka <ppalka@redhat.com>
1965 * include/std/functional (_Bind_front0): Remove.
1966 (_Bind_front_t): Adjust.
1968 2023-09-12 Jonathan Wakely <jwakely@redhat.com>
1970 * python/libstdcxx/v6/printers.py: Reformat.
1971 * python/libstdcxx/v6/xmethods.py: Likewise.
1973 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
1975 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
1977 (reset_sequence_ptr): New function.
1978 (_Safe_iterator_base::_M_detach)
1979 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
1980 with acquire_sequence_ptr_for_lock.
1981 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
1984 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
1986 * src/c++11/Makefile.am: Add new file.
1987 * src/c++11/Makefile.in: Regenerate.
1988 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
1989 * src/c++11/assert_fail.cc: New file.
1991 2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org>
1993 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
1994 (_GLIBCXX_USE_BUILTIN_TRAIT): Define.
1996 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
1998 * include/bits/version.def (__cpp_lib_formatters): Define.
1999 * include/bits/version.h: Regenerate.
2000 * include/std/stacktrace (formatter<stacktrace_entry>)
2001 (formatter<basic_stacktrace<Alloc>>): Define.
2002 * include/std/thread (formatter<thread::id, charT>): Define.
2003 * testsuite/19_diagnostics/stacktrace/output.cc: New test.
2004 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2005 std::formatter specializations.
2006 * testsuite/19_diagnostics/stacktrace/version.cc: Check
2007 __cpp_lib_formatters macro.
2008 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads
2010 * testsuite/30_threads/thread/id/operators.cc: Likewise.
2011 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
2012 * testsuite/30_threads/thread/id/output.cc: New test.
2014 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
2016 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
2017 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
2018 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
2020 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2022 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
2023 * configure: Regenerate.
2024 * doc/html/manual/*: Regenerate.
2025 * doc/xml/manual/using.xml: Update documentation on linking.
2026 * include/std/stacktrace: Remove declarations of libbacktrace
2028 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
2030 (stacktrace_entry::_Info): New class.
2031 (stacktrace_entry::_M_get_info): Use _Info.
2032 (__stacktrace_impl): New class.
2033 (basic_stacktrace): Derive from __stacktrace_impl.
2034 (basic_stacktrace::current): Use __stacktrace_impl::_S_current.
2035 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
2036 libstdc++exp instead of libstdc++_libbacktrace.
2037 * src/Makefile.am (SUBDIRS): Add c++23 directory.
2038 * src/Makefile.in: Regenerate.
2039 * src/c++20/Makefile.am: Fix comment.
2040 * src/c++20/Makefile.in: Regenerate.
2041 * src/c++23/Makefile.am: New file.
2042 * src/c++23/Makefile.in: New file.
2043 * src/c++23/stacktrace.cc: New file with definitions of
2044 stacktrace_entry::_Info and __stacktrace_impl members.
2045 * src/experimental/Makefile.am: Use LIBADD to include other
2047 * src/experimental/Makefile.in: Regenerate.
2048 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
2049 * src/libbacktrace/Makefile.in: Regenerate.
2050 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
2051 dg-options to use -lstdc++exp.
2052 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2053 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2054 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
2057 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
2059 * src/libbacktrace/Makefile.am: Remove -Werror.
2060 * src/libbacktrace/Makefile.in: Regenerate.
2062 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2064 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
2065 * testsuite/Makefile.in: Regenerate.
2067 2023-09-08 Yang Yujie <yangyujie@loongson.cn>
2069 * configure.host: Register t-loongarch in tmake_file.
2070 * config/cpu/loongarch/t-loongarch: New file. Manually refresh
2071 MULTISUBDIR with $(shell $(CXX) --print-multi-directory).
2073 2023-09-07 Bruno Victal <mirai@makinata.eu>
2075 * acinclude.m4: Update docbook xsl URI.
2076 * configure: Regenerate.
2078 2023-09-07 Bruno Victal <mirai@makinata.eu>
2080 * doc/Makefile.am: Fix 'doc-install-info' rule.
2081 Fix typo in commment.
2082 * doc/Makefile.in: Regenerate.
2084 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2086 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
2087 dg-do target selector.
2089 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2091 * testsuite/config/default.exp: Remove trailing whitespace.
2092 * testsuite/lib/dg-options.exp: Likewise.
2093 * testsuite/lib/prune.exp: Likewise.
2094 * testsuite/libstdc++-abi/abi.exp: Likewise.
2095 * testsuite/libstdc++-dg/conformance.exp: Likewise.
2096 * testsuite/libstdc++-prettyprinters/prettyprinters.exp:
2098 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
2099 * testsuite/lib/libstdc++.exp: Likewise.
2100 (check_v3_target_c_std): Fix filename for temporary source file.
2102 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2104 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
2105 chmod, chdir, and getcwd.
2106 * config.h.in: Regenerate.
2107 * configure: Regenerate.
2108 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
2109 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
2110 (fs::permissions): Use USE_CHMOD macro.
2111 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
2112 (chmod, mkdir, getcwd, chdir): Define new macros.
2113 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
2115 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
2116 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
2117 (fs::permissions): Use USE_CHMOD macro.
2119 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2121 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
2123 * configure: Regenerate.
2125 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2127 * testsuite/23_containers/unordered_map/operations/1.cc: Add
2128 dg-options for C++20 mode.
2129 * testsuite/23_containers/unordered_multimap/operations/1.cc:
2131 * testsuite/23_containers/unordered_multiset/operations/1.cc:
2133 * testsuite/23_containers/unordered_set/operations/1.cc:
2135 * testsuite/std/time/parse.cc: Move dg-options before dg-do.
2137 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2139 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
2141 * testsuite/std/ranges/access/cdata.cc: Likewise.
2142 * testsuite/std/ranges/access/cend.cc: Likewise.
2143 * testsuite/std/ranges/access/crbegin.cc: Likewise.
2144 * testsuite/std/ranges/access/crend.cc: Likewise.
2145 * testsuite/std/ranges/adaptors/take.cc: Likewise.
2146 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
2147 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2149 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2151 * include/bits/iterator_concepts.h (__imove::iter_move): Define
2152 poison pill as deleted for consistency.
2153 (__access::begin): Replace with a single declaration.
2154 * include/bits/ranges_base.h (__access::end, __access::rbegin)
2155 (__access::rend, __access::size): Likewise.
2156 * include/bits/version.def (ranges): Update value for C++23.
2157 * include/bits/version.h: Regenerate.
2158 * libsupc++/compare (__compare): Add missing poison pill
2160 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
2161 of __cpp_lib_ranges.
2162 * testsuite/std/ranges/access/p2602.cc: New test.
2164 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2166 * include/bits/iterator_concepts.h (ranges::__cust_imove):
2167 Rename to ranges::__imove.
2168 (_IMove): Rename to _IterMove.
2169 (ranges::__cust_iswap): Rename to ranges::__iswap.
2170 (ranges::__cust): Rename to ranges::_Cpo.
2171 (ranges::__cust_access): Rename to ranges::__access.
2172 * include/bits/ranges_base.h (ranges::__cust_access): Rename to
2174 (ranges::__cust): Rename to ranges::_Cpo.
2175 * include/std/concepts (ranges::__cust_swap): Rename to
2177 (ranges::__cust): Rename to ranges::_Cpo.
2178 * libsupc++/compare (__cmp_cust): Rename to __compare.
2179 (__cmp_algo): Rename to _Cpo.
2181 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2183 * include/bits/version.def (ranges): Update value.
2184 * include/bits/version.h: Regenerate.
2185 * include/std/ranges (__detail::__boxable): Use
2186 move_constructible instead of copy_constructible for C++23.
2187 (__detail::__box<T>): Adjust constraints for partial
2189 (single_view, transform_view): Use __box_constructible instead
2190 of copy_constructible in constraints.
2191 (zip_transform_view, adjacent_transform_view, repeat_view): Use
2192 move_constructible instead of copy_constructible in constraints.
2193 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
2194 construction from move-only argument.
2195 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2196 * testsuite/std/ranges/repeat/1.cc: Likewise.
2197 * testsuite/std/ranges/single_view.cc: Likewise.
2198 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
2199 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
2200 of __cpp_lib_ranges.
2202 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2204 * testsuite/util/testsuite_iterators.h (is_customization_point_object):
2205 Remove parameter name.
2207 2023-09-06 Jonathan Wakely <jwakely@redhat.com>
2209 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
2211 * configure: Regenerate.
2213 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2216 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2219 * configure: Regenerate.
2220 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
2221 non-Canadian builds.
2223 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2226 * configure: Regenerate.
2227 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
2228 non-Canadian builds.
2230 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2232 * testsuite/26_numerics/complex/literals/types.cc: Remove
2233 dg-options and add target selector instead.
2235 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2237 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
2238 and qualify ambiguous calls to get.
2239 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
2240 expected result for std::pow(float, int) as per DR 550.
2242 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2244 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
2245 and add dg-warning for deprecation warnings.
2246 * testsuite/20_util/auto_ptr/2.cc: Likewise.
2247 * testsuite/20_util/auto_ptr/3.cc: Likewise.
2248 * testsuite/20_util/auto_ptr/3946.cc: Likewise.
2249 * testsuite/20_util/auto_ptr/4.cc: Likewise.
2250 * testsuite/20_util/auto_ptr/5.cc: Likewise.
2251 * testsuite/20_util/auto_ptr/6.cc: Likewise.
2252 * testsuite/20_util/auto_ptr/7.cc: Likewise.
2253 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
2254 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
2256 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2258 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2260 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
2262 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
2264 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2266 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2269 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2272 * testsuite/23_containers/vector/26412-1.cc: Moved to...
2273 * testsuite/23_containers/vector/26142-1.cc: ...here.
2274 * testsuite/23_containers/vector/26412-2.cc: Moved to...
2275 * testsuite/23_containers/vector/26142-2.cc: ...here.
2277 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2279 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
2280 * testsuite/26_numerics/complex/56111.cc: Likewise.
2282 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2284 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
2285 Add dg-options to restrict the test to C++98 mode.
2286 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
2289 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2291 * testsuite/20_util/expected/bad.cc: Add missing target
2294 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2296 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
2298 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
2301 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2303 * testsuite/27_io/filesystem/iterators/91067.cc: Add
2304 -Wno-self-move to options.
2305 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
2307 2023-09-01 Vladimir Palevich <palevichva@gmail.com>
2310 * include/bits/vector.tcc (_M_realloc_insert): End guard
2311 lifetime just before assignment to class members.
2312 (_M_default_append): Likewise.
2314 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2316 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
2317 Use __resize_and_overwrite to fill buffer.
2318 (fs::read_symlink) [HAVE_READLINK]: Likewise.
2319 * src/filesystem/ops-common.h (get_temp_directory_from_env)
2320 [FILESYSTEM_IS_WINDOWS]: Likewise.
2322 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2325 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
2326 Add _AtomicRef non-type template parameter and use a loop if it
2328 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
2329 (__atomic_impl::compare_exchange_strong): Likewise.
2330 (atomic_ref::compare_exchange_weak): Use true for NTTP.
2331 (atomic_ref::compare_exchange_strong): Use true for NTTP.
2332 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
2333 Fix test to not rely on atomic_ref::load() to return an object
2334 with padding preserved.
2336 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2338 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
2341 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2343 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
2344 for POSIX readlink before using filesystem::read_symlink.
2346 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2348 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
2349 * configure: Regenerate.
2351 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2353 * include/bits/chrono_io.h (_Parser::operator()): Set failbit
2354 early if invalid values are read when _M_need & _TimeOfDay is
2356 * testsuite/std/time/parse.cc: Check that "25:59" cannot be
2359 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2362 * include/bits/chrono_io.h (_Parser::Operator()): Check %C
2363 values are in range of year::min() to year::max().
2364 * testsuite/std/time/parse.cc: Check out of range centuries.
2366 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2368 * include/std/format (__format::_Sink::_M_reset): Change second
2369 argument from iterator to offset.
2371 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
2374 * testsuite/std/format/string.cc: Check wide character format
2375 strings with out-of-range widths.
2377 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
2380 * include/std/format (__format::__parse_integer): Check for
2383 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2385 * testsuite/std/format/functions/format_to.cc: Avoid warning for
2388 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2390 * include/std/atomic: Add comment to #ifdef and fix indentation.
2391 * include/std/ostream: Check __glibcxx_syncbuf instead of
2392 __cplusplus and _GLIBCXX_HOSTED.
2393 * include/std/thread: Add comment to #ifdef.
2395 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2397 * include/bits/version.def (__cpp_lib_ratio): Define.
2398 * include/bits/version.h: Regenerate.
2399 * include/std/ratio (quecto, ronto, yocto, zepto)
2400 (zetta, yotta, ronna, quetta): Define.
2401 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
2402 dg-error line numbers.
2404 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2406 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
2408 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
2410 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2413 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
2414 not show template arguments.
2415 (StdVariantPrinter): Likewise.
2416 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
2418 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
2419 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
2421 2023-08-23 François Dumont <fdumont@gcc.gnu.org>
2423 * testsuite/util/replacement_memory_operators.h
2424 (counter::scope): New, capture and reset counter count at construction and
2425 restore it at destruction.
2426 (counter::check_new): Add scope instantiation.
2427 * testsuite/23_containers/unordered_map/96088.cc (main):
2428 Add counter::scope instantiation.
2429 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
2430 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
2431 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
2432 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
2433 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
2434 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
2435 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
2436 (operator new(size_t)): Check started.
2437 (main): Set/Unset started.
2438 * testsuite/17_intro/no_library_allocation.cc: New test case.
2440 2023-08-21 Jonathan Wakely <jwakely@redhat.com>
2442 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
2443 Call std::set_terminate before throwing the nested exception.
2445 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2448 * include/std/format (formatter): Only define specializations
2449 for 16-bit floating-point types for C++23.
2450 * include/std/limits (numeric_limits): Likewise.
2452 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2454 * include/bits/chrono_io.h (operator<<): Make uses of wide
2455 strings with streams and std::format type-dependent on _CharT.
2456 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
2457 __to_wstring_numeric.
2459 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2461 * include/bits/chrono_io.h (operator<<): Use __format_context.
2462 * include/std/format (__format::__format_context): New alias
2464 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
2467 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2470 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2472 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
2473 double overload for long double if possible.
2475 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2477 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
2480 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2482 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
2483 double overload for long double if possible.
2485 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2487 * src/c++98/localename.cc (is_C_locale): New function.
2488 (locale::locale(const char*)): Use is_C_locale.
2490 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2493 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
2494 Dispatch to _M_replace or move assignment from a temporary,
2495 based on the iterator type.
2497 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2499 * include/std/format (formatter): Add partial specializations
2500 for extended floating-point types.
2501 * testsuite/std/format/functions/format.cc: Move test_float128()
2503 * testsuite/std/format/formatter/ext_float.cc: New test.
2505 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2507 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
2508 whenever __BFLT16_DIG__ is defined, not only for C++23.
2509 * include/std/limits (numeric_limits<bfloat16_t>): Likewise.
2510 (numeric_limits<_Float16>, numeric_limits<_Float32>)
2511 (numeric_limits<_Float64>): Likewise for other extended
2512 floating-point types.
2514 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2516 * include/experimental/internet (address_v4::to_string): Remove
2517 unused parameter name.
2519 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2521 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
2522 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
2523 excess errors caused by invalid consteval calls.
2525 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2527 * include/bits/chrono_io.h (__units_suffix_misc): Remove.
2528 (__units_suffix): Return a known suffix as string view, do not
2529 write unknown suffixes to a buffer.
2530 (__fmt_units_suffix): New function that formats the suffix using
2532 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
2533 (__chrono_formatter::_M_Z): Correct lifetime of wstring.
2535 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2537 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
2538 string formatters with this macro.
2539 (__formatter_int::_M_format_int, __formatter_fp::format)
2540 (formatter<const void*, C>::format): Use __to_wstring_numeric
2541 instead of std::ctype::widen.
2542 (__formatter_fp::_M_localize): Use hardcoded wchar_t values
2543 instead of std::ctype::widen.
2544 * testsuite/std/format/functions/format.cc: Add more checks for
2545 wstring formatting of arithmetic types.
2547 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2549 * include/bits/basic_string.h (to_string(floating-point-type)):
2550 Implement using std::to_chars for C++26.
2551 * include/bits/version.def (__cpp_lib_to_string): Define.
2552 * include/bits/version.h: Regenerate.
2553 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2554 Adjust expected result in C++26 mode.
2555 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
2557 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
2559 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
2561 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
2563 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
2565 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
2568 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2570 * include/bits/basic_string.h (to_string(integral-type)): Use
2571 resize_and_overwrite when available.
2572 (__to_wstring_numeric): New helper functions.
2573 (to_wstring): Use std::to_string then __to_wstring_numeric.
2574 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
2575 Remove check for no excess capacity.
2577 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2579 * include/bits/basic_string.h (__resize_and_overwrite): New
2581 * include/bits/basic_string.tcc (__resize_and_overwrite): New
2583 (resize_and_overwrite): Simplify by using reserve instead of
2584 growing the string manually. Adjust for C++11 compatibility.
2585 * include/bits/cow_string.h (resize_and_overwrite): New
2587 (__resize_and_overwrite): New function.
2588 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
2589 Do not depend on cxx11abi.
2590 * include/bits/version.h: Regenerate.
2591 * include/std/format (__formatter_fp::_S_resize_and_overwrite):
2593 (__formatter_fp::format, __formatter_fp::_M_localize): Use
2594 __resize_and_overwrite instead of _S_resize_and_overwrite.
2595 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2596 Adjust for C++11 compatibility when included by ...
2597 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
2600 2023-08-17 Patrick Palka <ppalka@redhat.com>
2602 * include/bits/regex.h (regex_iterator::iterator_concept):
2603 Define for C++20 as per P2770R0.
2604 (regex_token_iterator::iterator_concept): Likewise.
2605 * include/std/ranges (__detail::__as_lvalue): Define.
2606 (join_view::_Iterator): Befriend join_view.
2607 (join_view::_Iterator::_M_satisfy): Use _M_get_outer
2608 instead of _M_outer.
2609 (join_view::_Iterator::_M_get_outer): Define.
2610 (join_view::_Iterator::_Iterator): Split constructor taking
2611 _Parent argument into two as per P2770R0. Remove constraint on
2612 default constructor.
2613 (join_view::_Iterator::_M_outer): Make this data member present
2614 only when the underlying range is forward.
2615 (join_view::_Iterator::operator++): Use _M_get_outer instead of
2617 (join_view::_Iterator::operator--): Use __as_lvalue helper.
2618 (join_view::_Iterator::operator==): Adjust constraints as per
2620 (join_view::_Sentinel::__equal): Use _M_get_outer instead of
2622 (join_view::_M_outer): New data member when the underlying range
2624 (join_view::begin): Adjust definition as per P2770R0.
2625 (join_view::end): Likewise.
2626 (join_with_view::_M_outer_it): New data member when the
2627 underlying range is non-forward.
2628 (join_with_view::begin): Adjust definition as per P2770R0.
2629 (join_with_view::end): Likewise.
2630 (join_with_view::_Iterator::_M_outer_it): Make this data member
2631 present only when the underlying range is forward.
2632 (join_with_view::_Iterator::_M_get_outer): Define.
2633 (join_with_view::_Iterator::_Iterator): Split constructor
2634 taking _Parent argument into two as per P2770R0. Remove
2635 constraint on default constructor.
2636 (join_with_view::_Iterator::_M_update_inner): Adjust definition
2638 (join_with_view::_Iterator::_M_get_inner): Likewise.
2639 (join_with_view::_Iterator::_M_satisfy): Adjust calls to
2640 _M_get_inner. Use _M_get_outer instead of _M_outer_it.
2641 (join_with_view::_Iterator::operator==): Adjust constraints
2643 (join_with_view::_Sentinel::operator==): Use _M_get_outer
2644 instead of _M_outer_it.
2645 * testsuite/std/ranges/adaptors/p2770r0.cc: New test.
2647 2023-08-17 Patrick Palka <ppalka@redhat.com>
2650 * include/std/ranges (__adaptor::_RangeAdaptorClosure):
2651 Convert into a CRTP class template. Move hidden operator|
2652 friends into namespace scope and adjust their constraints.
2653 (__closure::__is_range_adaptor_closure_fn): Define.
2654 (__closure::__is_range_adaptor_closure): Define.
2655 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
2656 (__adaptor::_Pipe): Likewise.
2657 (views::_All): Likewise.
2658 (views::_Join): Likewise.
2659 (views::_Common): Likewise.
2660 (views::_Reverse): Likewise.
2661 (views::_Elements): Likewise.
2662 (views::_Adjacent): Likewise.
2663 (views::_AsRvalue): Likewise.
2664 (views::_Enumerate): Likewise.
2665 (views::_AsConst): Likewise.
2666 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
2667 expecting that adding empty range adaptor closure objects to a
2668 pipeline doesn't increase the size of a pipeline.
2670 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2672 * include/std/format (__format::_Pres_type): Add _Pres_F.
2673 (__formatter_fp::parse): Use _Pres_F for 'F'.
2674 (__formatter_fp::format): Set __upper for _Pres_F.
2675 * testsuite/std/format/functions/format.cc: Check formatting of
2676 infinity and NaN for each presentation type.
2678 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2680 * include/Makefile.in: Regenerate.
2682 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2684 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
2685 * testsuite/std/format/functions/format.cc: Likewise.
2686 * testsuite/std/format/functions/format_c++23.cc: Likewise.
2688 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2690 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
2691 any "-include bits/stdc++.h" from options and add the macro to
2692 the existing options instead of replacing them.
2694 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2696 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
2697 the callable with the same size as resize_and_overwrite was
2699 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2700 Check with small values for the new size.
2701 * testsuite/std/format/functions/format.cc: Check wide
2702 formatting of double values that produce small strings.
2703 * testsuite/std/format/functions/format_c++23.cc: New test.
2705 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2707 * include/bits/version.def (stds): Update value for C++23.
2708 * include/bits/version.h: Regenerate.
2710 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2712 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
2713 Fix name of upstream file this was derived from.
2714 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
2716 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
2718 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
2720 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.
2722 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
2724 * libsupc++/typeinfo: Switch to bits/version.h for
2725 __cpp_lib_constexpr_typeinfo.
2726 * libsupc++/new: Switch to bits/version.h for
2727 __cpp_lib_{launder,hardware_interference_size,destroying_delete}.
2728 (launder): Guard behind __cpp_lib_launder.
2729 (hardware_destructive_interference_size)
2730 (hardware_constructive_interference_size): Guard behind
2731 __cpp_lib_hardware_interference_size.
2732 * libsupc++/exception: Switch to bits/version.h for
2733 __cpp_lib_uncaught_exceptions.
2734 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
2735 * libsupc++/compare: Switch to bits/version.h for
2736 __cpp_lib_three_way_comparison.
2737 (three_way_comparable, three_way_comparable_with)
2738 (compare_three_way, weak_order, strong_order, partial_order):
2739 Guard behind __cpp_lib_three_way_comparison >= 201907L.
2740 * include/std/chrono: Drop __cpp_lib_chrono definition.
2741 * include/std/vector: Switch to bits/version.h for
2743 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2744 * include/std/variant: Switch to bits/version.h for
2745 __cpp_lib_variant. Guard whole header behind that FTM.
2746 * include/std/utility: Switch to bits/version.h for
2747 __cpp_lib_{exchange_function,constexpr_algorithms,as_const},
2748 __cpp_lib_{integer_comparison_functions,to_underlying}, and
2749 __cpp_lib_unreachable.
2750 (exchange): Guard behind __cpp_lib_exchange_function.
2751 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
2752 (cmp_greater_equal, in_range): Guard behind
2753 __cpp_lib_integer_comparison_functions.
2754 (to_underlying): Guard behind __cpp_lib_to_underlying.
2755 (unreachable): Guard behind __cpp_lib_unreachable.
2756 * include/std/type_traits: Switch to bits/version.h for
2757 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
2758 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
2759 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
2760 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
2761 __cpp_lib_{result_of_sfinae,transformation_trait_aliases},
2762 __cpp_lib_{type_identity,type_trait_variable_templates},
2763 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
2764 __cpp_lib_{bool_constant,bounded_array_traits}, and
2765 __cpp_lib_has_unique_object_representations.
2766 (integral_constant::operator()): Guard behind
2767 __cpp_lib_integral_constant_callable.
2768 (bool_constant): Guard behind __cpp_lib_bool_constant.
2769 (conjunction, disjunction, negation, conjunction_v, disjunction_v)
2770 (negation_v): Guard behind __cpp_lib_logical_traits.
2771 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
2772 (is_final): Guard behind __cpp_lib_is_final.
2773 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
2774 __cpp_lib_is_nothrow_convertible.
2775 (remove_const_t, remove_volatile_t, remove_cv_t)
2776 (add_const_t, add_volatile_t, add_cv_t): Guard behind
2777 __cpp_lib_transformation_trait_aliases.
2778 (void_t): Guard behind __cpp_lib_void_t.
2779 (is_swappable_with_v, is_nothrow_swappable_with_v)
2780 (is_swappable_with, is_nothrow_swappable_with): Guard behind
2781 __cpp_lib_is_swappable.
2782 (is_nothrow_invocable_r, is_invocable_r, invoke_result)
2783 (is_invocable, invoke_result_t): Guard behind
2784 __cpp_lib_is_invocable.
2785 (alignment_of_v, extent_v, has_virtual_destructor_v)
2786 (is_abstract_v, is_arithmetic_v, is_array_v)
2787 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
2788 (is_constructible_v, is_const_v, is_convertible_v)
2789 (is_copy_assignable_v, is_copy_constructible_v)
2790 (is_default_constructible_v, is_destructible_v)
2791 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
2792 (is_function_v, is_fundamental_v, is_integral_v)
2793 (is_invocable_r_v, is_invocable_v, is_literal_type_v)
2794 (is_lvalue_reference_v, is_member_function_pointer_v)
2795 (is_member_object_pointer_v, is_member_pointer_v)
2796 (is_move_assignable_v, is_move_constructible_v)
2797 (is_nothrow_assignable_v, is_nothrow_constructible_v)
2798 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
2799 (is_nothrow_default_constructible_v, is_nothrow_destructible_v)
2800 (is_nothrow_invocable_r_v, is_nothrow_invocable_v)
2801 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
2802 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
2803 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
2804 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
2805 (is_trivially_assignable_v, is_trivially_constructible_v)
2806 (is_trivially_copyable_v, is_trivially_copy_assignable_v)
2807 (is_trivially_copy_constructible_v)
2808 (is_trivially_default_constructible_v)
2809 (is_trivially_destructible_v, is_trivially_move_assignable_v)
2810 (is_trivially_move_constructible_v, is_trivial_v, is_union_v)
2811 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
2812 Guard behind __cpp_lib_type_trait_variable_templates.
2813 (has_unique_object_representations)
2814 (has_unique_object_representations_v): Guard behind
2815 __cpp_lib_has_unique_object_representation.
2816 (is_aggregate): Guard behind __cpp_lib_is_aggregate.
2817 (remove_cvref, remove_cvref_t): Guard behind
2818 __cpp_lib_remove_cvref.
2819 (type_identity, type_identity_t): Guard behind
2820 __cpp_lib_type_identity.
2821 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
2822 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
2823 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
2824 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
2825 (is_scoped_enum, is_scoped_enum_v): Guard behind
2826 __cpp_lib_is_scoped_enum.
2827 (reference_constructs_from_temporary)
2828 (reference_constructs_from_temporary_v): Guard behind
2829 __cpp_lib_reference_from_temporary.
2830 * include/std/tuple: Switch to bits/version.h for
2831 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
2832 (get<T>): Guard behind __cpp_lib_tuple_by_type.
2833 (apply): Guard behind __cpp_lib_apply.
2834 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
2835 * include/std/syncstream: Switch to bits/version.h for
2836 __cpp_lib_syncbuf. Guard header behind that FTM.
2837 * include/std/string_view: Switch to bits/version.h for
2838 __cpp_lib_{string_{view,contains},constexpr_string_view} and
2839 __cpp_lib_starts_ends_with.
2840 (basic_string_view::starts_with, basic_string_view::ends_with):
2841 Guard behind __cpp_lib_starts_ends_with.
2842 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
2843 Assert as impossible ithout a bug in C++23.
2844 * include/std/string: Switch to bits/version.h for
2846 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2847 * include/std/thread: Switch to bits/version.h for
2849 * include/std/stop_token: Switch to bits/version.h for
2851 * include/std/spanstream: Switch to bits/version.h for
2852 __cpp_lib_spanstream. Guard header behind that FTM.
2853 * include/std/span: Switch to bits/version.h for __cpp_lib_span.
2854 Guard header behind that FTM.
2855 * include/std/source_location: Switch to bits/version.h for
2856 __cpp_lib_source_location. Guard header with that FTM.
2857 * include/std/shared_mutex: Switch to bits/version.h for
2858 __cpp_lib_shared{,_timed}_mutex.
2859 (shared_mutex): Guard behind __cpp_lib_shared_mutex.
2860 * include/std/semaphore: Switch to bits/version.h for
2861 __cpp_lib_semaphore. Guard header behind that FTM.
2862 * include/std/ranges: Switch to bits/version.h for
2863 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
2864 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
2865 and __cpp_lib_ranges_{as_const,enumerate,iota}.
2866 (ranges::zip et al, ranges::chunk et al, ranges::slide et al)
2867 (ranges::chunk_by et al, ranges::join_with et al)
2868 (ranges::stride et al, ranges::cartesian_product et al)
2869 (ranges::as_rvalue et al, ranges::as_const et al)
2870 (ranges::enumerate et al): Guard behind appropriate FTM.
2871 * include/std/optional: Switch to bits/version.h for
2872 __cpp_lib_optional. Guard header behind that FTM.
2873 * include/std/numeric: Switch to bits/version.h for
2874 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
2875 and __cpp_lib_parallel_algorithm.
2876 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
2877 (midpoint): Guard behind __cpp_lib_interpolate.
2878 * include/std/numbers: Switch to bits/version.h for
2879 __cpp_lib_math_constants. Guard header behind that FTM.
2880 * include/std/mutex: Switch to bits/version.h for
2881 __cpp_lib_scoped_lock.
2882 (scoped_Lock): Guard behind __cpp_lib_scoped_lock.
2883 * include/std/memory_resource: Switch to bits/version.h for
2884 __cpp_lib_{polymorphic_allocator,memory_resource}.
2885 (synchronized_pool_resource): Guard behind
2886 __cpp_lib_memory_resource >= 201603L.
2887 (polymorphic_allocator): Guard behind
2888 __cpp_lib_polymorphic_allocator.
2889 * include/std/memory: Switch to bits/version.h for
2890 __cpp_lib_{parallel_algorithm,atomic_value_initialization}.
2891 * include/std/list: Switch to bits/version.h for
2893 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2894 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
2895 Guard header behind that FTM.
2896 * include/std/iterator: Switch to bits/version.h for
2897 __cpp_lib_null_iterators.
2898 * include/std/iomanip: Switch to bits/version.h for
2899 __cpp_lib_quoted_string_io.
2900 (quoted): Guard behind __cpp_lib_quoted_string_io.
2901 * include/std/functional: Switch to bits/version.h for
2902 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
2903 __cpp_lib_{not_fn,booyer_moore_searcher}.
2904 (invoke): Guard behind __cpp_lib_invoke.
2905 (invoke_r): Guard behind __cpp_lib_invoke_r.
2906 (bind_front): Guard behind __cpp_lib_bind_front.
2907 (not_fn): Guard behind __cpp_lib_not_fn.
2908 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
2909 definition behind __cpp_lib_boyer_moore_searcher.
2910 * include/std/forward_list: Switch to bits/version.h for
2912 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2913 * include/std/format: Switch to bits/version.h for
2914 __cpp_lib_format. Guard header behind that FTM.
2915 * include/std/filesystem: Switch to bits/version.h for
2916 __cpp_lib_filesystem. Guard header behind that FTM.
2917 * include/std/expected: Switch to bits/version.h for
2918 __cpp_lib_expected. Guard header behind it.
2919 * include/std/execution: Switch to bits/version.h for
2920 __cpp_lib_{execution,parallel_algorithm}. Guard header behind
2922 * include/std/deque: Switch to bits/version.h for
2924 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2925 * include/std/coroutine: Switch to bits/version.h for
2926 __cpp_lib_coroutine. Guard header behind that FTM.
2927 * include/std/concepts: Switch to bits/version.h for
2928 __cpp_lib_concepts. Guard header behind that FTM.
2929 * include/std/complex: Switch to bits/version.h for
2930 __cpp_lib_{complex_udls,constexpr_complex}.
2931 (operator""if, operator""i, operator""il): Guard behind
2932 __cpp_lib_complex_udls.
2933 * include/std/charconv: Swtich to bits/version.h for
2934 __cpp_lib_{to_chars,constexpr_charconv}.
2935 * include/std/bitset: Switch to bits/version.h for
2936 __cpp_lib_constexpr_bitset.
2937 * include/std/bit: Switch to bits/version.h for
2938 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
2939 (bit_cast): Guard behind __cpp_lib_bit_cast.
2940 (byteswap): Guard behind __cpp_lib_byteswap.
2941 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
2942 (popcount): Guard behind __cpp_lib_bitops.
2943 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
2945 (endian): Guard behind __cpp_lib_endian.
2946 * include/std/barrier: Switch to bits/version.h for
2947 __cpp_lib_barrier. Guard header behind that FTM.
2948 * include/std/atomic: Switch to bits/version.h for
2949 __cpp_lib_atomic_{is_always_lock_free,float,ref}
2950 and __cpp_lib_lock_free_type_aliases.
2951 (*::is_always_lock_free): Guard behind
2952 __cpp_lib_atomic_is_always_lock_free.
2953 (atomic<float>): Guard behind __cpp_lib_atomic_float.
2954 (atomic_ref): Guard behind __cpp_lib_atomic_ref.
2955 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
2956 __cpp_lib_atomic_lock_free_type_aliases.
2957 * include/std/array: Switch to bits/version.h for
2959 (to_array): Guard behind __cpp_lib_to_array.
2960 * include/std/any: Switch to bits/version.h for __cpp_lib_any.
2961 Guard header behind that FTM.
2962 * include/std/algorithm: Switch to bits/version.h for
2963 __cpp_lib_parallel_algorithm.
2964 * include/c_global/cstddef: Switch to bits/version.h for
2966 (byte): Guard behind __cpp_lib_byte.
2967 * include/c_global/cmath: Switch to bits/version.h for
2968 __cpp_lib_{hypot,interpolate}.
2969 (hypot3): Guard behind __cpp_lib_hypot.
2970 (lerp): Guard behind __cpp_lib_interpolate.
2971 * include/c_compatibility/stdatomic.h: Switch to
2972 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that
2974 * include/bits/utility.h: Switch to bits/version.h for
2975 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
2976 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
2977 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
2978 * include/bits/uses_allocator_args.h: Switch to bits/version.h for
2979 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM.
2980 * include/bits/unordered_map.h: Switch to bits/version.h for
2981 __cpp_lib_unordered_map_try_emplace.
2982 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
2983 * include/bits/unique_ptr.h: Switch to bits/version.h for
2984 __cpp_lib_{constexpr_memory,make_unique}.
2985 (make_unique): Guard behind __cpp_lib_make_unique.
2986 * include/bits/stl_vector.h: Switch to bits/version.h for
2987 __cpp_lib_constexpr_vector.
2988 * include/bits/stl_uninitialized.h: Switch to bits/version.h for
2989 __cpp_lib_raw_memory_algorithms.
2990 (uninitialized_default_construct)
2991 (uninitialized_default_construct_n, uninitialized_move)
2992 (uninitialized_move_n, uninitialized_value_construct)
2993 (uninitialized_value_construct_n): Guard behind
2994 __cpp_lib_raw_memory_algorithms.
2995 * include/bits/stl_tree.h: Switch to bits/version.h for
2996 __cpp_lib_generic_associative_lookup.
2997 * include/bits/stl_stack.h: Switch to bits/version.h for
2998 __cpp_lib_adaptor_iterator_pair_constructor.
2999 (stack): Guard iterator-pair constructor behind
3000 __cpp_lib_adaptor_iterator_pair_constructor.
3001 * include/bits/stl_queue.h: Switch to bits/version.h for
3002 __cpp_lib_adaptor_iterator_pair_constructor.
3003 (queue): Guard iterator-pair constructor behind
3004 __cpp_lib_adaptor_iterator_pair_constructor.
3005 * include/bits/stl_pair.h: Switch to bits/version.h for
3006 __cpp_lib_{concepts,tuples_by_type}.
3007 (get): Guard type-getting overloads behind
3008 __cpp_lib_tuples_by_type.
3009 * include/bits/stl_map.h: Switch to bits/version.h for
3010 __cpp_lib_map_try_emplace.
3011 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
3012 * include/bits/stl_list.h: Switch to bits/version.h for
3013 __cpp_lib_list_remove_return_type.
3014 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
3015 [C++20]: guard behind __cpp_lib_list_remove_return_type instead.
3016 * include/bits/stl_iterator.h: Switch to bits/version.h for
3017 __cpp_lib_{constexpr_iterator,array_constexpr} and
3018 __cpp_lib_{make_reverse_iterator,move_iterator_concept}.
3019 (make_reverse_iterator): Guard behind
3020 __cpp_lib_make_reverse_iterator.
3021 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept
3022 changes behind that FTM.
3023 * include/bits/stl_function.h: Switch to bits/version.h for
3024 __cpp_lib_transparent_operators.
3025 (equal_to, not_equal_to, greater, less, greater_equal)
3026 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
3027 (logical_or, logical_not, plus, minus, multiplies, divides)
3028 (modulus, negate): Guard '= void' fwdecls behind
3029 __cpp_lib_transparent_operators.
3030 (plus<void>, minus<void>, multiplies<void>, divides<void>)
3031 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
3032 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
3033 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
3034 (greater_equal<void>, less_equal<void>, bit_not<void>)
3035 (__has_is_transparent): Guard behind
3036 __cpp_lib_transparent_operators.
3037 * include/bits/stl_algobase.h: Switch to bits/version.h for
3038 __cpp_lib_robust_nonmodifying_seq_ops.
3039 (robust equal, mismatch): Guard behind
3040 __cpp_lib_nonmember_container_access.
3041 * include/bits/stl_algo.h: Swtich to bits/version.h for
3042 __cpp_lib_{clamp,sample}.
3043 (clamp): Guard behind __cpp_lib_clamp.
3044 (sample): Guard behind __cpp_lib_sample.
3045 * include/bits/specfun.h: Switch to bits/version.h for
3046 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
3047 * include/bits/shared_ptr_base.h: Switch to bits/version.h for
3048 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
3049 (_Sp_overwrite_tag): Guard behind
3050 __cpp_lib_smart_ptr_for_overwrite.
3051 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
3052 __cpp_lib_atomic_shared_ptr.
3053 * include/bits/shared_ptr.h: Switch to bits/version.h for
3054 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
3055 (shared_ptr<T>::weak_type): Guard behind
3056 __cpp_lib_shared_ptr_weak_type.
3057 (enable_shared_from_this<T>::weak_from_this): Guard behind
3058 __cpp_lib_enable_shared_from_this.
3059 * include/bits/ranges_cmp.h: Switch to bits/version.h for
3061 * include/bits/ranges_algo.h: Switch to bits/version.h for
3062 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
3063 * include/bits/range_access.h: Switch to bits/version.h for
3064 __cpp_lib_nonmember_container_access
3065 (size, empty, data): Guard behind
3066 __cpp_lib_nonmember_container_access.
3067 (ssize): Guard behind __cpp_lib_ssize.
3068 * include/bits/ptr_traits.h: Switch to bits/version.h. for
3069 __cpp_lib_{constexpr_memory,to_address}.
3070 (to_address): Guard behind __cpp_lib_to_address.
3071 * include/bits/node_handle.h: Switch to bits/version.h for
3072 __cpp_lib_node_extract. Guard header behind that FTM.
3073 * include/bits/move_only_function.h: Switch to bits/version.h for
3074 __cpp_lib_move_only_function. Guard header behind that FTM.
3075 * include/bits/move.h: Switch to bits/version.h for
3076 __cpp_lib_addressof_constexpr.
3077 * include/bits/ios_base.h: Switch to bits/version.h for
3078 __cpp_lib_ios_noreplace.
3079 (noreplace): Guard with __cpp_lib_ios_noreplace.
3080 * include/bits/hashtable.h: Switch to bits/version.h for
3081 __cpp_lib_generic_unordered_lookup.
3082 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
3083 __cpp_lib_generic_unordered_lookup.
3084 * include/bits/forward_list.h: Switch to bits/version.h for
3085 __cpp_lib_list_remove_return_type.
3086 (__remove_return_type): Guard behind
3087 __cpp_lib_list_remove_return_type.
3088 * include/bits/erase_if.h: Switch to bits/version.h for
3090 * include/bits/cow_string.h: Switch to bits/version.h for
3091 __cpp_lib_constexpr_string.
3092 * include/bits/chrono.h: Swtich to bits/version.h for
3093 __cpp_lib_chrono{,_udls}.
3094 (ceil): Guard behind __cpp_lib_chrono.
3095 (operator""ns et al): Guard behind __cpp_lib_chrono_udls.
3096 * include/bits/char_traits.h: Switch to bits/version.h for
3097 __cpp_lib_constexpr_char_traits.
3098 * include/bits/basic_string.h: Switch to bits/version.h for
3099 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
3100 (resize_and_overwrite): Guard behind
3101 __cpp_lib_string_resize_and_overwrite.
3102 (operator""s): Guard behind __cpp_lib_string_udls.
3103 * include/bits/atomic_wait.h: Switch to bits/version.h for
3104 __cpp_lib_atomic_wait. Guard header behind that FTM.
3105 * include/bits/atomic_base.h: Switch to bits/version.h for
3106 __cpp_lib_atomic_value_initialization and
3107 __cpp_lib_atomic_flag_test.
3108 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
3110 * include/bits/allocator.h: Switch to bits/version.h for
3111 __cpp_lib_incomplete_container_elements.
3112 * include/bits/alloc_traits.h: Switch to using bits/version.h for
3113 __cpp_lib_constexpr_dynamic_alloc and
3114 __cpp_lib_allocator_traits_is_always_equal.
3115 * include/bits/align.h: Switch to bits/version.h for defining
3116 __cpp_lib_assume_aligned.
3117 (assume_aligned): Guard with __cpp_lib_assume_aligned.
3118 * include/bits/algorithmfwd.h: Switch to bits/version.h for
3119 defining __cpp_lib_constexpr_algorithms.
3120 * include/std/stacktrace: Switch to bits/version.h for
3121 __cpp_lib_stacktrace. Guard header behind that FTM.
3122 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
3123 Update line numbers.
3125 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
3127 * include/Makefile.am (bits_freestanding): Add version.h.
3128 (allcreated): Add version.h.
3129 (${bits_srcdir}/version.h): New rule. Regenerates
3130 version.h out of version.{def,tpl}.
3131 * include/Makefile.in: Regenerate.
3132 * include/bits/version.def: New file. Declares a list of
3133 all feature test macros, their values and their preconditions.
3134 * include/bits/version.tpl: New file. Turns version.def
3135 into a sequence of #if blocks.
3136 * include/bits/version.h: New file. Generated from
3138 * include/std/version: Replace with a __glibcxx_want_all define
3139 and bits/version.h include.
3141 2023-08-14 Paul Dreik <gccpatches@pauldreik.se>
3144 * include/std/format (__formatter_fp::format): Use frexp instead
3147 2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org>
3149 * include/std/type_traits (true_type): Use __bool_constant
3151 (false_type): Likewise.
3152 (bool_constant): Likewise.
3154 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3157 * include/std/format (_Seq_sink::get): Only call _M_overflow if
3158 its precondition is met.
3159 (_Iter_sink::_M_finish): Likewise.
3160 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
3161 internal buffer after running out of space.
3162 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
3163 (_Counting_sink::count): Likewise.
3164 * testsuite/std/format/functions/format_to_n.cc: Check cases
3165 where the output fits into the buffer.
3167 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3170 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
3171 to _ChronoParts operators.
3172 (from_stream, parse): Define new functions.
3173 (__detail::_Parse, __detail::_Parser): New class templates.
3174 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
3176 * include/std/version (__cpp_lib_chrono): Likewise.
3177 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
3178 Adjust expected value of feature test macro.
3179 * testsuite/20_util/duration/io.cc: Test parsing.
3180 * testsuite/std/time/clock/file/io.cc: Likewise.
3181 * testsuite/std/time/clock/gps/io.cc: Likewise.
3182 * testsuite/std/time/clock/system/io.cc: Likewise.
3183 * testsuite/std/time/clock/tai/io.cc: Likewise.
3184 * testsuite/std/time/clock/utc/io.cc: Likewise.
3185 * testsuite/std/time/day/io.cc: Likewise.
3186 * testsuite/std/time/month/io.cc: Likewise.
3187 * testsuite/std/time/month_day/io.cc: Likewise.
3188 * testsuite/std/time/weekday/io.cc: Likewise.
3189 * testsuite/std/time/year/io.cc: Likewise.
3190 * testsuite/std/time/year_month/io.cc: Likewise.
3191 * testsuite/std/time/year_month_day/io.cc: Likewise.
3192 * testsuite/std/time/syn_c++20.cc: Check value of macro and for
3193 the existence of parse and from_stream in namespace chrono.
3194 * testsuite/std/time/clock/local/io.cc: New test.
3195 * testsuite/std/time/parse.cc: New test.
3197 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3200 * include/std/format (__formatter_fp::format): Do not call log10
3203 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3205 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
3206 Check for out-of-range month an weekday indices.
3207 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
3208 month and weekday values.
3210 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3212 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
3214 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3217 * include/std/format (_Spec::_S_parse_width_or_precision): Check
3218 for empty range before dereferencing iterator.
3219 * testsuite/std/format/string.cc: Check for expected exception.
3220 Fix expected exception message in test_pr110862() and actually
3223 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3226 * include/std/format (__formatter_fp::format): Check return
3227 value of _M_localize.
3228 * testsuite/std/format/functions/format.cc: Check classic
3231 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3234 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
3236 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
3237 (__detail::__basic_const_iterator_iter_cat): Likewise.
3238 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
3239 Rename to __iter_category_t.
3241 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3243 * include/bits/chrono.h (duration_cast): Do not use braces
3244 around statements for C++11 constexpr rules.
3245 * include/bits/stl_algobase.h (__lg): Rewrite as a single
3246 statement for C++11 constexpr rules.
3247 * include/experimental/bits/fs_path.h (path::string): Use
3248 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
3249 * include/std/charconv (__to_chars_8): Initialize variable for
3250 C++17 constexpr rules.
3252 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3254 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
3255 warning for loop condition.
3257 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3259 * include/std/complex: Add diagnostic pragma for clang.
3261 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3263 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
3265 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
3266 class-head to struct in friend declaration.
3267 * include/std/chrono (tzdb_list::_Node): Likewise.
3268 * include/std/future (_Task_state_base, _Task_state): Likewise.
3269 * include/std/scoped_allocator (__inner_type_impl): Likewise.
3270 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
3271 (_ValFunClos, _RefFunClos): Change class-head to struct.
3273 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3275 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
3277 * include/bits/regex_executor.tcc: Remove name of unused
3279 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
3281 * include/bits/stl_uninitialized.h: Likewise.
3282 * include/bits/streambuf_iterator.h (operator==): Likewise.
3283 * include/bits/uses_allocator.h: Likewise.
3284 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
3285 * include/std/chrono (zoned_time): Likewise.
3286 * include/std/future (__future_base::_S_allocate_result):
3288 (packaged_task): Likewise.
3289 * include/std/optional (_Optional_payload_base): Likewise.
3290 * include/std/scoped_allocator (__inner_type_impl): Likewise.
3291 * include/std/tuple (_Tuple_impl): Likewise.
3293 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3295 * include/bits/new_allocator.h (__new_allocator): Define copy
3296 assignment operator as defaulted.
3297 * include/std/complex (complex<float>, complex<double>)
3298 (complex<long double>): Define copy constructor as defaulted.
3300 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3302 * include/std/format: Fix some warnings.
3303 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
3304 unused function template.
3306 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3309 * include/std/format (__formatter_fp::format): Do not use
3310 __builtin_abs and __builtin_log10 with arbitrary floating-point
3313 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3316 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
3317 Constrain partial specialization for contiguous iterators to
3318 require the value type to be CharT.
3319 * testsuite/std/format/functions/format_to.cc: New test.
3321 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3324 * include/std/format (_Scanner::_M_on_replacement_field):
3325 Check for expected '}' before incrementing iterator.
3326 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
3328 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3330 * configure: Regenerate.
3332 2023-08-07 Alan Modra <amodra@gmail.com>
3334 * configure: Regenerate.
3336 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
3338 * configure: Regenerate.
3340 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3342 * configure: Regenerate.
3344 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3346 * configure: Regenerate.
3348 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
3350 * configure: Regenerate.
3352 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
3354 * configure: Regenerate.
3356 2023-08-06 François Dumont <fdumont@gcc.gnu.org>
3358 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
3361 2023-07-30 François Dumont <fdumont@gcc.gnu.org>
3363 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
3365 * src/c++11/locale-inst-monetary.h: Likewise.
3366 * src/c++11/locale-inst-numeric.h: Likewise.
3368 2023-07-27 Jonathan Wakely <jwakely@redhat.com>
3371 * include/std/format (__formatter_fp::format): Ensure __expc is
3372 always set for all presentation types. Set __z correctly for
3374 * testsuite/std/format/functions/format.cc: Check problem cases.
3376 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3379 * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
3381 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3384 * include/bits/stl_bvector.h (vector(const vector&)): Access
3385 iterators before allocating.
3386 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
3388 * testsuite/23_containers/vector/bool/110807.cc: New test.
3390 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3392 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
3394 * include/bits/stl_algo.h (random_shuffle): Correct comments.
3395 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
3396 deprecated warnings.
3397 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
3398 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
3399 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
3402 2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
3404 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
3406 * testsuite/26_numerics/gcd/105844.cc: Likewise.
3407 * testsuite/26_numerics/lcm/105844.cc: Likewise.
3409 2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
3411 * include/std/format (_Formatting_scanner::_M_on_chars): Add
3412 missing constexpr specifier.
3413 (_Formatting_scanner::_M_format_arg): Likewise.
3415 2023-07-24 Jonathan Wakely <jwakely@redhat.com>
3418 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
3419 throw an exception for zero result.
3420 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
3422 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3425 * src/c++17/floating_from_chars.cc (from_chars): Only define
3426 _Float128 overload when using __strfromf128.
3428 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3431 * include/bits/chrono.h (duration): Improve static assert
3433 (__is_ratio): Move to ...
3434 * include/std/ratio (__is_ratio): ... here.
3435 (__is_ratio_v): New variable template and partial
3437 (__are_both_ratios): New function template.
3438 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
3439 Add static assertion.
3440 * testsuite/20_util/ratio/requirements/type_constraints.cc:
3442 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
3443 Adjust expected error.
3444 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
3447 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3449 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
3450 Do not set __is_neg for hh_mm_ss before calling
3451 _M_format_to_ostream. Change __print_sign lambda to only check
3452 __is_neg for durations and hh_mm_ss types.
3453 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
3455 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
3457 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3460 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
3461 Handle duration and hh_mm_ss.
3462 * testsuite/20_util/duration/io.cc: Check locale-specific
3464 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
3466 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3468 * include/std/format (__write_padded): Initialize first element
3469 of array to avoid a -Wmaybe-uninitialized warning.
3471 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3474 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
3475 allowed modifiers for %z and %Z. Fix -Wparentheses and
3476 -Wnarrowing warnings.
3477 (__formatter_chrono::_M_format): Call new functions for %d, %e,
3479 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
3480 subsecond precision.
3481 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
3483 (__formatter_chrono::_M_e): Replace with _M_d_e and use
3485 (__formatter_chrono::_M_I): Replace with _M_H_I and use
3487 (__formatter_chrono::_M_m): New function.
3488 (__formatter_chrono::_M_M): New function.
3489 (__formatter_chrono::_M_r): Use _M_locale_fmt.
3490 (__formatter_chrono::_M_S): Likewise.
3491 (__formatter_chrono::_M_u_w): Likewise.
3492 (__formatter_chrono::_M_U_V_W): Likewise.
3493 (__formatter_chrono::_M_X): Use _S_floor_seconds.
3494 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
3495 (__formatter_chrono::_S_altnum): Remove function.
3496 (__formatter_chrono::_S_dd_zero_fill): Remove function.
3497 (__formatter_chrono::_S_floor_seconds): New function.
3498 (__formatter_chrono::_M_locale_fmt): New function.
3499 * testsuite/std/time/clock/system/io.cc: Adjust expected output
3500 for locale-specific formats and check modified formats.
3501 * testsuite/std/time/clock/utc/io.cc: Likewise.
3502 * testsuite/std/time/zoned_time/io.cc: New test.
3504 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3507 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
3508 allow a single modifier.
3509 * testsuite/std/time/format.cc: Check multiple modifiers.
3511 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3514 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3515 Remove dg-require-string-conversions.
3516 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3518 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3520 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3522 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
3525 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3528 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
3529 Define in terms of std::stod.
3531 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3534 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
3536 [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
3537 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
3538 Declare in namespace std.
3539 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
3541 2023-07-13 Jonathan Wakely <jwakely@redhat.com>
3544 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
3545 depend on _GLIBCXX_USE_C99_STDLIB.
3546 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
3547 in terms of stol and stoul respectively.
3548 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
3551 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3554 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
3555 conversions to wide strings.
3556 * testsuite/experimental/filesystem/path/construct/95048.cc:
3559 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3561 * config/io/basic_file_stdio.cc: Define LFS macros.
3562 (__basic_file<char>::open): Use fopen unconditionally.
3563 (get_file_offset): Use lseek unconditionally.
3564 (__basic_file<char>::seekoff): Likewise.
3565 (__basic_file<char>::showmanyc): Use fstat unconditionally.
3567 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3570 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
3571 and define _GLIBCXX_USE_FSEEKO_FTELLO.
3572 * config.h.in: Regenerate.
3573 * configure: Regenerate.
3574 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
3575 Check for fwrite error correctly.
3576 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
3577 fread error correctly.
3578 (get_file_offset): New function.
3579 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
3580 fseeko if available. Use get_file_offset instead of return value
3582 (__basic_file<char>::showmanyc): Use get_file_offset.
3584 2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
3586 * include/std/type_traits (__make_unsigned_selector): Use
3587 __is_enum built-in trait.
3588 (__make_signed_selector): Likewise.
3589 (__underlying_type_impl): Likewise.
3591 2023-07-06 Tianqiang Shuai <1101282468@qq.com>
3593 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
3596 2023-07-06 Jonathan Wakely <jwakely@redhat.com>
3599 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
3601 * doc/html/manual/configure.html: Regenerate.
3603 2023-07-05 Thomas Rodgers <trodgers@redhat.com>
3605 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
3607 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
3609 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
3611 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
3613 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
3615 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
3618 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3620 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
3621 Skip as UNSUPPORTED for C++98 mode.
3622 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
3625 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3628 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
3629 Do not use std::fill_n during constant evaluation.
3631 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3633 * include/bits/vector.tcc (_M_default_append): Replace try-block
3636 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3638 * include/bits/iterator_concepts.h (projected): Add typename.
3640 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3642 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
3643 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
3645 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3647 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
3648 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
3649 Define to OpenMP 5.0 pragmas even for GCC 10.0+.
3650 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
3652 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3654 * include/bits/alloc_traits.h (_Destroy): Qualify call.
3655 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
3656 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
3658 2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
3660 * testsuite/lib/libstdc++.exp: Remove additional flag handled
3663 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3666 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
3667 * config.h.in: Regenerate.
3668 * configure: Regenerate.
3669 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
3670 * include/std/iostream: Use new autoconf macro as well as
3672 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
3675 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3677 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
3680 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3683 * src/c++11/random.cc (random_device::_M_init): Throw
3684 std::system_error when the requested device is a valid token but
3685 not available at runtime.
3687 2023-06-30 Hans-Peter Nilsson <hp@axis.com>
3690 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
3691 __INT32_TYPE__ instead of int32_t.
3693 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
3695 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
3696 with USE_ATOMIC_LIST_HEAD.
3697 (list_mutex): Replace global object with function. Use local
3698 static object when std::mutex constructor isn't constexpr.
3700 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
3703 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
3704 copy_file_range can be called with loff_t* arguments.
3705 * configure: Regenerate.
3706 * src/filesystem/ops-common.h (copy_file_copy_file_range):
3707 Use loff_t for offsets.
3709 2023-06-29 Tom Tromey <tromey@adacore.com>
3711 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
3714 2023-06-28 Jan Hubicka <jh@suse.cz>
3716 PR middle-end/109849
3717 * include/bits/c++config (std::__terminate): Mark cold.
3718 * include/bits/functexcept.h: Mark everything as cold.
3719 * libsupc++/exception: Mark terminate and unexpected as cold.
3721 2023-06-26 Thomas Rodgers <trodgers@redhat.com>
3723 * include/pstl/algorithm_fwd.h: Synchronize with upstream.
3724 * include/pstl/algorithm_impl.h: Likewise.
3725 * include/pstl/execution_defs.h: Likewise.
3726 * include/pstl/execution_impl.h: Likewise.
3727 * include/pstl/glue_algorithm_impl.h: Likewise.
3728 * include/pstl/glue_execution_defs.h: Likewise.
3729 * include/pstl/glue_memory_impl.h: Likewise.
3730 * include/pstl/glue_numeric_impl.h: Likewise.
3731 * include/pstl/memory_impl.h: Likewise.
3732 * include/pstl/numeric_fwd.h: Likewise.
3733 * include/pstl/numeric_impl.h: Likewise.
3734 * include/pstl/parallel_backend.h: Likewise.
3735 * include/pstl/parallel_backend_serial.h: Likewise.
3736 * include/pstl/parallel_backend_tbb.h: Likewise.
3737 * include/pstl/parallel_impl.h: Likewise.
3738 * include/pstl/pstl_config.h: Likewise.
3739 * include/pstl/unseq_backend_simd.h: Likewise.
3740 * include/pstl/utils.h: Likewise.
3741 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
3743 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
3745 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
3747 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
3749 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
3750 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
3752 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
3754 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
3756 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
3758 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
3760 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
3762 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
3764 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
3766 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
3768 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
3770 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
3772 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
3774 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
3776 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
3778 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
3780 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
3782 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
3784 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
3786 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
3788 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
3790 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
3792 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
3794 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
3796 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
3798 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
3800 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
3802 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
3804 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
3806 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
3808 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
3810 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
3812 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
3814 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
3816 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
3818 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
3820 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
3822 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
3824 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
3826 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
3828 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
3830 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
3832 * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
3834 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
3836 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
3838 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
3840 * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
3842 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
3844 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
3846 * testsuite/util/pstl/test_utils.h:
3849 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
3852 * include/std/format (__format::__parse_integer): Fix buffer
3853 overflow for wide chars.
3854 (formatter<const void*, C>::format): Cast to uintptr_t instead
3856 * testsuite/std/format/string.cc: Test too-large widths.
3858 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
3860 * include/bits/iterator_concepts.h (projected): Replace class
3861 template with alias template denoting an ADL-proofed helper.
3862 (incremental_traits<projected<Iter, Proj>>): Remove.
3863 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
3866 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
3868 * include/debug/helper_functions.h (__get_distance)
3869 (__check_singular, __valid_range_aux, __valid_range): Qualify
3870 calls to disable ADL.
3871 (__check_singular_aux(const _Safe_iterator_base*)): Declare
3872 overload that was previously found via ADL.
3874 2023-06-23 Jonathan Wakely <jwakely@redhat.com>
3876 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
3879 2023-06-20 Jonathan Wakely <jwakely@redhat.com>
3881 * include/std/array (to_array(T(&)[N])): Remove redundant
3883 (to_array(T(&&)[N])): Remove redundant std::move.
3885 2023-06-16 Alexandre Oliva <oliva@adacore.com>
3887 * testsuite/20_util/from_chars/4.cc: Skip long double on
3890 2023-06-16 Joel Brobecker <brobecker@adacore.com>
3892 * configure.ac ["x${with_newlib}" = "xyes"]: Define
3893 HAVE_HYPOTF. Add compile-checks for various long double
3894 math functions as well.
3895 * configure: Regenerate.
3897 2023-06-14 Jonny Grant <jg@jguk.org>
3899 * doc/xml/manual/extensions.xml: Remove demangle exception
3900 description and include.
3901 * doc/html/manual/ext_demangling.html: Regenerate.
3903 2023-06-10 Hans-Peter Nilsson <hp@axis.com>
3905 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
3906 [! SIMULATOR_TEST]: Also exclude running test05.
3907 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
3909 2023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
3911 * include/std/type_traits: Use using instead of typedef
3913 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
3916 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
3917 Only define if _Float128 and long double have different
3920 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
3923 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
3924 (basic_endpoint, basic_resolver_entry, resolver_base)
3925 (basic_resolver_results, basic_resolver): Only define if the tcp
3926 or udp protocols will be defined.
3928 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
3930 * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
3931 * configure: Regenerate.
3932 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
3933 * doc/html/manual/abi.html: Regenerate.
3935 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
3938 * include/std/format (formatter<const void*, charT>::parse):
3939 Only alow 0 and P for C++26 and non-strict modes.
3940 (formatter<const void*, charT>::format): Use toupper for P
3941 type, and insert zero-fill characters for 0 option.
3942 * testsuite/std/format/functions/format.cc: Check pointer
3943 formatting. Only check P2510R3 extensions conditionally.
3944 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
3945 extensions conditionally.
3947 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
3950 * include/std/array (to_array): Initialize arrays of trivial
3951 types using memcpy. For non-trivial types, use lambda
3952 expressions instead of a separate helper function.
3953 (__to_array): Remove.
3954 * testsuite/23_containers/array/creation/110167.cc: New test.
3956 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
3958 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
3960 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
3962 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
3964 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
3966 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
3968 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
3970 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
3972 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
3974 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
3977 2023-06-07 Jakub Jelinek <jakub@redhat.com>
3980 * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
3981 (double_to_chars_test_cases,
3982 double_scientific_precision_to_chars_test_cases_2,
3983 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
3984 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
3985 Add unconditional tests with corresponding double constants
3986 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
3987 0x1.7440bbff418b9p-18.
3989 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
3991 * testsuite/util/testsuite_abi.cc (check_version): Re-add
3994 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
3996 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
3997 Require effective target exceptions_enabled instead of using
3999 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
4000 shrink_to_fit() to be a no-op without exceptions enabled.
4001 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
4003 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
4004 Require effective target exceptions_enabled.
4005 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
4007 * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
4009 * testsuite/ext/new_allocator/check_allocate_max_size.cc:
4011 * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
4013 * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
4016 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4018 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
4019 affected by rounding.
4020 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
4021 double before comparing for equality.
4022 * testsuite/20_util/from_chars/6.cc: Likewise.
4023 * testsuite/20_util/variant/86874.cc: Use values that aren't
4024 affected by rounding.
4025 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
4026 original value instead of to floating-point-literal.
4027 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
4028 Cast arithmetic result to double before comparing for equality.
4029 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
4031 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
4033 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
4034 the absolute difference is less than 0.01 instead of comparing
4035 to two decimal places.
4036 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
4037 Cast arithmetic result to double before comparing for equality.
4038 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
4040 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4042 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
4044 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
4046 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
4048 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4050 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4053 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4055 * configure.ac: Use AS_IF.
4056 * configure: Regenerate.
4058 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
4060 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
4061 'UNSUPPORTED: [...]: exception handling disabled'.
4063 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4065 * testsuite/util/testsuite_abi.cc (check_version): Add
4066 CXXABI_1.3.15 symver and make it the latestp. Remove
4067 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
4069 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4070 Jakub Jelinek <jakub@redhat.com>
4073 * include/std/limits: (numeric_limits<__float128>): Define
4074 for __STRICT_ANSI__ as well.
4075 * testsuite/18_support/numeric_limits/128bit.cc: Remove
4076 check for __STRICT_ANSI__.
4078 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4080 * configure.ac: Use AS_IF.
4081 * configure: Regenerate.
4083 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4086 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
4087 to avoid casts to other vector types. Implement store as
4088 succession of power-of-2 sized memcpy to avoid PR90424.
4090 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4093 * include/experimental/bits/simd_builtin.h (_S_masked_store):
4094 Call into deduced ABI's SimdImpl after conversion.
4095 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
4096 Don't use _mm_maskmoveu_si128. Use the generic fall-back
4097 implementation. Also fix masked stores without SSE2, which
4098 were not doing anything before.
4100 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4102 * include/experimental/bits/simd.h (__bit_cast): Use
4103 __gnu__::__vector_size__ instead of gnu::vector_size.
4105 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4108 * include/std/array (__array_traits<T, 0>::operator T*()): Make
4109 conversion operator explicit.
4110 (array::front): Use size_type as subscript operand.
4111 (array::data): Use static_cast to make conversion explicit.
4112 * testsuite/23_containers/array/element_access/110139.cc: New
4115 2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
4117 * include/bits/locale_classes.tcc: Remove check for
4118 codecvt<char8_t, char, mbstate_t> facet.
4120 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4122 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
4123 close-on-exec flag on file descriptors.
4125 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4128 * src/filesystem/ops-common.h (do_copy_file): Check for empty
4129 files by trying to read a character.
4130 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
4133 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
4135 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
4136 * config.h.in: Regenerate.
4137 * configure: Regenerate.
4138 * src/filesystem/ops-common.h (copy_file_copy_file_range):
4139 Define new function.
4140 (do_copy_file): Use it.
4142 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
4144 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
4145 * config.h.in: Regenerate.
4146 * configure: Regenerate.
4147 * src/filesystem/ops-common.h (copy_file_sendfile): Define new
4148 function for sendfile logic. Loop to support large files. Skip
4150 (do_copy_file): Use it.
4152 2023-06-04 Jason Merrill <jason@redhat.com>
4155 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
4156 * config/abi/pre/gnu.ver: Add it.
4158 2023-06-02 François Dumont <fdumont@gcc.gnu.org>
4160 * include/parallel/algobase.h: Include <parallel/search.h>.
4162 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4164 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4165 Add const to equality operator.
4167 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4169 * include/std/expected (expected::and_then, expected::or_else)
4170 (expected::transform_error): Use _M_val and _M_unex instead of
4171 calling value() and error(), as per LWG 3938.
4172 (expected::transform): Likewise. Remove incorrect std::move
4173 calls from lvalue overloads.
4174 (expected<void, E>::and_then, expected<void, E>::or_else)
4175 (expected<void, E>::transform): Use _M_unex instead of calling
4177 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
4178 and transform, and for std::expected<void, E>.
4179 * testsuite/20_util/expected/lwg3938.cc: New test.
4181 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4184 * include/bits/stl_vector.h (_Vector_base::_M_invariant):
4186 (vector::size, vector::capacity): Remove calls to _M_invariant.
4187 * include/bits/vector.tcc (vector::_M_fill_assign): Add
4188 optimization hint to reallocating path.
4189 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
4191 * testsuite/23_containers/vector/capacity/invariant.cc: Moved
4193 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
4194 ...here. Check assign(FwdIter, FwdIter) too.
4195 * testsuite/23_containers/vector/types/1.cc: Revert addition
4196 of -Wno-stringop-overread option.
4198 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4200 * doc/xml/manual/evolution.xml: Document removal of implicit
4201 allocator rebinding extensions in strict mode and for C++20.
4202 * doc/html/*: Regenerate.
4204 2023-06-01 Jason Merrill <jason@redhat.com>
4206 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
4207 handlers in the cleanup phase.
4209 2023-06-01 Matthias Kretz <m.kretz@gsi.de>
4212 * include/experimental/bits/simd.h (__vectorized_sizeof): With
4213 __have_neon_a32 only single-precision float works (in addition
4216 2023-06-01 François Dumont <fdumont@gcc.gnu.org>
4218 * include/bits/stl_algo.h
4219 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
4220 * include/bits/stl_algobase.h: ...here.
4221 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
4222 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
4223 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
4225 * include/parallel/algobase.h: ...here.
4226 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
4227 includes. Include <bits/stl_algobase.h>.
4229 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4232 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
4233 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
4234 * config.h.in: Regenerate.
4235 * configure: Regenerate.
4236 * include/c_global/cmath (float_t, double_t): Guard using new
4237 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
4239 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4241 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
4242 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
4243 for C99 rounding functions to here.
4244 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
4245 functions from here.
4246 * config.h.in: Regenerate.
4247 * configure: Regenerate.
4248 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
4249 of _GLIBCXX_USE_C99_MATH_TR1.
4250 * include/bits/random.tcc: Likewise.
4251 * include/c_compatibility/math.h: Likewise.
4252 * include/c_global/cmath: Likewise.
4253 * include/ext/random: Likewise.
4254 * include/ext/random.tcc: Likewise.
4255 * include/std/complex: Likewise.
4256 * testsuite/20_util/from_chars/4.cc: Likewise.
4257 * testsuite/20_util/from_chars/8.cc: Likewise.
4258 * testsuite/26_numerics/complex/proj.cc: Likewise.
4259 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
4260 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
4262 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
4264 * testsuite/util/testsuite_random.h: Likewise.
4266 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4268 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
4270 (vector::size(), vector::capacity()): Call _M_invariant().
4271 * testsuite/23_containers/vector/capacity/invariant.cc: New test.
4272 * testsuite/23_containers/vector/types/1.cc: Add suppression for
4273 false positive warning (PR110060).
4275 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4278 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
4279 defined before trying to use _Float128.
4281 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4283 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
4284 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
4285 * configure: Regenerate.
4287 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4289 * include/bits/unique_lock.h: Include <bits/error_constants.h>
4290 here for std::errc constants.
4291 * include/std/mutex: Do not include <bits/error_constants.h> and
4294 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4296 * configure.ac: Replace use of -o operator for test.
4297 * configure: Regenerate.
4299 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4301 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
4302 noexcept to all constructors except the default constructor.
4303 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
4304 (scoped_allocator_adaptor::outer_allocator): Likewise.
4305 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
4307 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4310 * include/std/limits (numeric_limits<__float128>): Define.
4311 * testsuite/18_support/numeric_limits/128bit.cc: New test.
4313 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4315 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
4316 msp430 to all 16-bit targets.
4317 * configure: Regenerate.
4319 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4322 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
4323 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
4324 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
4326 (from_chars(const char*, const char*, double&, chars_format)):
4327 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
4328 (from_chars(const char*, const char*, _Float128&, chars_format))
4329 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
4330 defined, otherwise parse a long double and convert to _Float128.
4332 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4335 * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
4336 Add deprecated attribute to non-standard overload.
4337 * doc/xml/manual/evolution.xml: Document deprecation.
4338 * doc/html/*: Regenerate.
4339 * testsuite/27_io/manipulators/standard/char/1.cc: Add
4340 dg-warning for expected deprecated warning.
4341 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
4342 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
4343 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
4345 2023-05-30 Alexandre Oliva <oliva@adacore.com>
4347 * testsuite/20_util/from_chars/4.cc: Skip long double test06
4349 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
4352 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4355 * include/experimental/bits/simd.h (to_native): Use int NTTP
4356 as specified in PTS2.
4357 (to_compatible): Likewise. Add missing tag to call mask
4359 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
4362 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4364 * testsuite/experimental/simd/tests/integer_operators.cc:
4365 Compute expected value differently to avoid getting turned into
4368 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4370 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
4371 double <-> (u)long conversion tests conditional on sizeof(long
4372 double) and sizeof(long).
4374 2023-05-26 Matthias Kretz <m.kretz@gsi.de>
4376 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
4377 Negative __y is UB, so prefer signed compare.
4379 2023-05-25 Jonathan Wakely <jwakely@redhat.com>
4381 * testsuite/util/testsuite_allocator.h (PointerBase): Add
4382 relational operators.
4384 2023-05-25 Alexandre Oliva <oliva@adacore.com>
4386 * testsuite/20_util/to_chars/long_double.cc: Expect execution
4387 fail on x86-vxworks.
4389 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4392 * include/experimental/bits/simd.h (__intrinsic_type): If
4393 __ALTIVEC__ is defined, map gnu::vector_size types to their
4394 corresponding __vector T types without losing unsignedness of
4395 integer types. Also prefer long long over long.
4396 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
4397 object to the expected unsigned vector type.
4399 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4402 * include/experimental/bits/simd.h (__intrinsic_type):
4403 Specialize __intrinsic_type<double, 8> and
4404 __intrinsic_type<double, 16> in any case, but provide the member
4405 type only with __aarch64__.
4407 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4410 * include/experimental/bits/simd_neon.h (_S_reduce): Add
4411 constexpr and make NEON implementation conditional on
4412 not __builtin_is_constant_evaluated.
4414 2023-05-23 Matthias Kretz <m.kretz@gsi.de>
4417 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
4418 Avoid vector builtin subscripting in constant expressions.
4419 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
4420 (const_where_expression, where_expression, where)
4421 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
4422 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
4424 * include/experimental/bits/simd_builtin.h (__vector_permute)
4425 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
4426 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
4427 (_MaskImplBuiltin::_S_store): Add constexpr.
4428 (_CommonImplBuiltin::_S_store_bool_array)
4429 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
4430 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
4431 constant_evaluated case.
4432 * include/experimental/bits/simd_fixed_size.h
4433 (_S_masked_load): Reword comment.
4434 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
4435 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
4436 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
4437 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
4438 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
4440 (_SimdTuple::operator[], _M_set): Add constexpr and add
4441 constant_evaluated case.
4442 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
4443 * include/experimental/bits/simd_scalar.h: Add constexpr.
4444 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
4445 constexpr and add constant_evaluated case.
4446 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
4447 (_S_less_equal): Value-initialize to satisfy constexpr
4449 (_MaskImplX86::_S_load): Add constant_evaluated case.
4450 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
4451 case. Value-initialize local variables.
4452 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
4453 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
4455 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
4458 2023-05-22 Matthias Kretz <m.kretz@gsi.de>
4460 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
4461 __infn into #ifdef'ed block.
4462 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
4463 constants only when used.
4464 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
4465 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
4466 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
4468 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
4469 Move totest and expect1 into #ifdef'ed block.
4471 2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
4473 * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
4474 * doc/html/manual/strings.html: Regenerate.
4476 2023-05-17 Jakub Jelinek <jakub@redhat.com>
4479 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
4481 2023-05-17 Jakub Jelinek <jakub@redhat.com>
4484 * include/c_global/cmath (atan2, fmod, pow): Move
4485 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
4486 __gnu_cxx::__bfloat16_t overloads.
4487 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
4489 (fma): Move __gnu_cxx::__promote_3 using template after
4490 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
4492 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4494 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
4495 checks for float_round_style and float_denorm_style.
4497 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4499 * include/bits/c++config: Add system_header pragma.
4501 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4503 * include/std/expected (expected::and_then, expected::or_else)
4504 (expected::transform, expected::transform_error): Fix exception
4505 specifications as per LWG 3877.
4506 (expected<void, E>::and_then, expected<void, E>::transform):
4508 * testsuite/20_util/expected/lwg3877.cc: New test.
4510 2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
4512 * include/std/type_traits: Use __bool_constant instead of
4515 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4517 * configure: Regenerate.
4519 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4522 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
4523 * config.h.in: Regenerate.
4524 * configure: Regenerate.
4525 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
4526 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
4527 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
4528 instead of hardcoded 64.
4530 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4532 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
4533 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
4534 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
4535 * config.h.in: Regenerate.
4536 * configure: Regenerate.
4537 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
4538 instead of _GLIBCXX_USE_C99_FENV_TR1.
4539 * include/c_global/cfenv: Likewise.
4540 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
4541 of _GLIBCXX_USE_C99_CTYPE_TR1.
4543 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4545 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
4546 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
4547 <inttypes.h> features in C++11 mode and define
4548 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
4549 * config.h.in: Regenerate.
4550 * configure: Regenerate.
4551 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
4552 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
4553 of _GLIBCXX_USE_C99_STDINT_TR1.
4554 * include/c_compatibility/inttypes.h: Check
4555 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
4556 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
4557 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
4558 * include/c_compatibility/stdatomic.h: Check
4559 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
4560 * include/c_compatibility/stdint.h: Likewise.
4561 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
4562 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
4563 _GLIBCXX_USE_C99_INTTYPES_TR1 and
4564 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
4565 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
4566 instead of _GLIBCXX_USE_C99_STDINT_TR1.
4567 * include/std/atomic: Likewise.
4568 * src/c++11/cow-stdexcept.cc: Likewise.
4569 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
4571 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
4574 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4576 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
4577 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
4578 * config.h.in: Regenerate.
4579 * configure: Regenerate.
4580 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
4581 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
4582 instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
4584 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4586 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
4587 assertion to ensure expected exception is throw.
4589 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4591 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
4592 printer for chrono::zoned_time for cx11 ABI and tzdb effective
4595 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4597 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
4598 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
4599 * configure: Regenerate.
4601 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4603 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
4604 to check for nan, nanf, and nanl.
4605 * configure: Regenerate.
4607 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4609 * include/bits/char_traits.h (char_traits<char16_t>): Do not
4610 depend on _GLIBCXX_USE_C99_STDINT_TR1.
4611 (char_traits<char32_t>): Likewise.
4612 * include/experimental/source_location: Likewise.
4614 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4616 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
4617 (atomic_int_least16_t, atomic_uint_least16_t)
4618 (atomic_int_least32_t, atomic_uint_least32_t)
4619 (atomic_int_least64_t, atomic_uint_least64_t)
4620 (atomic_int_fast16_t, atomic_uint_fast16_t)
4621 (atomic_int_fast32_t, atomic_uint_fast32_t)
4622 (atomic_int_fast64_t, atomic_uint_fast64_t)
4623 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
4624 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
4626 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4628 * include/bits/algorithmfwd.h (shuffle): Do not depend on
4629 _GLIBCXX_USE_C99_STDINT_TR1.
4630 * include/bits/ranges_algo.h (shuffle): Likewise.
4631 * include/bits/stl_algo.h (shuffle): Likewise.
4632 * include/ext/random: Likewise.
4633 * include/ext/throw_allocator.h (random_condition): Likewise.
4634 * include/std/random: Likewise.
4635 * src/c++11/cow-string-inst.cc: Likewise.
4636 * src/c++11/random.cc: Likewise.
4638 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4640 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
4641 _GLIBCXX_USE_C99_STDINT_TR1.
4643 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4645 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
4646 on _GLIBCXX_USE_C99_STDINT_TR1.
4648 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4650 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
4651 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
4652 * testsuite/experimental/string_view/typedefs.cc: Likewise.
4654 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4656 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
4657 (auto_locale, auto_ferounding): New class types.
4658 (from_chars_impl): Use auto_locale and auto_ferounding.
4660 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4663 * include/std/chrono (hh_mm_ss::__fits): Remove variable
4665 (hh_mm_ss::__subseconds): Remove __fits from constraints.
4666 * testsuite/std/time/hh_mm_ss/109772.cc: New test.
4667 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
4668 hh_mm_ss<duration<int, std::pico>>.
4670 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4672 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
4673 * include/bits/basic_ios.h: Add static assertion checking
4674 traits_type::value_type.
4675 * include/bits/basic_string.h: Likewise. Do not rebind
4676 allocator, and add static assertion checking its value_type.
4677 (basic_string::_Alloc_traits_impl): Remove class template.
4678 (basic_string::_S_allocate): New static member function.
4679 (basic_string::assign): Use _S_allocate.
4680 * include/bits/basic_string.tcc (basic_string::_M_create)
4681 (basic_string::reserve, basic_string::_M_replace): Likewise.
4682 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
4683 Disable for C++20 and later.
4684 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
4687 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4690 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
4691 and negative zero correctly.
4692 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
4694 2023-05-10 François Dumont <fdumont@gcc.gnu.org>
4696 * include/bits/hashtable_policy.h
4697 (_NodeBuilder<>::_S_build): Use __node_ptr.
4698 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
4699 (_AllocNode<>): Likewise.
4700 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
4701 to call std::is_permutation in the non-unique key implementation.
4702 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
4704 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
4705 (_Hashtable<>::_M_insert_bucket_begin): Likewise.
4706 (_Hashtable<>::_M_remove_bucket_begin): Likewise.
4707 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
4709 (_Hashtable<>::find): Likewise.
4710 (_Hashtable<>::_M_emplace): Likewise.
4711 (_Hashtable<>::_M_insert_unique): Likewise.
4713 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
4715 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
4716 Print floating-point durations correctly.
4717 (StdChronoTimePointPrinter): Support printing only the value,
4718 not the type name. Uncomment handling for known clocks.
4719 (StdChronoZonedTimePrinter): Remove type names from output.
4720 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
4721 (StdChronoTimeZonePrinter): Add equals sign to output.
4722 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
4724 2023-05-05 Alexandre Oliva <oliva@adacore.com>
4726 * testsuite/20_util/from_chars/4.cc: Skip long double test06
4728 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
4731 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
4733 * doc/xml/manual/abi.xml (abi.versioning.history): Document
4734 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
4735 * doc/html/manual/abi.html: Regenerate.
4737 2023-05-04 Florian Weimer <fweimer@redhat.com>
4739 * doc/xml/manual/abi.xml (abi.versioning.history): Add
4740 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
4743 2023-05-03 Jakub Jelinek <jakub@redhat.com>
4745 * src/c++17/floating_from_chars.cc
4746 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
4747 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
4748 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
4749 _ZSt8to_charsPcS_u9__ieee128.
4750 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
4751 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
4752 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
4753 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
4754 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
4756 2023-05-03 Jakub Jelinek <jakub@redhat.com>
4758 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
4759 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
4760 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
4761 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
4762 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
4764 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
4767 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
4768 Jonathan Wakely <jwakely@redhat.com>
4771 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
4772 Initialize _M_string_length.
4774 2023-05-02 Jakub Jelinek <jakub@redhat.com>
4776 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4777 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4778 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4779 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4780 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
4781 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4782 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4783 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4785 2023-05-02 Jakub Jelinek <jakub@redhat.com>
4788 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
4791 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4793 * include/bits/random.h (gamma_distribution): Add to the right
4795 (discrete_distribution, piecewise_constant_distribution)
4796 (piecewise_linear_distribution): Create a new doxygen group and
4797 fix the incomplete doxygen comments.
4798 * include/bits/uniform_int_dist.h (uniform_int_distribution):
4799 Add to doxygen group.
4801 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4803 * include/bits/uses_allocator.h: Add missing @file comment.
4804 * include/bits/regex.tcc: Remove stray doxygen comments.
4805 * include/experimental/memory_resource: Likewise.
4806 * include/std/bit: Tweak doxygen @cond comments.
4807 * include/std/expected: Likewise.
4808 * include/std/numbers: Likewise.
4810 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4812 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
4815 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4817 * include/bits/move.h: Simplify opening/closing namespace std.
4819 2023-04-28 Jakub Jelinek <jakub@redhat.com>
4822 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
4823 _ZSt21ios_base_library_initv.
4824 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
4825 symver and make it the latestp.
4826 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
4827 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
4828 * include/std/iostream: If init_priority attribute is supported
4829 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
4830 symbol into the object.
4831 * configure: Regenerated.
4833 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
4835 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
4836 * include/std/format: Likewise.
4838 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
4840 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
4841 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
4843 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
4845 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
4847 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
4849 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
4851 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
4853 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
4855 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
4856 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
4857 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
4858 (_DEFINE_BINARY_OPERATOR): Likewise.
4860 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
4862 * include/bits/memory_resource.h: Improve doxygen comments.
4863 * include/std/memory_resource: Likewise.
4865 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
4868 * include/bits/basic_string.h: Improve doxygen comments.
4869 * include/bits/cow_string.h: Likewise.
4870 * include/bits/forward_list.h: Likewise.
4871 * include/bits/fs_dir.h: Likewise.
4872 * include/bits/fs_path.h: Likewise.
4873 * include/bits/quoted_string.h: Likewise.
4874 * include/bits/stl_bvector.h: Likewise.
4875 * include/bits/stl_map.h: Likewise.
4876 * include/bits/stl_multimap.h: Likewise.
4877 * include/bits/stl_multiset.h: Likewise.
4878 * include/bits/stl_set.h: Likewise.
4879 * include/bits/stl_vector.h: Likewise.
4880 * include/bits/unordered_map.h: Likewise.
4881 * include/bits/unordered_set.h: Likewise.
4882 * include/std/filesystem: Likewise.
4883 * include/std/iomanip: Likewise.
4885 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
4888 * src/c++11/random.cc (__throw_syserr): New function.
4889 (random_device::_M_init, random_device::_M_init_pretr1): Use new
4890 function for bad tokens.
4891 (random_device::_M_getval): Use new function for read errors.
4892 * testsuite/util/testsuite_random.h (random_device_available):
4893 Change catch handler to use std::system_error.
4895 2023-04-24 Patrick Palka <ppalka@redhat.com>
4897 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
4898 Fix propagation of sign bit.
4899 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
4900 non-standard 'signed typedef-name'. Add some compile-time tests
4901 for right-shifting a negative __max_diff_type value by more than
4904 2023-04-19 Patrick Palka <ppalka@redhat.com>
4905 Jonathan Wakely <jwakely@redhat.com>
4908 * include/bits/utility.h (_Nth_type): Conditionally define in
4909 terms of __type_pack_element if available.
4910 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
4911 additional errors from the new built-in.
4913 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
4916 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
4919 * src/Makefile.am: Move globals_io.cc to here.
4920 * src/Makefile.in: Regenerate.
4921 * src/c++98/Makefile.am: Remove globals_io.cc from here.
4922 * src/c++98/Makefile.in: Regenerate.
4923 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
4924 symbol name and then export with GLIBCXX_3.4.31 symver.
4925 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
4926 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
4928 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
4930 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
4932 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
4934 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
4936 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
4938 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
4940 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
4942 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
4944 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
4947 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
4950 * config/abi/pre/gnu.ver: Fix preprocessor condition.
4952 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
4954 * doc/xml/manual/extensions.xml: Fix example to declare and
4955 qualify std::free, and use NULL instead of 0.
4956 * doc/html/manual/ext_demangling.html: Regenerate.
4957 * libsupc++/cxxabi.h: Adjust doxygen comments.
4959 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
4962 * config/abi/pre/gnu.ver: Fix preprocessor condition.
4964 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
4967 * src/Makefile.am: Move globals_io.cc to here.
4968 * src/Makefile.in: Regenerate.
4969 * src/c++98/Makefile.am: Remove globals_io.cc from here.
4970 * src/c++98/Makefile.in: Regenerate.
4971 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
4972 symbol name and then export with GLIBCXX_3.4.31 symver.
4973 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
4974 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
4976 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
4978 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
4980 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
4982 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
4984 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
4986 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
4988 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
4990 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
4992 2023-04-18 Patrick Palka <ppalka@redhat.com>
4995 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
4997 * include/std/ranges (range_adaptor_closure): Define for C++23.
4998 * include/std/version (__cpp_lib_ranges): Bump value for
5000 * testsuite/std/ranges/version_c++23.cc: Bump expected value
5001 of __cpp_lib_ranges.
5002 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
5004 2023-04-18 Patrick Palka <ppalka@redhat.com>
5006 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
5008 (__cpp_lib_ranges_iota): Likewise.
5009 (__cpp_lib_ranges_find_last): Likewise.
5010 (__cpp_lib_fold): Rename to ...
5011 (__cpp_lib_ranges_fold): ... this.
5012 * include/std/version: As above.
5013 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
5014 renaming __cpp_lib_fold.
5015 * testsuite/std/ranges/version_c++23.cc: Verify values
5016 of the above feature-test macros.
5018 2023-04-18 Patrick Palka <ppalka@redhat.com>
5021 * include/std/ranges (views::_AsConst::operator()): Add
5022 missing const to constant_range test.
5023 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
5024 Improve formatting. Adjust expected type of v2.
5027 2023-04-14 Patrick Palka <ppalka@redhat.com>
5029 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
5030 (const_sentinel_t): Likewise.
5031 (range_const_reference_t): Likewise.
5032 (constant_range): Likewise.
5033 (__cust_access::__possibly_const_range): Likewise, replacing ...
5034 (__cust_access::__as_const): ... this.
5035 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
5036 (__cust_access::_CEnd::operator()): Likewise.
5037 (__cust_access::_CRBegin::operator()): Likewise.
5038 (__cust_access::_CREnd::operator()): Likewise.
5039 (__cust_access::_CData::operator()): Likewise.
5040 * include/bits/ranges_util.h (ranges::__detail::__different_from):
5041 Make it an alias of std::__detail::__different_from.
5042 (view_interface::cbegin): Define for C++23.
5043 (view_interface::cend): Likewise.
5044 * include/bits/stl_iterator.h (__detail::__different_from): Define.
5045 (iter_const_reference_t): Define for C++23.
5046 (__detail::__constant_iterator): Likewise.
5047 (__detail::__is_const_iterator): Likewise.
5048 (__detail::__not_a_const_iterator): Likewise.
5049 (__detail::__iter_const_rvalue_reference_t): Likewise.
5050 (__detail::__basic_const_iter_cat):: Likewise.
5051 (const_iterator): Likewise.
5052 (__detail::__const_sentinel): Likewise.
5053 (const_sentinel): Likewise.
5054 (basic_const_iterator): Likewise.
5055 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
5056 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
5057 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
5059 (make_const_iterator): Define for C++23.
5060 (make_const_sentinel): Likewise.
5061 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
5062 (as_const_view): Likewise.
5063 (enable_borrowed_range<as_const_view>): Likewise.
5064 (views::__detail::__is_ref_view): Likewise.
5065 (views::__detail::__can_is_const_view): Likewise.
5066 (views::_AsConst, views::as_const): Likewise.
5067 * include/std/span (span::const_iterator): Likewise.
5068 (span::const_reverse_iterator): Likewise.
5069 (span::cbegin): Likewise.
5070 (span::cend): Likewise.
5071 (span::crbegin): Likewise.
5072 (span::crend): Likewise.
5073 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
5074 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
5075 behave independently of C++20 vs C++23.
5076 * testsuite/std/ranges/version_c++23.cc: Verify value of
5077 __cpp_lib_ranges_as_const macro.
5078 * testsuite/24_iterators/const_iterator/1.cc: New test.
5079 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
5081 2023-04-14 Patrick Palka <ppalka@redhat.com>
5083 * include/bits/ranges_base.h (__cust_access::__as_const)
5084 (__cust_access::_CBegin, __cust::cbegin)
5085 (__cust_access::_CEnd, __cust::cend)
5086 (__cust_access::_CRBegin, __cust::crbegin)
5087 (__cust_access::_CREnd, __cust::crend)
5088 (__cust_access::_CData, __cust::cdata): Move down definitions to
5089 shortly after the definition of input_range.
5091 2023-04-14 Patrick Palka <ppalka@redhat.com>
5093 * include/bits/ranges_algo.h: Include <optional> for C++23.
5094 (__cpp_lib_fold): Define for C++23.
5095 (in_value_result): Likewise.
5096 (__detail::__flipped): Likewise.
5097 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
5098 (__detail::__indirectly_binary_left_foldable): Likewise.
5099 (___detail:__indirectly_binary_right_foldable): Likewise.
5100 (fold_left_with_iter_result): Likewise.
5101 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
5102 (__fold_left_fn, fold_left): Likewise.
5103 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
5105 (__fold_left_first_fn, fold_left_first): Likewise.
5106 (__fold_right_fn, fold_right): Likewise.
5107 (__fold_right_last_fn, fold_right_last): Likewise.
5108 * include/std/version (__cpp_lib_fold): Likewise.
5109 * testsuite/25_algorithms/fold_left/1.cc: New test.
5110 * testsuite/25_algorithms/fold_right/1.cc: New test.
5112 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
5114 * include/std/format (formatter): Add comment to deleted default
5115 constructor of primary template.
5116 (_Checking_scanner): Add static_assert.
5118 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5120 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
5121 * doc/html/*: Regenerate.
5123 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5125 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
5126 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
5127 namespace to avoid clashing with libc struct.
5128 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
5130 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
5131 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
5132 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
5133 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
5134 * testsuite/experimental/synchronized_value.cc: Require gthreads
5135 and add missing option for pthreads targets.
5137 2023-04-12 Patrick Palka <ppalka@redhat.com>
5139 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
5141 (__detail::__range_with_movable_reference): Likewise.
5142 (enumerate_view): Likewise.
5143 (enumerate_view::_Iterator): Likewise.
5144 (enumerate_view::_Sentinel): Likewise.
5145 (views::__detail::__can_enumerate_view): Likewise.
5146 (views::_Enumerate, views::enumerate): Likewise.
5147 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
5148 * testsuite/std/ranges/version_c++23.cc: Verify value of
5149 __cpp_lib_ranges_enumerate.
5150 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
5152 2023-04-12 Patrick Palka <ppalka@redhat.com>
5154 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
5155 Propagate _M_trailing_empty in the const-converting constructor
5157 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
5159 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
5161 2023-04-12 Patrick Palka <ppalka@redhat.com>
5163 * src/c++17/floating_from_chars.cc: Include <algorithm>,
5164 <iterator>, <limits> and <cstdint>.
5166 2023-04-12 Patrick Palka <ppalka@redhat.com>
5169 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
5170 parameter types of the lambda wrapper passed to adjacent_find.
5171 (chunk_by_view::_M_find_prev): Likewise.
5172 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
5175 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5178 * include/experimental/internet (basic_endpoint::basic_endpoint()):
5179 Ensure that the required union members are active. Only define
5180 as constexpr for C++20 and later.
5181 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
5183 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
5184 check constexpr default constructor for C++20 and later.
5185 * testsuite/experimental/net/internet/endpoint/extensible.cc:
5188 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5190 * src/c++20/tzdata.zi: Import new file from 2023c release.
5192 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5194 * include/precompiled/stdc++.h (C++17): Don't double-include
5195 <charconv>, once with wrong conditions.
5196 * testsuite/18_support/96817.cc: Require hosted.
5197 * testsuite/18_support/bad_exception/59392.cc: Ditto.
5198 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
5199 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
5200 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
5203 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5205 * include/bits/c++config: When __STDC_HOSTED__ is zero,
5206 disable _GLIBCXX_DEBUG and, if it was set, enable
5207 _GLIBCXX_ASSERTIONS.
5208 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
5209 Include <bits/c++config.h> when determining whether debug is
5210 set, in order to inherit the logic from above
5212 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5214 * testsuite/17_intro/versionconflict.cc: New test.
5215 * include/std/version: Allow disabling the system_header pragma
5216 via _GLIBCXX_TESTING_SYSHDR.
5218 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5220 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
5221 Synchronize the definition block with...
5222 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
5223 ... this one here. Also define the 202202L value, rather than
5224 leaving it up to purely unique_ptr.h, so that the value is
5225 synchronized across all headers.
5226 (__gnu_debug::_Safe_iterator_base): Move into new conditional
5228 * include/std/memory (__cpp_lib_atomic_value_initialization):
5229 Define on freestanding under the same conditions as in
5231 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
5232 Also define on freestanding.
5233 (__cpp_lib_to_chars): Ditto.
5234 (__cpp_lib_gcd): Ditto.
5235 (__cpp_lib_gcd_lcm): Ditto.
5236 (__cpp_lib_raw_memory_algorithms): Ditto.
5237 (__cpp_lib_array_constexpr): Ditto.
5238 (__cpp_lib_nonmember_container_access): Ditto.
5239 (__cpp_lib_clamp): Ditto.
5240 (__cpp_lib_constexpr_char_traits): Ditto.
5241 (__cpp_lib_constexpr_string): Ditto.
5242 (__cpp_lib_sample): Ditto.
5243 (__cpp_lib_lcm): Ditto.
5244 (__cpp_lib_constexpr_iterator): Ditto.
5245 (__cpp_lib_constexpr_char_traits): Ditto.
5246 (__cpp_lib_interpolate): Ditto.
5247 (__cpp_lib_constexpr_utility): Ditto.
5248 (__cpp_lib_shift): Ditto.
5249 (__cpp_lib_ranges): Ditto.
5250 (__cpp_lib_move_iterator_concept): Ditto.
5251 (__cpp_lib_constexpr_numeric): Ditto.
5252 (__cpp_lib_constexpr_functional): Ditto.
5253 (__cpp_lib_constexpr_algorithms): Ditto.
5254 (__cpp_lib_constexpr_tuple): Ditto.
5255 (__cpp_lib_constexpr_memory): Ditto.
5257 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
5259 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
5260 timeout factor on hppa*-*-*.
5262 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
5264 * include/bits/regex.h (sub_match::swap): New function.
5265 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
5267 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
5269 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
5271 * doc/html/manual/ext_demangling.html: Regenerate.
5273 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5275 PR tree-optimization/107087
5276 * include/bits/cow_string.h (basic_string::size()): Add
5277 optimizer hint that _S_empty_rep()._M_length is always zero.
5278 (basic_string::length()): Call size().
5280 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5283 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
5284 Add attribute access with access-mode 'none'.
5285 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
5287 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5289 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
5290 Revert change from member function to data member. Fix for
5291 constant evaluation by detecting which union member is active.
5292 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
5295 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5298 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
5299 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
5301 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5303 * include/experimental/internet (ip::make_address): Implement
5305 (ip::address_v4::broadcast()): Avoid undefined shift.
5306 (ip::basic_endpoint): Fix member functions for constexpr.
5307 (ip::basic_endpoint::_M_is_v6): Replace member function with
5308 data member, adjust member functions using it.
5309 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
5311 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
5312 constexpr checks to work in C++14.
5313 * testsuite/experimental/net/internet/address/v4/creation.cc:
5315 * testsuite/experimental/net/internet/endpoint/cons.cc:
5317 * testsuite/experimental/net/internet/network/v4/cons.cc:
5319 * testsuite/experimental/net/internet/network/v4/members.cc:
5321 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
5323 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5325 * include/std/expected (expected::value() &): Use const lvalue
5326 for unex member passed to bad_expected_access constructor, as
5329 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5332 * include/std/expected (expected::transform): Use
5333 std::remove_cv_t instead of std::remove_cvref_t.
5334 (expected::transform_error): Likewise.
5335 (expected<cv void, E>::transform): Likewise.
5336 (expected<cv void, E>::transform_error): Likewise.
5337 * include/std/optional (transform): Use std::remove_cv_t.
5338 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
5340 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5342 * include/std/optional (optional): Adjust static assertion to
5343 reject arrays and functions as well as references.
5344 * testsuite/20_util/optional/requirements_neg.cc: New test.
5346 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5349 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
5350 std::use_facet instead of cached _M_num_get facet.
5351 (istream::operator>>(short&)): Likewise.
5352 (istream::operator>>(int&)): Likewise.
5353 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
5354 std::use_facet instead of cached _M_num_put facet.
5356 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5358 * include/bits/char_traits.h (char_traits::copy): Return without
5359 using memcpy if n==0.
5360 (char_traits::assign): Likewise for memset.
5362 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5365 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
5366 hint for compiler that local strings fit in the local buffer.
5368 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5371 * include/std/chrono (__detail::__get_leap_second_info): Update
5372 expiry date of hardcoded leapseconds list.
5373 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
5375 * src/c++20/tzdata.zi: Import new file from 2023a release.
5376 * testsuite/std/time/time_zone/get_info_local.cc: Only check
5377 transitions for Egypt up to 2014.
5379 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
5381 * include/experimental/bits/simd.h (is_simd_flag_type): New.
5382 (_IsSimdFlagType): New.
5383 (copy_from, copy_to, load ctors): Constrain _Flags using
5386 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
5388 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
5389 _Base::_S_divides if the optimized _S_divides function is hidden
5390 via the preprocessor.
5392 2023-03-27 Jakub Jelinek <jakub@redhat.com>
5394 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
5395 warning if size_t is not unsigned long.
5397 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5399 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
5400 Add overload, as per LWG 3893.
5401 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
5402 Check assignment from nullptr.
5404 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5406 * include/std/format (formatter<const charT[N], charT>): Do not
5407 define partial speclialization, as per LWG 3833.
5408 * testsuite/std/format/formatter/requirements.cc: Check it.
5410 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5412 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
5414 * testsuite/20_util/exchange/constexpr.cc: Check for it.
5416 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5418 * include/std/version (__cpp_lib_format): Define.
5419 * testsuite/std/format/functions/format.cc: Check it.
5421 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5423 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
5424 Pass rvalues to the callback, as now allowed by LWG 3645.
5425 Enforce preconditions on the return value.
5426 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
5429 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5431 * include/std/format: Add a comment noting that the resolution
5432 of LWG 3720 has been applied..
5434 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5436 * include/bits/regex.h (match_results): Add allocator-extended
5437 copy and move constructors, as per LWG 2195.
5438 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
5440 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5442 * include/bits/stream_iterator.h (istream_iterator): Add
5443 constexpr to copy constructor, as per LWG 3600.
5444 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
5445 Check copy construction.
5447 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5449 * include/experimental/bits/simd_x86.h
5450 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
5451 with __RECIPROCAL_MATH__.
5453 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5455 * include/experimental/bits/simd_detail.h: Don't define
5456 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
5457 * include/experimental/bits/simd_x86.h (_S_divides): Remove
5458 check for __clang__.
5460 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5462 * include/experimental/bits/simd_detail.h: Don't declare the
5463 simd API as constexpr with Clang.
5464 * include/experimental/bits/simd_x86.h (__movm): New.
5465 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
5467 (_SimdImplX86::_S_masked_unary): Clang does not implement the
5468 same builtins. Implement the function using __movm, ?:, and -
5469 operators on vector_size types instead.
5471 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5473 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
5474 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
5476 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
5478 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
5481 2023-03-20 Marek Polacek <polacek@redhat.com>
5484 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
5485 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
5486 * testsuite/23_containers/span/explicit.cc: Likewise.
5488 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
5491 * include/std/expected (expected<void>::expected(in_place_t)):
5492 Remove template-head.
5494 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
5497 * testsuite/18_support/coroutines/hash.cc: Use const object
5500 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
5503 * include/std/coroutine (hash<>::operator()): Add const.
5504 * testsuite/18_support/coroutines/hash.cc: New test.
5506 2023-03-14 Patrick Palka <ppalka@redhat.com>
5509 * include/std/ranges (repeat_view): Remove redundant parentheses
5511 (repeat_view::_Iterator): Correct the requires-clause.
5513 2023-03-14 Patrick Palka <ppalka@redhat.com>
5515 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
5517 (__cpp_lib_move_iterator_concept): Define for C++20.
5518 (move_iterator::iterator_concept): Strengthen as per P2520R0.
5519 * include/std/version (__cpp_lib_move_iterator_concept): Define
5521 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
5523 2023-03-14 Patrick Palka <ppalka@redhat.com>
5525 * include/bits/ranges_util.h (view_interface::empty): Add
5526 preferred overloads that use ranges::size when the range is
5527 sized as per LWG 3715.
5528 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
5530 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5532 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
5533 Only define for C++17 and later.
5535 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5537 * src/Makefile.am: Add comment about linker script fragments.
5538 * src/Makefile.in: Regenerate.
5540 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5543 * include/bits/mask_array.h (mask_array): Add assertions to
5544 assignment operators.
5545 * include/std/valarray (valarray::operator[](valarray<bool>)):
5547 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
5548 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
5549 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
5550 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
5551 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
5552 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
5553 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
5554 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
5555 * testsuite/26_numerics/valarray/mask.cc: New test.
5557 2023-03-13 Jakub Jelinek <jakub@redhat.com>
5559 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5560 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
5562 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5564 * doc/Makefile.am: Add comment referring to documentation.
5565 * doc/Makefile.in: Regenerate.
5567 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5569 * doc/html/*: Regenerate.
5571 2023-03-13 Jonny Grant <jg@jguk.org>
5573 * doc/xml/faq.xml: Update copyright year.
5575 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5577 * include/bits/allocator.h: Fix typo in comment.
5579 2023-03-12 Jakub Jelinek <jakub@redhat.com>
5581 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
5582 if it isn't mangled as DF16b but u6__bf16.
5584 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
5586 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
5588 * doc/html/manual/documentation_hacking.html: Regenerate.
5590 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
5593 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
5594 Remove self-recursion in __init__. Add missing _supports.
5595 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
5598 2023-03-09 Patrick Palka <ppalka@redhat.com>
5600 * include/std/ranges
5601 (cartesian_product_view::_Iterator::_Iterator): Remove
5602 constraint on default constructor as per LWG 3849.
5603 (cartesian_product_view::_Iterator::_M_prev): Adjust position
5604 of _Nm > 0 test as per LWG 3820.
5605 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
5606 checking only on sized cartesian products.
5607 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
5609 2023-03-09 Patrick Palka <ppalka@redhat.com>
5612 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
5614 (repeat_view::_M_pred): Likewise.
5615 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
5616 * testsuite/std/ranges/repeat/1.cc (test05): New test.
5618 2023-03-09 Patrick Palka <ppalka@redhat.com>
5621 * include/std/ranges (__detail::__can_single_view): New concept.
5622 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
5623 end of the function declarator.
5624 (__detail::__can_iota_view): New concept.
5625 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
5626 end of the function declarator.
5627 (__detail::__can_istream_view): New concept.
5628 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
5629 end of the function declarator.
5630 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
5631 * testsuite/std/ranges/istream_view.cc (test08): New test.
5632 * testsuite/std/ranges/single_view.cc (test07): New test.
5634 2023-03-09 Patrick Palka <ppalka@redhat.com>
5637 * include/std/ranges (cartesian_product_view::end): When
5638 building the tuple of iterators, avoid calling ranges::begin on
5639 the first range if __empty_tail is false.
5640 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
5642 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
5645 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
5648 2023-03-07 Jakub Jelinek <jakub@redhat.com>
5650 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
5651 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5652 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
5653 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5654 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
5656 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
5659 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
5660 not match symbols in namespace std::__gnu_cxx11_ieee128.
5661 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
5662 std::__gnu_cxx11_ieee128::money_{get,put}.
5664 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
5666 * libsupc++/eh_personality.cc: Fix spelling in comment.
5668 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5670 * testsuite/30_threads/async/async.cc (test04): Initialize
5671 steady_start, renamed from steady_begin, next to slow_start.
5672 Increase tolerance for final wait.
5674 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5676 * testsuite/libstdc++-prettyprinters/80276.cc: Add
5677 std::string to debug info.
5678 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
5680 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5685 * include/bits/std_thread.h (thread::_M_thread_deps): New
5686 static implicitly-inline member function.
5687 (std::thread template ctor): Pass it to _M_start_thread.
5688 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
5689 parameter, force it live on entry.
5691 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5693 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
5694 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
5696 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
5697 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
5700 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
5702 * include/bits/cow_string.h: Fix typo in comment.
5704 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
5706 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
5707 current time zone cannot be determined.
5708 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
5709 HAVE_TZDB macro and test all members unconditionally.
5711 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5714 * include/bits/uses_allocator_args.h
5715 (uses_allocator_construction_args): Implement LWG 3527.
5716 * testsuite/20_util/pair/astuple/get-2.cc: New test.
5717 * testsuite/20_util/scoped_allocator/108952.cc: New test.
5718 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
5720 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5723 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
5724 Add __assign_one static member function.
5725 (__copy_move<true, false, RA>): Likewise.
5726 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
5728 (__copy_move_backward<IsMove, true, RA>): Likewise.
5729 * testsuite/25_algorithms/copy/108846.cc: New test.
5730 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
5731 * testsuite/25_algorithms/copy_n/108846.cc: New test.
5732 * testsuite/25_algorithms/move/108846.cc: New test.
5733 * testsuite/25_algorithms/move_backward/108846.cc: New test.
5735 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5737 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
5740 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
5742 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
5744 * include/bits/basic_string.h (resize_and_overwrite): Add
5747 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5749 * include/experimental/bits/simd.h: Line breaks and indenting
5750 fixed to follow the libstdc++ standard.
5751 * include/experimental/bits/simd_builtin.h: Likewise.
5752 * include/experimental/bits/simd_fixed_size.h: Likewise.
5753 * include/experimental/bits/simd_neon.h: Likewise.
5754 * include/experimental/bits/simd_ppc.h: Likewise.
5755 * include/experimental/bits/simd_scalar.h: Likewise.
5756 * include/experimental/bits/simd_x86.h: Likewise.
5758 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5761 * include/experimental/bits/simd_fixed_size.h
5762 (_SimdImplFixedSize::_S_broadcast): Replace inline with
5763 _GLIBCXX_SIMD_INTRINSIC.
5764 (_SimdImplFixedSize::_S_generate): Likewise.
5765 (_SimdImplFixedSize::_S_load): Likewise.
5766 (_SimdImplFixedSize::_S_masked_load): Likewise.
5767 (_SimdImplFixedSize::_S_store): Likewise.
5768 (_SimdImplFixedSize::_S_masked_store): Likewise.
5769 (_SimdImplFixedSize::_S_min): Likewise.
5770 (_SimdImplFixedSize::_S_max): Likewise.
5771 (_SimdImplFixedSize::_S_complement): Likewise.
5772 (_SimdImplFixedSize::_S_unary_minus): Likewise.
5773 (_SimdImplFixedSize::_S_plus): Likewise.
5774 (_SimdImplFixedSize::_S_minus): Likewise.
5775 (_SimdImplFixedSize::_S_multiplies): Likewise.
5776 (_SimdImplFixedSize::_S_divides): Likewise.
5777 (_SimdImplFixedSize::_S_modulus): Likewise.
5778 (_SimdImplFixedSize::_S_bit_and): Likewise.
5779 (_SimdImplFixedSize::_S_bit_or): Likewise.
5780 (_SimdImplFixedSize::_S_bit_xor): Likewise.
5781 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
5782 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
5783 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
5784 explicit about not always-inline, yet).
5785 (_SimdImplFixedSize::_S_isinf): Likewise.
5786 (_SimdImplFixedSize::_S_isfinite): Likewise.
5787 (_SimdImplFixedSize::_S_isnan): Likewise.
5788 (_SimdImplFixedSize::_S_isnormal): Likewise.
5789 (_SimdImplFixedSize::_S_signbit): Likewise.
5791 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5794 * include/experimental/bits/simd_builtin.h
5795 (_SimdImplBuiltin::_S_masked_unary): More efficient
5796 implementation of masked inc-/decrement for integers and floats
5798 * include/experimental/bits/simd_x86.h
5799 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
5800 builtins for masked inc-/decrement.
5802 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5804 * include/experimental/executor (executor): Constrain template
5807 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5809 * include/experimental/internet (basic_endpoint): Add missing
5810 constexpr to comparison operators.
5811 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
5813 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5815 * include/experimental/internet (network_v4::netmask()): Avoid
5817 (network_v4::broadcast()): Optimize and fix for targets with
5818 uint_least32_t wider than 32 bits.
5819 (network_v4::to_string(const Allocator&)): Fix for custom
5820 allocators and optimize using to_chars.
5821 (operator==(const network_v4&, const network_v4&)): Add missing
5823 (operator==(const network_v6&, const network_v6&)): Likewise.
5824 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
5825 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
5827 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5829 * include/experimental/internet (address_4(const bytes_type&)):
5830 Use __builtin_bit_cast if available, otherwise convert to
5832 (address_v4::to_bytes()): Likewise, but convert from network
5834 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
5835 incorrect tests. Check for constexpr too.
5836 * testsuite/experimental/net/internet/address/v4/creation.cc:
5838 * testsuite/experimental/net/internet/address/v4/members.cc:
5839 Check that bytes_type is a standard-layout type.
5841 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5843 * include/experimental/internet (address_v4::to_string):
5845 * testsuite/experimental/net/internet/address/v4/members.cc:
5846 Check more addresses.
5848 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5850 * include/ext/aligned_buffer.h (__aligned_buffer): Add
5853 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5855 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
5858 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
5860 * testsuite/experimental/simd/tests/reductions.cc: Introduce
5861 max_distance as the type-dependent max error.
5863 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
5865 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
5866 int. The actual range of these indexes is very small.
5868 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
5870 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
5871 (_S_bit_shift_right): Declare constexpr. The implementation was
5872 already expecting constexpr evaluation.
5874 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
5877 * include/experimental/bits/simd_detail.h
5878 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
5881 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
5884 * include/experimental/bits/simd.h (__vector_broadcast):
5885 Implement via __vector_broadcast_impl instead of
5886 __call_with_n_evaluations + 2 lambdas.
5887 (__vector_broadcast_impl): New.
5889 2023-02-22 Alexandre Oliva <oliva@adacore.com>
5891 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
5892 Avoid destruction of the mutex pool.
5894 2023-02-22 Alexandre Oliva <oliva@adacore.com>
5896 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
5898 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
5901 2023-02-22 Alexandre Oliva <oliva@adacore.com>
5903 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
5906 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
5908 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
5910 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
5912 * include/experimental/bits/simd.h (__extract_part, split):
5913 Use reserved name for template parameter.
5915 2023-02-20 Andreas Schwab <schwab@suse.de>
5917 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
5919 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
5921 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
5922 * doc/html/faq.html: Regenerate.
5924 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
5926 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
5927 between scalars requires the __bit_cast helper function instead
5930 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
5932 * include/experimental/bits/simd_x86.h
5933 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
5934 (_SimdImplX86::_S_less_equal): Do not call
5935 __builtin_is_constant_evaluated in constexpr-if.
5937 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
5939 * testsuite/experimental/simd/tests/bits/verify.h
5940 (verify::verify): Use %zx for size_t in format string.
5942 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
5944 * testsuite/experimental/simd/generate_makefile.sh: Generate and
5945 pre-compile pch.h, which includes all headers that do not depend
5946 on command-line macros.
5947 * testsuite/experimental/simd/tests/bits/main.h: New file.
5948 (iterate_abis, main): Moved from verify.h.
5949 * testsuite/experimental/simd/tests/bits/verify.h
5950 (iterate_abis, main): Moved to main.h.
5951 * testsuite/experimental/simd/tests/bits/conversions.h: Add
5953 (genHalfBits): Simplify.
5954 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
5956 (make_alternating_mask): Moved from mask_loadstore.
5957 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
5959 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
5960 * testsuite/experimental/simd/tests/mask_loadstore.cc
5961 (make_mask, make_alternating_mask): Removed.
5962 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
5963 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
5965 * testsuite/experimental/simd/tests/abs.cc: Only include
5968 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
5969 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
5970 * testsuite/experimental/simd/tests/casts.cc: Ditto.
5971 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
5972 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
5973 * testsuite/experimental/simd/tests/generator.cc: Ditto.
5974 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
5975 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
5976 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
5977 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
5978 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
5979 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
5980 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
5981 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
5982 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
5983 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
5984 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
5985 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
5986 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
5987 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
5988 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
5989 * testsuite/experimental/simd/tests/simd.cc: Ditto.
5990 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
5991 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
5992 * testsuite/experimental/simd/tests/splits.cc: Ditto.
5993 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
5994 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
5995 * testsuite/experimental/simd/tests/where.cc: Ditto.
5997 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
5999 * testsuite/experimental/simd/README.md: Document the timeout
6000 and timeout-factor directives. Minor typo fixed.
6002 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6005 * include/experimental/bits/simd_detail.h: Define
6006 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6007 * include/experimental/bits/simd.h: Annotate lambdas with
6008 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6009 * include/experimental/bits/simd_builtin.h: Ditto.
6010 * include/experimental/bits/simd_converter.h: Ditto.
6011 * include/experimental/bits/simd_fixed_size.h: Ditto.
6012 * include/experimental/bits/simd_math.h: Ditto.
6013 * include/experimental/bits/simd_neon.h: Ditto.
6014 * include/experimental/bits/simd_x86.h: Ditto.
6016 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6018 * include/experimental/bits/simd.h
6019 (_SimdWrapper::_M_is_constprop_none_of)
6020 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
6021 computed result still satisfies __builtin_constant_p.
6023 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6025 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
6028 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6030 * include/Makefile.am: Add new header.
6031 * include/Makefile.in: Regenerate.
6032 * include/experimental/synchronized_value: New file.
6033 * testsuite/experimental/synchronized_value.cc: New test.
6035 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6037 * include/experimental/optional: Fix header name in comment.
6039 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6041 * include/std/format (__format::_Arg_store): New class template.
6042 (basic_format_args): Remove nested type _Store and add deduction
6043 guide from _Arg_store.
6044 (basic_format_arg, make_format_args): Adjust.
6045 * testsuite/std/format/arguments/lwg3810.cc: New test.
6047 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6049 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
6050 constraints to constructors and add deleted overloads for the
6051 dangling cases, as per P2255R2.
6052 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
6053 make dangling cases ill-formed.
6054 * testsuite/20_util/pair/dangling_ref.cc: New test.
6056 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6058 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
6060 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6062 * include/ext/throw_allocator.h: Use reserved names for
6065 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6067 * testsuite/17_intro/names_pstl.cc: Add space after effective
6070 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6072 * include/pstl/algorithm_fwd.h (__pattern_search_n)
6073 (__brick_unique_copy, __brick_adjacent_find)
6074 (__brick_generate_n, __pattern_generate_n): Use reserved names
6076 * include/pstl/algorithm_impl.h (__brick_unique_copy)
6077 (__pattern_reverse, __brick_generate_n): Likewise.
6078 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
6079 (__prefer_parallel_tag): Likewise.
6080 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
6081 * include/pstl/glue_numeric_defs.h (adjacent_difference):
6083 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
6085 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
6086 * include/pstl/unseq_backend_simd.h (_Combiner)
6087 (__simd_min_element, __simd_minmax_element): Likewise.
6088 * testsuite/17_intro/names_pstl.cc: New test.
6090 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6092 * include/bits/fs_ops.h (create_directory): Use reserved name
6094 * include/bits/ranges_algo.h (__contains_subrange_fn):
6096 * include/bits/regex_automaton.h (_State_base::_M_print):
6098 * include/bits/regex_automaton.tcc(_State_base::_M_print):
6100 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
6101 * include/experimental/bits/fs_ops.h (create_directory):
6103 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
6104 (recursive_timed_mutex:_M_clocklock): Likewise.
6105 * include/std/tuple (basic_common_reference): Likewise.
6106 * libsupc++/cxxabi_init_exception.h
6107 (__cxa_init_primary_exception): Likewise.
6108 * testsuite/17_intro/names.cc: Add checks.
6110 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
6112 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
6113 to www.open-std.org and https.
6114 * doc/html/manual/status.html: Regenerate.
6116 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
6119 * include/std/atomic (atomic_flag_wait): Add.
6120 (atomic_flag_wait_explicit): Add.
6121 (atomic_flag_notify): Add.
6122 (atomic_flag_notify_explicit): Add.
6123 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
6124 Add test case to cover missing atomic_flag free functions.
6126 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
6129 * include/std/atomic (atomic_flag_test): Add.
6130 (atomic_flag_test_explicit): Add.
6131 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
6132 test case to cover missing atomic_flag free functions.
6133 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
6136 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
6138 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
6139 "The Component Object Model" reference.
6140 * doc/html/manual/policy_data_structures.html: Regenerate.
6142 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6144 * doc/xml/manual/containers.xml: Tweak a link to N1780
6146 * doc/html/manual/associative.html: Regenerate.
6148 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6150 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
6151 * doc/html/manual/facets.html: Regenerate.
6153 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
6155 * doc/xml/manual/policy_data_structures_biblio.xml: Update
6156 link to "Worst-case efficient priority queues".
6157 * doc/html/manual/policy_data_structures.html: Regenerate.
6159 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
6161 * doc/xml/manual/using.xml: Document newly-freestanding
6162 headers and the effect of the -ffreestanding flag.
6163 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
6165 * doc/xml/manual/configure.xml: Document that hosted installs
6166 respect __STDC_HOSTED__.
6167 * doc/xml/manual/test.xml: Document how to run tests in
6169 * doc/html/*: Regenerate.
6171 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6173 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
6174 (__find_last_if_fn): Likewise.
6176 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6178 * include/std/type_traits: Add diagnostic pragmas around
6179 references to deprecated std::aligned_storage and
6180 std::aligned_union traits.
6181 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
6182 Add dg-warning for et c++23.
6183 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
6185 * testsuite/20_util/aligned_storage/value.cc: Likewise.
6186 * testsuite/20_util/aligned_union/1.cc: Likewise.
6187 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
6190 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
6192 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
6193 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
6194 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
6195 * include/std/type_traits (aligned_storage, aligned_union)
6196 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
6197 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
6198 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
6200 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
6202 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
6203 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
6204 consistent with other 'deprecated' macros.
6205 * include/std/type_traits (is_pod, is_pod_v): Use
6206 _GLIBCXX20_DEPRECATED_SUGGEST instead.
6208 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
6210 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
6211 * Makefile.in: Regenerate.
6212 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
6213 There's no history to be compatible with.
6214 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
6215 source files from the build.
6216 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6217 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6218 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6219 * src/Makefile.in: Regenerate.
6220 * src/c++11/Makefile.in: Regenerate.
6221 * src/c++17/Makefile.in: Regenerate.
6222 * src/c++20/Makefile.in: Regenerate.
6223 * src/c++98/Makefile.in: Regenerate.
6225 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6227 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
6228 filesystem, libbacktrace and experimental.
6229 * src/Makefile.in: Regenerate.
6231 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
6234 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
6237 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
6239 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
6240 * doc/html/manual/documentation_hacking.html: Regenerate.
6242 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
6244 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
6245 storage to the move-from instance when allocators are equal.
6246 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
6249 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
6251 * config/os/gnu-linux/os_defines.h [!__linux__]
6252 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
6254 2023-02-03 Patrick Palka <ppalka@redhat.com>
6256 * include/bits/ranges_algo.h (__find_last_fn, find_last):
6258 (__find_last_if_fn, find_last_if): Define.
6259 (__find_last_if_not_fn, find_last_if_not): Define.
6260 * testsuite/25_algorithms/find_last/1.cc: New test.
6261 * testsuite/25_algorithms/find_last_if/1.cc: New test.
6262 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
6264 2023-02-03 Patrick Palka <ppalka@redhat.com>
6266 * include/bits/ranges_algo.h (out_value_result): Define.
6267 (iota_result): Define.
6268 (__iota_fn, iota): Define.
6269 * testsuite/25_algorithms/iota/1.cc: New test.
6271 2023-02-03 Patrick Palka <ppalka@redhat.com>
6273 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
6274 (__contains_subrange_fn, contains_subrange): Define.
6275 * testsuite/25_algorithms/contains/1.cc: New test.
6276 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
6278 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6280 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
6281 * doc/html/manual/abi.html: Regenerate.
6283 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6285 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
6286 errc::function_not_supported instead of errc::not_supported.
6288 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6290 * include/std/sstream (basic_stringbuf::view): Define for old
6292 (basic_istringstream::view, basic_0stringstream::view)
6293 (basic_stringstream::view): Likewise.
6294 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
6295 { dg-require-effective-target cxx11_abi }.
6296 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
6298 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
6299 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
6301 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
6302 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
6303 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
6304 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
6307 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6310 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
6311 conversion operators for directory iterator comparisons with
6312 std::default_sentinel_t.
6313 * include/bits/fs_path.h (path::path(string_view, _Type))
6314 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
6316 * src/c++17/fs_path.cc: ... here.
6317 * testsuite/27_io/filesystem/path/108636.cc: New test.
6319 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6321 * include/std/variant (variant::operator=): Implement resolution
6323 * testsuite/20_util/variant/lwg3585.cc: New test.
6325 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6327 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
6329 * doc/html/manual/using_exceptions.html: Regenerate.
6331 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6333 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
6334 * doc/html/manual/debug.html: Regenerate.
6336 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6338 * src/c++11/random.cc (random_device::_M_fini): Do not try to
6339 close the file handle if the target doesn't support the
6340 /dev/random and /dev/urandom files.
6342 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6344 * config/os/generic/error_constants.h (errc::value_too_large)
6346 * src/c++11/system_error.cc
6347 (system_category::default_error_condition) [__AVR__]: Only match
6348 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
6349 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
6350 for ENOENT etc. in switch.
6351 (fs::remove_all) [__AVR__]: Likewise.
6352 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
6355 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6357 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
6359 * configure: Regenerate.
6361 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
6364 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
6365 struct at end of S0.
6367 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
6369 * doc/xml/manual/shared_ptr.xml: Move links from both
6370 http://open-std.org and http://www.open-std.org to
6371 https://www.open-std.org.
6372 * doc/html/manual/memory.html: Regenerate.
6374 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6376 * doc/xml/manual/appendix_contributing.xml: Adjust link to
6377 ISO C++ standard at ANSI.
6378 Move link to www.open-std.org to https.
6379 * doc/html/manual/appendix_contributing.html: Regenerate.
6381 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6383 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
6385 * doc/html/manual/documentation_hacking.html: Regenerate.
6387 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6389 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
6390 * doc/html/manual/abi.html: Regenerate.
6392 2023-01-27 Jakub Jelinek <jakub@redhat.com>
6395 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
6396 include features.h if present and then check __GLIBC__ and
6397 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
6398 __GLIBC_PREREQ which isn't defined yet.
6400 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
6402 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
6405 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
6408 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
6410 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6412 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
6413 rules named "+" for compatibility with older tzdata.zi files.
6415 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6418 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
6420 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
6422 * testsuite/23_containers/map/modifiers/108554.cc: New test.
6424 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6427 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
6428 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
6430 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
6432 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
6434 * doc/html/manual/bugs.html: Regenerate.
6436 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
6439 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
6440 /etc/sysconfig/clock.
6442 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
6445 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
6446 std::make_reverse_iterator.
6447 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
6448 (make_from_tuple): Add static assertion from P2255 to diagnose
6449 dangling references.
6450 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
6451 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
6453 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
6455 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
6456 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
6457 (_Safe_iterator::operator++(int)): Use latter.
6458 (_Safe_iterator::operator--(int)): Likewise.
6459 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
6461 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
6463 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
6464 (_Safe_local_iterator::operator++(int)): Use latter.
6465 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
6466 entry associated to the array entry.
6468 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
6470 * include/bits/fs_path.h (u8path): Add deprecated attribute.
6471 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
6472 -Wno-deprecated-declarations for C++20 and later.
6473 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
6475 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
6476 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
6477 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
6479 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
6481 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
6482 Always call _M_fini and _M_getentropy.
6484 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
6486 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
6487 to www.open-std.org to use https.
6488 (COM: Component Model Object Technologies): Rename from...
6489 (The Component Object Model): ...to.
6490 * doc/html/manual/policy_data_structures.html: Regenerate.
6492 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
6494 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
6495 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
6496 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
6498 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
6500 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
6501 of $host. Fix check for file being present during native build.
6502 * configure: Regenerate.
6504 2023-01-17 Martin Liska <mliska@suse.cz>
6506 * src/libbacktrace/Makefile.in: Regenerate.
6508 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
6510 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
6512 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
6515 * include/c_compatibility/stdatomic.h: Change copyright line to
6516 be consistent with other headers contributed under DCO terms.
6517 * include/std/expected: Add full stop to copyright line.
6518 * src/c++20/tzdb.cc: Likewise.
6520 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
6522 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
6524 * doc/xml/manual/status_cxx2017.xml: Ditto.
6525 * doc/xml/manual/status_cxx2020.xml: Ditto.
6526 * doc/xml/manual/status_cxx2023.xml: Ditto.
6527 * doc/html/manual/status.html: Regenerate.
6529 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6531 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
6532 and fail gracefully if defining the weak symbol doesn't work.
6534 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
6537 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
6538 fix to other iterator category.
6539 (_Safe_iterator<>::operator--(int)): Likewise.
6540 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
6542 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
6543 (invalid_local_iterator_post_increment): New.
6544 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
6546 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
6549 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6551 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
6554 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6556 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
6558 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
6560 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
6561 windows.h. Add pecoff as FORMAT_FILE.
6562 * config.h.in: Regenerate.
6563 * configure: Regenerate.
6564 * src/libbacktrace/Makefile.am: Regenerate.
6565 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
6567 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
6569 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
6570 raw __name if __cxa_demangle could not demangle it.
6572 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6575 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
6578 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6580 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
6582 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
6584 * testsuite/std/time/tzdb_list/1.cc: Likewise.
6586 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6588 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
6589 --with-libstdcxx-zoneinfo-dir configure option with
6590 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
6592 * config.h.in: Regenerate.
6593 * configure: Regenerate.
6594 * doc/xml/manual/configure.xml: Document configure option.
6595 * doc/html/manual/configure.html: Regenerate.
6596 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
6597 * src/c++20/Makefile.in: Regenerate.
6598 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
6599 null pointer if no directory is configured.
6600 (zoneinfo_dir): Replace with ...
6601 (zoneinfo_file): New function.
6602 (tzdata_stream): New istream class.
6603 (remote_version, reload_tzdb): Use tzdata_stream.
6604 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
6605 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
6606 tzdata.zi file in default location.
6607 * src/c++20/tzdata.zi: New file.
6609 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6611 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
6612 * testsuite/std/time/month_day/io.cc: New test.
6613 * testsuite/std/time/month_day_last/io.cc: New test.
6614 * testsuite/std/time/month_weekday/io.cc: New test.
6615 * testsuite/std/time/month_weekday_last/io.cc: New test.
6616 * testsuite/std/time/weekday_indexed/io.cc: New test.
6617 * testsuite/std/time/weekday_last/io.cc: New test.
6618 * testsuite/std/time/year_month/io.cc: New test.
6619 * testsuite/std/time/year_month_day_last/io.cc: New test.
6620 * testsuite/std/time/year_month_weekday/io.cc: New test.
6621 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
6623 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
6625 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
6627 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
6630 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6632 * include/bits/std_mutex.h: Include <errno.h>.
6634 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
6636 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
6637 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
6638 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
6639 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
6640 std::make_unique with a freestanding-compatible wrapper around
6642 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
6643 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
6644 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
6646 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
6647 of __cpp_lib_ranges in !HOSTED.
6649 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
6651 * include/Makefile.am: Install bits/char_traits.h,
6653 * include/Makefile.in: Regenerate.
6654 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
6655 mbstate-only bits behind appropriate #ifs.
6656 * include/std/string_view: Gate <iostream> functionality behind
6658 * include/std/version: Enable __cpp_lib_constexpr_string_view
6659 and __cpp_lib_starts_ends_with in !HOSTED.
6660 * include/std/ranges: Re-enable __is_basic_string_view on
6661 freestanding, include <string_view> directly.
6662 * include/precompiled/stdc++.h: Include <string_view> when
6664 * testsuite/20_util/function_objects/searchers.cc: Skip testing
6665 boyer_moore searchers on freestanding
6666 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
6667 <string>-related tests behind __STDC_HOSTED__.
6668 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
6669 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
6670 unused <stdexcept> include.
6671 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
6672 unused <vector> include.
6673 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
6674 Guard <string> related testing behind __STDC_HOSTED__.
6675 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
6676 Guard <stdexcept> related tests behind __STDC_HOSTED__.
6677 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
6679 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
6680 Guard <stdexcept> tests behind __STDC_HOSTED__.
6681 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
6682 Enable test on freestanding, guard <stdexcept> bits behind
6684 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
6685 Guard <stdexcept> bits behind __STDC_HOSTED__.
6686 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
6689 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
6692 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
6693 errors in incomplete multibyte sequences.
6694 (utf16_in): Remove surrogates parameter. Fix conditions for
6696 (utf16_out): Fix condition for returning partial.
6697 (ucs2_in): Do not pass surrogates argument to utf16_in.
6698 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
6699 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
6701 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
6704 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6707 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
6708 __GTHREAD_LEGACY_MUTEX_T if defined.
6710 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6713 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
6714 Export __try_use_facet specializations for facets in namespace
6716 * config/os/gnu-linux/ldbl-ieee128-extra.ver
6717 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
6719 * testsuite/util/testsuite_abi.cc: Add to lists of known and
6722 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6724 * include/bits/std_mutex.h: Remove <system_error> include.
6725 * include/std/condition_variable: Add <bits/error_constants.h>
6727 * include/std/mutex: Likewise.
6728 * include/std/shared_mutex: Likewise.
6730 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6733 * include/experimental/memory_resource
6734 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
6735 (do_allocate, do_deallocate): Check it.
6736 * testsuite/experimental/memory_resource/new_delete_resource.cc:
6737 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
6739 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6741 * doc/xml/manual/abi.xml: Add latest library versions.
6742 * doc/html/manual/abi.html: Regenerate.
6744 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
6747 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
6748 unused _Alloc_node instance.
6750 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6752 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
6753 Define as unsigned long if always lock-free, and unsigned int
6756 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6758 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
6759 __catch macros for exception handling.
6761 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6764 * include/bits/stl_algobase.h (__lg): Replace six overloads with
6765 a single function template for all integer types.
6766 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
6767 arithmetic results back to _Distance.
6769 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6772 * include/std/span (span::span()): Un-simplify constraint to
6773 work for size_t of lesser rank than int.
6775 2023-01-07 LIU Hao <lh_mouse@126.com>
6777 PR middle-end/108300
6778 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
6780 * src/c++11/thread.cc: Likewise.
6781 * src/c++17/fs_ops.cc: Likewise.
6782 * src/filesystem/ops.cc: Likewise.
6784 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6787 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
6789 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6792 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
6793 template and partial specialization for synchronizing access to
6794 time_zone::_Impl::infos.
6795 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
6798 2023-01-06 Patrick Palka <ppalka@redhat.com>
6801 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
6802 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
6803 (__cpp_lib_ranges_chunk): Likewise.
6804 (__cpp_lib_ranges_slide): Likewise.
6805 (__cpp_lib_ranges_chunk_by): Likewise.
6806 (__cpp_lib_ranges_join_with): Likewise.
6807 (__cpp_lib_ranges_repeat): Likewise.
6808 (__cpp_lib_ranges_stride): Likewise.
6809 (__cpp_lib_ranges_cartesian_product): Likewise.
6810 (__cpp_lib_ranges_as_rvalue): Likewise.
6811 * include/std/version: Ditto.
6812 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
6814 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
6815 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
6816 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
6817 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
6818 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
6819 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
6820 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
6821 * testsuite/std/ranges/repeat/1.cc: Likewise.
6822 * testsuite/std/ranges/zip/1.cc: Likewise.
6823 * testsuite/std/ranges/version_c++23.cc: New test.
6825 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6828 * include/std/bitset (operator>>): Use alloca in the right
6829 scope, not in a constructor.
6830 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
6832 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6835 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
6836 Disable visiting floating-point types.
6838 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6841 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
6842 (_Safe_iterator::operator--(int)): Do not hold lock around
6843 construction of return value.
6845 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
6847 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
6848 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
6849 lock release. Revise loop.
6850 (__atomic_add): Likewise.
6852 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
6855 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
6857 (StdChronoTimePointPrinter::to_string): Use it.
6859 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
6862 * include/std/functional (_Bind_front): Add no_unique_address
6863 attribute to data members.
6864 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
6865 size of call wrappers with empty types for targets and bound
6868 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
6871 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
6872 using only last component of the name.
6874 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
6878 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
6879 the latest symbol version.
6880 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
6881 atomic<_Node*> is not always lock free.
6882 (USE_ATOMIC_LIST_HEAD): New macro.
6883 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
6884 definition of weak symbol.
6885 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
6886 (tzdb_list::_Node::_S_list_head): New function for accessing
6887 list head efficiently.
6888 (tzdb_list::_Node::_S_cache_list_head): New function for
6889 updating _S_list_head.
6891 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
6894 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
6895 duration rep is unsigned.
6896 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
6898 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
6901 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
6902 Add __gnu_cxx::zoneinfo_dir_override().
6904 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
6907 * include/std/array (__array_traits<T, 0>::operator T*()): Add
6909 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
6910 std::array<T, 0>::data().
6913 Copyright (C) 2023 Free Software Foundation, Inc.
6915 Copying and distribution of this file, with or without modification,
6916 are permitted in any medium without royalty provided the copyright
6917 notice and this notice are preserved.