]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2023-11-07 François Dumont <fdumont@gcc.gnu.org>
2
3 * include/bits/hashtable_policy.h
4 (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor
5 on construct exception.
6
7 2023-11-07 Richard Biener <rguenther@suse.de>
8
9 PR libstdc++/112351
10 * src/c++98/locale.cc (locale::facet::_S_initialize_once):
11 Check whether _S_c_locale is already initialized.
12 (locale::facet::_S_get_c_locale): Always perform non-threadsafe
13 init when threadsafe init failed.
14
15 2023-11-06 Ian Lance Taylor <iant@golang.org>
16
17 PR libbacktrace/111315
18 PR libbacktrace/112263
19 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
20 grepping link.h for dl_iterate_phdr.
21 * configure: Regenerate.
22
23 2023-11-06 Jonathan Wakely <jwakely@redhat.com>
24
25 * include/std/expected (expected::and_then, expected::or_else):
26 Add string literals to static assertions.
27 * include/std/optional (optional::and_then, optional::or_else):
28 Likewise.
29
30 2023-11-04 Feng Jisen <J1senn@outlook.com>
31
32 * include/bits/utility.h (_Nth_type): Remove redundant partial
33 specialization.
34
35 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
36
37 PR libstdc++/110133
38 * include/std/system_error (system_error::system_error): Group
39 arguments so that concatenation can reuse rvalue's capacity.
40 * src/c++11/system_error.cc (strerror_string): New function.
41 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
42 (generic_error_category::message): Use strerror_string.
43 (system_error_category::message): Likewise.
44
45 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
46
47 * doc/xml/manual/appendix_contributing.xml: Replace example that
48 uses a BADNAME.
49 * doc/html/manual/source_code_style.html: Regenerate.
50
51 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
52
53 PR libstdc++/112314
54 * include/std/string_view (string_view::remove_suffix): Add
55 debug assertion.
56 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
57 New test.
58 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
59 New test.
60
61 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
62
63 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
64 * configure: Regenerate.
65
66 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
67
68 * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently
69 added emul TLS symbols.
70
71 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
72
73 * src/experimental/contract.cc
74 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment.
75 Remove weak attribute.
76
77 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
78
79 * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
80 symbols.
81
82 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
83
84 * src/experimental/contract.cc
85 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
86 without version namespace decoration for gcc.
87
88 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
89
90 PR libstdc++/112089
91 * include/std/shared_mutex (shared_lock::unlock): Change errc
92 constant to operation_not_permitted.
93 * testsuite/30_threads/shared_lock/locking/112089.cc: New test.
94
95 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
96
97 * testsuite/20_util/duration/io.cc: Double timeout using
98 dg-timeout-factor.
99 * testsuite/std/time/day/io.cc: Likewise.
100 * testsuite/std/time/format.cc: Likewise.
101 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
102 * testsuite/std/time/month/io.cc: Likewise.
103 * testsuite/std/time/month_day/io.cc: Likewise.
104 * testsuite/std/time/month_day_last/io.cc: Likewise.
105 * testsuite/std/time/month_weekday/io.cc: Likewise.
106 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
107 * testsuite/std/time/weekday/io.cc: Likewise.
108 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
109 * testsuite/std/time/weekday_last/io.cc: Likewise.
110 * testsuite/std/time/year/io.cc: Likewise.
111 * testsuite/std/time/year_month/io.cc: Likewise.
112 * testsuite/std/time/year_month_day/io.cc: Likewise.
113 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
114 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
115 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
116 * testsuite/std/time/zoned_time/io.cc: Likewise.
117
118 2023-10-25 Jonathan Wakely <jwakely@redhat.com>
119
120 PR libstdc++/111936
121 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
122 compile commands.
123 * src/libbacktrace/Makefile.in: Regenerate.
124
125 2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com>
126
127 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
128 freestanding.
129 * include/Makefile.in: Regenerate.
130
131 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
132
133 * configure: Regenerate.
134 * configure.ac: Handle Darwin rpaths.
135 * src/Makefile.am: Handle Darwin rpaths.
136 * src/Makefile.in: Regenerate.
137
138 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
139
140 * include/bits/basic_string.h (_M_init_local_buf()): New
141 function.
142 (_M_use_local_data()): Use _M_init_local_buf.
143 (basic_string(), basic_string(const Alloc&))
144 (basic_string(basic_string&&))
145 (basic_string(basic_string&&, const Alloc&)): Use
146 _M_init_local_buf instead of _M_use_local_data().
147 * include/bits/basic_string.tcc (swap(basic_string&))
148 (_M_construct(InIter, InIter, input_iterator_tag))
149 (_M_construct(InIter, InIter, forward_iterator_tag))
150 (_M_construct(size_type, CharT), reserve()): Likewise.
151
152 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
153
154 * include/std/ranges (zip_view, adjacent_view): Implement
155 workaround for LLVM-61763.
156
157 2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com>
158
159 * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()
160
161 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
162
163 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
164 indentation.
165
166 2023-10-20 Marek Polacek <polacek@redhat.com>
167
168 PR testsuite/111883
169 * include/std/charconv (from_chars): Add explicit casts.
170
171 2023-10-19 François Dumont <fdumont@gcc.gnu.org>
172
173 * include/bits/hashtable_policy.h
174 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
175 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
176 * include/bits/hashtable.h
177 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
178 (_M_merge_unique<>, _M_merge_multi<>): Use latter.
179 * testsuite/23_containers/unordered_map/modifiers/merge.cc
180 (test04, test05, test06): New test cases.
181
182 2023-10-13 Jakub Jelinek <jakub@redhat.com>
183
184 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
185 Initialize stream to va_arg(ap, FILE*) rather than 0.
186 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
187 Likewise.
188
189 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
190
191 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
192 testsuite/29_atomics/atomic_flag/clear/1.cc,
193 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
194 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
195 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
196 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
197 testsuite/29_atomics/atomic_ref/generic.cc,
198 testsuite/29_atomics/atomic_ref/integral.cc,
199 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
200 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
201
202 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
203
204 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
205 New proc.
206 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
207 Ditto.
208
209 2023-10-05 François Dumont <fdumont@gcc.gnu.org>
210
211 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
212 for _Float{16,32,64,128,32x,64x,128x}.
213
214 2023-10-04 Tom Tromey <tromey@adacore.com>
215
216 * python/libstdcxx/v6/printers.py
217 (StdExpAnyPrinter.__init__): Qualify call to
218 _string_types.
219
220 2023-10-04 Tom Tromey <tromey@adacore.com>
221
222 * python/libstdcxx/v6/printers.py: Assume that
223 _versioned_namespace is non-None.
224 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
225 Assume that _versioned_namespace is non-None.
226
227 2023-10-04 Tom Tromey <tromey@adacore.com>
228
229 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
230 Define.
231
232 2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com>
233
234 PR libstdc++/108976
235 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
236 surrogates in UTF-8.
237 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
238 (ucs4_in): Fix handling of range with odd number of bytes.
239 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
240 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
241 (ucs2_in): Fix handling of range with odd number of bytes.
242 (__codecvt_utf16_base<char16_t>::do_in): Likewise.
243 (__codecvt_utf16_base<char32_t>::do_in): Likewise.
244 (__codecvt_utf16_base<wchar_t>::do_in): Likewise.
245 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
246 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
247 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
248 testing functions for char8_t, add more test cases for errors,
249 add testing functions for codecvt_utf16.
250 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
251 Renames, add tests for codecvt_utf16<whchar_t>.
252 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
253 Fix test.
254 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
255 test.
256
257 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
258
259 * include/bits/basic_string.h: (basic_string(basic_string&&)):
260 Activate _M_local_buf when needed.
261 (basic_string(basic_string&&, const _Alloc&)): Likewise.
262 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
263 * include/std/variant: (__detail::__variant::__construct_n): New.
264 (__detail::__variant::__emplace): Use __construct_n.
265
266 2023-09-28 Tom Tromey <tromey@adacore.com>
267
268 * python/libstdcxx/v6/printers.py (Printer.add_version)
269 (add_one_template_type_printer)
270 (FilteringTypePrinter.add_one_type_printer): Use Python
271 "not in" operator.
272
273 2023-09-28 Tom Tromey <tromey@adacore.com>
274
275 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
276 Remove.
277
278 2023-09-28 Tom Tromey <tromey@adacore.com>
279
280 * python/libstdcxx/v6/printers.py
281 (StdExpOptionalPrinter.__init__, lookup_node_type):
282 Remove unused variables.
283
284 2023-09-28 Tom Tromey <tromey@adacore.com>
285
286 * python/libstdcxx/v6/printers.py: Don't import 'os'.
287 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
288
289 2023-09-28 Tom Tromey <tromey@adacore.com>
290
291 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
292 everywhere. Rename members to start with "_".
293
294 2023-09-28 Tom Tromey <tromey@adacore.com>
295
296 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python
297 stack traces from gdb.
298
299 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
300
301 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
302 new function.
303 (ArrayMethodsMatcher, DequeMethodsMatcher)
304 (ForwardListMethodsMatcher, ListMethodsMatcher)
305 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
306 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
307 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
308 is_specialization_of instead of re.match.
309
310 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
311
312 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
313 strings for regular expressions. Add whitespace around
314 operators.
315 (is_member_of_namespace): Use isinstance to check type.
316 (is_specialization_of): Likewise. Adjust template_name
317 for versioned namespace instead of duplicating the re.match
318 call.
319 (StdExpAnyPrinter._string_types): New static method.
320 (StdExpAnyPrinter.to_string): Use _string_types.
321
322 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
323
324 * python/libstdcxx/v6/printers.py: Format docstrings according
325 to PEP 257.
326 * python/libstdcxx/v6/xmethods.py: Likewise.
327
328 2023-09-28 Tim Song <t.canens.cpp@gmail.com>
329
330 PR libstdc++/111050
331 * include/bits/hashtable_policy.h
332 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
333 Add [[__gnu__::__always_inline__]].
334
335 2023-09-27 Jonathan Wakely <jwakely@redhat.com>
336
337 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
338 Fix incorrect number of replacement fields.
339
340 2023-09-26 Hans-Peter Nilsson <hp@axis.com>
341
342 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
343 dg-require-thread-fence.
344
345 2023-09-25 Patrick Palka <ppalka@redhat.com>
346
347 * include/std/charconv (__detail::__integer_to_chars_result_type):
348 Remove.
349 (__detail::__to_chars_16): Use to_chars_result as return type.
350 (__detail::__to_chars_10): Likewise.
351 (__detail::__to_chars_8): Likewise.
352 (__detail::__to_chars_2): Likewise.
353 (__detail::__to_chars_i): Likewise.
354 (__detail::__integer_from_chars_result_type): Inline the
355 constraint into ...
356 (from_chars): ... here. Use __is_standard_integer in the
357 constraint. Encode constraint as a defaulted non-type template
358 parameter instead of within the return type.
359
360 2023-09-25 John David Anglin <danglin@gcc.gnu.org>
361
362 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
363
364 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
365
366 PR libstdc++/111511
367 PR c++/111512
368 * include/std/array (to_array): Cast memcpy arguments to void*.
369 * testsuite/23_containers/array/creation/111512.cc: New test.
370
371 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
372
373 * include/bits/move.h (forward_list): Define for C++23.
374 * include/bits/version.def (forward_like): Define.
375 * include/bits/version.h: Regenerate.
376 * include/std/utility (__glibcxx_want_forward_like): Define.
377 * testsuite/20_util/forward_like/1.cc: New test.
378 * testsuite/20_util/forward_like/2_neg.cc: New test.
379 * testsuite/20_util/forward_like/version.cc: New test.
380
381 2023-09-19 Marek Polacek <polacek@redhat.com>
382
383 * testsuite/20_util/allocator/105975.cc: Add dg-error.
384
385 2023-09-18 Patrick Palka <ppalka@redhat.com>
386
387 PR c++/63198
388 PR c++/18474
389 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
390 Make data member seed_seq::called mutable.
391 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
392 Likewise.
393 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
394 Likewise.
395 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
396 Likewise.
397 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
398 Likewise.
399 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
400 Likewise.
401 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
402 Likewise.
403
404 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
405
406 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
407 * doc/html/manual/status.html: Regenerate.
408
409 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
410
411 * doc/xml/manual/configure.xml: Use conventional option name.
412 * doc/xml/manual/status_cxx2020.xml: Update.
413 * doc/xml/manual/status_cxx2023.xml: Update.
414 * doc/html/*: Regenerate.
415
416 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
417
418 * doc/xml/manual/intro.xml: Clarify that building libstdc++
419 separately from GCC is not supported.
420 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
421 testing.
422 * doc/html/manual/setup.html: Regenerate.
423
424 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
425
426 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
427 restrict to pthreads targets.
428 * testsuite/30_threads/jthread/3.cc: Likewise.
429 * testsuite/30_threads/semaphore/100806.cc: Likewise.
430 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
431 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
432 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
433
434 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
435
436 * testsuite/18_support/coroutines/95917.cc: Remove dg-options
437 -std=gnu++2a.
438 * testsuite/18_support/coroutines/hash.cc: Likewise.
439 * testsuite/18_support/coroutines/lwg3460.cc: Likewise.
440 * testsuite/18_support/destroying_delete.cc: Likewise.
441 * testsuite/18_support/source_location/1.cc: Likewise.
442 * testsuite/18_support/source_location/consteval.cc: Likewise.
443 * testsuite/18_support/source_location/version.cc: Likewise.
444 * testsuite/19_diagnostics/error_category/operators/three_way.cc:
445 Likewise.
446 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
447 Likewise.
448 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
449 Likewise.
450 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
451 * testsuite/26_numerics/adjacent_difference/lwg2055.cc:
452 Likewise.
453 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
454 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
455 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
456 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
457 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
458 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
459 Likewise.
460 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
461 Likewise.
462 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
463 Likewise.
464 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
465 * testsuite/experimental/filesystem/iterators/106201.cc:
466 Likewise.
467 * testsuite/experimental/scopeguard/exit.cc: Likewise.
468 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
469
470 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
471
472 * testsuite/30_threads/barrier/1.cc: Remove dg-options
473 -std=gnu++20.
474 * testsuite/30_threads/barrier/2.cc: Likewise.
475 * testsuite/30_threads/barrier/arrive.cc: Likewise.
476 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
477 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
478 * testsuite/30_threads/barrier/completion.cc: Likewise.
479 * testsuite/30_threads/condition_variable/members/clock_neg.cc:
480 Likewise.
481 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
482 Likewise.
483 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
484 Likewise.
485 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
486 Likewise.
487 * testsuite/30_threads/future/members/clock_neg.cc: Likewise.
488 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
489 * testsuite/30_threads/headers/thread/types_std_c++20.cc:
490 Likewise.
491 * testsuite/30_threads/jthread/1.cc: Likewise.
492 * testsuite/30_threads/jthread/100612.cc: Likewise.
493 * testsuite/30_threads/jthread/95989.cc: Likewise.
494 * testsuite/30_threads/jthread/jthread.cc: Likewise.
495 * testsuite/30_threads/jthread/version.cc: Likewise.
496 * testsuite/30_threads/latch/1.cc: Likewise.
497 * testsuite/30_threads/latch/2.cc: Likewise.
498 * testsuite/30_threads/latch/3.cc: Likewise.
499 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
500 Likewise.
501 * testsuite/30_threads/semaphore/1.cc: Likewise.
502 * testsuite/30_threads/semaphore/2.cc: Likewise.
503 * testsuite/30_threads/semaphore/least_max_value_neg.cc:
504 Likewise.
505 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
506 * testsuite/30_threads/shared_future/members/clock_neg.cc:
507 Likewise.
508 * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
509 Likewise.
510 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
511 Likewise.
512 * testsuite/30_threads/stop_token/1.cc: Likewise.
513 * testsuite/30_threads/stop_token/2.cc: Likewise.
514 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
515 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
516 Likewise.
517 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
518 Likewise.
519 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
520 Likewise.
521 * testsuite/30_threads/stop_token/stop_callback/invoke.cc:
522 Likewise.
523 * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
524 * testsuite/30_threads/stop_token/stop_source/assign.cc:
525 Likewise.
526 * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
527 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
528 Likewise.
529 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
530 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
531 Likewise.
532 * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
533 Likewise.
534
535 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
536
537 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
538 Remove dg-options -std=gnu++2a.
539 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
540 Likewise.
541 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
542 Likewise.
543 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
544 Likewise.
545 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
546 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
547 Likewise.
548 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
549 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
550 Likewise.
551 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
552 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
553 Likewise.
554 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
555 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
556 Likewise.
557 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
558 Likewise.
559 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
560 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
561 Likewise.
562 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
563 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
564 Likewise.
565 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
566 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
567 Likewise.
568 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
569 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
570 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
571 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
572 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
573 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
574 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
575 * testsuite/27_io/basic_stringstream/cons/char/97719.cc:
576 Likewise.
577 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
578 Likewise.
579 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
580 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
581 Likewise.
582 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
583 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
584 Likewise.
585 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
586 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
587 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
588 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
589 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
590 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
591 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
592 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
593 * testsuite/27_io/basic_syncstream/requirements/types.cc:
594 Likewise.
595 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
596 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
597 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
598 Likewise.
599 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
600 Likewise.
601
602 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
603
604 * testsuite/26_numerics/accumulate/constexpr.cc: Remove
605 dg-options -std=gnu++2a.
606 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
607 * testsuite/26_numerics/adjacent_difference/constexpr.cc:
608 Likewise.
609 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
610 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
611 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
612 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
613 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
614 Likewise.
615 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
616 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
617 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
618 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
619 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
620 * testsuite/26_numerics/bit/header-2.cc: Likewise.
621 * testsuite/26_numerics/bit/header.cc: Likewise.
622 * testsuite/26_numerics/complex/1.cc: Likewise.
623 * testsuite/26_numerics/complex/2.cc: Likewise.
624 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
625 Likewise.
626 * testsuite/26_numerics/complex/operators/more_constexpr.cc:
627 Likewise.
628 * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
629 Likewise.
630 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
631 Likewise.
632 * testsuite/26_numerics/endian/1.cc: Likewise.
633 * testsuite/26_numerics/endian/2.cc: Likewise.
634 * testsuite/26_numerics/endian/3.cc: Likewise.
635 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
636 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
637 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
638 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
639 * testsuite/26_numerics/iota/constexpr.cc: Likewise.
640 * testsuite/26_numerics/lerp/1.cc: Likewise.
641 * testsuite/26_numerics/lerp/constexpr.cc: Likewise.
642 * testsuite/26_numerics/lerp/version.cc: Likewise.
643 * testsuite/26_numerics/midpoint/floating.cc: Likewise.
644 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
645 * testsuite/26_numerics/midpoint/pointer.cc: Likewise.
646 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
647 * testsuite/26_numerics/midpoint/version.cc: Likewise.
648 * testsuite/26_numerics/numbers/1.cc: Likewise.
649 * testsuite/26_numerics/numbers/2.cc: Likewise.
650 * testsuite/26_numerics/numbers/3.cc: Likewise.
651 * testsuite/26_numerics/numbers/float128.cc: Likewise.
652 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
653 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
654 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
655 * testsuite/26_numerics/random/concept.cc: Likewise.
656 * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
657 * testsuite/26_numerics/slice/compare.cc: Likewise.
658 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
659 Likewise.
660 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
661 Likewise.
662 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
663
664 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
665
666 * testsuite/24_iterators/aliases.cc: Remove dg-options
667 -std=gnu++2a.
668 * testsuite/24_iterators/associated_types/incrementable.traits.cc:
669 Likewise.
670 * testsuite/24_iterators/associated_types/iterator.traits.cc:
671 Likewise.
672 * testsuite/24_iterators/associated_types/readable.traits.cc:
673 Likewise.
674 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
675 Likewise.
676 * testsuite/24_iterators/back_insert_iterator/pr93884.cc:
677 Likewise.
678 * testsuite/24_iterators/bidirectional/concept.cc: Likewise.
679 * testsuite/24_iterators/common_iterator/1.cc: Likewise.
680 * testsuite/24_iterators/common_iterator/100823.cc: Likewise.
681 * testsuite/24_iterators/common_iterator/2.cc: Likewise.
682 * testsuite/24_iterators/contiguous/concept.cc: Likewise.
683 * testsuite/24_iterators/contiguous/tag.cc: Likewise.
684 * testsuite/24_iterators/counted_iterator/1.cc: Likewise.
685 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
686 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
687 * testsuite/24_iterators/customization_points/92894.cc:
688 Likewise.
689 * testsuite/24_iterators/customization_points/iter_move.cc:
690 Likewise.
691 * testsuite/24_iterators/customization_points/iter_swap.cc:
692 Likewise.
693 * testsuite/24_iterators/customization_points/lwg3420.cc:
694 Likewise.
695 * testsuite/24_iterators/forward/concept.cc: Likewise.
696 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
697 Likewise.
698 * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
699 Likewise.
700 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
701 Likewise.
702 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
703 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
704 Likewise.
705 * testsuite/24_iterators/indirect_callable/projected.cc:
706 Likewise.
707 * testsuite/24_iterators/input/concept.cc: Likewise.
708 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
709 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
710 Likewise.
711 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
712 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
713 Likewise.
714 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
715 Likewise.
716 * testsuite/24_iterators/move_iterator/cust.cc: Likewise.
717 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
718 * testsuite/24_iterators/move_iterator/input_iterator.cc:
719 Likewise.
720 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
721 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
722 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
723 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
724 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
725 Likewise.
726 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
727 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
728 * testsuite/24_iterators/output/concept.cc: Likewise.
729 * testsuite/24_iterators/random_access/concept.cc: Likewise.
730 * testsuite/24_iterators/range_access/range_access_cpp20.cc:
731 Likewise.
732 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
733 Likewise.
734 * testsuite/24_iterators/range_operations/100768.cc: Likewise.
735 * testsuite/24_iterators/range_operations/advance.cc: Likewise.
736 * testsuite/24_iterators/range_operations/advance_overflow.cc:
737 Likewise.
738 * testsuite/24_iterators/range_operations/distance.cc: Likewise.
739 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
740 * testsuite/24_iterators/range_operations/next.cc: Likewise.
741 * testsuite/24_iterators/range_operations/prev.cc: Likewise.
742 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
743 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
744 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
745 Likewise.
746
747 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
748
749 * testsuite/23_containers/array/comparison_operators/96851.cc:
750 Remove dg-options -std=gnu++2a.
751 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
752 Likewise.
753 * testsuite/23_containers/array/creation/1.cc: Likewise.
754 * testsuite/23_containers/array/creation/110167.cc: Likewise.
755 * testsuite/23_containers/array/creation/2.cc: Likewise.
756 * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
757 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
758 Likewise.
759 * testsuite/23_containers/array/requirements/constexpr_swap.cc:
760 Likewise.
761 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
762 * testsuite/23_containers/deque/erasure.cc: Likewise.
763 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
764 Likewise.
765 * testsuite/23_containers/deque/operators/cmp_c++20.cc:
766 Likewise.
767 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
768 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
769 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
770 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
771 Likewise.
772 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
773 Likewise.
774 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
775 Likewise.
776 * testsuite/23_containers/list/48101-3_neg.cc: Likewise.
777 * testsuite/23_containers/list/cmp_c++20.cc: Likewise.
778 * testsuite/23_containers/list/erasure.cc: Likewise.
779 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
780 Likewise.
781 * testsuite/23_containers/list/operations/remove_cxx20_return.cc:
782 Likewise.
783 * testsuite/23_containers/list/operations/unique_cxx20_return.cc:
784 Likewise.
785 * testsuite/23_containers/map/48101-3_neg.cc: Likewise.
786 * testsuite/23_containers/map/erasure.cc: Likewise.
787 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
788 Likewise.
789 * testsuite/23_containers/map/operations/contains.cc: Likewise.
790 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
791 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
792 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
793 Likewise.
794 * testsuite/23_containers/multimap/operations/contains.cc:
795 Likewise.
796 * testsuite/23_containers/multimap/operators/cmp_c++20.cc:
797 Likewise.
798 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
799 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
800 Likewise.
801 * testsuite/23_containers/multiset/operations/contains.cc:
802 Likewise.
803 * testsuite/23_containers/multiset/operators/cmp_c++20.cc:
804 Likewise.
805 * testsuite/23_containers/priority_queue/92878_92947.cc:
806 Likewise.
807 * testsuite/23_containers/queue/92878_92947.cc: Likewise.
808 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
809 * testsuite/23_containers/set/48101-3_neg.cc: Likewise.
810 * testsuite/23_containers/set/erasure.cc: Likewise.
811 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
812 Likewise.
813 * testsuite/23_containers/set/operations/contains.cc: Likewise.
814 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
815 * testsuite/23_containers/span/1.cc: Likewise.
816 * testsuite/23_containers/span/101411.cc: Likewise.
817 * testsuite/23_containers/span/2.cc: Likewise.
818 * testsuite/23_containers/span/deduction.cc: Likewise.
819 * testsuite/23_containers/span/explicit.cc: Likewise.
820 * testsuite/23_containers/span/layout_compat.cc: Likewise.
821 * testsuite/23_containers/span/lwg3255.cc: Likewise.
822 * testsuite/23_containers/span/nothrow_cons.cc: Likewise.
823 * testsuite/23_containers/span/trivially_copyable.cc: Likewise.
824 * testsuite/23_containers/stack/92878_92947.cc: Likewise.
825 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
826 * testsuite/23_containers/unordered_map/48101-3_neg.cc:
827 Likewise.
828 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
829 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
830 Likewise.
831 * testsuite/23_containers/unordered_map/operations/1.cc:
832 Likewise.
833 * testsuite/23_containers/unordered_map/operations/contains.cc:
834 Likewise.
835 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
836 Likewise.
837 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
838 Likewise.
839 * testsuite/23_containers/unordered_multimap/operations/1.cc:
840 Likewise.
841 * testsuite/23_containers/unordered_multimap/operations/contains.cc:
842 Likewise.
843 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
844 Likewise.
845 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
846 Likewise.
847 * testsuite/23_containers/unordered_multiset/operations/1.cc:
848 Likewise.
849 * testsuite/23_containers/unordered_multiset/operations/contains.cc:
850 Likewise.
851 * testsuite/23_containers/unordered_set/48101-3_neg.cc:
852 Likewise.
853 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
854 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
855 Likewise.
856 * testsuite/23_containers/unordered_set/operations/1.cc:
857 Likewise.
858 * testsuite/23_containers/unordered_set/operations/contains.cc:
859 Likewise.
860 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
861 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
862 Likewise.
863 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
864 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
865 Likewise.
866 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
867 Likewise.
868 * testsuite/23_containers/vector/bool/iterator_c++20.cc:
869 Likewise.
870 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
871 Likewise.
872 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
873 Likewise.
874 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
875 Likewise.
876 * testsuite/23_containers/vector/capacity/constexpr.cc:
877 Likewise.
878 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
879 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
880 * testsuite/23_containers/vector/data_access/constexpr.cc:
881 Likewise.
882 * testsuite/23_containers/vector/element_access/constexpr.cc:
883 Likewise.
884 * testsuite/23_containers/vector/erasure.cc: Likewise.
885 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
886 Likewise.
887 * testsuite/23_containers/vector/modifiers/constexpr.cc:
888 Likewise.
889 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
890 Likewise.
891 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
892 Likewise.
893 * testsuite/23_containers/vector/requirements/version.cc:
894 Likewise.
895
896 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
897
898 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
899 dg-options -std=gnu++20.
900 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
901 Likewise.
902 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
903 Likewise.
904 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
905 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
906 Likewise.
907 * testsuite/21_strings/basic_string/literals/constexpr.cc:
908 Likewise.
909 * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
910 Likewise.
911 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
912 Likewise.
913 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
914 Likewise.
915 * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
916 Likewise.
917 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
918 Likewise.
919 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
920 Likewise.
921 * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
922 Likewise.
923 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
924 Likewise.
925 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
926 Likewise.
927 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
928 Likewise.
929 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
930 Likewise.
931 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
932 Likewise.
933 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
934 Likewise.
935 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
936 Likewise.
937 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
938 Likewise.
939 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
940 Likewise.
941 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
942 Likewise.
943 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
944 Likewise.
945 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
946 Likewise.
947 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
948 Likewise.
949 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
950 Likewise.
951 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
952 Likewise.
953 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
954 Likewise.
955 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
956 Likewise.
957
958 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
959
960 * testsuite/20_util/allocator/105975.cc: Remove dg-options
961 -std=gnu++2a.
962 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
963 * testsuite/20_util/allocator/requirements/constexpr.cc:
964 Likewise.
965 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
966 Likewise.
967 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
968 * testsuite/20_util/allocator_traits/header.cc: Likewise.
969 * testsuite/20_util/allocator_traits/members/92878_92947.cc:
970 Likewise.
971 * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
972 * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
973 * testsuite/20_util/assume_aligned/1.cc: Likewise.
974 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
975 * testsuite/20_util/assume_aligned/3.cc: Likewise.
976 * testsuite/20_util/assume_aligned/97132.cc: Likewise.
977 * testsuite/20_util/bind/constexpr.cc: Likewise.
978 * testsuite/20_util/bitset/operations/96303.cc: Likewise.
979 * testsuite/20_util/common_reference/100894.cc: Likewise.
980 * testsuite/20_util/common_reference/requirements/alias_decl.cc:
981 Likewise.
982 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
983 Likewise.
984 * testsuite/20_util/common_reference/requirements/typedefs.cc:
985 Likewise.
986 * testsuite/20_util/duration/comparison_operators/three_way.cc:
987 Likewise.
988 * testsuite/20_util/exchange/constexpr.cc: Likewise.
989 * testsuite/20_util/exchange/noexcept.cc: Likewise.
990 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
991 * testsuite/20_util/from_chars/compare.cc: Likewise.
992 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
993 * testsuite/20_util/function_objects/bind_front/107784.cc:
994 Likewise.
995 * testsuite/20_util/function_objects/bind_front/111327.cc:
996 Likewise.
997 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
998 * testsuite/20_util/function_objects/bind_front/97101.cc:
999 Likewise.
1000 * testsuite/20_util/function_objects/bind_front/constexpr.cc:
1001 Likewise.
1002 * testsuite/20_util/function_objects/constexpr_searcher.cc:
1003 Likewise.
1004 * testsuite/20_util/function_objects/identity/1.cc: Likewise.
1005 * testsuite/20_util/function_objects/invoke/constexpr.cc:
1006 Likewise.
1007 * testsuite/20_util/function_objects/mem_fn/constexpr.cc:
1008 Likewise.
1009 * testsuite/20_util/function_objects/not_fn/constexpr.cc:
1010 Likewise.
1011 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
1012 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
1013 * testsuite/20_util/integer_comparisons/equal.cc: Likewise.
1014 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
1015 * testsuite/20_util/integer_comparisons/greater.cc: Likewise.
1016 * testsuite/20_util/integer_comparisons/greater_equal.cc:
1017 Likewise.
1018 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
1019 Likewise.
1020 * testsuite/20_util/integer_comparisons/greater_neg.cc:
1021 Likewise.
1022 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
1023 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
1024 Likewise.
1025 * testsuite/20_util/integer_comparisons/less.cc: Likewise.
1026 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
1027 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
1028 Likewise.
1029 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
1030 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
1031 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
1032 Likewise.
1033 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
1034 Likewise.
1035 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
1036 Likewise.
1037 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
1038 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
1039 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
1040 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
1041 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
1042 Likewise.
1043 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
1044 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
1045 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
1046 Likewise.
1047 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
1048 Likewise.
1049 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
1050 Likewise.
1051 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
1052 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
1053 * testsuite/20_util/is_pointer_interconvertible/value.cc:
1054 Likewise.
1055 * testsuite/20_util/is_pointer_interconvertible/version.cc:
1056 Likewise.
1057 * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
1058 Likewise.
1059 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
1060 Likewise.
1061 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
1062 Likewise.
1063 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
1064 * testsuite/20_util/optional/assignment/92878_92947.cc:
1065 Likewise.
1066 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
1067 * testsuite/20_util/optional/constexpr/assign.cc: Likewise.
1068 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
1069 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
1070 * testsuite/20_util/optional/constexpr/swap.cc: Likewise.
1071 * testsuite/20_util/optional/relops/96269.cc: Likewise.
1072 * testsuite/20_util/optional/relops/three_way.cc: Likewise.
1073 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
1074 Likewise.
1075 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
1076 * testsuite/20_util/pair/constexpr_assign.cc: Likewise.
1077 * testsuite/20_util/pair/constexpr_swap.cc: Likewise.
1078 * testsuite/20_util/pair/requirements/structural.cc: Likewise.
1079 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
1080 Likewise.
1081 * testsuite/20_util/polymorphic_allocator/allocate_object.cc:
1082 Likewise.
1083 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
1084 Likewise.
1085 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
1086 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
1087 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
1088 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
1089 Likewise.
1090 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
1091 Likewise.
1092 * testsuite/20_util/remove_cvref/value.cc: Likewise.
1093 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
1094 Likewise.
1095 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
1096 Likewise.
1097 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
1098 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
1099 Likewise.
1100 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
1101 * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
1102 Likewise.
1103 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
1104 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
1105 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
1106 * testsuite/20_util/time_point/4.cc: Likewise.
1107 * testsuite/20_util/time_point/comparison_operators/three_way.cc:
1108 Likewise.
1109 * testsuite/20_util/to_address/1.cc: Likewise.
1110 * testsuite/20_util/to_address/1_neg.cc: Likewise.
1111 * testsuite/20_util/to_address/debug.cc: Likewise.
1112 * testsuite/20_util/to_address/lwg3545.cc: Likewise.
1113 * testsuite/20_util/to_chars/compare.cc: Likewise.
1114 * testsuite/20_util/tuple/comparison_operators/three_way.cc:
1115 Likewise.
1116 * testsuite/20_util/tuple/cons/102270.cc: Likewise.
1117 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
1118 Likewise.
1119 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
1120 * testsuite/20_util/type_identity/requirements/alias_decl.cc:
1121 Likewise.
1122 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
1123 Likewise.
1124 * testsuite/20_util/type_identity/requirements/typedefs.cc:
1125 Likewise.
1126 * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
1127 Likewise.
1128 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
1129 Likewise.
1130 * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
1131 Likewise.
1132 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
1133 Likewise.
1134 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
1135 Likewise.
1136 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
1137 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
1138 * testsuite/20_util/unwrap_reference/2.cc: Likewise.
1139 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
1140 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
1141 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
1142 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
1143 * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
1144 Likewise.
1145 * testsuite/20_util/variant/92878_92947.cc: Likewise.
1146 * testsuite/20_util/variant/95915.cc: Likewise.
1147 * testsuite/20_util/variant/constexpr.cc: Likewise.
1148 * testsuite/20_util/variant/relops/three_way.cc: Likewise.
1149 * testsuite/20_util/variant/visit_neg.cc: Likewise.
1150 * testsuite/20_util/variant/visit_r.cc: Likewise.
1151 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
1152
1153 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1154
1155 * testsuite/18_support/comparisons/algorithms/fallback.cc:
1156 Remove dg-options -std=gnu++2a.
1157 * testsuite/18_support/comparisons/algorithms/partial_order.cc:
1158 Likewise.
1159 * testsuite/18_support/comparisons/algorithms/strong_order.cc:
1160 Likewise.
1161 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
1162 Likewise.
1163 * testsuite/18_support/comparisons/algorithms/weak_order.cc:
1164 Likewise.
1165 * testsuite/18_support/comparisons/categories/94565.cc:
1166 Likewise.
1167 * testsuite/18_support/comparisons/categories/partialord.cc:
1168 Likewise.
1169 * testsuite/18_support/comparisons/categories/strongord.cc:
1170 Likewise.
1171 * testsuite/18_support/comparisons/categories/weakord.cc:
1172 Likewise.
1173 * testsuite/18_support/comparisons/categories/zero_neg.cc:
1174 Likewise.
1175 * testsuite/18_support/comparisons/common/1.cc: Likewise.
1176 * testsuite/18_support/comparisons/object/93479.cc: Likewise.
1177 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
1178
1179 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1180
1181 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
1182 Remove dg-options -std=gnu++2a.
1183 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
1184 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
1185 * testsuite/29_atomics/atomic/requirements/types_neg.cc:
1186 Likewise.
1187 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
1188 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
1189 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
1190 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
1191 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
1192 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
1193 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
1194 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
1195 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
1196 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
1197 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
1198 * testsuite/29_atomics/atomic_float/1.cc: Likewise.
1199 * testsuite/29_atomics/atomic_float/95282.cc: Likewise.
1200 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
1201 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
1202 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
1203 * testsuite/29_atomics/atomic_integral/cons/value_init.cc:
1204 Likewise.
1205 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
1206 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
1207 Likewise.
1208 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
1209 * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
1210 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
1211 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
1212 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
1213 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
1214 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
1215 Likewise.
1216 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
1217 Likewise.
1218 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
1219 Likewise.
1220 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
1221 Likewise.
1222
1223 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1224
1225 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
1226 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
1227
1228 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1229
1230 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
1231 macro.
1232 * config.h.in: Regenerate.
1233 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
1234 basic_filebuf members.
1235 * config/io/basic_file_stdio.cc (__basic_file::native_handle):
1236 Define new function.
1237 * config/io/basic_file_stdio.h (__basic_file::native_handle):
1238 Declare new function.
1239 * configure: Regenerate.
1240 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
1241 * include/bits/version.def (fstream_native_handles): New macro.
1242 * include/bits/version.h: Regenerate.
1243 * include/std/fstream (basic_filebuf::native_handle)
1244 (basic_fstream::native_handle, basic_ifstream::native_handle)
1245 (basic_ofstream::native_handle): New functions.
1246 * src/c++11/Makefile.am: Move compilation of basic_file.cc,
1247 locale_init.cc and localename.cc to here.
1248 * src/c++11/Makefile.in: Regenerate.
1249 * src/c++98/locale_init.cc: Moved to...
1250 * src/c++11/locale_init.cc: ...here.
1251 * src/c++98/localename.cc: Moved to...
1252 * src/c++11/localename.cc: ...here.
1253 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
1254 and localename.cc from here.
1255 * src/c++98/Makefile.in: Regenerate.
1256 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
1257 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
1258 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
1259 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
1260 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
1261 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
1262 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
1263
1264 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1265
1266 * testsuite/libstdc++-dg/conformance.exp: Add log line when
1267 using testsuite_files.
1268
1269 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1270
1271 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
1272 directives.
1273 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1274 Likewise.
1275 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1276 Likewise.
1277 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
1278 Likewise.
1279 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
1280 Likewise.
1281 * testsuite/20_util/synchronized_pool_resource/cons.cc:
1282 Likewise.
1283 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
1284 Likewise.
1285 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
1286 Likewise.
1287 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
1288 Likewise.
1289 * testsuite/20_util/synchronized_pool_resource/options.cc:
1290 Likewise.
1291 * testsuite/20_util/synchronized_pool_resource/release.cc:
1292 Likewise.
1293 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
1294 Likewise.
1295 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
1296 Likewise.
1297 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
1298 Likewise.
1299 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
1300 Likewise.
1301
1302 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1303
1304 * testsuite/23_containers/span/back_assert_neg.cc: Remove
1305 dg-options and add effective target selector to dg-do. Add
1306 no_pch.
1307 * testsuite/23_containers/span/back_neg.cc: Likewise.
1308 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
1309 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
1310 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
1311 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
1312 * testsuite/23_containers/span/first_neg.cc: Likewise.
1313 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
1314 * testsuite/23_containers/span/front_neg.cc: Likewise.
1315 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
1316 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
1317 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
1318 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
1319 * testsuite/23_containers/span/last_neg.cc: Likewise.
1320 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
1321 Likewise.
1322 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
1323 Likewise.
1324 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
1325 Likewise.
1326 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
1327 Likewise.
1328 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
1329 Likewise.
1330 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
1331 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
1332 * testsuite/24_iterators/range_operations/advance_debug_neg.cc:
1333 Likewise.
1334
1335 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1336
1337 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
1338 dg-options.
1339 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
1340 * testsuite/18_support/type_info/constexpr.cc: Likewise.
1341 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
1342 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
1343 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
1344 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
1345 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
1346 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
1347 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
1348 * testsuite/20_util/bitset/access/constexpr.cc: Likewise.
1349 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
1350 * testsuite/20_util/bitset/count/constexpr.cc: Likewise.
1351 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
1352 * testsuite/20_util/bitset/operations/constexpr_c++23.cc:
1353 Likewise.
1354 * testsuite/20_util/bitset/version.cc: Likewise.
1355 * testsuite/20_util/from_chars/8.cc: Likewise.
1356 * testsuite/20_util/from_chars/constexpr.cc: Likewise.
1357 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
1358 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
1359 * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
1360 Likewise.
1361 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
1362 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
1363 * testsuite/20_util/move_only_function/call.cc: Likewise.
1364 * testsuite/20_util/move_only_function/cons.cc: Likewise.
1365 * testsuite/20_util/move_only_function/move.cc: Likewise.
1366 * testsuite/20_util/move_only_function/version.cc: Likewise.
1367 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
1368 * testsuite/20_util/optional/monadic/or_else.cc: Likewise.
1369 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
1370 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
1371 * testsuite/20_util/optional/monadic/transform.cc: Likewise.
1372 * testsuite/20_util/pair/p2321r2.cc: Likewise.
1373 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
1374 * testsuite/20_util/reference_from_temporary/value2.cc:
1375 Likewise.
1376 * testsuite/20_util/reference_from_temporary/version.cc:
1377 Likewise.
1378 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
1379 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
1380 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
1381 * testsuite/20_util/to_chars/version.cc: Likewise.
1382 * testsuite/20_util/to_underlying/1.cc: Likewise.
1383 * testsuite/20_util/to_underlying/version.cc: Likewise.
1384 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
1385 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
1386 * testsuite/20_util/unique_ptr/comparison/constexpr.cc:
1387 Likewise.
1388 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
1389 Likewise.
1390 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
1391 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
1392 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
1393 * testsuite/20_util/unreachable/1.cc: Likewise.
1394 * testsuite/20_util/unreachable/version.cc: Likewise.
1395 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
1396 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
1397 * testsuite/21_strings/basic_string/operations/contains/char.cc:
1398 Likewise.
1399 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
1400 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
1401 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
1402 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
1403 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
1404 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
1405 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
1406 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
1407 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
1408 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
1409 * testsuite/23_containers/vector/bool/element_access/1.cc:
1410 Likewise.
1411 * testsuite/24_iterators/const_iterator/1.cc: Likewise.
1412 * testsuite/25_algorithms/contains/1.cc: Likewise.
1413 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
1414 * testsuite/25_algorithms/find_last/1.cc: Likewise.
1415 * testsuite/25_algorithms/find_last_if/1.cc: Likewise.
1416 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
1417 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
1418 * testsuite/25_algorithms/fold_right/1.cc: Likewise.
1419 * testsuite/25_algorithms/iota/1.cc: Likewise.
1420 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
1421 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
1422 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
1423 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
1424 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
1425 Likewise.
1426 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
1427 Likewise.
1428 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
1429 Likewise.
1430 * testsuite/26_numerics/numbers/4.cc: Likewise.
1431 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
1432 * testsuite/27_io/filesystem/path/native/conv_c++23.cc:
1433 Likewise.
1434 * testsuite/27_io/spanstream/1.cc: Likewise.
1435 * testsuite/27_io/spanstream/2.cc: Likewise.
1436 * testsuite/27_io/spanstream/version.cc: Likewise.
1437 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
1438 Likewise.
1439 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
1440 Likewise.
1441 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
1442 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
1443 Likewise.
1444 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
1445 Likewise.
1446 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
1447 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
1448 Likewise.
1449 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
1450 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
1451 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
1452 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
1453 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
1454 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
1455 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
1456 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
1457 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
1458 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
1459 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
1460 * testsuite/std/ranges/repeat/1.cc: Likewise.
1461 * testsuite/std/ranges/version_c++23.cc: Likewise.
1462 * testsuite/std/ranges/zip/1.cc: Likewise.
1463 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
1464
1465 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1466
1467 * testsuite/20_util/expected/assign.cc: Remove dg-options.
1468 * testsuite/20_util/expected/bad.cc: Likewise.
1469 * testsuite/20_util/expected/cons.cc: Likewise.
1470 * testsuite/20_util/expected/equality.cc: Likewise.
1471 * testsuite/20_util/expected/illformed_neg.cc: Likewise.
1472 * testsuite/20_util/expected/lwg3877.cc: Likewise.
1473 * testsuite/20_util/expected/lwg3938.cc: Likewise.
1474 * testsuite/20_util/expected/monadic.cc: Likewise.
1475 * testsuite/20_util/expected/observers.cc: Likewise.
1476 * testsuite/20_util/expected/requirements.cc: Likewise.
1477 * testsuite/20_util/expected/swap.cc: Likewise.
1478 * testsuite/20_util/expected/synopsis.cc: Likewise.
1479 * testsuite/20_util/expected/unexpected.cc: Likewise.
1480 * testsuite/20_util/expected/version.cc: Likewise.
1481
1482 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1483
1484 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
1485 Remove dg-options.
1486 * testsuite/20_util/duration/io.cc: Likewise.
1487 * testsuite/std/time/clock/file/io.cc: Likewise.
1488 * testsuite/std/time/clock/file/members.cc: Likewise.
1489 * testsuite/std/time/clock/file/overview.cc: Likewise.
1490 * testsuite/std/time/clock/gps/1.cc: Likewise.
1491 * testsuite/std/time/clock/gps/io.cc: Likewise.
1492 * testsuite/std/time/clock/local/io.cc: Likewise.
1493 * testsuite/std/time/clock/system/io.cc: Likewise.
1494 * testsuite/std/time/clock/tai/1.cc: Likewise.
1495 * testsuite/std/time/clock/tai/io.cc: Likewise.
1496 * testsuite/std/time/clock/utc/1.cc: Likewise.
1497 * testsuite/std/time/clock/utc/io.cc: Likewise.
1498 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
1499 * testsuite/std/time/day/1.cc: Likewise.
1500 * testsuite/std/time/day/io.cc: Likewise.
1501 * testsuite/std/time/exceptions.cc: Likewise.
1502 * testsuite/std/time/format.cc: Likewise.
1503 * testsuite/std/time/hh_mm_ss/1.cc: Likewise.
1504 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
1505 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
1506 * testsuite/std/time/is_am/1.cc: Likewise.
1507 * testsuite/std/time/is_pm/1.cc: Likewise.
1508 * testsuite/std/time/make12/1.cc: Likewise.
1509 * testsuite/std/time/make24/1.cc: Likewise.
1510 * testsuite/std/time/month/1.cc: Likewise.
1511 * testsuite/std/time/month/io.cc: Likewise.
1512 * testsuite/std/time/month_day/1.cc: Likewise.
1513 * testsuite/std/time/month_day/io.cc: Likewise.
1514 * testsuite/std/time/month_day_last/1.cc: Likewise.
1515 * testsuite/std/time/month_day_last/io.cc: Likewise.
1516 * testsuite/std/time/month_weekday/1.cc: Likewise.
1517 * testsuite/std/time/month_weekday/io.cc: Likewise.
1518 * testsuite/std/time/month_weekday_last/1.cc: Likewise.
1519 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
1520 * testsuite/std/time/parse.cc: Likewise.
1521 * testsuite/std/time/syn_c++20.cc: Likewise.
1522 * testsuite/std/time/time_zone/get_info_local.cc: Likewise.
1523 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
1524 * testsuite/std/time/time_zone/requirements.cc: Likewise.
1525 * testsuite/std/time/traits/is_clock.cc: Likewise.
1526 * testsuite/std/time/tzdb/1.cc: Likewise.
1527 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
1528 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1529 * testsuite/std/time/tzdb_list/requirements.cc: Likewise.
1530 * testsuite/std/time/weekday/1.cc: Likewise.
1531 * testsuite/std/time/weekday/io.cc: Likewise.
1532 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
1533 * testsuite/std/time/weekday_last/1.cc: Likewise.
1534 * testsuite/std/time/weekday_last/io.cc: Likewise.
1535 * testsuite/std/time/year/1.cc: Likewise.
1536 * testsuite/std/time/year/2.cc: Likewise.
1537 * testsuite/std/time/year/io.cc: Likewise.
1538 * testsuite/std/time/weekday_indexed/1.cc: Likewise.
1539 * testsuite/std/time/year_month/1.cc: Likewise.
1540 * testsuite/std/time/year_month/2.cc: Likewise.
1541 * testsuite/std/time/year_month/io.cc: Likewise.
1542 * testsuite/std/time/year_month_day/1.cc: Likewise.
1543 * testsuite/std/time/year_month_day/2.cc: Likewise.
1544 * testsuite/std/time/year_month_day/3.cc: Likewise.
1545 * testsuite/std/time/year_month_day/4.cc: Likewise.
1546 * testsuite/std/time/year_month_day/io.cc: Likewise.
1547 * testsuite/std/time/year_month_day_last/1.cc: Likewise.
1548 * testsuite/std/time/year_month_day_last/2.cc: Likewise.
1549 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
1550 * testsuite/std/time/year_month_weekday/1.cc: Likewise.
1551 * testsuite/std/time/year_month_weekday/2.cc: Likewise.
1552 * testsuite/std/time/year_month_weekday/3.cc: Likewise.
1553 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
1554 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
1555 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
1556 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
1557 * testsuite/std/time/zoned_time/1.cc: Likewise.
1558 * testsuite/std/time/zoned_time/custom.cc: Likewise.
1559 * testsuite/std/time/zoned_time/deduction.cc: Likewise.
1560 * testsuite/std/time/zoned_time/io.cc: Likewise.
1561 * testsuite/std/time/zoned_time/req_neg.cc: Likewise.
1562 * testsuite/std/time/zoned_time/requirements.cc: Likewise.
1563 * testsuite/std/time/zoned_traits.cc: Likewise.
1564
1565 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1566
1567 * testsuite/std/format/arguments/args.cc: Remove dg-options.
1568 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
1569 * testsuite/std/format/error.cc: Likewise.
1570 * testsuite/std/format/format_string.cc: Likewise.
1571 * testsuite/std/format/formatter/concept.cc: Likewise.
1572 * testsuite/std/format/formatter/ext_float.cc: Likewise.
1573 * testsuite/std/format/formatter/requirements.cc: Likewise.
1574 * testsuite/std/format/functions/107871.cc: Likewise.
1575 * testsuite/std/format/functions/format.cc: Likewise.
1576 * testsuite/std/format/functions/format_to.cc: Likewise.
1577 * testsuite/std/format/functions/format_to_n.cc: Likewise.
1578 * testsuite/std/format/functions/size.cc: Likewise.
1579 * testsuite/std/format/functions/vformat_to.cc: Likewise.
1580 * testsuite/std/format/parse_ctx.cc: Likewise.
1581 * testsuite/std/format/string.cc: Likewise.
1582 * testsuite/std/format/string_neg.cc: Likewise.
1583 * testsuite/std/format/functions/format_c++23.cc: Removed.
1584
1585 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1586
1587 * testsuite/20_util/function_objects/range.cmp/equal_to.cc:
1588 Remove dg-options.
1589 * testsuite/20_util/function_objects/range.cmp/greater.cc:
1590 Likewise.
1591 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
1592 Likewise.
1593 * testsuite/20_util/function_objects/range.cmp/less.cc:
1594 Likewise.
1595 * testsuite/20_util/function_objects/range.cmp/less_equal.cc:
1596 Likewise.
1597 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
1598 Likewise.
1599 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
1600 Likewise.
1601 * testsuite/20_util/specialized_algorithms/construct_at/1.cc:
1602 Likewise.
1603 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
1604 Likewise.
1605 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
1606 Likewise.
1607 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
1608 Likewise.
1609 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
1610 Likewise.
1611 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
1612 Likewise.
1613 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
1614 Likewise.
1615 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
1616 Likewise.
1617 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
1618 Likewise.
1619 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
1620 Likewise.
1621 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
1622 Likewise.
1623 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
1624 * testsuite/25_algorithms/adjacent_find/constrained.cc:
1625 Likewise.
1626 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
1627 * testsuite/25_algorithms/all_of/constrained.cc: Likewise.
1628 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
1629 * testsuite/25_algorithms/any_of/constrained.cc: Likewise.
1630 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
1631 * testsuite/25_algorithms/binary_search/constrained.cc:
1632 Likewise.
1633 * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
1634 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
1635 * testsuite/25_algorithms/copy/95578.cc: Likewise.
1636 * testsuite/25_algorithms/copy/constexpr.cc: Likewise.
1637 * testsuite/25_algorithms/copy/constrained.cc: Likewise.
1638 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
1639 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
1640 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
1641 * testsuite/25_algorithms/copy_backward/constrained.cc:
1642 Likewise.
1643 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
1644 Likewise.
1645 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
1646 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
1647 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
1648 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
1649 * testsuite/25_algorithms/count/constexpr.cc: Likewise.
1650 * testsuite/25_algorithms/count/constrained.cc: Likewise.
1651 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
1652 * testsuite/25_algorithms/count_if/constrained.cc: Likewise.
1653 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
1654 * testsuite/25_algorithms/equal/95578.cc: Likewise.
1655 * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
1656 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
1657 * testsuite/25_algorithms/equal/constrained.cc: Likewise.
1658 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
1659 Likewise.
1660 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
1661 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
1662 * testsuite/25_algorithms/fill/94017.cc: Likewise.
1663 * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
1664 * testsuite/25_algorithms/fill/constrained.cc: Likewise.
1665 * testsuite/25_algorithms/fill_n/94017.cc: Likewise.
1666 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
1667 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
1668 * testsuite/25_algorithms/find/constexpr.cc: Likewise.
1669 * testsuite/25_algorithms/find/constrained.cc: Likewise.
1670 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
1671 * testsuite/25_algorithms/find_end/constrained.cc: Likewise.
1672 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
1673 * testsuite/25_algorithms/find_first_of/constrained.cc:
1674 Likewise.
1675 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
1676 * testsuite/25_algorithms/find_if/constrained.cc: Likewise.
1677 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
1678 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
1679 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
1680 * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
1681 * testsuite/25_algorithms/generate/constexpr.cc: Likewise.
1682 * testsuite/25_algorithms/generate/constrained.cc: Likewise.
1683 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
1684 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
1685 * testsuite/25_algorithms/heap/constrained.cc: Likewise.
1686 * testsuite/25_algorithms/includes/constrained.cc: Likewise.
1687 * testsuite/25_algorithms/inplace_merge/constrained.cc:
1688 Likewise.
1689 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
1690 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
1691 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
1692 * testsuite/25_algorithms/is_partitioned/constrained.cc:
1693 Likewise.
1694 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
1695 * testsuite/25_algorithms/is_permutation/constrained.cc:
1696 Likewise.
1697 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
1698 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
1699 * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
1700 Likewise.
1701 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
1702 Likewise.
1703 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
1704 * testsuite/25_algorithms/lexicographical_compare/93972.cc:
1705 Likewise.
1706 * testsuite/25_algorithms/lexicographical_compare/95578.cc:
1707 Likewise.
1708 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
1709 Likewise.
1710 * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
1711 Likewise.
1712 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
1713 Likewise.
1714 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
1715 Likewise.
1716 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
1717 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
1718 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
1719 Likewise.
1720 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
1721 Likewise.
1722 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
1723 Likewise.
1724 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
1725 * testsuite/25_algorithms/max/constrained.cc: Likewise.
1726 * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
1727 * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
1728 * testsuite/25_algorithms/merge/constrained.cc: Likewise.
1729 * testsuite/25_algorithms/min/constrained.cc: Likewise.
1730 * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
1731 * testsuite/25_algorithms/minmax/constrained.cc: Likewise.
1732 * testsuite/25_algorithms/minmax_element/constrained.cc:
1733 Likewise.
1734 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
1735 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
1736 * testsuite/25_algorithms/move/93872.cc: Likewise.
1737 * testsuite/25_algorithms/move/95578.cc: Likewise.
1738 * testsuite/25_algorithms/move/constexpr.cc: Likewise.
1739 * testsuite/25_algorithms/move/constrained.cc: Likewise.
1740 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
1741 * testsuite/25_algorithms/move_backward/95578.cc: Likewise.
1742 * testsuite/25_algorithms/move_backward/constrained.cc:
1743 Likewise.
1744 * testsuite/25_algorithms/next_permutation/constexpr.cc:
1745 Likewise.
1746 * testsuite/25_algorithms/next_permutation/constrained.cc:
1747 Likewise.
1748 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
1749 * testsuite/25_algorithms/none_of/constrained.cc: Likewise.
1750 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
1751 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
1752 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
1753 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
1754 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
1755 Likewise.
1756 * testsuite/25_algorithms/partial_sort_copy/constrained.cc:
1757 Likewise.
1758 * testsuite/25_algorithms/partition/constexpr.cc: Likewise.
1759 * testsuite/25_algorithms/partition/constrained.cc: Likewise.
1760 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
1761 * testsuite/25_algorithms/partition_copy/constrained.cc:
1762 Likewise.
1763 * testsuite/25_algorithms/partition_point/constexpr.cc:
1764 Likewise.
1765 * testsuite/25_algorithms/partition_point/constrained.cc:
1766 Likewise.
1767 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
1768 * testsuite/25_algorithms/prev_permutation/constexpr.cc:
1769 Likewise.
1770 * testsuite/25_algorithms/prev_permutation/constrained.cc:
1771 Likewise.
1772 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
1773 * testsuite/25_algorithms/remove/constexpr.cc: Likewise.
1774 * testsuite/25_algorithms/remove/constrained.cc: Likewise.
1775 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
1776 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
1777 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
1778 * testsuite/25_algorithms/remove_copy_if/constrained.cc:
1779 Likewise.
1780 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
1781 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
1782 * testsuite/25_algorithms/replace/constrained.cc: Likewise.
1783 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
1784 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
1785 * testsuite/25_algorithms/replace_copy_if/constexpr.cc:
1786 Likewise.
1787 * testsuite/25_algorithms/replace_copy_if/constrained.cc:
1788 Likewise.
1789 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
1790 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
1791 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
1792 * testsuite/25_algorithms/reverse/constrained.cc: Likewise.
1793 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
1794 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
1795 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
1796 * testsuite/25_algorithms/rotate/constrained.cc: Likewise.
1797 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
1798 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
1799 * testsuite/25_algorithms/sample/constrained.cc: Likewise.
1800 * testsuite/25_algorithms/search/constexpr.cc: Likewise.
1801 * testsuite/25_algorithms/search/constrained.cc: Likewise.
1802 * testsuite/25_algorithms/search_n/97828.cc: Likewise.
1803 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
1804 * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
1805 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
1806 * testsuite/25_algorithms/set_difference/constrained.cc:
1807 Likewise.
1808 * testsuite/25_algorithms/set_intersection/constexpr.cc:
1809 Likewise.
1810 * testsuite/25_algorithms/set_intersection/constrained.cc:
1811 Likewise.
1812 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
1813 Likewise.
1814 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
1815 Likewise.
1816 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
1817 * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
1818 * testsuite/25_algorithms/shift_left/1.cc: Likewise.
1819 * testsuite/25_algorithms/shift_right/1.cc: Likewise.
1820 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
1821 * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
1822 * testsuite/25_algorithms/sort/constrained.cc: Likewise.
1823 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
1824 * testsuite/25_algorithms/stable_partition/constrained.cc:
1825 Likewise.
1826 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
1827 * testsuite/25_algorithms/swap/constexpr.cc: Likewise.
1828 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
1829 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
1830 * testsuite/25_algorithms/transform/constexpr.cc: Likewise.
1831 * testsuite/25_algorithms/transform/constrained.cc: Likewise.
1832 * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
1833 * testsuite/25_algorithms/unique/constrained.cc: Likewise.
1834 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
1835 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
1836 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
1837 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
1838 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
1839 Likewise.
1840 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
1841 Likewise.
1842 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
1843 Likewise.
1844
1845 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1846
1847 * testsuite/std/concepts/1.cc: Remove dg-options.
1848 * testsuite/std/concepts/2.cc: Likewise.
1849 * testsuite/std/concepts/concepts.callable/invocable.cc:
1850 Likewise.
1851 * testsuite/std/concepts/concepts.callable/regular_invocable.cc:
1852 Likewise.
1853 * testsuite/std/concepts/concepts.callable/relation.cc:
1854 Likewise.
1855 * testsuite/std/concepts/concepts.callable/strictweakorder.cc:
1856 Likewise.
1857 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
1858 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
1859 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
1860 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
1861 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
1862 Likewise.
1863 * testsuite/std/concepts/concepts.lang/concept.common/1.cc:
1864 Likewise.
1865 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
1866 Likewise.
1867 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
1868 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
1869 Likewise.
1870 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
1871 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
1872 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
1873 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
1874 Likewise.
1875 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
1876 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
1877 * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
1878 Likewise.
1879 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
1880 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
1881 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
1882 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
1883 * testsuite/std/concepts/concepts.object/movable.cc: Likewise.
1884 * testsuite/std/concepts/concepts.object/regular.cc: Likewise.
1885 * testsuite/std/concepts/concepts.object/semiregular.cc:
1886 Likewise.
1887 * testsuite/std/ranges/97600.cc: Likewise.
1888 * testsuite/std/ranges/access/101782.cc: Likewise.
1889 * testsuite/std/ranges/access/begin.cc: Likewise.
1890 * testsuite/std/ranges/access/begin_neg.cc: Likewise.
1891 * testsuite/std/ranges/access/cbegin.cc: Likewise.
1892 * testsuite/std/ranges/access/cdata.cc: Likewise.
1893 * testsuite/std/ranges/access/cend.cc: Likewise.
1894 * testsuite/std/ranges/access/crbegin.cc: Likewise.
1895 * testsuite/std/ranges/access/crend.cc: Likewise.
1896 * testsuite/std/ranges/access/data.cc: Likewise.
1897 * testsuite/std/ranges/access/empty.cc: Likewise.
1898 * testsuite/std/ranges/access/end.cc: Likewise.
1899 * testsuite/std/ranges/access/end_neg.cc: Likewise.
1900 * testsuite/std/ranges/access/lwg3467.cc: Likewise.
1901 * testsuite/std/ranges/access/p2602.cc: Likewise.
1902 * testsuite/std/ranges/access/rbegin.cc: Likewise.
1903 * testsuite/std/ranges/access/rend.cc: Likewise.
1904 * testsuite/std/ranges/access/size.cc: Likewise.
1905 * testsuite/std/ranges/access/size_neg.cc: Likewise.
1906 * testsuite/std/ranges/access/ssize.cc: Likewise.
1907 * testsuite/std/ranges/adaptors/100479.cc: Likewise.
1908 * testsuite/std/ranges/adaptors/100577.cc: Likewise.
1909 * testsuite/std/ranges/adaptors/93978.cc: Likewise.
1910 * testsuite/std/ranges/adaptors/95322.cc: Likewise.
1911 * testsuite/std/ranges/adaptors/99433.cc: Likewise.
1912 * testsuite/std/ranges/adaptors/all.cc: Likewise.
1913 * testsuite/std/ranges/adaptors/common.cc: Likewise.
1914 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
1915 Likewise.
1916 * testsuite/std/ranges/adaptors/counted.cc: Likewise.
1917 * testsuite/std/ranges/adaptors/detail/copyable_box.cc:
1918 Likewise.
1919 * testsuite/std/ranges/adaptors/drop.cc: Likewise.
1920 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
1921 * testsuite/std/ranges/adaptors/elements.cc: Likewise.
1922 * testsuite/std/ranges/adaptors/filter.cc: Likewise.
1923 * testsuite/std/ranges/adaptors/join.cc: Likewise.
1924 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
1925 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
1926 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
1927 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
1928 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
1929 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
1930 * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
1931 * testsuite/std/ranges/adaptors/p2281.cc: Likewise.
1932 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
1933 * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
1934 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
1935 * testsuite/std/ranges/adaptors/split.cc: Likewise.
1936 * testsuite/std/ranges/adaptors/take.cc: Likewise.
1937 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
1938 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
1939 * testsuite/std/ranges/empty_view.cc: Likewise.
1940 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
1941 * testsuite/std/ranges/iota/difference_type.cc: Likewise.
1942 * testsuite/std/ranges/iota/iota_view.cc: Likewise.
1943 * testsuite/std/ranges/iota/iterator.cc: Likewise.
1944 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
1945 * testsuite/std/ranges/iota/max_size_type.cc: Likewise.
1946 * testsuite/std/ranges/istream_view.cc: Likewise.
1947 * testsuite/std/ranges/p2259.cc: Likewise.
1948 * testsuite/std/ranges/p2325.cc: Likewise.
1949 * testsuite/std/ranges/p2367.cc: Likewise.
1950 * testsuite/std/ranges/range.cc: Likewise.
1951 * testsuite/std/ranges/refinements.cc: Likewise.
1952 * testsuite/std/ranges/safe_range.cc: Likewise.
1953 * testsuite/std/ranges/safe_range_types.cc: Likewise.
1954 * testsuite/std/ranges/single_view.cc: Likewise.
1955 * testsuite/std/ranges/sized.cc: Likewise.
1956 * testsuite/std/ranges/subrange/1.cc: Likewise.
1957 * testsuite/std/ranges/subrange/97512.cc: Likewise.
1958 * testsuite/std/ranges/subrange/constexpr.cc: Likewise.
1959 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
1960 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
1961 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
1962 * testsuite/std/ranges/subrange/sizeof.cc: Likewise.
1963 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
1964 * testsuite/std/ranges/view.cc: Likewise.
1965
1966 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1967
1968 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
1969 Remove dg-options.
1970 * testsuite/23_containers/span/contiguous_range_neg.cc:
1971 Likewise.
1972 * testsuite/23_containers/span/everything.cc: Likewise.
1973
1974 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1975
1976 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove
1977 dg-options and add dg-add-options strict_std.
1978 * testsuite/std/ranges/iota/93267.cc: Likewise.
1979 * testsuite/std/ranges/iota/96042.cc: Likewise.
1980 * testsuite/std/ranges/iota/size.cc: Likewise.
1981 * testsuite/std/ranges/subrange/96042.cc: Likewise.
1982
1983 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1984
1985 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
1986 Replace dg-options -std=c++17 with dg-add-options strict_std.
1987 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
1988 Likewise.
1989
1990 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1991
1992 * testsuite/23_containers/deque/48101-2_neg.cc: Replace
1993 dg-options with target selector.
1994 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
1995 * testsuite/23_containers/list/48101-2_neg.cc: Likewise.
1996 * testsuite/23_containers/map/48101-2_neg.cc: Likewise.
1997 * testsuite/23_containers/map/48101_neg.cc: Likewise.
1998 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
1999 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
2000 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
2001 * testsuite/23_containers/set/48101-2_neg.cc: Likewise.
2002 * testsuite/23_containers/unordered_map/48101-2_neg.cc:
2003 Likewise.
2004 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
2005 Likewise.
2006 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
2007 Likewise.
2008 * testsuite/23_containers/unordered_set/48101-2_neg.cc:
2009 Likewise.
2010 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
2011
2012 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2013
2014 * doc/xml/manual/test.xml: Update documentation on running and
2015 writing tests.
2016 * doc/html/manual/test.html: Regenerate.
2017 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp
2018 * testsuite/Makefile.in: Regenerate.
2019 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New
2020 proc.
2021 * testsuite/lib/libstdc++.exp (search_for): New utility proc.
2022 (v3-dg-runtest): New proc to replace dg-runtest.
2023 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
2024
2025 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2026
2027 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
2028 Fix test to work for C++23 and C++26 too.
2029
2030 2023-09-15 Patrick Palka <ppalka@redhat.com>
2031
2032 * include/std/bit: Include <concepts>.
2033 (byteswap): Use a type-constraint instead of enable_if_t
2034 inside the return type, and use std::integral.
2035 (_If_is_unsigned_integer): Replace with ...
2036 (__unsigned_integer): ... this.
2037 (rotl): Use a type-constraint instead of enable_if_t inside
2038 the return type.
2039 (countl_zero): Likewise.
2040 (countl_one): Likewise.
2041 (countr_zero): Likewise.
2042 (countr_one): Likewise.
2043 (popcount): Likewise.
2044 (has_single_bit): Likewise.
2045 (bit_ceil): Likewise.
2046 (bit_floor): Likewise.
2047 (bit_width): Likewise.
2048
2049 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2050
2051 * include/std/variant (variant): Remove derivation from
2052 _Enable_default_constructor base class.
2053 (variant::variant()): Constrain.
2054 * testsuite/20_util/variant/default_ctor.cc: New test.
2055
2056 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2057
2058 PR libstdc++/111172
2059 * include/std/variant (get<T>): Remove !is_void static
2060 assertions.
2061
2062 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2063
2064 * include/bits/version.def (to_chars): Define new value for
2065 C++26.
2066 * include/bits/version.h: Regenerate.
2067 * include/std/charconv (to_chars_result::operator bool): New
2068 function.
2069 (from_chars_result::operator bool): New function.
2070 * testsuite/20_util/to_chars/version.cc: Update expected value.
2071 * testsuite/20_util/from_chars/result.cc: New test.
2072 * testsuite/20_util/to_chars/result.cc: New test.
2073
2074 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2075
2076 PR c++/111357
2077 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
2078
2079 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2080
2081 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
2082 dg-additional-files. Remove @require@ and @diff@ comments.
2083 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
2084 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
2085 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
2086 * testsuite/lib/dg-options.exp (v3_additional_files): New
2087 global variable.
2088 (dg-additional-files): New proc.
2089 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy
2090 additional files to test directory.
2091
2092 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2093
2094 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
2095 Use a plain integer for _M_work_count for single-threaded
2096 targets.
2097 * include/experimental/memory_resource (__get_default_resource)
2098 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
2099 single-threaded targets.
2100 * src/c++17/default_resource.h: Adjust preprocessor conditions
2101 to match memory_resource.cc.
2102 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
2103 (atomic_mem_res): Use unsynchronized type for single-threaded
2104 targets.
2105
2106 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2107
2108 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
2109 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
2110 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
2111 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
2112 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
2113 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
2114 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
2115 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2116
2117 2023-09-14 François Dumont <fdumont@gcc.gnu.org>
2118
2119 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2120 { dg-require-normal-namespace "" }.
2121
2122 2023-09-13 François Dumont <fdumont@gcc.gnu.org>
2123
2124 * include/std/format (std::__format::_Arg_store): Explicit version
2125 namespace on make_format_args friend declaration.
2126
2127 2023-09-12 Patrick Palka <ppalka@redhat.com>
2128
2129 PR libstdc++/111327
2130 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
2131 a deleted fallback operator() overload. Constrain both the
2132 enabled and deleted overloads accordingly.
2133 * testsuite/20_util/function_objects/not_fn/111327.cc: New test.
2134
2135 2023-09-12 Patrick Palka <ppalka@redhat.com>
2136
2137 PR libstdc++/111327
2138 * include/std/functional (_Bind_front::operator()): Add deleted
2139 fallback overloads for each const/ref qualifier pair. Give the
2140 enabled overloads dummy constraints to make each one more
2141 specialized than the corresponding deleted overload.
2142 * testsuite/20_util/function_objects/bind_front/111327.cc: New test.
2143
2144 2023-09-12 Patrick Palka <ppalka@redhat.com>
2145
2146 * include/std/functional (_Bind_front0): Remove.
2147 (_Bind_front_t): Adjust.
2148
2149 2023-09-12 Jonathan Wakely <jwakely@redhat.com>
2150
2151 * python/libstdcxx/v6/printers.py: Reformat.
2152 * python/libstdcxx/v6/xmethods.py: Likewise.
2153
2154 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2155
2156 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
2157 function.
2158 (reset_sequence_ptr): New function.
2159 (_Safe_iterator_base::_M_detach)
2160 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
2161 with acquire_sequence_ptr_for_lock.
2162 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
2163 reset_sequence_ptr.
2164
2165 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2166
2167 * src/c++11/Makefile.am: Add new file.
2168 * src/c++11/Makefile.in: Regenerate.
2169 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
2170 * src/c++11/assert_fail.cc: New file.
2171
2172 2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org>
2173
2174 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
2175 (_GLIBCXX_USE_BUILTIN_TRAIT): Define.
2176
2177 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2178
2179 * include/bits/version.def (__cpp_lib_formatters): Define.
2180 * include/bits/version.h: Regenerate.
2181 * include/std/stacktrace (formatter<stacktrace_entry>)
2182 (formatter<basic_stacktrace<Alloc>>): Define.
2183 * include/std/thread (formatter<thread::id, charT>): Define.
2184 * testsuite/19_diagnostics/stacktrace/output.cc: New test.
2185 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2186 std::formatter specializations.
2187 * testsuite/19_diagnostics/stacktrace/version.cc: Check
2188 __cpp_lib_formatters macro.
2189 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads
2190 dependency.
2191 * testsuite/30_threads/thread/id/operators.cc: Likewise.
2192 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
2193 * testsuite/30_threads/thread/id/output.cc: New test.
2194
2195 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
2196
2197 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
2198 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
2199 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
2200
2201 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2202
2203 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
2204 * configure: Regenerate.
2205 * doc/html/manual/*: Regenerate.
2206 * doc/xml/manual/using.xml: Update documentation on linking.
2207 * include/std/stacktrace: Remove declarations of libbacktrace
2208 APIs.
2209 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
2210 Remove.
2211 (stacktrace_entry::_Info): New class.
2212 (stacktrace_entry::_M_get_info): Use _Info.
2213 (__stacktrace_impl): New class.
2214 (basic_stacktrace): Derive from __stacktrace_impl.
2215 (basic_stacktrace::current): Use __stacktrace_impl::_S_current.
2216 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
2217 libstdc++exp instead of libstdc++_libbacktrace.
2218 * src/Makefile.am (SUBDIRS): Add c++23 directory.
2219 * src/Makefile.in: Regenerate.
2220 * src/c++20/Makefile.am: Fix comment.
2221 * src/c++20/Makefile.in: Regenerate.
2222 * src/c++23/Makefile.am: New file.
2223 * src/c++23/Makefile.in: New file.
2224 * src/c++23/stacktrace.cc: New file with definitions of
2225 stacktrace_entry::_Info and __stacktrace_impl members.
2226 * src/experimental/Makefile.am: Use LIBADD to include other
2227 libraries.
2228 * src/experimental/Makefile.in: Regenerate.
2229 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
2230 * src/libbacktrace/Makefile.in: Regenerate.
2231 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
2232 dg-options to use -lstdc++exp.
2233 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2234 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2235 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
2236 Likewise.
2237
2238 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
2239
2240 * src/libbacktrace/Makefile.am: Remove -Werror.
2241 * src/libbacktrace/Makefile.in: Regenerate.
2242
2243 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2244
2245 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
2246 * testsuite/Makefile.in: Regenerate.
2247
2248 2023-09-08 Yang Yujie <yangyujie@loongson.cn>
2249
2250 * configure.host: Register t-loongarch in tmake_file.
2251 * config/cpu/loongarch/t-loongarch: New file. Manually refresh
2252 MULTISUBDIR with $(shell $(CXX) --print-multi-directory).
2253
2254 2023-09-07 Bruno Victal <mirai@makinata.eu>
2255
2256 * acinclude.m4: Update docbook xsl URI.
2257 * configure: Regenerate.
2258
2259 2023-09-07 Bruno Victal <mirai@makinata.eu>
2260
2261 * doc/Makefile.am: Fix 'doc-install-info' rule.
2262 Fix typo in commment.
2263 * doc/Makefile.in: Regenerate.
2264
2265 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2266
2267 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
2268 dg-do target selector.
2269
2270 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2271
2272 * testsuite/config/default.exp: Remove trailing whitespace.
2273 * testsuite/lib/dg-options.exp: Likewise.
2274 * testsuite/lib/prune.exp: Likewise.
2275 * testsuite/libstdc++-abi/abi.exp: Likewise.
2276 * testsuite/libstdc++-dg/conformance.exp: Likewise.
2277 * testsuite/libstdc++-prettyprinters/prettyprinters.exp:
2278 Likewise.
2279 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
2280 * testsuite/lib/libstdc++.exp: Likewise.
2281 (check_v3_target_c_std): Fix filename for temporary source file.
2282
2283 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2284
2285 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
2286 chmod, chdir, and getcwd.
2287 * config.h.in: Regenerate.
2288 * configure: Regenerate.
2289 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
2290 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
2291 (fs::permissions): Use USE_CHMOD macro.
2292 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
2293 (chmod, mkdir, getcwd, chdir): Define new macros.
2294 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
2295 new macros.
2296 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
2297 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
2298 (fs::permissions): Use USE_CHMOD macro.
2299
2300 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2301
2302 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
2303 for avr.
2304 * configure: Regenerate.
2305
2306 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2307
2308 * testsuite/23_containers/unordered_map/operations/1.cc: Add
2309 dg-options for C++20 mode.
2310 * testsuite/23_containers/unordered_multimap/operations/1.cc:
2311 Likewise.
2312 * testsuite/23_containers/unordered_multiset/operations/1.cc:
2313 Likewise.
2314 * testsuite/23_containers/unordered_set/operations/1.cc:
2315 Likewise.
2316 * testsuite/std/time/parse.cc: Move dg-options before dg-do.
2317
2318 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2319
2320 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
2321 compatibility.
2322 * testsuite/std/ranges/access/cdata.cc: Likewise.
2323 * testsuite/std/ranges/access/cend.cc: Likewise.
2324 * testsuite/std/ranges/access/crbegin.cc: Likewise.
2325 * testsuite/std/ranges/access/crend.cc: Likewise.
2326 * testsuite/std/ranges/adaptors/take.cc: Likewise.
2327 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
2328 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2329
2330 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2331
2332 * include/bits/iterator_concepts.h (__imove::iter_move): Define
2333 poison pill as deleted for consistency.
2334 (__access::begin): Replace with a single declaration.
2335 * include/bits/ranges_base.h (__access::end, __access::rbegin)
2336 (__access::rend, __access::size): Likewise.
2337 * include/bits/version.def (ranges): Update value for C++23.
2338 * include/bits/version.h: Regenerate.
2339 * libsupc++/compare (__compare): Add missing poison pill
2340 overloads.
2341 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
2342 of __cpp_lib_ranges.
2343 * testsuite/std/ranges/access/p2602.cc: New test.
2344
2345 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2346
2347 * include/bits/iterator_concepts.h (ranges::__cust_imove):
2348 Rename to ranges::__imove.
2349 (_IMove): Rename to _IterMove.
2350 (ranges::__cust_iswap): Rename to ranges::__iswap.
2351 (ranges::__cust): Rename to ranges::_Cpo.
2352 (ranges::__cust_access): Rename to ranges::__access.
2353 * include/bits/ranges_base.h (ranges::__cust_access): Rename to
2354 ranges::__access.
2355 (ranges::__cust): Rename to ranges::_Cpo.
2356 * include/std/concepts (ranges::__cust_swap): Rename to
2357 ranges::__swap.
2358 (ranges::__cust): Rename to ranges::_Cpo.
2359 * libsupc++/compare (__cmp_cust): Rename to __compare.
2360 (__cmp_algo): Rename to _Cpo.
2361
2362 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2363
2364 * include/bits/version.def (ranges): Update value.
2365 * include/bits/version.h: Regenerate.
2366 * include/std/ranges (__detail::__boxable): Use
2367 move_constructible instead of copy_constructible for C++23.
2368 (__detail::__box<T>): Adjust constraints for partial
2369 specialization.
2370 (single_view, transform_view): Use __box_constructible instead
2371 of copy_constructible in constraints.
2372 (zip_transform_view, adjacent_transform_view, repeat_view): Use
2373 move_constructible instead of copy_constructible in constraints.
2374 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
2375 construction from move-only argument.
2376 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2377 * testsuite/std/ranges/repeat/1.cc: Likewise.
2378 * testsuite/std/ranges/single_view.cc: Likewise.
2379 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
2380 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
2381 of __cpp_lib_ranges.
2382
2383 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
2384
2385 * testsuite/util/testsuite_iterators.h (is_customization_point_object):
2386 Remove parameter name.
2387
2388 2023-09-06 Jonathan Wakely <jwakely@redhat.com>
2389
2390 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
2391 for freestanding.
2392 * configure: Regenerate.
2393
2394 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2395
2396 Revert
2397 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2398
2399 PR libstdc++/111238
2400 * configure: Regenerate.
2401 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
2402 non-Canadian builds.
2403
2404 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
2405
2406 PR libstdc++/111238
2407 * configure: Regenerate.
2408 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
2409 non-Canadian builds.
2410
2411 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2412
2413 * testsuite/26_numerics/complex/literals/types.cc: Remove
2414 dg-options and add target selector instead.
2415
2416 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2417
2418 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
2419 and qualify ambiguous calls to get.
2420 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
2421 expected result for std::pow(float, int) as per DR 550.
2422
2423 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2424
2425 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
2426 and add dg-warning for deprecation warnings.
2427 * testsuite/20_util/auto_ptr/2.cc: Likewise.
2428 * testsuite/20_util/auto_ptr/3.cc: Likewise.
2429 * testsuite/20_util/auto_ptr/3946.cc: Likewise.
2430 * testsuite/20_util/auto_ptr/4.cc: Likewise.
2431 * testsuite/20_util/auto_ptr/5.cc: Likewise.
2432 * testsuite/20_util/auto_ptr/6.cc: Likewise.
2433 * testsuite/20_util/auto_ptr/7.cc: Likewise.
2434 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
2435 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
2436 Likewise.
2437 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2438 Likewise.
2439 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2440 Likewise.
2441 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
2442 Likewise.
2443 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
2444 Likewise.
2445 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2446 Likewise.
2447 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2448 Likewise.
2449
2450 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2451
2452 PR libstdc++/26142
2453 * testsuite/23_containers/vector/26412-1.cc: Moved to...
2454 * testsuite/23_containers/vector/26142-1.cc: ...here.
2455 * testsuite/23_containers/vector/26412-2.cc: Moved to...
2456 * testsuite/23_containers/vector/26142-2.cc: ...here.
2457
2458 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2459
2460 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
2461 * testsuite/26_numerics/complex/56111.cc: Likewise.
2462
2463 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2464
2465 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
2466 Add dg-options to restrict the test to C++98 mode.
2467 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
2468 Likewise.
2469
2470 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
2471
2472 * testsuite/20_util/expected/bad.cc: Add missing target
2473 selector.
2474
2475 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2476
2477 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
2478 expected errors.
2479 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
2480 Likewise.
2481
2482 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2483
2484 * testsuite/27_io/filesystem/iterators/91067.cc: Add
2485 -Wno-self-move to options.
2486 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
2487
2488 2023-09-01 Vladimir Palevich <palevichva@gmail.com>
2489
2490 PR libstdc++/110879
2491 * include/bits/vector.tcc (_M_realloc_insert): End guard
2492 lifetime just before assignment to class members.
2493 (_M_default_append): Likewise.
2494
2495 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2496
2497 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
2498 Use __resize_and_overwrite to fill buffer.
2499 (fs::read_symlink) [HAVE_READLINK]: Likewise.
2500 * src/filesystem/ops-common.h (get_temp_directory_from_env)
2501 [FILESYSTEM_IS_WINDOWS]: Likewise.
2502
2503 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2504
2505 PR libstdc++/111077
2506 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
2507 Add _AtomicRef non-type template parameter and use a loop if it
2508 is true.
2509 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
2510 (__atomic_impl::compare_exchange_strong): Likewise.
2511 (atomic_ref::compare_exchange_weak): Use true for NTTP.
2512 (atomic_ref::compare_exchange_strong): Use true for NTTP.
2513 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
2514 Fix test to not rely on atomic_ref::load() to return an object
2515 with padding preserved.
2516
2517 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2518
2519 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
2520 filesystem support.
2521
2522 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2523
2524 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
2525 for POSIX readlink before using filesystem::read_symlink.
2526
2527 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2528
2529 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
2530 * configure: Regenerate.
2531
2532 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2533
2534 * include/bits/chrono_io.h (_Parser::operator()): Set failbit
2535 early if invalid values are read when _M_need & _TimeOfDay is
2536 non-zero.
2537 * testsuite/std/time/parse.cc: Check that "25:59" cannot be
2538 parsed for "%H:%M".
2539
2540 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2541
2542 PR libstdc++/111162
2543 * include/bits/chrono_io.h (_Parser::Operator()): Check %C
2544 values are in range of year::min() to year::max().
2545 * testsuite/std/time/parse.cc: Check out of range centuries.
2546
2547 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
2548
2549 * include/std/format (__format::_Sink::_M_reset): Change second
2550 argument from iterator to offset.
2551
2552 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
2553
2554 PR libstdc++/111102
2555 * testsuite/std/format/string.cc: Check wide character format
2556 strings with out-of-range widths.
2557
2558 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
2559
2560 PR libstdc++/111102
2561 * include/std/format (__format::__parse_integer): Check for
2562 non-null pointer.
2563
2564 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2565
2566 * testsuite/std/format/functions/format_to.cc: Avoid warning for
2567 unused variables.
2568
2569 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2570
2571 * include/std/atomic: Add comment to #ifdef and fix indentation.
2572 * include/std/ostream: Check __glibcxx_syncbuf instead of
2573 __cplusplus and _GLIBCXX_HOSTED.
2574 * include/std/thread: Add comment to #ifdef.
2575
2576 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2577
2578 * include/bits/version.def (__cpp_lib_ratio): Define.
2579 * include/bits/version.h: Regenerate.
2580 * include/std/ratio (quecto, ronto, yocto, zepto)
2581 (zetta, yotta, ronna, quetta): Define.
2582 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
2583 dg-error line numbers.
2584
2585 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2586
2587 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
2588 printer class.
2589 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
2590
2591 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
2592
2593 PR libstdc++/110944
2594 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
2595 not show template arguments.
2596 (StdVariantPrinter): Likewise.
2597 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
2598 output.
2599 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
2600 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
2601
2602 2023-08-23 François Dumont <fdumont@gcc.gnu.org>
2603
2604 * testsuite/util/replacement_memory_operators.h
2605 (counter::scope): New, capture and reset counter count at construction and
2606 restore it at destruction.
2607 (counter::check_new): Add scope instantiation.
2608 * testsuite/23_containers/unordered_map/96088.cc (main):
2609 Add counter::scope instantiation.
2610 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
2611 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
2612 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
2613 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
2614 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
2615 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
2616 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
2617 (operator new(size_t)): Check started.
2618 (main): Set/Unset started.
2619 * testsuite/17_intro/no_library_allocation.cc: New test case.
2620
2621 2023-08-21 Jonathan Wakely <jwakely@redhat.com>
2622
2623 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
2624 Call std::set_terminate before throwing the nested exception.
2625
2626 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2627
2628 PR target/111060
2629 * include/std/format (formatter): Only define specializations
2630 for 16-bit floating-point types for C++23.
2631 * include/std/limits (numeric_limits): Likewise.
2632
2633 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2634
2635 * include/bits/chrono_io.h (operator<<): Make uses of wide
2636 strings with streams and std::format type-dependent on _CharT.
2637 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
2638 __to_wstring_numeric.
2639
2640 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
2641
2642 * include/bits/chrono_io.h (operator<<): Use __format_context.
2643 * include/std/format (__format::__format_context): New alias
2644 template.
2645 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
2646 Disable.
2647
2648 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2649
2650 Revert:
2651 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2652
2653 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
2654 double overload for long double if possible.
2655
2656 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2657
2658 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
2659 std::string_view.
2660
2661 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2662
2663 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
2664 double overload for long double if possible.
2665
2666 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2667
2668 * src/c++98/localename.cc (is_C_locale): New function.
2669 (locale::locale(const char*)): Use is_C_locale.
2670
2671 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2672
2673 PR libstdc++/110945
2674 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
2675 Dispatch to _M_replace or move assignment from a temporary,
2676 based on the iterator type.
2677
2678 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2679
2680 * include/std/format (formatter): Add partial specializations
2681 for extended floating-point types.
2682 * testsuite/std/format/functions/format.cc: Move test_float128()
2683 to ...
2684 * testsuite/std/format/formatter/ext_float.cc: New test.
2685
2686 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2687
2688 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
2689 whenever __BFLT16_DIG__ is defined, not only for C++23.
2690 * include/std/limits (numeric_limits<bfloat16_t>): Likewise.
2691 (numeric_limits<_Float16>, numeric_limits<_Float32>)
2692 (numeric_limits<_Float64>): Likewise for other extended
2693 floating-point types.
2694
2695 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2696
2697 * include/experimental/internet (address_v4::to_string): Remove
2698 unused parameter name.
2699
2700 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2701
2702 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
2703 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
2704 excess errors caused by invalid consteval calls.
2705
2706 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2707
2708 * include/bits/chrono_io.h (__units_suffix_misc): Remove.
2709 (__units_suffix): Return a known suffix as string view, do not
2710 write unknown suffixes to a buffer.
2711 (__fmt_units_suffix): New function that formats the suffix using
2712 std::format_to.
2713 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
2714 (__chrono_formatter::_M_Z): Correct lifetime of wstring.
2715
2716 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2717
2718 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
2719 string formatters with this macro.
2720 (__formatter_int::_M_format_int, __formatter_fp::format)
2721 (formatter<const void*, C>::format): Use __to_wstring_numeric
2722 instead of std::ctype::widen.
2723 (__formatter_fp::_M_localize): Use hardcoded wchar_t values
2724 instead of std::ctype::widen.
2725 * testsuite/std/format/functions/format.cc: Add more checks for
2726 wstring formatting of arithmetic types.
2727
2728 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2729
2730 * include/bits/basic_string.h (to_string(floating-point-type)):
2731 Implement using std::to_chars for C++26.
2732 * include/bits/version.def (__cpp_lib_to_string): Define.
2733 * include/bits/version.h: Regenerate.
2734 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2735 Adjust expected result in C++26 mode.
2736 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
2737 Likewise.
2738 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
2739 Likewise.
2740 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
2741 Likewise.
2742 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
2743 New test.
2744 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
2745 New test.
2746 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
2747 New test.
2748
2749 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2750
2751 * include/bits/basic_string.h (to_string(integral-type)): Use
2752 resize_and_overwrite when available.
2753 (__to_wstring_numeric): New helper functions.
2754 (to_wstring): Use std::to_string then __to_wstring_numeric.
2755 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
2756 Remove check for no excess capacity.
2757
2758 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2759
2760 * include/bits/basic_string.h (__resize_and_overwrite): New
2761 function.
2762 * include/bits/basic_string.tcc (__resize_and_overwrite): New
2763 function.
2764 (resize_and_overwrite): Simplify by using reserve instead of
2765 growing the string manually. Adjust for C++11 compatibility.
2766 * include/bits/cow_string.h (resize_and_overwrite): New
2767 function.
2768 (__resize_and_overwrite): New function.
2769 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
2770 Do not depend on cxx11abi.
2771 * include/bits/version.h: Regenerate.
2772 * include/std/format (__formatter_fp::_S_resize_and_overwrite):
2773 Remove.
2774 (__formatter_fp::format, __formatter_fp::_M_localize): Use
2775 __resize_and_overwrite instead of _S_resize_and_overwrite.
2776 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2777 Adjust for C++11 compatibility when included by ...
2778 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
2779 New test.
2780
2781 2023-08-17 Patrick Palka <ppalka@redhat.com>
2782
2783 * include/bits/regex.h (regex_iterator::iterator_concept):
2784 Define for C++20 as per P2770R0.
2785 (regex_token_iterator::iterator_concept): Likewise.
2786 * include/std/ranges (__detail::__as_lvalue): Define.
2787 (join_view::_Iterator): Befriend join_view.
2788 (join_view::_Iterator::_M_satisfy): Use _M_get_outer
2789 instead of _M_outer.
2790 (join_view::_Iterator::_M_get_outer): Define.
2791 (join_view::_Iterator::_Iterator): Split constructor taking
2792 _Parent argument into two as per P2770R0. Remove constraint on
2793 default constructor.
2794 (join_view::_Iterator::_M_outer): Make this data member present
2795 only when the underlying range is forward.
2796 (join_view::_Iterator::operator++): Use _M_get_outer instead of
2797 _M_outer.
2798 (join_view::_Iterator::operator--): Use __as_lvalue helper.
2799 (join_view::_Iterator::operator==): Adjust constraints as per
2800 P2770R0.
2801 (join_view::_Sentinel::__equal): Use _M_get_outer instead of
2802 _M_outer.
2803 (join_view::_M_outer): New data member when the underlying range
2804 is non-forward.
2805 (join_view::begin): Adjust definition as per P2770R0.
2806 (join_view::end): Likewise.
2807 (join_with_view::_M_outer_it): New data member when the
2808 underlying range is non-forward.
2809 (join_with_view::begin): Adjust definition as per P2770R0.
2810 (join_with_view::end): Likewise.
2811 (join_with_view::_Iterator::_M_outer_it): Make this data member
2812 present only when the underlying range is forward.
2813 (join_with_view::_Iterator::_M_get_outer): Define.
2814 (join_with_view::_Iterator::_Iterator): Split constructor
2815 taking _Parent argument into two as per P2770R0. Remove
2816 constraint on default constructor.
2817 (join_with_view::_Iterator::_M_update_inner): Adjust definition
2818 as per P2770R0.
2819 (join_with_view::_Iterator::_M_get_inner): Likewise.
2820 (join_with_view::_Iterator::_M_satisfy): Adjust calls to
2821 _M_get_inner. Use _M_get_outer instead of _M_outer_it.
2822 (join_with_view::_Iterator::operator==): Adjust constraints
2823 as per P2770R0.
2824 (join_with_view::_Sentinel::operator==): Use _M_get_outer
2825 instead of _M_outer_it.
2826 * testsuite/std/ranges/adaptors/p2770r0.cc: New test.
2827
2828 2023-08-17 Patrick Palka <ppalka@redhat.com>
2829
2830 PR libstdc++/108827
2831 * include/std/ranges (__adaptor::_RangeAdaptorClosure):
2832 Convert into a CRTP class template. Move hidden operator|
2833 friends into namespace scope and adjust their constraints.
2834 (__closure::__is_range_adaptor_closure_fn): Define.
2835 (__closure::__is_range_adaptor_closure): Define.
2836 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
2837 (__adaptor::_Pipe): Likewise.
2838 (views::_All): Likewise.
2839 (views::_Join): Likewise.
2840 (views::_Common): Likewise.
2841 (views::_Reverse): Likewise.
2842 (views::_Elements): Likewise.
2843 (views::_Adjacent): Likewise.
2844 (views::_AsRvalue): Likewise.
2845 (views::_Enumerate): Likewise.
2846 (views::_AsConst): Likewise.
2847 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
2848 expecting that adding empty range adaptor closure objects to a
2849 pipeline doesn't increase the size of a pipeline.
2850
2851 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2852
2853 * include/std/format (__format::_Pres_type): Add _Pres_F.
2854 (__formatter_fp::parse): Use _Pres_F for 'F'.
2855 (__formatter_fp::format): Set __upper for _Pres_F.
2856 * testsuite/std/format/functions/format.cc: Check formatting of
2857 infinity and NaN for each presentation type.
2858
2859 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2860
2861 * include/Makefile.in: Regenerate.
2862
2863 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2864
2865 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
2866 * testsuite/std/format/functions/format.cc: Likewise.
2867 * testsuite/std/format/functions/format_c++23.cc: Likewise.
2868
2869 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
2870
2871 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
2872 any "-include bits/stdc++.h" from options and add the macro to
2873 the existing options instead of replacing them.
2874
2875 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2876
2877 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
2878 the callable with the same size as resize_and_overwrite was
2879 called with.
2880 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2881 Check with small values for the new size.
2882 * testsuite/std/format/functions/format.cc: Check wide
2883 formatting of double values that produce small strings.
2884 * testsuite/std/format/functions/format_c++23.cc: New test.
2885
2886 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2887
2888 * include/bits/version.def (stds): Update value for C++23.
2889 * include/bits/version.h: Regenerate.
2890
2891 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
2892
2893 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
2894 Fix name of upstream file this was derived from.
2895 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
2896 Likewise.
2897 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
2898 Likewise.
2899 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
2900 Likewise.
2901 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.
2902
2903 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
2904
2905 * libsupc++/typeinfo: Switch to bits/version.h for
2906 __cpp_lib_constexpr_typeinfo.
2907 * libsupc++/new: Switch to bits/version.h for
2908 __cpp_lib_{launder,hardware_interference_size,destroying_delete}.
2909 (launder): Guard behind __cpp_lib_launder.
2910 (hardware_destructive_interference_size)
2911 (hardware_constructive_interference_size): Guard behind
2912 __cpp_lib_hardware_interference_size.
2913 * libsupc++/exception: Switch to bits/version.h for
2914 __cpp_lib_uncaught_exceptions.
2915 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
2916 * libsupc++/compare: Switch to bits/version.h for
2917 __cpp_lib_three_way_comparison.
2918 (three_way_comparable, three_way_comparable_with)
2919 (compare_three_way, weak_order, strong_order, partial_order):
2920 Guard behind __cpp_lib_three_way_comparison >= 201907L.
2921 * include/std/chrono: Drop __cpp_lib_chrono definition.
2922 * include/std/vector: Switch to bits/version.h for
2923 __cpp_lib_erase_if.
2924 (erase, erase_if): Guard behind __cpp_lib_erase_if.
2925 * include/std/variant: Switch to bits/version.h for
2926 __cpp_lib_variant. Guard whole header behind that FTM.
2927 * include/std/utility: Switch to bits/version.h for
2928 __cpp_lib_{exchange_function,constexpr_algorithms,as_const},
2929 __cpp_lib_{integer_comparison_functions,to_underlying}, and
2930 __cpp_lib_unreachable.
2931 (exchange): Guard behind __cpp_lib_exchange_function.
2932 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
2933 (cmp_greater_equal, in_range): Guard behind
2934 __cpp_lib_integer_comparison_functions.
2935 (to_underlying): Guard behind __cpp_lib_to_underlying.
2936 (unreachable): Guard behind __cpp_lib_unreachable.
2937 * include/std/type_traits: Switch to bits/version.h for
2938 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
2939 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
2940 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
2941 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
2942 __cpp_lib_{result_of_sfinae,transformation_trait_aliases},
2943 __cpp_lib_{type_identity,type_trait_variable_templates},
2944 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
2945 __cpp_lib_{bool_constant,bounded_array_traits}, and
2946 __cpp_lib_has_unique_object_representations.
2947 (integral_constant::operator()): Guard behind
2948 __cpp_lib_integral_constant_callable.
2949 (bool_constant): Guard behind __cpp_lib_bool_constant.
2950 (conjunction, disjunction, negation, conjunction_v, disjunction_v)
2951 (negation_v): Guard behind __cpp_lib_logical_traits.
2952 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
2953 (is_final): Guard behind __cpp_lib_is_final.
2954 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
2955 __cpp_lib_is_nothrow_convertible.
2956 (remove_const_t, remove_volatile_t, remove_cv_t)
2957 (add_const_t, add_volatile_t, add_cv_t): Guard behind
2958 __cpp_lib_transformation_trait_aliases.
2959 (void_t): Guard behind __cpp_lib_void_t.
2960 (is_swappable_with_v, is_nothrow_swappable_with_v)
2961 (is_swappable_with, is_nothrow_swappable_with): Guard behind
2962 __cpp_lib_is_swappable.
2963 (is_nothrow_invocable_r, is_invocable_r, invoke_result)
2964 (is_invocable, invoke_result_t): Guard behind
2965 __cpp_lib_is_invocable.
2966 (alignment_of_v, extent_v, has_virtual_destructor_v)
2967 (is_abstract_v, is_arithmetic_v, is_array_v)
2968 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
2969 (is_constructible_v, is_const_v, is_convertible_v)
2970 (is_copy_assignable_v, is_copy_constructible_v)
2971 (is_default_constructible_v, is_destructible_v)
2972 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
2973 (is_function_v, is_fundamental_v, is_integral_v)
2974 (is_invocable_r_v, is_invocable_v, is_literal_type_v)
2975 (is_lvalue_reference_v, is_member_function_pointer_v)
2976 (is_member_object_pointer_v, is_member_pointer_v)
2977 (is_move_assignable_v, is_move_constructible_v)
2978 (is_nothrow_assignable_v, is_nothrow_constructible_v)
2979 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
2980 (is_nothrow_default_constructible_v, is_nothrow_destructible_v)
2981 (is_nothrow_invocable_r_v, is_nothrow_invocable_v)
2982 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
2983 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
2984 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
2985 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
2986 (is_trivially_assignable_v, is_trivially_constructible_v)
2987 (is_trivially_copyable_v, is_trivially_copy_assignable_v)
2988 (is_trivially_copy_constructible_v)
2989 (is_trivially_default_constructible_v)
2990 (is_trivially_destructible_v, is_trivially_move_assignable_v)
2991 (is_trivially_move_constructible_v, is_trivial_v, is_union_v)
2992 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
2993 Guard behind __cpp_lib_type_trait_variable_templates.
2994 (has_unique_object_representations)
2995 (has_unique_object_representations_v): Guard behind
2996 __cpp_lib_has_unique_object_representation.
2997 (is_aggregate): Guard behind __cpp_lib_is_aggregate.
2998 (remove_cvref, remove_cvref_t): Guard behind
2999 __cpp_lib_remove_cvref.
3000 (type_identity, type_identity_t): Guard behind
3001 __cpp_lib_type_identity.
3002 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
3003 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
3004 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
3005 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
3006 (is_scoped_enum, is_scoped_enum_v): Guard behind
3007 __cpp_lib_is_scoped_enum.
3008 (reference_constructs_from_temporary)
3009 (reference_constructs_from_temporary_v): Guard behind
3010 __cpp_lib_reference_from_temporary.
3011 * include/std/tuple: Switch to bits/version.h for
3012 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
3013 (get<T>): Guard behind __cpp_lib_tuple_by_type.
3014 (apply): Guard behind __cpp_lib_apply.
3015 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
3016 * include/std/syncstream: Switch to bits/version.h for
3017 __cpp_lib_syncbuf. Guard header behind that FTM.
3018 * include/std/string_view: Switch to bits/version.h for
3019 __cpp_lib_{string_{view,contains},constexpr_string_view} and
3020 __cpp_lib_starts_ends_with.
3021 (basic_string_view::starts_with, basic_string_view::ends_with):
3022 Guard behind __cpp_lib_starts_ends_with.
3023 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
3024 Assert as impossible ithout a bug in C++23.
3025 * include/std/string: Switch to bits/version.h for
3026 __cpp_lib_erase_if.
3027 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3028 * include/std/thread: Switch to bits/version.h for
3029 __cpp_lib_jthread.
3030 * include/std/stop_token: Switch to bits/version.h for
3031 __cpp_lib_jthread.
3032 * include/std/spanstream: Switch to bits/version.h for
3033 __cpp_lib_spanstream. Guard header behind that FTM.
3034 * include/std/span: Switch to bits/version.h for __cpp_lib_span.
3035 Guard header behind that FTM.
3036 * include/std/source_location: Switch to bits/version.h for
3037 __cpp_lib_source_location. Guard header with that FTM.
3038 * include/std/shared_mutex: Switch to bits/version.h for
3039 __cpp_lib_shared{,_timed}_mutex.
3040 (shared_mutex): Guard behind __cpp_lib_shared_mutex.
3041 * include/std/semaphore: Switch to bits/version.h for
3042 __cpp_lib_semaphore. Guard header behind that FTM.
3043 * include/std/ranges: Switch to bits/version.h for
3044 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
3045 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
3046 and __cpp_lib_ranges_{as_const,enumerate,iota}.
3047 (ranges::zip et al, ranges::chunk et al, ranges::slide et al)
3048 (ranges::chunk_by et al, ranges::join_with et al)
3049 (ranges::stride et al, ranges::cartesian_product et al)
3050 (ranges::as_rvalue et al, ranges::as_const et al)
3051 (ranges::enumerate et al): Guard behind appropriate FTM.
3052 * include/std/optional: Switch to bits/version.h for
3053 __cpp_lib_optional. Guard header behind that FTM.
3054 * include/std/numeric: Switch to bits/version.h for
3055 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
3056 and __cpp_lib_parallel_algorithm.
3057 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
3058 (midpoint): Guard behind __cpp_lib_interpolate.
3059 * include/std/numbers: Switch to bits/version.h for
3060 __cpp_lib_math_constants. Guard header behind that FTM.
3061 * include/std/mutex: Switch to bits/version.h for
3062 __cpp_lib_scoped_lock.
3063 (scoped_Lock): Guard behind __cpp_lib_scoped_lock.
3064 * include/std/memory_resource: Switch to bits/version.h for
3065 __cpp_lib_{polymorphic_allocator,memory_resource}.
3066 (synchronized_pool_resource): Guard behind
3067 __cpp_lib_memory_resource >= 201603L.
3068 (polymorphic_allocator): Guard behind
3069 __cpp_lib_polymorphic_allocator.
3070 * include/std/memory: Switch to bits/version.h for
3071 __cpp_lib_{parallel_algorithm,atomic_value_initialization}.
3072 * include/std/list: Switch to bits/version.h for
3073 __cpp_lib_erase_if.
3074 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3075 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
3076 Guard header behind that FTM.
3077 * include/std/iterator: Switch to bits/version.h for
3078 __cpp_lib_null_iterators.
3079 * include/std/iomanip: Switch to bits/version.h for
3080 __cpp_lib_quoted_string_io.
3081 (quoted): Guard behind __cpp_lib_quoted_string_io.
3082 * include/std/functional: Switch to bits/version.h for
3083 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
3084 __cpp_lib_{not_fn,booyer_moore_searcher}.
3085 (invoke): Guard behind __cpp_lib_invoke.
3086 (invoke_r): Guard behind __cpp_lib_invoke_r.
3087 (bind_front): Guard behind __cpp_lib_bind_front.
3088 (not_fn): Guard behind __cpp_lib_not_fn.
3089 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
3090 definition behind __cpp_lib_boyer_moore_searcher.
3091 * include/std/forward_list: Switch to bits/version.h for
3092 __cpp_lib_erase_if.
3093 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3094 * include/std/format: Switch to bits/version.h for
3095 __cpp_lib_format. Guard header behind that FTM.
3096 * include/std/filesystem: Switch to bits/version.h for
3097 __cpp_lib_filesystem. Guard header behind that FTM.
3098 * include/std/expected: Switch to bits/version.h for
3099 __cpp_lib_expected. Guard header behind it.
3100 * include/std/execution: Switch to bits/version.h for
3101 __cpp_lib_{execution,parallel_algorithm}. Guard header behind
3102 either.
3103 * include/std/deque: Switch to bits/version.h for
3104 __cpp_lib_erase_if.
3105 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3106 * include/std/coroutine: Switch to bits/version.h for
3107 __cpp_lib_coroutine. Guard header behind that FTM.
3108 * include/std/concepts: Switch to bits/version.h for
3109 __cpp_lib_concepts. Guard header behind that FTM.
3110 * include/std/complex: Switch to bits/version.h for
3111 __cpp_lib_{complex_udls,constexpr_complex}.
3112 (operator""if, operator""i, operator""il): Guard behind
3113 __cpp_lib_complex_udls.
3114 * include/std/charconv: Swtich to bits/version.h for
3115 __cpp_lib_{to_chars,constexpr_charconv}.
3116 * include/std/bitset: Switch to bits/version.h for
3117 __cpp_lib_constexpr_bitset.
3118 * include/std/bit: Switch to bits/version.h for
3119 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
3120 (bit_cast): Guard behind __cpp_lib_bit_cast.
3121 (byteswap): Guard behind __cpp_lib_byteswap.
3122 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
3123 (popcount): Guard behind __cpp_lib_bitops.
3124 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
3125 __cpp_lib_int_pow2.
3126 (endian): Guard behind __cpp_lib_endian.
3127 * include/std/barrier: Switch to bits/version.h for
3128 __cpp_lib_barrier. Guard header behind that FTM.
3129 * include/std/atomic: Switch to bits/version.h for
3130 __cpp_lib_atomic_{is_always_lock_free,float,ref}
3131 and __cpp_lib_lock_free_type_aliases.
3132 (*::is_always_lock_free): Guard behind
3133 __cpp_lib_atomic_is_always_lock_free.
3134 (atomic<float>): Guard behind __cpp_lib_atomic_float.
3135 (atomic_ref): Guard behind __cpp_lib_atomic_ref.
3136 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
3137 __cpp_lib_atomic_lock_free_type_aliases.
3138 * include/std/array: Switch to bits/version.h for
3139 __cpp_lib_to_array.
3140 (to_array): Guard behind __cpp_lib_to_array.
3141 * include/std/any: Switch to bits/version.h for __cpp_lib_any.
3142 Guard header behind that FTM.
3143 * include/std/algorithm: Switch to bits/version.h for
3144 __cpp_lib_parallel_algorithm.
3145 * include/c_global/cstddef: Switch to bits/version.h for
3146 __cpp_lib_byte.
3147 (byte): Guard behind __cpp_lib_byte.
3148 * include/c_global/cmath: Switch to bits/version.h for
3149 __cpp_lib_{hypot,interpolate}.
3150 (hypot3): Guard behind __cpp_lib_hypot.
3151 (lerp): Guard behind __cpp_lib_interpolate.
3152 * include/c_compatibility/stdatomic.h: Switch to
3153 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that
3154 FTM.
3155 * include/bits/utility.h: Switch to bits/version.h for
3156 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
3157 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
3158 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
3159 * include/bits/uses_allocator_args.h: Switch to bits/version.h for
3160 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM.
3161 * include/bits/unordered_map.h: Switch to bits/version.h for
3162 __cpp_lib_unordered_map_try_emplace.
3163 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
3164 * include/bits/unique_ptr.h: Switch to bits/version.h for
3165 __cpp_lib_{constexpr_memory,make_unique}.
3166 (make_unique): Guard behind __cpp_lib_make_unique.
3167 * include/bits/stl_vector.h: Switch to bits/version.h for
3168 __cpp_lib_constexpr_vector.
3169 * include/bits/stl_uninitialized.h: Switch to bits/version.h for
3170 __cpp_lib_raw_memory_algorithms.
3171 (uninitialized_default_construct)
3172 (uninitialized_default_construct_n, uninitialized_move)
3173 (uninitialized_move_n, uninitialized_value_construct)
3174 (uninitialized_value_construct_n): Guard behind
3175 __cpp_lib_raw_memory_algorithms.
3176 * include/bits/stl_tree.h: Switch to bits/version.h for
3177 __cpp_lib_generic_associative_lookup.
3178 * include/bits/stl_stack.h: Switch to bits/version.h for
3179 __cpp_lib_adaptor_iterator_pair_constructor.
3180 (stack): Guard iterator-pair constructor behind
3181 __cpp_lib_adaptor_iterator_pair_constructor.
3182 * include/bits/stl_queue.h: Switch to bits/version.h for
3183 __cpp_lib_adaptor_iterator_pair_constructor.
3184 (queue): Guard iterator-pair constructor behind
3185 __cpp_lib_adaptor_iterator_pair_constructor.
3186 * include/bits/stl_pair.h: Switch to bits/version.h for
3187 __cpp_lib_{concepts,tuples_by_type}.
3188 (get): Guard type-getting overloads behind
3189 __cpp_lib_tuples_by_type.
3190 * include/bits/stl_map.h: Switch to bits/version.h for
3191 __cpp_lib_map_try_emplace.
3192 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
3193 * include/bits/stl_list.h: Switch to bits/version.h for
3194 __cpp_lib_list_remove_return_type.
3195 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
3196 [C++20]: guard behind __cpp_lib_list_remove_return_type instead.
3197 * include/bits/stl_iterator.h: Switch to bits/version.h for
3198 __cpp_lib_{constexpr_iterator,array_constexpr} and
3199 __cpp_lib_{make_reverse_iterator,move_iterator_concept}.
3200 (make_reverse_iterator): Guard behind
3201 __cpp_lib_make_reverse_iterator.
3202 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept
3203 changes behind that FTM.
3204 * include/bits/stl_function.h: Switch to bits/version.h for
3205 __cpp_lib_transparent_operators.
3206 (equal_to, not_equal_to, greater, less, greater_equal)
3207 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
3208 (logical_or, logical_not, plus, minus, multiplies, divides)
3209 (modulus, negate): Guard '= void' fwdecls behind
3210 __cpp_lib_transparent_operators.
3211 (plus<void>, minus<void>, multiplies<void>, divides<void>)
3212 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
3213 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
3214 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
3215 (greater_equal<void>, less_equal<void>, bit_not<void>)
3216 (__has_is_transparent): Guard behind
3217 __cpp_lib_transparent_operators.
3218 * include/bits/stl_algobase.h: Switch to bits/version.h for
3219 __cpp_lib_robust_nonmodifying_seq_ops.
3220 (robust equal, mismatch): Guard behind
3221 __cpp_lib_nonmember_container_access.
3222 * include/bits/stl_algo.h: Swtich to bits/version.h for
3223 __cpp_lib_{clamp,sample}.
3224 (clamp): Guard behind __cpp_lib_clamp.
3225 (sample): Guard behind __cpp_lib_sample.
3226 * include/bits/specfun.h: Switch to bits/version.h for
3227 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
3228 * include/bits/shared_ptr_base.h: Switch to bits/version.h for
3229 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
3230 (_Sp_overwrite_tag): Guard behind
3231 __cpp_lib_smart_ptr_for_overwrite.
3232 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
3233 __cpp_lib_atomic_shared_ptr.
3234 * include/bits/shared_ptr.h: Switch to bits/version.h for
3235 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
3236 (shared_ptr<T>::weak_type): Guard behind
3237 __cpp_lib_shared_ptr_weak_type.
3238 (enable_shared_from_this<T>::weak_from_this): Guard behind
3239 __cpp_lib_enable_shared_from_this.
3240 * include/bits/ranges_cmp.h: Switch to bits/version.h for
3241 __cpp_lib_ranges.
3242 * include/bits/ranges_algo.h: Switch to bits/version.h for
3243 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
3244 * include/bits/range_access.h: Switch to bits/version.h for
3245 __cpp_lib_nonmember_container_access
3246 (size, empty, data): Guard behind
3247 __cpp_lib_nonmember_container_access.
3248 (ssize): Guard behind __cpp_lib_ssize.
3249 * include/bits/ptr_traits.h: Switch to bits/version.h. for
3250 __cpp_lib_{constexpr_memory,to_address}.
3251 (to_address): Guard behind __cpp_lib_to_address.
3252 * include/bits/node_handle.h: Switch to bits/version.h for
3253 __cpp_lib_node_extract. Guard header behind that FTM.
3254 * include/bits/move_only_function.h: Switch to bits/version.h for
3255 __cpp_lib_move_only_function. Guard header behind that FTM.
3256 * include/bits/move.h: Switch to bits/version.h for
3257 __cpp_lib_addressof_constexpr.
3258 * include/bits/ios_base.h: Switch to bits/version.h for
3259 __cpp_lib_ios_noreplace.
3260 (noreplace): Guard with __cpp_lib_ios_noreplace.
3261 * include/bits/hashtable.h: Switch to bits/version.h for
3262 __cpp_lib_generic_unordered_lookup.
3263 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
3264 __cpp_lib_generic_unordered_lookup.
3265 * include/bits/forward_list.h: Switch to bits/version.h for
3266 __cpp_lib_list_remove_return_type.
3267 (__remove_return_type): Guard behind
3268 __cpp_lib_list_remove_return_type.
3269 * include/bits/erase_if.h: Switch to bits/version.h for
3270 __cpp_lib_erase_if.
3271 * include/bits/cow_string.h: Switch to bits/version.h for
3272 __cpp_lib_constexpr_string.
3273 * include/bits/chrono.h: Swtich to bits/version.h for
3274 __cpp_lib_chrono{,_udls}.
3275 (ceil): Guard behind __cpp_lib_chrono.
3276 (operator""ns et al): Guard behind __cpp_lib_chrono_udls.
3277 * include/bits/char_traits.h: Switch to bits/version.h for
3278 __cpp_lib_constexpr_char_traits.
3279 * include/bits/basic_string.h: Switch to bits/version.h for
3280 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
3281 (resize_and_overwrite): Guard behind
3282 __cpp_lib_string_resize_and_overwrite.
3283 (operator""s): Guard behind __cpp_lib_string_udls.
3284 * include/bits/atomic_wait.h: Switch to bits/version.h for
3285 __cpp_lib_atomic_wait. Guard header behind that FTM.
3286 * include/bits/atomic_base.h: Switch to bits/version.h for
3287 __cpp_lib_atomic_value_initialization and
3288 __cpp_lib_atomic_flag_test.
3289 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
3290 rather than C++20.
3291 * include/bits/allocator.h: Switch to bits/version.h for
3292 __cpp_lib_incomplete_container_elements.
3293 * include/bits/alloc_traits.h: Switch to using bits/version.h for
3294 __cpp_lib_constexpr_dynamic_alloc and
3295 __cpp_lib_allocator_traits_is_always_equal.
3296 * include/bits/align.h: Switch to bits/version.h for defining
3297 __cpp_lib_assume_aligned.
3298 (assume_aligned): Guard with __cpp_lib_assume_aligned.
3299 * include/bits/algorithmfwd.h: Switch to bits/version.h for
3300 defining __cpp_lib_constexpr_algorithms.
3301 * include/std/stacktrace: Switch to bits/version.h for
3302 __cpp_lib_stacktrace. Guard header behind that FTM.
3303 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
3304 Update line numbers.
3305
3306 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
3307
3308 * include/Makefile.am (bits_freestanding): Add version.h.
3309 (allcreated): Add version.h.
3310 (${bits_srcdir}/version.h): New rule. Regenerates
3311 version.h out of version.{def,tpl}.
3312 * include/Makefile.in: Regenerate.
3313 * include/bits/version.def: New file. Declares a list of
3314 all feature test macros, their values and their preconditions.
3315 * include/bits/version.tpl: New file. Turns version.def
3316 into a sequence of #if blocks.
3317 * include/bits/version.h: New file. Generated from
3318 version.def.
3319 * include/std/version: Replace with a __glibcxx_want_all define
3320 and bits/version.h include.
3321
3322 2023-08-14 Paul Dreik <gccpatches@pauldreik.se>
3323
3324 PR libstdc++/110860
3325 * include/std/format (__formatter_fp::format): Use frexp instead
3326 of log10.
3327
3328 2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org>
3329
3330 * include/std/type_traits (true_type): Use __bool_constant
3331 instead.
3332 (false_type): Likewise.
3333 (bool_constant): Likewise.
3334
3335 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3336
3337 PR libstdc++/110990
3338 * include/std/format (_Seq_sink::get): Only call _M_overflow if
3339 its precondition is met.
3340 (_Iter_sink::_M_finish): Likewise.
3341 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
3342 internal buffer after running out of space.
3343 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
3344 (_Counting_sink::count): Likewise.
3345 * testsuite/std/format/functions/format_to_n.cc: Check cases
3346 where the output fits into the buffer.
3347
3348 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3349
3350 PR libstdc++/104167
3351 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
3352 to _ChronoParts operators.
3353 (from_stream, parse): Define new functions.
3354 (__detail::_Parse, __detail::_Parser): New class templates.
3355 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
3356 C++20.
3357 * include/std/version (__cpp_lib_chrono): Likewise.
3358 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
3359 Adjust expected value of feature test macro.
3360 * testsuite/20_util/duration/io.cc: Test parsing.
3361 * testsuite/std/time/clock/file/io.cc: Likewise.
3362 * testsuite/std/time/clock/gps/io.cc: Likewise.
3363 * testsuite/std/time/clock/system/io.cc: Likewise.
3364 * testsuite/std/time/clock/tai/io.cc: Likewise.
3365 * testsuite/std/time/clock/utc/io.cc: Likewise.
3366 * testsuite/std/time/day/io.cc: Likewise.
3367 * testsuite/std/time/month/io.cc: Likewise.
3368 * testsuite/std/time/month_day/io.cc: Likewise.
3369 * testsuite/std/time/weekday/io.cc: Likewise.
3370 * testsuite/std/time/year/io.cc: Likewise.
3371 * testsuite/std/time/year_month/io.cc: Likewise.
3372 * testsuite/std/time/year_month_day/io.cc: Likewise.
3373 * testsuite/std/time/syn_c++20.cc: Check value of macro and for
3374 the existence of parse and from_stream in namespace chrono.
3375 * testsuite/std/time/clock/local/io.cc: New test.
3376 * testsuite/std/time/parse.cc: New test.
3377
3378 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3379
3380 PR libstdc++/110860
3381 * include/std/format (__formatter_fp::format): Do not call log10
3382 with zero values.
3383
3384 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3385
3386 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
3387 Check for out-of-range month an weekday indices.
3388 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
3389 month and weekday values.
3390
3391 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
3392
3393 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
3394
3395 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3396
3397 PR libstdc++/110974
3398 * include/std/format (_Spec::_S_parse_width_or_precision): Check
3399 for empty range before dereferencing iterator.
3400 * testsuite/std/format/string.cc: Check for expected exception.
3401 Fix expected exception message in test_pr110862() and actually
3402 call it.
3403
3404 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3405
3406 PR libstdc++/110968
3407 * include/std/format (__formatter_fp::format): Check return
3408 value of _M_localize.
3409 * testsuite/std/format/functions/format.cc: Check classic
3410 locale.
3411
3412 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
3413
3414 PR libstdc++/110970
3415 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
3416 __iter_category_t.
3417 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
3418 (__detail::__basic_const_iterator_iter_cat): Likewise.
3419 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
3420 Rename to __iter_category_t.
3421
3422 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3423
3424 * include/bits/chrono.h (duration_cast): Do not use braces
3425 around statements for C++11 constexpr rules.
3426 * include/bits/stl_algobase.h (__lg): Rewrite as a single
3427 statement for C++11 constexpr rules.
3428 * include/experimental/bits/fs_path.h (path::string): Use
3429 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
3430 * include/std/charconv (__to_chars_8): Initialize variable for
3431 C++17 constexpr rules.
3432
3433 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3434
3435 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
3436 warning for loop condition.
3437
3438 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3439
3440 * include/std/complex: Add diagnostic pragma for clang.
3441
3442 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3443
3444 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
3445 to struct.
3446 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
3447 class-head to struct in friend declaration.
3448 * include/std/chrono (tzdb_list::_Node): Likewise.
3449 * include/std/future (_Task_state_base, _Task_state): Likewise.
3450 * include/std/scoped_allocator (__inner_type_impl): Likewise.
3451 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
3452 (_ValFunClos, _RefFunClos): Change class-head to struct.
3453
3454 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3455
3456 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
3457 attribute.
3458 * include/bits/regex_executor.tcc: Remove name of unused
3459 parameter.
3460 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
3461 Likewise.
3462 * include/bits/stl_uninitialized.h: Likewise.
3463 * include/bits/streambuf_iterator.h (operator==): Likewise.
3464 * include/bits/uses_allocator.h: Likewise.
3465 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
3466 * include/std/chrono (zoned_time): Likewise.
3467 * include/std/future (__future_base::_S_allocate_result):
3468 Likewise.
3469 (packaged_task): Likewise.
3470 * include/std/optional (_Optional_payload_base): Likewise.
3471 * include/std/scoped_allocator (__inner_type_impl): Likewise.
3472 * include/std/tuple (_Tuple_impl): Likewise.
3473
3474 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3475
3476 * include/bits/new_allocator.h (__new_allocator): Define copy
3477 assignment operator as defaulted.
3478 * include/std/complex (complex<float>, complex<double>)
3479 (complex<long double>): Define copy constructor as defaulted.
3480
3481 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
3482
3483 * include/std/format: Fix some warnings.
3484 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
3485 unused function template.
3486
3487 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3488
3489 PR libstdc++/110860
3490 * include/std/format (__formatter_fp::format): Do not use
3491 __builtin_abs and __builtin_log10 with arbitrary floating-point
3492 types.
3493
3494 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3495
3496 PR libstdc++/110917
3497 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
3498 Constrain partial specialization for contiguous iterators to
3499 require the value type to be CharT.
3500 * testsuite/std/format/functions/format_to.cc: New test.
3501
3502 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
3503
3504 PR libstdc++/110862
3505 * include/std/format (_Scanner::_M_on_replacement_field):
3506 Check for expected '}' before incrementing iterator.
3507 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
3508
3509 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3510
3511 * configure: Regenerate.
3512
3513 2023-08-07 Alan Modra <amodra@gmail.com>
3514
3515 * configure: Regenerate.
3516
3517 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
3518
3519 * configure: Regenerate.
3520
3521 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3522
3523 * configure: Regenerate.
3524
3525 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
3526
3527 * configure: Regenerate.
3528
3529 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
3530
3531 * configure: Regenerate.
3532
3533 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
3534
3535 * configure: Regenerate.
3536
3537 2023-08-06 François Dumont <fdumont@gcc.gnu.org>
3538
3539 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
3540 symbol export.
3541
3542 2023-07-30 François Dumont <fdumont@gcc.gnu.org>
3543
3544 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
3545 proper #error.
3546 * src/c++11/locale-inst-monetary.h: Likewise.
3547 * src/c++11/locale-inst-numeric.h: Likewise.
3548
3549 2023-07-27 Jonathan Wakely <jwakely@redhat.com>
3550
3551 PR libstdc++/108046
3552 * include/std/format (__formatter_fp::format): Ensure __expc is
3553 always set for all presentation types. Set __z correctly for
3554 zero precision.
3555 * testsuite/std/format/functions/format.cc: Check problem cases.
3556
3557 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3558
3559 PR libstdc++/110807
3560 * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
3561
3562 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3563
3564 PR libstdc++/110807
3565 * include/bits/stl_bvector.h (vector(const vector&)): Access
3566 iterators before allocating.
3567 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
3568 Likewise.
3569 * testsuite/23_containers/vector/bool/110807.cc: New test.
3570
3571 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
3572
3573 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
3574 attribute.
3575 * include/bits/stl_algo.h (random_shuffle): Correct comments.
3576 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
3577 deprecated warnings.
3578 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
3579 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
3580 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
3581 test.
3582
3583 2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
3584
3585 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
3586 locations.
3587 * testsuite/26_numerics/gcd/105844.cc: Likewise.
3588 * testsuite/26_numerics/lcm/105844.cc: Likewise.
3589
3590 2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
3591
3592 * include/std/format (_Formatting_scanner::_M_on_chars): Add
3593 missing constexpr specifier.
3594 (_Formatting_scanner::_M_format_arg): Likewise.
3595
3596 2023-07-24 Jonathan Wakely <jwakely@redhat.com>
3597
3598 PR libstdc++/110653
3599 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
3600 throw an exception for zero result.
3601 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
3602
3603 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3604
3605 PR libstdc++/110077
3606 * src/c++17/floating_from_chars.cc (from_chars): Only define
3607 _Float128 overload when using __strfromf128.
3608
3609 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3610
3611 PR libstdc++/110593
3612 * include/bits/chrono.h (duration): Improve static assert
3613 messages.
3614 (__is_ratio): Move to ...
3615 * include/std/ratio (__is_ratio): ... here.
3616 (__is_ratio_v): New variable template and partial
3617 specialization.
3618 (__are_both_ratios): New function template.
3619 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
3620 Add static assertion.
3621 * testsuite/20_util/ratio/requirements/type_constraints.cc:
3622 New test.
3623 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
3624 Adjust expected error.
3625 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
3626 Likewise.
3627
3628 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3629
3630 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
3631 Do not set __is_neg for hh_mm_ss before calling
3632 _M_format_to_ostream. Change __print_sign lambda to only check
3633 __is_neg for durations and hh_mm_ss types.
3634 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
3635 for duration types.
3636 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
3637
3638 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3639
3640 PR libstdc++/110719
3641 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
3642 Handle duration and hh_mm_ss.
3643 * testsuite/20_util/duration/io.cc: Check locale-specific
3644 formats.
3645 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
3646
3647 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3648
3649 * include/std/format (__write_padded): Initialize first element
3650 of array to avoid a -Wmaybe-uninitialized warning.
3651
3652 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3653
3654 PR libstdc++/110719
3655 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
3656 allowed modifiers for %z and %Z. Fix -Wparentheses and
3657 -Wnarrowing warnings.
3658 (__formatter_chrono::_M_format): Call new functions for %d, %e,
3659 %H, %I, %m and %M.
3660 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
3661 subsecond precision.
3662 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
3663 modifiers.
3664 (__formatter_chrono::_M_e): Replace with _M_d_e and use
3665 _M_locale_fmt.
3666 (__formatter_chrono::_M_I): Replace with _M_H_I and use
3667 _M_locale_fmt.
3668 (__formatter_chrono::_M_m): New function.
3669 (__formatter_chrono::_M_M): New function.
3670 (__formatter_chrono::_M_r): Use _M_locale_fmt.
3671 (__formatter_chrono::_M_S): Likewise.
3672 (__formatter_chrono::_M_u_w): Likewise.
3673 (__formatter_chrono::_M_U_V_W): Likewise.
3674 (__formatter_chrono::_M_X): Use _S_floor_seconds.
3675 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
3676 (__formatter_chrono::_S_altnum): Remove function.
3677 (__formatter_chrono::_S_dd_zero_fill): Remove function.
3678 (__formatter_chrono::_S_floor_seconds): New function.
3679 (__formatter_chrono::_M_locale_fmt): New function.
3680 * testsuite/std/time/clock/system/io.cc: Adjust expected output
3681 for locale-specific formats and check modified formats.
3682 * testsuite/std/time/clock/utc/io.cc: Likewise.
3683 * testsuite/std/time/zoned_time/io.cc: New test.
3684
3685 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3686
3687 PR libstdc++/110708
3688 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
3689 allow a single modifier.
3690 * testsuite/std/time/format.cc: Check multiple modifiers.
3691
3692 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3693
3694 PR libstdc++/110653
3695 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3696 Remove dg-require-string-conversions.
3697 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3698 Likewise.
3699 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3700 Likewise.
3701 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3702 Likewise.
3703 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
3704 Likewise.
3705
3706 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3707
3708 PR libstdc++/110653
3709 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
3710 Define in terms of std::stod.
3711
3712 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
3713
3714 PR libstdc++/110653
3715 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
3716 Define.
3717 [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
3718 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
3719 Declare in namespace std.
3720 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
3721
3722 2023-07-13 Jonathan Wakely <jwakely@redhat.com>
3723
3724 PR libstdc++/110653
3725 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
3726 depend on _GLIBCXX_USE_C99_STDLIB.
3727 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
3728 in terms of stol and stoul respectively.
3729 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
3730 of stod.
3731
3732 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3733
3734 PR libstdc++/95048
3735 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
3736 conversions to wide strings.
3737 * testsuite/experimental/filesystem/path/construct/95048.cc:
3738 Likewise.
3739
3740 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3741
3742 * config/io/basic_file_stdio.cc: Define LFS macros.
3743 (__basic_file<char>::open): Use fopen unconditionally.
3744 (get_file_offset): Use lseek unconditionally.
3745 (__basic_file<char>::seekoff): Likewise.
3746 (__basic_file<char>::showmanyc): Use fstat unconditionally.
3747
3748 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
3749
3750 PR libstdc++/110574
3751 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
3752 and define _GLIBCXX_USE_FSEEKO_FTELLO.
3753 * config.h.in: Regenerate.
3754 * configure: Regenerate.
3755 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
3756 Check for fwrite error correctly.
3757 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
3758 fread error correctly.
3759 (get_file_offset): New function.
3760 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
3761 fseeko if available. Use get_file_offset instead of return value
3762 of fseek.
3763 (__basic_file<char>::showmanyc): Use get_file_offset.
3764
3765 2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
3766
3767 * include/std/type_traits (__make_unsigned_selector): Use
3768 __is_enum built-in trait.
3769 (__make_signed_selector): Likewise.
3770 (__underlying_type_impl): Likewise.
3771
3772 2023-07-06 Tianqiang Shuai <1101282468@qq.com>
3773
3774 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
3775 first argument.
3776
3777 2023-07-06 Jonathan Wakely <jwakely@redhat.com>
3778
3779 PR libstdc++/110574
3780 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
3781 --enable-cstdio.
3782 * doc/html/manual/configure.html: Regenerate.
3783
3784 2023-07-05 Thomas Rodgers <trodgers@redhat.com>
3785
3786 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
3787 file.
3788 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
3789 New file.
3790 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
3791 Likewise.
3792 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
3793 Likewise.
3794 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
3795 Likewise.
3796 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
3797 Likewise.
3798
3799 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3800
3801 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
3802 Skip as UNSUPPORTED for C++98 mode.
3803 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
3804 Likewise.
3805
3806 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3807
3808 PR libstdc++/110542
3809 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
3810 Do not use std::fill_n during constant evaluation.
3811
3812 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3813
3814 * include/bits/vector.tcc (_M_default_append): Replace try-block
3815 with RAII types.
3816
3817 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
3818
3819 * include/bits/iterator_concepts.h (projected): Add typename.
3820
3821 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3822
3823 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
3824 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
3825
3826 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3827
3828 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
3829 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
3830 Define to OpenMP 5.0 pragmas even for GCC 10.0+.
3831 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
3832
3833 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
3834
3835 * include/bits/alloc_traits.h (_Destroy): Qualify call.
3836 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
3837 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
3838
3839 2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
3840
3841 * testsuite/lib/libstdc++.exp: Remove additional flag handled
3842 by Darwin specs.
3843
3844 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3845
3846 PR libstdc++/110432
3847 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
3848 * config.h.in: Regenerate.
3849 * configure: Regenerate.
3850 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
3851 * include/std/iostream: Use new autoconf macro as well as
3852 __has_attribute.
3853 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
3854 __has_attribute.
3855
3856 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3857
3858 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
3859 attribute.
3860
3861 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
3862
3863 PR libstdc++/105081
3864 * src/c++11/random.cc (random_device::_M_init): Throw
3865 std::system_error when the requested device is a valid token but
3866 not available at runtime.
3867
3868 2023-06-30 Hans-Peter Nilsson <hp@axis.com>
3869
3870 PR libstdc++/108672
3871 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
3872 __INT32_TYPE__ instead of int32_t.
3873
3874 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
3875
3876 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
3877 with USE_ATOMIC_LIST_HEAD.
3878 (list_mutex): Replace global object with function. Use local
3879 static object when std::mutex constructor isn't constexpr.
3880
3881 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
3882
3883 PR libstdc++/110462
3884 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
3885 copy_file_range can be called with loff_t* arguments.
3886 * configure: Regenerate.
3887 * src/filesystem/ops-common.h (copy_file_copy_file_range):
3888 Use loff_t for offsets.
3889
3890 2023-06-29 Tom Tromey <tromey@adacore.com>
3891
3892 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
3893 regexp.
3894
3895 2023-06-28 Jan Hubicka <jh@suse.cz>
3896
3897 PR middle-end/109849
3898 * include/bits/c++config (std::__terminate): Mark cold.
3899 * include/bits/functexcept.h: Mark everything as cold.
3900 * libsupc++/exception: Mark terminate and unexpected as cold.
3901
3902 2023-06-26 Thomas Rodgers <trodgers@redhat.com>
3903
3904 * include/pstl/algorithm_fwd.h: Synchronize with upstream.
3905 * include/pstl/algorithm_impl.h: Likewise.
3906 * include/pstl/execution_defs.h: Likewise.
3907 * include/pstl/execution_impl.h: Likewise.
3908 * include/pstl/glue_algorithm_impl.h: Likewise.
3909 * include/pstl/glue_execution_defs.h: Likewise.
3910 * include/pstl/glue_memory_impl.h: Likewise.
3911 * include/pstl/glue_numeric_impl.h: Likewise.
3912 * include/pstl/memory_impl.h: Likewise.
3913 * include/pstl/numeric_fwd.h: Likewise.
3914 * include/pstl/numeric_impl.h: Likewise.
3915 * include/pstl/parallel_backend.h: Likewise.
3916 * include/pstl/parallel_backend_serial.h: Likewise.
3917 * include/pstl/parallel_backend_tbb.h: Likewise.
3918 * include/pstl/parallel_impl.h: Likewise.
3919 * include/pstl/pstl_config.h: Likewise.
3920 * include/pstl/unseq_backend_simd.h: Likewise.
3921 * include/pstl/utils.h: Likewise.
3922 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
3923 Likewise.
3924 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
3925 Likewise.
3926 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
3927 Likewise.
3928 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
3929 Likewise.
3930 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
3931 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
3932 Likewise.
3933 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
3934 Likewise.
3935 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
3936 Likewise.
3937 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
3938 Likewise.
3939 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
3940 Likewise.
3941 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
3942 Likewise.
3943 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
3944 Likewise.
3945 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
3946 Likewise.
3947 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
3948 Likewise.
3949 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
3950 Likewise.
3951 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
3952 Likewise.
3953 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
3954 Likewise.
3955 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
3956 Likewise.
3957 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
3958 Likewise.
3959 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
3960 Likewise.
3961 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
3962 Likewise.
3963 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
3964 Likewise.
3965 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
3966 Likewise.
3967 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
3968 Likewise.
3969 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
3970 Likewise.
3971 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
3972 Likewise.
3973 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
3974 Likewise.
3975 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
3976 Likewise.
3977 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
3978 Likewise.
3979 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
3980 Likewise.
3981 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
3982 Likewise.
3983 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
3984 Likewise.
3985 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
3986 Likewise.
3987 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
3988 Likewise.
3989 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
3990 Likewise.
3991 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
3992 Likewise.
3993 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
3994 Likewise.
3995 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
3996 Likewise.
3997 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
3998 Likewise.
3999 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
4000 Likewise.
4001 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
4002 Likewise.
4003 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
4004 Likewise.
4005 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
4006 Likewise.
4007 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
4008 Likewise.
4009 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
4010 Likewise.
4011 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
4012 Likewise.
4013 * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
4014 Likewise.
4015 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
4016 Likewise.
4017 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
4018 Likewise.
4019 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
4020 Likewise.
4021 * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
4022 Likewise.
4023 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4024 Likewise.
4025 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
4026 Likewise.
4027 * testsuite/util/pstl/test_utils.h:
4028 Likewise.
4029
4030 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4031
4032 PR libstdc++/110239
4033 * include/std/format (__format::__parse_integer): Fix buffer
4034 overflow for wide chars.
4035 (formatter<const void*, C>::format): Cast to uintptr_t instead
4036 of uint64_t.
4037 * testsuite/std/format/string.cc: Test too-large widths.
4038
4039 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4040
4041 * include/bits/iterator_concepts.h (projected): Replace class
4042 template with alias template denoting an ADL-proofed helper.
4043 (incremental_traits<projected<Iter, Proj>>): Remove.
4044 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
4045 New test.
4046
4047 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4048
4049 * include/debug/helper_functions.h (__get_distance)
4050 (__check_singular, __valid_range_aux, __valid_range): Qualify
4051 calls to disable ADL.
4052 (__check_singular_aux(const _Safe_iterator_base*)): Declare
4053 overload that was previously found via ADL.
4054
4055 2023-06-23 Jonathan Wakely <jwakely@redhat.com>
4056
4057 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
4058 with RAII types.
4059
4060 2023-06-20 Jonathan Wakely <jwakely@redhat.com>
4061
4062 * include/std/array (to_array(T(&)[N])): Remove redundant
4063 condition.
4064 (to_array(T(&&)[N])): Remove redundant std::move.
4065
4066 2023-06-16 Alexandre Oliva <oliva@adacore.com>
4067
4068 * testsuite/20_util/from_chars/4.cc: Skip long double on
4069 aarch64-rtems.
4070
4071 2023-06-16 Joel Brobecker <brobecker@adacore.com>
4072
4073 * configure.ac ["x${with_newlib}" = "xyes"]: Define
4074 HAVE_HYPOTF. Add compile-checks for various long double
4075 math functions as well.
4076 * configure: Regenerate.
4077
4078 2023-06-14 Jonny Grant <jg@jguk.org>
4079
4080 * doc/xml/manual/extensions.xml: Remove demangle exception
4081 description and include.
4082 * doc/html/manual/ext_demangling.html: Regenerate.
4083
4084 2023-06-10 Hans-Peter Nilsson <hp@axis.com>
4085
4086 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
4087 [! SIMULATOR_TEST]: Also exclude running test05.
4088 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
4089
4090 2023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
4091
4092 * include/std/type_traits: Use using instead of typedef
4093
4094 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4095
4096 PR libstdc++/110077
4097 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
4098 Only define if _Float128 and long double have different
4099 representations.
4100
4101 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4102
4103 PR libstdc++/100285
4104 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
4105 (basic_endpoint, basic_resolver_entry, resolver_base)
4106 (basic_resolver_results, basic_resolver): Only define if the tcp
4107 or udp protocols will be defined.
4108
4109 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4110
4111 * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
4112 * configure: Regenerate.
4113 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
4114 * doc/html/manual/abi.html: Regenerate.
4115
4116 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4117
4118 PR libstdc++/110149
4119 * include/std/format (formatter<const void*, charT>::parse):
4120 Only alow 0 and P for C++26 and non-strict modes.
4121 (formatter<const void*, charT>::format): Use toupper for P
4122 type, and insert zero-fill characters for 0 option.
4123 * testsuite/std/format/functions/format.cc: Check pointer
4124 formatting. Only check P2510R3 extensions conditionally.
4125 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
4126 extensions conditionally.
4127
4128 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4129
4130 PR libstdc++/110167
4131 * include/std/array (to_array): Initialize arrays of trivial
4132 types using memcpy. For non-trivial types, use lambda
4133 expressions instead of a separate helper function.
4134 (__to_array): Remove.
4135 * testsuite/23_containers/array/creation/110167.cc: New test.
4136
4137 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4138
4139 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
4140 Removed.
4141 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
4142 Removed.
4143 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
4144 Removed.
4145 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
4146 Removed.
4147 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
4148 Removed.
4149 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
4150 Removed.
4151 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
4152 test.
4153 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
4154 test.
4155 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
4156 test.
4157
4158 2023-06-07 Jakub Jelinek <jakub@redhat.com>
4159
4160 PR libstdc++/110145
4161 * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
4162 (double_to_chars_test_cases,
4163 double_scientific_precision_to_chars_test_cases_2,
4164 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
4165 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
4166 Add unconditional tests with corresponding double constants
4167 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
4168 0x1.7440bbff418b9p-18.
4169
4170 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4171
4172 * testsuite/util/testsuite_abi.cc (check_version): Re-add
4173 CXXABI_1.3.14.
4174
4175 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4176
4177 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
4178 Require effective target exceptions_enabled instead of using
4179 dg-skip-if.
4180 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
4181 shrink_to_fit() to be a no-op without exceptions enabled.
4182 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
4183 Likewise.
4184 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
4185 Require effective target exceptions_enabled.
4186 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
4187 Likewise.
4188 * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
4189 Likewise.
4190 * testsuite/ext/new_allocator/check_allocate_max_size.cc:
4191 Likewise.
4192 * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
4193 Likewise.
4194 * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
4195 Likewise.
4196
4197 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4198
4199 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
4200 affected by rounding.
4201 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
4202 double before comparing for equality.
4203 * testsuite/20_util/from_chars/6.cc: Likewise.
4204 * testsuite/20_util/variant/86874.cc: Use values that aren't
4205 affected by rounding.
4206 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
4207 original value instead of to floating-point-literal.
4208 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
4209 Cast arithmetic result to double before comparing for equality.
4210 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
4211 Likewise.
4212 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
4213 Likewise.
4214 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
4215 the absolute difference is less than 0.01 instead of comparing
4216 to two decimal places.
4217 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
4218 Cast arithmetic result to double before comparing for equality.
4219 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
4220 Likewise.
4221 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4222 Likewise.
4223 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
4224 Likewise.
4225 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
4226 Likewise.
4227 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
4228 Likewise.
4229 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4230
4231 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4232
4233 Revert:
4234 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4235
4236 * configure.ac: Use AS_IF.
4237 * configure: Regenerate.
4238
4239 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
4240
4241 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
4242 'UNSUPPORTED: [...]: exception handling disabled'.
4243
4244 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4245
4246 * testsuite/util/testsuite_abi.cc (check_version): Add
4247 CXXABI_1.3.15 symver and make it the latestp. Remove
4248 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
4249
4250 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4251 Jakub Jelinek <jakub@redhat.com>
4252
4253 PR libstdc++/104772
4254 * include/std/limits: (numeric_limits<__float128>): Define
4255 for __STRICT_ANSI__ as well.
4256 * testsuite/18_support/numeric_limits/128bit.cc: Remove
4257 check for __STRICT_ANSI__.
4258
4259 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4260
4261 * configure.ac: Use AS_IF.
4262 * configure: Regenerate.
4263
4264 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4265
4266 PR libstdc++/109822
4267 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
4268 to avoid casts to other vector types. Implement store as
4269 succession of power-of-2 sized memcpy to avoid PR90424.
4270
4271 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4272
4273 PR libstdc++/110054
4274 * include/experimental/bits/simd_builtin.h (_S_masked_store):
4275 Call into deduced ABI's SimdImpl after conversion.
4276 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
4277 Don't use _mm_maskmoveu_si128. Use the generic fall-back
4278 implementation. Also fix masked stores without SSE2, which
4279 were not doing anything before.
4280
4281 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
4282
4283 * include/experimental/bits/simd.h (__bit_cast): Use
4284 __gnu__::__vector_size__ instead of gnu::vector_size.
4285
4286 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4287
4288 PR libstdc++/110139
4289 * include/std/array (__array_traits<T, 0>::operator T*()): Make
4290 conversion operator explicit.
4291 (array::front): Use size_type as subscript operand.
4292 (array::data): Use static_cast to make conversion explicit.
4293 * testsuite/23_containers/array/element_access/110139.cc: New
4294 test.
4295
4296 2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
4297
4298 * include/bits/locale_classes.tcc: Remove check for
4299 codecvt<char8_t, char, mbstate_t> facet.
4300
4301 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4302
4303 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
4304 close-on-exec flag on file descriptors.
4305
4306 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
4307
4308 PR libstdc++/108178
4309 * src/filesystem/ops-common.h (do_copy_file): Check for empty
4310 files by trying to read a character.
4311 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
4312 New test.
4313
4314 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
4315
4316 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
4317 * config.h.in: Regenerate.
4318 * configure: Regenerate.
4319 * src/filesystem/ops-common.h (copy_file_copy_file_range):
4320 Define new function.
4321 (do_copy_file): Use it.
4322
4323 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
4324
4325 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
4326 * config.h.in: Regenerate.
4327 * configure: Regenerate.
4328 * src/filesystem/ops-common.h (copy_file_sendfile): Define new
4329 function for sendfile logic. Loop to support large files. Skip
4330 zero-length files.
4331 (do_copy_file): Use it.
4332
4333 2023-06-04 Jason Merrill <jason@redhat.com>
4334
4335 PR c++/97720
4336 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
4337 * config/abi/pre/gnu.ver: Add it.
4338
4339 2023-06-02 François Dumont <fdumont@gcc.gnu.org>
4340
4341 * include/parallel/algobase.h: Include <parallel/search.h>.
4342
4343 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4344
4345 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4346 Add const to equality operator.
4347
4348 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4349
4350 * include/std/expected (expected::and_then, expected::or_else)
4351 (expected::transform_error): Use _M_val and _M_unex instead of
4352 calling value() and error(), as per LWG 3938.
4353 (expected::transform): Likewise. Remove incorrect std::move
4354 calls from lvalue overloads.
4355 (expected<void, E>::and_then, expected<void, E>::or_else)
4356 (expected<void, E>::transform): Use _M_unex instead of calling
4357 error().
4358 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
4359 and transform, and for std::expected<void, E>.
4360 * testsuite/20_util/expected/lwg3938.cc: New test.
4361
4362 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4363
4364 PR libstdc++/110060
4365 * include/bits/stl_vector.h (_Vector_base::_M_invariant):
4366 Remove.
4367 (vector::size, vector::capacity): Remove calls to _M_invariant.
4368 * include/bits/vector.tcc (vector::_M_fill_assign): Add
4369 optimization hint to reallocating path.
4370 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
4371 Likewise.
4372 * testsuite/23_containers/vector/capacity/invariant.cc: Moved
4373 to...
4374 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
4375 ...here. Check assign(FwdIter, FwdIter) too.
4376 * testsuite/23_containers/vector/types/1.cc: Revert addition
4377 of -Wno-stringop-overread option.
4378
4379 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
4380
4381 * doc/xml/manual/evolution.xml: Document removal of implicit
4382 allocator rebinding extensions in strict mode and for C++20.
4383 * doc/html/*: Regenerate.
4384
4385 2023-06-01 Jason Merrill <jason@redhat.com>
4386
4387 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
4388 handlers in the cleanup phase.
4389
4390 2023-06-01 Matthias Kretz <m.kretz@gsi.de>
4391
4392 PR libstdc++/110050
4393 * include/experimental/bits/simd.h (__vectorized_sizeof): With
4394 __have_neon_a32 only single-precision float works (in addition
4395 to integers).
4396
4397 2023-06-01 François Dumont <fdumont@gcc.gnu.org>
4398
4399 * include/bits/stl_algo.h
4400 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
4401 * include/bits/stl_algobase.h: ...here.
4402 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
4403 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
4404 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
4405 Move...
4406 * include/parallel/algobase.h: ...here.
4407 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
4408 includes. Include <bits/stl_algobase.h>.
4409
4410 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4411
4412 PR libstdc++/109818
4413 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
4414 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
4415 * config.h.in: Regenerate.
4416 * configure: Regenerate.
4417 * include/c_global/cmath (float_t, double_t): Guard using new
4418 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
4419
4420 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4421
4422 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
4423 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
4424 for C99 rounding functions to here.
4425 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
4426 functions from here.
4427 * config.h.in: Regenerate.
4428 * configure: Regenerate.
4429 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
4430 of _GLIBCXX_USE_C99_MATH_TR1.
4431 * include/bits/random.tcc: Likewise.
4432 * include/c_compatibility/math.h: Likewise.
4433 * include/c_global/cmath: Likewise.
4434 * include/ext/random: Likewise.
4435 * include/ext/random.tcc: Likewise.
4436 * include/std/complex: Likewise.
4437 * testsuite/20_util/from_chars/4.cc: Likewise.
4438 * testsuite/20_util/from_chars/8.cc: Likewise.
4439 * testsuite/26_numerics/complex/proj.cc: Likewise.
4440 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
4441 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
4442 Likewise.
4443 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
4444 Likewise.
4445 * testsuite/util/testsuite_random.h: Likewise.
4446
4447 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4448
4449 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
4450 function.
4451 (vector::size(), vector::capacity()): Call _M_invariant().
4452 * testsuite/23_containers/vector/capacity/invariant.cc: New test.
4453 * testsuite/23_containers/vector/types/1.cc: Add suppression for
4454 false positive warning (PR110060).
4455
4456 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4457
4458 PR libstdc++/109921
4459 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
4460 defined before trying to use _Float128.
4461
4462 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4463
4464 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
4465 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
4466 * configure: Regenerate.
4467
4468 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4469
4470 * include/bits/unique_lock.h: Include <bits/error_constants.h>
4471 here for std::errc constants.
4472 * include/std/mutex: Do not include <bits/error_constants.h> and
4473 <exception> here.
4474
4475 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4476
4477 * configure.ac: Replace use of -o operator for test.
4478 * configure: Regenerate.
4479
4480 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4481
4482 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
4483 noexcept to all constructors except the default constructor.
4484 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
4485 (scoped_allocator_adaptor::outer_allocator): Likewise.
4486 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
4487
4488 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4489
4490 PR libstdc++/104772
4491 * include/std/limits (numeric_limits<__float128>): Define.
4492 * testsuite/18_support/numeric_limits/128bit.cc: New test.
4493
4494 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4495
4496 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
4497 msp430 to all 16-bit targets.
4498 * configure: Regenerate.
4499
4500 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4501
4502 PR libstdc++/109921
4503 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
4504 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
4505 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
4506 binary64.
4507 (from_chars(const char*, const char*, double&, chars_format)):
4508 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
4509 (from_chars(const char*, const char*, _Float128&, chars_format))
4510 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
4511 defined, otherwise parse a long double and convert to _Float128.
4512
4513 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
4514
4515 PR libstdc++/109922
4516 * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
4517 Add deprecated attribute to non-standard overload.
4518 * doc/xml/manual/evolution.xml: Document deprecation.
4519 * doc/html/*: Regenerate.
4520 * testsuite/27_io/manipulators/standard/char/1.cc: Add
4521 dg-warning for expected deprecated warning.
4522 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
4523 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
4524 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
4525
4526 2023-05-30 Alexandre Oliva <oliva@adacore.com>
4527
4528 * testsuite/20_util/from_chars/4.cc: Skip long double test06
4529 on x86_64-vxworks.
4530 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
4531 x86_64-vxworks.
4532
4533 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4534
4535 PR libstdc++/109822
4536 * include/experimental/bits/simd.h (to_native): Use int NTTP
4537 as specified in PTS2.
4538 (to_compatible): Likewise. Add missing tag to call mask
4539 generator ctor.
4540 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
4541 test.
4542
4543 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4544
4545 * testsuite/experimental/simd/tests/integer_operators.cc:
4546 Compute expected value differently to avoid getting turned into
4547 a vector shift.
4548
4549 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
4550
4551 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
4552 double <-> (u)long conversion tests conditional on sizeof(long
4553 double) and sizeof(long).
4554
4555 2023-05-26 Matthias Kretz <m.kretz@gsi.de>
4556
4557 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
4558 Negative __y is UB, so prefer signed compare.
4559
4560 2023-05-25 Jonathan Wakely <jwakely@redhat.com>
4561
4562 * testsuite/util/testsuite_allocator.h (PointerBase): Add
4563 relational operators.
4564
4565 2023-05-25 Alexandre Oliva <oliva@adacore.com>
4566
4567 * testsuite/20_util/to_chars/long_double.cc: Expect execution
4568 fail on x86-vxworks.
4569
4570 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4571
4572 PR libstdc++/109949
4573 * include/experimental/bits/simd.h (__intrinsic_type): If
4574 __ALTIVEC__ is defined, map gnu::vector_size types to their
4575 corresponding __vector T types without losing unsignedness of
4576 integer types. Also prefer long long over long.
4577 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
4578 object to the expected unsigned vector type.
4579
4580 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4581
4582 PR libstdc++/109261
4583 * include/experimental/bits/simd.h (__intrinsic_type):
4584 Specialize __intrinsic_type<double, 8> and
4585 __intrinsic_type<double, 16> in any case, but provide the member
4586 type only with __aarch64__.
4587
4588 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
4589
4590 PR libstdc++/109261
4591 * include/experimental/bits/simd_neon.h (_S_reduce): Add
4592 constexpr and make NEON implementation conditional on
4593 not __builtin_is_constant_evaluated.
4594
4595 2023-05-23 Matthias Kretz <m.kretz@gsi.de>
4596
4597 PR libstdc++/109261
4598 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
4599 Avoid vector builtin subscripting in constant expressions.
4600 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
4601 (const_where_expression, where_expression, where)
4602 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
4603 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
4604 internal APIs).
4605 * include/experimental/bits/simd_builtin.h (__vector_permute)
4606 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
4607 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
4608 (_MaskImplBuiltin::_S_store): Add constexpr.
4609 (_CommonImplBuiltin::_S_store_bool_array)
4610 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
4611 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
4612 constant_evaluated case.
4613 * include/experimental/bits/simd_fixed_size.h
4614 (_S_masked_load): Reword comment.
4615 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
4616 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
4617 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
4618 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
4619 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
4620 constexpr.
4621 (_SimdTuple::operator[], _M_set): Add constexpr and add
4622 constant_evaluated case.
4623 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
4624 * include/experimental/bits/simd_scalar.h: Add constexpr.
4625 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
4626 constexpr and add constant_evaluated case.
4627 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
4628 (_S_less_equal): Value-initialize to satisfy constexpr
4629 evaluation.
4630 (_MaskImplX86::_S_load): Add constant_evaluated case.
4631 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
4632 case. Value-initialize local variables.
4633 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
4634 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
4635 case.
4636 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
4637 test.
4638
4639 2023-05-22 Matthias Kretz <m.kretz@gsi.de>
4640
4641 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
4642 __infn into #ifdef'ed block.
4643 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
4644 constants only when used.
4645 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
4646 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
4647 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
4648 Likewise.
4649 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
4650 Move totest and expect1 into #ifdef'ed block.
4651
4652 2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
4653
4654 * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
4655 * doc/html/manual/strings.html: Regenerate.
4656
4657 2023-05-17 Jakub Jelinek <jakub@redhat.com>
4658
4659 PR libstdc++/109883
4660 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
4661
4662 2023-05-17 Jakub Jelinek <jakub@redhat.com>
4663
4664 PR libstdc++/109883
4665 * include/c_global/cmath (atan2, fmod, pow): Move
4666 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
4667 __gnu_cxx::__bfloat16_t overloads.
4668 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
4669 Likewise.
4670 (fma): Move __gnu_cxx::__promote_3 using template after
4671 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
4672
4673 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4674
4675 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
4676 checks for float_round_style and float_denorm_style.
4677
4678 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4679
4680 * include/bits/c++config: Add system_header pragma.
4681
4682 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4683
4684 * include/std/expected (expected::and_then, expected::or_else)
4685 (expected::transform, expected::transform_error): Fix exception
4686 specifications as per LWG 3877.
4687 (expected<void, E>::and_then, expected<void, E>::transform):
4688 Likewise.
4689 * testsuite/20_util/expected/lwg3877.cc: New test.
4690
4691 2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
4692
4693 * include/std/type_traits: Use __bool_constant instead of
4694 integral_constant.
4695
4696 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
4697
4698 * configure: Regenerate.
4699
4700 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4701
4702 PR libstdc++/109741
4703 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
4704 * config.h.in: Regenerate.
4705 * configure: Regenerate.
4706 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
4707 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
4708 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
4709 instead of hardcoded 64.
4710
4711 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4712
4713 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
4714 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
4715 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
4716 * config.h.in: Regenerate.
4717 * configure: Regenerate.
4718 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
4719 instead of _GLIBCXX_USE_C99_FENV_TR1.
4720 * include/c_global/cfenv: Likewise.
4721 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
4722 of _GLIBCXX_USE_C99_CTYPE_TR1.
4723
4724 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4725
4726 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
4727 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
4728 <inttypes.h> features in C++11 mode and define
4729 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
4730 * config.h.in: Regenerate.
4731 * configure: Regenerate.
4732 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
4733 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
4734 of _GLIBCXX_USE_C99_STDINT_TR1.
4735 * include/c_compatibility/inttypes.h: Check
4736 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
4737 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
4738 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
4739 * include/c_compatibility/stdatomic.h: Check
4740 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
4741 * include/c_compatibility/stdint.h: Likewise.
4742 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
4743 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
4744 _GLIBCXX_USE_C99_INTTYPES_TR1 and
4745 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
4746 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
4747 instead of _GLIBCXX_USE_C99_STDINT_TR1.
4748 * include/std/atomic: Likewise.
4749 * src/c++11/cow-stdexcept.cc: Likewise.
4750 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
4751 Likewise.
4752 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
4753 Likewise.
4754
4755 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4756
4757 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
4758 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
4759 * config.h.in: Regenerate.
4760 * configure: Regenerate.
4761 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
4762 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
4763 instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
4764
4765 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4766
4767 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
4768 assertion to ensure expected exception is throw.
4769
4770 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4771
4772 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
4773 printer for chrono::zoned_time for cx11 ABI and tzdb effective
4774 target.
4775
4776 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
4777
4778 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
4779 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
4780 * configure: Regenerate.
4781
4782 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4783
4784 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
4785 to check for nan, nanf, and nanl.
4786 * configure: Regenerate.
4787
4788 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4789
4790 * include/bits/char_traits.h (char_traits<char16_t>): Do not
4791 depend on _GLIBCXX_USE_C99_STDINT_TR1.
4792 (char_traits<char32_t>): Likewise.
4793 * include/experimental/source_location: Likewise.
4794
4795 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4796
4797 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
4798 (atomic_int_least16_t, atomic_uint_least16_t)
4799 (atomic_int_least32_t, atomic_uint_least32_t)
4800 (atomic_int_least64_t, atomic_uint_least64_t)
4801 (atomic_int_fast16_t, atomic_uint_fast16_t)
4802 (atomic_int_fast32_t, atomic_uint_fast32_t)
4803 (atomic_int_fast64_t, atomic_uint_fast64_t)
4804 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
4805 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
4806
4807 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4808
4809 * include/bits/algorithmfwd.h (shuffle): Do not depend on
4810 _GLIBCXX_USE_C99_STDINT_TR1.
4811 * include/bits/ranges_algo.h (shuffle): Likewise.
4812 * include/bits/stl_algo.h (shuffle): Likewise.
4813 * include/ext/random: Likewise.
4814 * include/ext/throw_allocator.h (random_condition): Likewise.
4815 * include/std/random: Likewise.
4816 * src/c++11/cow-string-inst.cc: Likewise.
4817 * src/c++11/random.cc: Likewise.
4818
4819 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4820
4821 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
4822 _GLIBCXX_USE_C99_STDINT_TR1.
4823
4824 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4825
4826 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
4827 on _GLIBCXX_USE_C99_STDINT_TR1.
4828
4829 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
4830
4831 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
4832 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
4833 * testsuite/experimental/string_view/typedefs.cc: Likewise.
4834
4835 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4836
4837 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
4838 (auto_locale, auto_ferounding): New class types.
4839 (from_chars_impl): Use auto_locale and auto_ferounding.
4840
4841 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4842
4843 PR libstdc++/109772
4844 * include/std/chrono (hh_mm_ss::__fits): Remove variable
4845 template.
4846 (hh_mm_ss::__subseconds): Remove __fits from constraints.
4847 * testsuite/std/time/hh_mm_ss/109772.cc: New test.
4848 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
4849 hh_mm_ss<duration<int, std::pico>>.
4850
4851 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4852
4853 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
4854 * include/bits/basic_ios.h: Add static assertion checking
4855 traits_type::value_type.
4856 * include/bits/basic_string.h: Likewise. Do not rebind
4857 allocator, and add static assertion checking its value_type.
4858 (basic_string::_Alloc_traits_impl): Remove class template.
4859 (basic_string::_S_allocate): New static member function.
4860 (basic_string::assign): Use _S_allocate.
4861 * include/bits/basic_string.tcc (basic_string::_M_create)
4862 (basic_string::reserve, basic_string::_M_replace): Likewise.
4863 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
4864 Disable for C++20 and later.
4865 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
4866 Likweise.
4867
4868 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
4869
4870 PR libstdc++/109758
4871 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
4872 and negative zero correctly.
4873 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
4874
4875 2023-05-10 François Dumont <fdumont@gcc.gnu.org>
4876
4877 * include/bits/hashtable_policy.h
4878 (_NodeBuilder<>::_S_build): Use __node_ptr.
4879 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
4880 (_AllocNode<>): Likewise.
4881 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
4882 to call std::is_permutation in the non-unique key implementation.
4883 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
4884 _M_begin() once.
4885 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
4886 (_Hashtable<>::_M_insert_bucket_begin): Likewise.
4887 (_Hashtable<>::_M_remove_bucket_begin): Likewise.
4888 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
4889 const_iterator.
4890 (_Hashtable<>::find): Likewise.
4891 (_Hashtable<>::_M_emplace): Likewise.
4892 (_Hashtable<>::_M_insert_unique): Likewise.
4893
4894 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
4895
4896 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
4897 Print floating-point durations correctly.
4898 (StdChronoTimePointPrinter): Support printing only the value,
4899 not the type name. Uncomment handling for known clocks.
4900 (StdChronoZonedTimePrinter): Remove type names from output.
4901 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
4902 (StdChronoTimeZonePrinter): Add equals sign to output.
4903 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
4904
4905 2023-05-05 Alexandre Oliva <oliva@adacore.com>
4906
4907 * testsuite/20_util/from_chars/4.cc: Skip long double test06
4908 on aarch64-vxworks.
4909 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
4910 aarch64-vxworks.
4911
4912 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
4913
4914 * doc/xml/manual/abi.xml (abi.versioning.history): Document
4915 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
4916 * doc/html/manual/abi.html: Regenerate.
4917
4918 2023-05-04 Florian Weimer <fweimer@redhat.com>
4919
4920 * doc/xml/manual/abi.xml (abi.versioning.history): Add
4921 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
4922 libgcc_s.
4923
4924 2023-05-03 Jakub Jelinek <jakub@redhat.com>
4925
4926 * src/c++17/floating_from_chars.cc
4927 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
4928 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
4929 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
4930 _ZSt8to_charsPcS_u9__ieee128.
4931 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
4932 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
4933 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
4934 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
4935 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
4936
4937 2023-05-03 Jakub Jelinek <jakub@redhat.com>
4938
4939 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
4940 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
4941 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
4942 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
4943 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
4944 versions.
4945 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
4946 file.
4947
4948 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
4949 Jonathan Wakely <jwakely@redhat.com>
4950
4951 PR libstdc++/109703
4952 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
4953 Initialize _M_string_length.
4954
4955 2023-05-02 Jakub Jelinek <jakub@redhat.com>
4956
4957 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4958 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4959 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4960 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4961 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
4962 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4963 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4964 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4965
4966 2023-05-02 Jakub Jelinek <jakub@redhat.com>
4967
4968 PR libstdc++/109694
4969 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
4970 -Wattribute-alias.
4971
4972 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4973
4974 * include/bits/random.h (gamma_distribution): Add to the right
4975 doxygen group.
4976 (discrete_distribution, piecewise_constant_distribution)
4977 (piecewise_linear_distribution): Create a new doxygen group and
4978 fix the incomplete doxygen comments.
4979 * include/bits/uniform_int_dist.h (uniform_int_distribution):
4980 Add to doxygen group.
4981
4982 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4983
4984 * include/bits/uses_allocator.h: Add missing @file comment.
4985 * include/bits/regex.tcc: Remove stray doxygen comments.
4986 * include/experimental/memory_resource: Likewise.
4987 * include/std/bit: Tweak doxygen @cond comments.
4988 * include/std/expected: Likewise.
4989 * include/std/numbers: Likewise.
4990
4991 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4992
4993 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
4994 from header paths.
4995
4996 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
4997
4998 * include/bits/move.h: Simplify opening/closing namespace std.
4999
5000 2023-04-28 Jakub Jelinek <jakub@redhat.com>
5001
5002 PR libstdc++/108969
5003 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
5004 _ZSt21ios_base_library_initv.
5005 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
5006 symver and make it the latestp.
5007 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
5008 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
5009 * include/std/iostream: If init_priority attribute is supported
5010 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
5011 symbol into the object.
5012 * configure: Regenerated.
5013
5014 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5015
5016 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
5017 * include/std/format: Likewise.
5018
5019 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5020
5021 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
5022 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
5023
5024 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5025
5026 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
5027 HTML docs.
5028 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
5029 from doxygen docs.
5030 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
5031 Likewise.
5032 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
5033 Likewise.
5034 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
5035 Likewise.
5036 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
5037 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
5038 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
5039 (_DEFINE_BINARY_OPERATOR): Likewise.
5040
5041 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5042
5043 * include/bits/memory_resource.h: Improve doxygen comments.
5044 * include/std/memory_resource: Likewise.
5045
5046 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5047
5048 PR libstdc++/40380
5049 * include/bits/basic_string.h: Improve doxygen comments.
5050 * include/bits/cow_string.h: Likewise.
5051 * include/bits/forward_list.h: Likewise.
5052 * include/bits/fs_dir.h: Likewise.
5053 * include/bits/fs_path.h: Likewise.
5054 * include/bits/quoted_string.h: Likewise.
5055 * include/bits/stl_bvector.h: Likewise.
5056 * include/bits/stl_map.h: Likewise.
5057 * include/bits/stl_multimap.h: Likewise.
5058 * include/bits/stl_multiset.h: Likewise.
5059 * include/bits/stl_set.h: Likewise.
5060 * include/bits/stl_vector.h: Likewise.
5061 * include/bits/unordered_map.h: Likewise.
5062 * include/bits/unordered_set.h: Likewise.
5063 * include/std/filesystem: Likewise.
5064 * include/std/iomanip: Likewise.
5065
5066 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5067
5068 PR libstdc++/105081
5069 * src/c++11/random.cc (__throw_syserr): New function.
5070 (random_device::_M_init, random_device::_M_init_pretr1): Use new
5071 function for bad tokens.
5072 (random_device::_M_getval): Use new function for read errors.
5073 * testsuite/util/testsuite_random.h (random_device_available):
5074 Change catch handler to use std::system_error.
5075
5076 2023-04-24 Patrick Palka <ppalka@redhat.com>
5077
5078 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
5079 Fix propagation of sign bit.
5080 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
5081 non-standard 'signed typedef-name'. Add some compile-time tests
5082 for right-shifting a negative __max_diff_type value by more than
5083 one.
5084
5085 2023-04-19 Patrick Palka <ppalka@redhat.com>
5086 Jonathan Wakely <jwakely@redhat.com>
5087
5088 PR c++/100157
5089 * include/bits/utility.h (_Nth_type): Conditionally define in
5090 terms of __type_pack_element if available.
5091 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
5092 additional errors from the new built-in.
5093
5094 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5095
5096 Revert:
5097 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5098
5099 PR libstdc++/108969
5100 * src/Makefile.am: Move globals_io.cc to here.
5101 * src/Makefile.in: Regenerate.
5102 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5103 * src/c++98/Makefile.in: Regenerate.
5104 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5105 symbol name and then export with GLIBCXX_3.4.31 symver.
5106 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5107 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5108 Regenerate.
5109 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5110 Regenerate.
5111 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5112 Regenerate.
5113 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5114 Regenerate.
5115 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5116 Regenerate.
5117 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5118 Regenerate.
5119 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5120 Regenerate.
5121 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5122 Regenerate.
5123 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5124
5125 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5126
5127 Revert:
5128 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5129
5130 PR libstdc++/108969
5131 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5132
5133 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5134
5135 * doc/xml/manual/extensions.xml: Fix example to declare and
5136 qualify std::free, and use NULL instead of 0.
5137 * doc/html/manual/ext_demangling.html: Regenerate.
5138 * libsupc++/cxxabi.h: Adjust doxygen comments.
5139
5140 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5141
5142 PR libstdc++/108969
5143 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5144
5145 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5146
5147 PR libstdc++/108969
5148 * src/Makefile.am: Move globals_io.cc to here.
5149 * src/Makefile.in: Regenerate.
5150 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5151 * src/c++98/Makefile.in: Regenerate.
5152 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5153 symbol name and then export with GLIBCXX_3.4.31 symver.
5154 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5155 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5156 Regenerate.
5157 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5158 Regenerate.
5159 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5160 Regenerate.
5161 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5162 Regenerate.
5163 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5164 Regenerate.
5165 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5166 Regenerate.
5167 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5168 Regenerate.
5169 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5170 Regenerate.
5171 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5172
5173 2023-04-18 Patrick Palka <ppalka@redhat.com>
5174
5175 PR libstdc++/108827
5176 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
5177 for C++23.
5178 * include/std/ranges (range_adaptor_closure): Define for C++23.
5179 * include/std/version (__cpp_lib_ranges): Bump value for
5180 C++23.
5181 * testsuite/std/ranges/version_c++23.cc: Bump expected value
5182 of __cpp_lib_ranges.
5183 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
5184
5185 2023-04-18 Patrick Palka <ppalka@redhat.com>
5186
5187 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
5188 Define for C++23.
5189 (__cpp_lib_ranges_iota): Likewise.
5190 (__cpp_lib_ranges_find_last): Likewise.
5191 (__cpp_lib_fold): Rename to ...
5192 (__cpp_lib_ranges_fold): ... this.
5193 * include/std/version: As above.
5194 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
5195 renaming __cpp_lib_fold.
5196 * testsuite/std/ranges/version_c++23.cc: Verify values
5197 of the above feature-test macros.
5198
5199 2023-04-18 Patrick Palka <ppalka@redhat.com>
5200
5201 PR libstdc++/109525
5202 * include/std/ranges (views::_AsConst::operator()): Add
5203 missing const to constant_range test.
5204 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
5205 Improve formatting. Adjust expected type of v2.
5206 (test03): New test.
5207
5208 2023-04-14 Patrick Palka <ppalka@redhat.com>
5209
5210 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
5211 (const_sentinel_t): Likewise.
5212 (range_const_reference_t): Likewise.
5213 (constant_range): Likewise.
5214 (__cust_access::__possibly_const_range): Likewise, replacing ...
5215 (__cust_access::__as_const): ... this.
5216 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
5217 (__cust_access::_CEnd::operator()): Likewise.
5218 (__cust_access::_CRBegin::operator()): Likewise.
5219 (__cust_access::_CREnd::operator()): Likewise.
5220 (__cust_access::_CData::operator()): Likewise.
5221 * include/bits/ranges_util.h (ranges::__detail::__different_from):
5222 Make it an alias of std::__detail::__different_from.
5223 (view_interface::cbegin): Define for C++23.
5224 (view_interface::cend): Likewise.
5225 * include/bits/stl_iterator.h (__detail::__different_from): Define.
5226 (iter_const_reference_t): Define for C++23.
5227 (__detail::__constant_iterator): Likewise.
5228 (__detail::__is_const_iterator): Likewise.
5229 (__detail::__not_a_const_iterator): Likewise.
5230 (__detail::__iter_const_rvalue_reference_t): Likewise.
5231 (__detail::__basic_const_iter_cat):: Likewise.
5232 (const_iterator): Likewise.
5233 (__detail::__const_sentinel): Likewise.
5234 (const_sentinel): Likewise.
5235 (basic_const_iterator): Likewise.
5236 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
5237 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
5238 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
5239 Likewise.
5240 (make_const_iterator): Define for C++23.
5241 (make_const_sentinel): Likewise.
5242 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
5243 (as_const_view): Likewise.
5244 (enable_borrowed_range<as_const_view>): Likewise.
5245 (views::__detail::__is_ref_view): Likewise.
5246 (views::__detail::__can_is_const_view): Likewise.
5247 (views::_AsConst, views::as_const): Likewise.
5248 * include/std/span (span::const_iterator): Likewise.
5249 (span::const_reverse_iterator): Likewise.
5250 (span::cbegin): Likewise.
5251 (span::cend): Likewise.
5252 (span::crbegin): Likewise.
5253 (span::crend): Likewise.
5254 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
5255 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
5256 behave independently of C++20 vs C++23.
5257 * testsuite/std/ranges/version_c++23.cc: Verify value of
5258 __cpp_lib_ranges_as_const macro.
5259 * testsuite/24_iterators/const_iterator/1.cc: New test.
5260 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
5261
5262 2023-04-14 Patrick Palka <ppalka@redhat.com>
5263
5264 * include/bits/ranges_base.h (__cust_access::__as_const)
5265 (__cust_access::_CBegin, __cust::cbegin)
5266 (__cust_access::_CEnd, __cust::cend)
5267 (__cust_access::_CRBegin, __cust::crbegin)
5268 (__cust_access::_CREnd, __cust::crend)
5269 (__cust_access::_CData, __cust::cdata): Move down definitions to
5270 shortly after the definition of input_range.
5271
5272 2023-04-14 Patrick Palka <ppalka@redhat.com>
5273
5274 * include/bits/ranges_algo.h: Include <optional> for C++23.
5275 (__cpp_lib_fold): Define for C++23.
5276 (in_value_result): Likewise.
5277 (__detail::__flipped): Likewise.
5278 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
5279 (__detail::__indirectly_binary_left_foldable): Likewise.
5280 (___detail:__indirectly_binary_right_foldable): Likewise.
5281 (fold_left_with_iter_result): Likewise.
5282 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
5283 (__fold_left_fn, fold_left): Likewise.
5284 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
5285 Likewise.
5286 (__fold_left_first_fn, fold_left_first): Likewise.
5287 (__fold_right_fn, fold_right): Likewise.
5288 (__fold_right_last_fn, fold_right_last): Likewise.
5289 * include/std/version (__cpp_lib_fold): Likewise.
5290 * testsuite/25_algorithms/fold_left/1.cc: New test.
5291 * testsuite/25_algorithms/fold_right/1.cc: New test.
5292
5293 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
5294
5295 * include/std/format (formatter): Add comment to deleted default
5296 constructor of primary template.
5297 (_Checking_scanner): Add static_assert.
5298
5299 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5300
5301 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
5302 * doc/html/*: Regenerate.
5303
5304 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5305
5306 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
5307 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
5308 namespace to avoid clashing with libc struct.
5309 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
5310 Likewise.
5311 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
5312 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
5313 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
5314 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
5315 * testsuite/experimental/synchronized_value.cc: Require gthreads
5316 and add missing option for pthreads targets.
5317
5318 2023-04-12 Patrick Palka <ppalka@redhat.com>
5319
5320 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
5321 for C++23.
5322 (__detail::__range_with_movable_reference): Likewise.
5323 (enumerate_view): Likewise.
5324 (enumerate_view::_Iterator): Likewise.
5325 (enumerate_view::_Sentinel): Likewise.
5326 (views::__detail::__can_enumerate_view): Likewise.
5327 (views::_Enumerate, views::enumerate): Likewise.
5328 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
5329 * testsuite/std/ranges/version_c++23.cc: Verify value of
5330 __cpp_lib_ranges_enumerate.
5331 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
5332
5333 2023-04-12 Patrick Palka <ppalka@redhat.com>
5334
5335 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
5336 Propagate _M_trailing_empty in the const-converting constructor
5337 as per LWG 3904.
5338 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
5339 assertion.
5340 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
5341
5342 2023-04-12 Patrick Palka <ppalka@redhat.com>
5343
5344 * src/c++17/floating_from_chars.cc: Include <algorithm>,
5345 <iterator>, <limits> and <cstdint>.
5346
5347 2023-04-12 Patrick Palka <ppalka@redhat.com>
5348
5349 PR libstdc++/108291
5350 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
5351 parameter types of the lambda wrapper passed to adjacent_find.
5352 (chunk_by_view::_M_find_prev): Likewise.
5353 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
5354 New tests.
5355
5356 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5357
5358 PR libstdc++/109482
5359 * include/experimental/internet (basic_endpoint::basic_endpoint()):
5360 Ensure that the required union members are active. Only define
5361 as constexpr for C++20 and later.
5362 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
5363 Likewise.
5364 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
5365 check constexpr default constructor for C++20 and later.
5366 * testsuite/experimental/net/internet/endpoint/extensible.cc:
5367 Likewise.
5368
5369 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
5370
5371 * src/c++20/tzdata.zi: Import new file from 2023c release.
5372
5373 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5374
5375 * include/precompiled/stdc++.h (C++17): Don't double-include
5376 <charconv>, once with wrong conditions.
5377 * testsuite/18_support/96817.cc: Require hosted.
5378 * testsuite/18_support/bad_exception/59392.cc: Ditto.
5379 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
5380 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
5381 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
5382 Ditto.
5383
5384 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5385
5386 * include/bits/c++config: When __STDC_HOSTED__ is zero,
5387 disable _GLIBCXX_DEBUG and, if it was set, enable
5388 _GLIBCXX_ASSERTIONS.
5389 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
5390 Include <bits/c++config.h> when determining whether debug is
5391 set, in order to inherit the logic from above
5392
5393 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5394
5395 * testsuite/17_intro/versionconflict.cc: New test.
5396 * include/std/version: Allow disabling the system_header pragma
5397 via _GLIBCXX_TESTING_SYSHDR.
5398
5399 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
5400
5401 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
5402 Synchronize the definition block with...
5403 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
5404 ... this one here. Also define the 202202L value, rather than
5405 leaving it up to purely unique_ptr.h, so that the value is
5406 synchronized across all headers.
5407 (__gnu_debug::_Safe_iterator_base): Move into new conditional
5408 block.
5409 * include/std/memory (__cpp_lib_atomic_value_initialization):
5410 Define on freestanding under the same conditions as in
5411 atomic_base.h.
5412 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
5413 Also define on freestanding.
5414 (__cpp_lib_to_chars): Ditto.
5415 (__cpp_lib_gcd): Ditto.
5416 (__cpp_lib_gcd_lcm): Ditto.
5417 (__cpp_lib_raw_memory_algorithms): Ditto.
5418 (__cpp_lib_array_constexpr): Ditto.
5419 (__cpp_lib_nonmember_container_access): Ditto.
5420 (__cpp_lib_clamp): Ditto.
5421 (__cpp_lib_constexpr_char_traits): Ditto.
5422 (__cpp_lib_constexpr_string): Ditto.
5423 (__cpp_lib_sample): Ditto.
5424 (__cpp_lib_lcm): Ditto.
5425 (__cpp_lib_constexpr_iterator): Ditto.
5426 (__cpp_lib_constexpr_char_traits): Ditto.
5427 (__cpp_lib_interpolate): Ditto.
5428 (__cpp_lib_constexpr_utility): Ditto.
5429 (__cpp_lib_shift): Ditto.
5430 (__cpp_lib_ranges): Ditto.
5431 (__cpp_lib_move_iterator_concept): Ditto.
5432 (__cpp_lib_constexpr_numeric): Ditto.
5433 (__cpp_lib_constexpr_functional): Ditto.
5434 (__cpp_lib_constexpr_algorithms): Ditto.
5435 (__cpp_lib_constexpr_tuple): Ditto.
5436 (__cpp_lib_constexpr_memory): Ditto.
5437
5438 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
5439
5440 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
5441 timeout factor on hppa*-*-*.
5442
5443 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
5444
5445 * include/bits/regex.h (sub_match::swap): New function.
5446 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
5447
5448 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
5449
5450 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
5451 example program.
5452 * doc/html/manual/ext_demangling.html: Regenerate.
5453
5454 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5455
5456 PR tree-optimization/107087
5457 * include/bits/cow_string.h (basic_string::size()): Add
5458 optimizer hint that _S_empty_rep()._M_length is always zero.
5459 (basic_string::length()): Call size().
5460
5461 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5462
5463 PR libstdc++/109339
5464 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
5465 Add attribute access with access-mode 'none'.
5466 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
5467
5468 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
5469
5470 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
5471 Revert change from member function to data member. Fix for
5472 constant evaluation by detecting which union member is active.
5473 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
5474 flag.
5475
5476 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5477
5478 PR libstdc++/109242
5479 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
5480 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
5481
5482 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5483
5484 * include/experimental/internet (ip::make_address): Implement
5485 missing overload.
5486 (ip::address_v4::broadcast()): Avoid undefined shift.
5487 (ip::basic_endpoint): Fix member functions for constexpr.
5488 (ip::basic_endpoint::_M_is_v6): Replace member function with
5489 data member, adjust member functions using it.
5490 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
5491 content.
5492 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
5493 constexpr checks to work in C++14.
5494 * testsuite/experimental/net/internet/address/v4/creation.cc:
5495 Likewise.
5496 * testsuite/experimental/net/internet/endpoint/cons.cc:
5497 Likewise.
5498 * testsuite/experimental/net/internet/network/v4/cons.cc:
5499 Likewise.
5500 * testsuite/experimental/net/internet/network/v4/members.cc:
5501 Likewise.
5502 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
5503
5504 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5505
5506 * include/std/expected (expected::value() &): Use const lvalue
5507 for unex member passed to bad_expected_access constructor, as
5508 per LWG 3843.
5509
5510 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5511
5512 PR libstdc++/109340
5513 * include/std/expected (expected::transform): Use
5514 std::remove_cv_t instead of std::remove_cvref_t.
5515 (expected::transform_error): Likewise.
5516 (expected<cv void, E>::transform): Likewise.
5517 (expected<cv void, E>::transform_error): Likewise.
5518 * include/std/optional (transform): Use std::remove_cv_t.
5519 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
5520
5521 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
5522
5523 * include/std/optional (optional): Adjust static assertion to
5524 reject arrays and functions as well as references.
5525 * testsuite/20_util/optional/requirements_neg.cc: New test.
5526
5527 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5528
5529 PR libstdc++/103387
5530 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
5531 std::use_facet instead of cached _M_num_get facet.
5532 (istream::operator>>(short&)): Likewise.
5533 (istream::operator>>(int&)): Likewise.
5534 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
5535 std::use_facet instead of cached _M_num_put facet.
5536
5537 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5538
5539 * include/bits/char_traits.h (char_traits::copy): Return without
5540 using memcpy if n==0.
5541 (char_traits::assign): Likewise for memset.
5542
5543 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5544
5545 PR libstdc++/109299
5546 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
5547 hint for compiler that local strings fit in the local buffer.
5548
5549 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
5550
5551 PR libstdc++/109288
5552 * include/std/chrono (__detail::__get_leap_second_info): Update
5553 expiry date of hardcoded leapseconds list.
5554 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
5555 Likewise.
5556 * src/c++20/tzdata.zi: Import new file from 2023a release.
5557 * testsuite/std/time/time_zone/get_info_local.cc: Only check
5558 transitions for Egypt up to 2014.
5559
5560 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
5561
5562 * include/experimental/bits/simd.h (is_simd_flag_type): New.
5563 (_IsSimdFlagType): New.
5564 (copy_from, copy_to, load ctors): Constrain _Flags using
5565 _IsSimdFlagType.
5566
5567 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
5568
5569 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
5570 _Base::_S_divides if the optimized _S_divides function is hidden
5571 via the preprocessor.
5572
5573 2023-03-27 Jakub Jelinek <jakub@redhat.com>
5574
5575 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
5576 warning if size_t is not unsigned long.
5577
5578 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5579
5580 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
5581 Add overload, as per LWG 3893.
5582 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
5583 Check assignment from nullptr.
5584
5585 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5586
5587 * include/std/format (formatter<const charT[N], charT>): Do not
5588 define partial speclialization, as per LWG 3833.
5589 * testsuite/std/format/formatter/requirements.cc: Check it.
5590
5591 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5592
5593 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
5594 as per LWG 3792.
5595 * testsuite/20_util/exchange/constexpr.cc: Check for it.
5596
5597 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5598
5599 * include/std/version (__cpp_lib_format): Define.
5600 * testsuite/std/format/functions/format.cc: Check it.
5601
5602 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5603
5604 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
5605 Pass rvalues to the callback, as now allowed by LWG 3645.
5606 Enforce preconditions on the return value.
5607 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
5608 Adjust.
5609
5610 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5611
5612 * include/std/format: Add a comment noting that the resolution
5613 of LWG 3720 has been applied..
5614
5615 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5616
5617 * include/bits/regex.h (match_results): Add allocator-extended
5618 copy and move constructors, as per LWG 2195.
5619 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
5620
5621 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
5622
5623 * include/bits/stream_iterator.h (istream_iterator): Add
5624 constexpr to copy constructor, as per LWG 3600.
5625 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
5626 Check copy construction.
5627
5628 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5629
5630 * include/experimental/bits/simd_x86.h
5631 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
5632 with __RECIPROCAL_MATH__.
5633
5634 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5635
5636 * include/experimental/bits/simd_detail.h: Don't define
5637 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
5638 * include/experimental/bits/simd_x86.h (_S_divides): Remove
5639 check for __clang__.
5640
5641 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5642
5643 * include/experimental/bits/simd_detail.h: Don't declare the
5644 simd API as constexpr with Clang.
5645 * include/experimental/bits/simd_x86.h (__movm): New.
5646 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
5647 and ?:.
5648 (_SimdImplX86::_S_masked_unary): Clang does not implement the
5649 same builtins. Implement the function using __movm, ?:, and -
5650 operators on vector_size types instead.
5651
5652 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
5653
5654 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
5655 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
5656
5657 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
5658
5659 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
5660 formatting.
5661
5662 2023-03-20 Marek Polacek <polacek@redhat.com>
5663
5664 PR c++/109159
5665 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
5666 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
5667 * testsuite/23_containers/span/explicit.cc: Likewise.
5668
5669 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
5670
5671 PR libstdc++/109182
5672 * include/std/expected (expected<void>::expected(in_place_t)):
5673 Remove template-head.
5674
5675 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
5676
5677 PR libstdc++/109165
5678 * testsuite/18_support/coroutines/hash.cc: Use const object
5679 in second call.
5680
5681 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
5682
5683 PR libstdc++/109165
5684 * include/std/coroutine (hash<>::operator()): Add const.
5685 * testsuite/18_support/coroutines/hash.cc: New test.
5686
5687 2023-03-14 Patrick Palka <ppalka@redhat.com>
5688
5689 PR libstdc++/109111
5690 * include/std/ranges (repeat_view): Remove redundant parentheses
5691 in requires-clause.
5692 (repeat_view::_Iterator): Correct the requires-clause.
5693
5694 2023-03-14 Patrick Palka <ppalka@redhat.com>
5695
5696 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
5697 Define.
5698 (__cpp_lib_move_iterator_concept): Define for C++20.
5699 (move_iterator::iterator_concept): Strengthen as per P2520R0.
5700 * include/std/version (__cpp_lib_move_iterator_concept): Define
5701 for C++20.
5702 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
5703
5704 2023-03-14 Patrick Palka <ppalka@redhat.com>
5705
5706 * include/bits/ranges_util.h (view_interface::empty): Add
5707 preferred overloads that use ranges::size when the range is
5708 sized as per LWG 3715.
5709 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
5710
5711 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5712
5713 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
5714 Only define for C++17 and later.
5715
5716 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5717
5718 * src/Makefile.am: Add comment about linker script fragments.
5719 * src/Makefile.in: Regenerate.
5720
5721 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
5722
5723 PR libstdc++/62196
5724 * include/bits/mask_array.h (mask_array): Add assertions to
5725 assignment operators.
5726 * include/std/valarray (valarray::operator[](valarray<bool>)):
5727 Add assertions.
5728 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
5729 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
5730 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
5731 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
5732 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
5733 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
5734 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
5735 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
5736 * testsuite/26_numerics/valarray/mask.cc: New test.
5737
5738 2023-03-13 Jakub Jelinek <jakub@redhat.com>
5739
5740 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5741 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
5742
5743 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5744
5745 * doc/Makefile.am: Add comment referring to documentation.
5746 * doc/Makefile.in: Regenerate.
5747
5748 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5749
5750 * doc/html/*: Regenerate.
5751
5752 2023-03-13 Jonny Grant <jg@jguk.org>
5753
5754 * doc/xml/faq.xml: Update copyright year.
5755
5756 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
5757
5758 * include/bits/allocator.h: Fix typo in comment.
5759
5760 2023-03-12 Jakub Jelinek <jakub@redhat.com>
5761
5762 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
5763 if it isn't mangled as DF16b but u6__bf16.
5764
5765 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
5766
5767 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
5768 to https.
5769 * doc/html/manual/documentation_hacking.html: Regenerate.
5770
5771 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
5772
5773 PR libstdc++/109064
5774 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
5775 Remove self-recursion in __init__. Add missing _supports.
5776 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
5777 and unique().
5778
5779 2023-03-09 Patrick Palka <ppalka@redhat.com>
5780
5781 * include/std/ranges
5782 (cartesian_product_view::_Iterator::_Iterator): Remove
5783 constraint on default constructor as per LWG 3849.
5784 (cartesian_product_view::_Iterator::_M_prev): Adjust position
5785 of _Nm > 0 test as per LWG 3820.
5786 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
5787 checking only on sized cartesian products.
5788 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
5789
5790 2023-03-09 Patrick Palka <ppalka@redhat.com>
5791
5792 PR libstdc++/109024
5793 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
5794 LWG 3796.
5795 (repeat_view::_M_pred): Likewise.
5796 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
5797 * testsuite/std/ranges/repeat/1.cc (test05): New test.
5798
5799 2023-03-09 Patrick Palka <ppalka@redhat.com>
5800
5801 PR libstdc++/108362
5802 * include/std/ranges (__detail::__can_single_view): New concept.
5803 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
5804 end of the function declarator.
5805 (__detail::__can_iota_view): New concept.
5806 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
5807 end of the function declarator.
5808 (__detail::__can_istream_view): New concept.
5809 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
5810 end of the function declarator.
5811 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
5812 * testsuite/std/ranges/istream_view.cc (test08): New test.
5813 * testsuite/std/ranges/single_view.cc (test07): New test.
5814
5815 2023-03-09 Patrick Palka <ppalka@redhat.com>
5816
5817 PR libstdc++/107572
5818 * include/std/ranges (cartesian_product_view::end): When
5819 building the tuple of iterators, avoid calling ranges::begin on
5820 the first range if __empty_tail is false.
5821 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
5822
5823 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
5824
5825 PR libstdc++/108882
5826 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
5827 patterns.
5828
5829 2023-03-07 Jakub Jelinek <jakub@redhat.com>
5830
5831 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
5832 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5833 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
5834 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5835 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
5836
5837 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
5838
5839 PR libstdc++/108882
5840 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
5841 not match symbols in namespace std::__gnu_cxx11_ieee128.
5842 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
5843 std::__gnu_cxx11_ieee128::money_{get,put}.
5844
5845 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
5846
5847 * libsupc++/eh_personality.cc: Fix spelling in comment.
5848
5849 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5850
5851 * testsuite/30_threads/async/async.cc (test04): Initialize
5852 steady_start, renamed from steady_begin, next to slow_start.
5853 Increase tolerance for final wait.
5854
5855 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5856
5857 * testsuite/libstdc++-prettyprinters/80276.cc: Add
5858 std::string to debug info.
5859 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
5860
5861 2023-03-03 Alexandre Oliva <oliva@adacore.com>
5862
5863 PR libstdc++/104852
5864 PR libstdc++/95989
5865 PR libstdc++/52590
5866 * include/bits/std_thread.h (thread::_M_thread_deps): New
5867 static implicitly-inline member function.
5868 (std::thread template ctor): Pass it to _M_start_thread.
5869 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
5870 parameter, force it live on entry.
5871
5872 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5873
5874 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
5875 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
5876 Likewise.
5877 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
5878 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
5879 Likewise.
5880
5881 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
5882
5883 * include/bits/cow_string.h: Fix typo in comment.
5884
5885 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
5886
5887 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
5888 current time zone cannot be determined.
5889 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
5890 HAVE_TZDB macro and test all members unconditionally.
5891
5892 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5893
5894 PR libstdc++/108952
5895 * include/bits/uses_allocator_args.h
5896 (uses_allocator_construction_args): Implement LWG 3527.
5897 * testsuite/20_util/pair/astuple/get-2.cc: New test.
5898 * testsuite/20_util/scoped_allocator/108952.cc: New test.
5899 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
5900
5901 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5902
5903 PR libstdc++/108846
5904 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
5905 Add __assign_one static member function.
5906 (__copy_move<true, false, RA>): Likewise.
5907 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
5908 value.
5909 (__copy_move_backward<IsMove, true, RA>): Likewise.
5910 * testsuite/25_algorithms/copy/108846.cc: New test.
5911 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
5912 * testsuite/25_algorithms/copy_n/108846.cc: New test.
5913 * testsuite/25_algorithms/move/108846.cc: New test.
5914 * testsuite/25_algorithms/move_backward/108846.cc: New test.
5915
5916 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
5917
5918 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
5919 attributes.
5920
5921 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
5922
5923 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
5924 caveat to comment.
5925 * include/bits/basic_string.h (resize_and_overwrite): Add
5926 doxygen comment.
5927
5928 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5929
5930 * include/experimental/bits/simd.h: Line breaks and indenting
5931 fixed to follow the libstdc++ standard.
5932 * include/experimental/bits/simd_builtin.h: Likewise.
5933 * include/experimental/bits/simd_fixed_size.h: Likewise.
5934 * include/experimental/bits/simd_neon.h: Likewise.
5935 * include/experimental/bits/simd_ppc.h: Likewise.
5936 * include/experimental/bits/simd_scalar.h: Likewise.
5937 * include/experimental/bits/simd_x86.h: Likewise.
5938
5939 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5940
5941 PR libstdc++/108030
5942 * include/experimental/bits/simd_fixed_size.h
5943 (_SimdImplFixedSize::_S_broadcast): Replace inline with
5944 _GLIBCXX_SIMD_INTRINSIC.
5945 (_SimdImplFixedSize::_S_generate): Likewise.
5946 (_SimdImplFixedSize::_S_load): Likewise.
5947 (_SimdImplFixedSize::_S_masked_load): Likewise.
5948 (_SimdImplFixedSize::_S_store): Likewise.
5949 (_SimdImplFixedSize::_S_masked_store): Likewise.
5950 (_SimdImplFixedSize::_S_min): Likewise.
5951 (_SimdImplFixedSize::_S_max): Likewise.
5952 (_SimdImplFixedSize::_S_complement): Likewise.
5953 (_SimdImplFixedSize::_S_unary_minus): Likewise.
5954 (_SimdImplFixedSize::_S_plus): Likewise.
5955 (_SimdImplFixedSize::_S_minus): Likewise.
5956 (_SimdImplFixedSize::_S_multiplies): Likewise.
5957 (_SimdImplFixedSize::_S_divides): Likewise.
5958 (_SimdImplFixedSize::_S_modulus): Likewise.
5959 (_SimdImplFixedSize::_S_bit_and): Likewise.
5960 (_SimdImplFixedSize::_S_bit_or): Likewise.
5961 (_SimdImplFixedSize::_S_bit_xor): Likewise.
5962 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
5963 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
5964 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
5965 explicit about not always-inline, yet).
5966 (_SimdImplFixedSize::_S_isinf): Likewise.
5967 (_SimdImplFixedSize::_S_isfinite): Likewise.
5968 (_SimdImplFixedSize::_S_isnan): Likewise.
5969 (_SimdImplFixedSize::_S_isnormal): Likewise.
5970 (_SimdImplFixedSize::_S_signbit): Likewise.
5971
5972 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
5973
5974 PR libstdc++/108856
5975 * include/experimental/bits/simd_builtin.h
5976 (_SimdImplBuiltin::_S_masked_unary): More efficient
5977 implementation of masked inc-/decrement for integers and floats
5978 without AVX2.
5979 * include/experimental/bits/simd_x86.h
5980 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
5981 builtins for masked inc-/decrement.
5982
5983 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5984
5985 * include/experimental/executor (executor): Constrain template
5986 constructors.
5987
5988 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5989
5990 * include/experimental/internet (basic_endpoint): Add missing
5991 constexpr to comparison operators.
5992 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
5993
5994 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
5995
5996 * include/experimental/internet (network_v4::netmask()): Avoid
5997 undefined shift.
5998 (network_v4::broadcast()): Optimize and fix for targets with
5999 uint_least32_t wider than 32 bits.
6000 (network_v4::to_string(const Allocator&)): Fix for custom
6001 allocators and optimize using to_chars.
6002 (operator==(const network_v4&, const network_v4&)): Add missing
6003 constexpr.
6004 (operator==(const network_v6&, const network_v6&)): Likewise.
6005 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
6006 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
6007
6008 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6009
6010 * include/experimental/internet (address_4(const bytes_type&)):
6011 Use __builtin_bit_cast if available, otherwise convert to
6012 network byte order.
6013 (address_v4::to_bytes()): Likewise, but convert from network
6014 byte order.
6015 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6016 incorrect tests. Check for constexpr too.
6017 * testsuite/experimental/net/internet/address/v4/creation.cc:
6018 Likewise.
6019 * testsuite/experimental/net/internet/address/v4/members.cc:
6020 Check that bytes_type is a standard-layout type.
6021
6022 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6023
6024 * include/experimental/internet (address_v4::to_string):
6025 Optimize.
6026 * testsuite/experimental/net/internet/address/v4/members.cc:
6027 Check more addresses.
6028
6029 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6030
6031 * include/ext/aligned_buffer.h (__aligned_buffer): Add
6032 diagnostic pragmas.
6033
6034 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6035
6036 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
6037 before dg-do.
6038
6039 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6040
6041 * testsuite/experimental/simd/tests/reductions.cc: Introduce
6042 max_distance as the type-dependent max error.
6043
6044 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6045
6046 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
6047 int. The actual range of these indexes is very small.
6048
6049 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6050
6051 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
6052 (_S_bit_shift_right): Declare constexpr. The implementation was
6053 already expecting constexpr evaluation.
6054
6055 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6056
6057 PR libstdc++/108030
6058 * include/experimental/bits/simd_detail.h
6059 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
6060 __clang__.
6061
6062 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6063
6064 PR libstdc++/108030
6065 * include/experimental/bits/simd.h (__vector_broadcast):
6066 Implement via __vector_broadcast_impl instead of
6067 __call_with_n_evaluations + 2 lambdas.
6068 (__vector_broadcast_impl): New.
6069
6070 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6071
6072 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
6073 Avoid destruction of the mutex pool.
6074
6075 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6076
6077 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
6078 on vxworks.
6079 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
6080 Likewise.
6081
6082 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6083
6084 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
6085 kernel mode.
6086
6087 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
6088
6089 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
6090
6091 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
6092
6093 * include/experimental/bits/simd.h (__extract_part, split):
6094 Use reserved name for template parameter.
6095
6096 2023-02-20 Andreas Schwab <schwab@suse.de>
6097
6098 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
6099
6100 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
6101
6102 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
6103 * doc/html/faq.html: Regenerate.
6104
6105 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6106
6107 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
6108 between scalars requires the __bit_cast helper function instead
6109 of simd_bit_cast.
6110
6111 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6112
6113 * include/experimental/bits/simd_x86.h
6114 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
6115 (_SimdImplX86::_S_less_equal): Do not call
6116 __builtin_is_constant_evaluated in constexpr-if.
6117
6118 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6119
6120 * testsuite/experimental/simd/tests/bits/verify.h
6121 (verify::verify): Use %zx for size_t in format string.
6122
6123 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6124
6125 * testsuite/experimental/simd/generate_makefile.sh: Generate and
6126 pre-compile pch.h, which includes all headers that do not depend
6127 on command-line macros.
6128 * testsuite/experimental/simd/tests/bits/main.h: New file.
6129 (iterate_abis, main): Moved from verify.h.
6130 * testsuite/experimental/simd/tests/bits/verify.h
6131 (iterate_abis, main): Moved to main.h.
6132 * testsuite/experimental/simd/tests/bits/conversions.h: Add
6133 include guard.
6134 (genHalfBits): Simplify.
6135 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
6136 guard.
6137 (make_alternating_mask): Moved from mask_loadstore.
6138 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
6139 include guard.
6140 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
6141 * testsuite/experimental/simd/tests/mask_loadstore.cc
6142 (make_mask, make_alternating_mask): Removed.
6143 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
6144 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
6145 Removed.
6146 * testsuite/experimental/simd/tests/abs.cc: Only include
6147 bits/main.h.
6148 Ditto.
6149 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
6150 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
6151 * testsuite/experimental/simd/tests/casts.cc: Ditto.
6152 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
6153 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
6154 * testsuite/experimental/simd/tests/generator.cc: Ditto.
6155 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
6156 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
6157 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
6158 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
6159 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
6160 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
6161 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
6162 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
6163 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
6164 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
6165 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
6166 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
6167 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
6168 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
6169 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
6170 * testsuite/experimental/simd/tests/simd.cc: Ditto.
6171 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
6172 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
6173 * testsuite/experimental/simd/tests/splits.cc: Ditto.
6174 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
6175 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
6176 * testsuite/experimental/simd/tests/where.cc: Ditto.
6177
6178 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6179
6180 * testsuite/experimental/simd/README.md: Document the timeout
6181 and timeout-factor directives. Minor typo fixed.
6182
6183 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6184
6185 PR libstdc++/108030
6186 * include/experimental/bits/simd_detail.h: Define
6187 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6188 * include/experimental/bits/simd.h: Annotate lambdas with
6189 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6190 * include/experimental/bits/simd_builtin.h: Ditto.
6191 * include/experimental/bits/simd_converter.h: Ditto.
6192 * include/experimental/bits/simd_fixed_size.h: Ditto.
6193 * include/experimental/bits/simd_math.h: Ditto.
6194 * include/experimental/bits/simd_neon.h: Ditto.
6195 * include/experimental/bits/simd_x86.h: Ditto.
6196
6197 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6198
6199 * include/experimental/bits/simd.h
6200 (_SimdWrapper::_M_is_constprop_none_of)
6201 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
6202 computed result still satisfies __builtin_constant_p.
6203
6204 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6205
6206 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
6207 ellipsis character.
6208
6209 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6210
6211 * include/Makefile.am: Add new header.
6212 * include/Makefile.in: Regenerate.
6213 * include/experimental/synchronized_value: New file.
6214 * testsuite/experimental/synchronized_value.cc: New test.
6215
6216 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6217
6218 * include/experimental/optional: Fix header name in comment.
6219
6220 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6221
6222 * include/std/format (__format::_Arg_store): New class template.
6223 (basic_format_args): Remove nested type _Store and add deduction
6224 guide from _Arg_store.
6225 (basic_format_arg, make_format_args): Adjust.
6226 * testsuite/std/format/arguments/lwg3810.cc: New test.
6227
6228 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6229
6230 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
6231 constraints to constructors and add deleted overloads for the
6232 dangling cases, as per P2255R2.
6233 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
6234 make dangling cases ill-formed.
6235 * testsuite/20_util/pair/dangling_ref.cc: New test.
6236
6237 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6238
6239 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
6240
6241 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6242
6243 * include/ext/throw_allocator.h: Use reserved names for
6244 parameters.
6245
6246 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6247
6248 * testsuite/17_intro/names_pstl.cc: Add space after effective
6249 target name.
6250
6251 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6252
6253 * include/pstl/algorithm_fwd.h (__pattern_search_n)
6254 (__brick_unique_copy, __brick_adjacent_find)
6255 (__brick_generate_n, __pattern_generate_n): Use reserved names
6256 for parameters.
6257 * include/pstl/algorithm_impl.h (__brick_unique_copy)
6258 (__pattern_reverse, __brick_generate_n): Likewise.
6259 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
6260 (__prefer_parallel_tag): Likewise.
6261 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
6262 * include/pstl/glue_numeric_defs.h (adjacent_difference):
6263 Likewise.
6264 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
6265 Likewise.
6266 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
6267 * include/pstl/unseq_backend_simd.h (_Combiner)
6268 (__simd_min_element, __simd_minmax_element): Likewise.
6269 * testsuite/17_intro/names_pstl.cc: New test.
6270
6271 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6272
6273 * include/bits/fs_ops.h (create_directory): Use reserved name
6274 for parameter.
6275 * include/bits/ranges_algo.h (__contains_subrange_fn):
6276 Likewise.
6277 * include/bits/regex_automaton.h (_State_base::_M_print):
6278 Likewise.
6279 * include/bits/regex_automaton.tcc(_State_base::_M_print):
6280 Likewise.
6281 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
6282 * include/experimental/bits/fs_ops.h (create_directory):
6283 Likewise.
6284 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
6285 (recursive_timed_mutex:_M_clocklock): Likewise.
6286 * include/std/tuple (basic_common_reference): Likewise.
6287 * libsupc++/cxxabi_init_exception.h
6288 (__cxa_init_primary_exception): Likewise.
6289 * testsuite/17_intro/names.cc: Add checks.
6290
6291 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
6292
6293 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
6294 to www.open-std.org and https.
6295 * doc/html/manual/status.html: Regenerate.
6296
6297 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
6298
6299 PR libstdc++/103934
6300 * include/std/atomic (atomic_flag_wait): Add.
6301 (atomic_flag_wait_explicit): Add.
6302 (atomic_flag_notify): Add.
6303 (atomic_flag_notify_explicit): Add.
6304 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
6305 Add test case to cover missing atomic_flag free functions.
6306
6307 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
6308
6309 PR libstdc++/103934
6310 * include/std/atomic (atomic_flag_test): Add.
6311 (atomic_flag_test_explicit): Add.
6312 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
6313 test case to cover missing atomic_flag free functions.
6314 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
6315 Likewise.
6316
6317 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
6318
6319 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
6320 "The Component Object Model" reference.
6321 * doc/html/manual/policy_data_structures.html: Regenerate.
6322
6323 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6324
6325 * doc/xml/manual/containers.xml: Tweak a link to N1780
6326 (C++ standard).
6327 * doc/html/manual/associative.html: Regenerate.
6328
6329 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
6330
6331 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
6332 * doc/html/manual/facets.html: Regenerate.
6333
6334 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
6335
6336 * doc/xml/manual/policy_data_structures_biblio.xml: Update
6337 link to "Worst-case efficient priority queues".
6338 * doc/html/manual/policy_data_structures.html: Regenerate.
6339
6340 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
6341
6342 * doc/xml/manual/using.xml: Document newly-freestanding
6343 headers and the effect of the -ffreestanding flag.
6344 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
6345 completed.
6346 * doc/xml/manual/configure.xml: Document that hosted installs
6347 respect __STDC_HOSTED__.
6348 * doc/xml/manual/test.xml: Document how to run tests in
6349 freestanding mode.
6350 * doc/html/*: Regenerate.
6351
6352 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6353
6354 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
6355 (__find_last_if_fn): Likewise.
6356
6357 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6358
6359 * include/std/type_traits: Add diagnostic pragmas around
6360 references to deprecated std::aligned_storage and
6361 std::aligned_union traits.
6362 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
6363 Add dg-warning for et c++23.
6364 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
6365 Likewise.
6366 * testsuite/20_util/aligned_storage/value.cc: Likewise.
6367 * testsuite/20_util/aligned_union/1.cc: Likewise.
6368 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
6369 Likewise.
6370
6371 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
6372
6373 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
6374 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
6375 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
6376 * include/std/type_traits (aligned_storage, aligned_union)
6377 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
6378 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
6379 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
6380
6381 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
6382
6383 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
6384 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
6385 consistent with other 'deprecated' macros.
6386 * include/std/type_traits (is_pod, is_pod_v): Use
6387 _GLIBCXX20_DEPRECATED_SUGGEST instead.
6388
6389 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
6390
6391 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
6392 * Makefile.in: Regenerate.
6393 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
6394 There's no history to be compatible with.
6395 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
6396 source files from the build.
6397 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6398 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6399 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
6400 * src/Makefile.in: Regenerate.
6401 * src/c++11/Makefile.in: Regenerate.
6402 * src/c++17/Makefile.in: Regenerate.
6403 * src/c++20/Makefile.in: Regenerate.
6404 * src/c++98/Makefile.in: Regenerate.
6405
6406 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
6407
6408 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
6409 filesystem, libbacktrace and experimental.
6410 * src/Makefile.in: Regenerate.
6411
6412 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
6413
6414 PR libstdc++/108672
6415 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
6416 instead of int32_t.
6417
6418 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
6419
6420 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
6421 * doc/html/manual/documentation_hacking.html: Regenerate.
6422
6423 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
6424
6425 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
6426 storage to the move-from instance when allocators are equal.
6427 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
6428 New test case.
6429
6430 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
6431
6432 * config/os/gnu-linux/os_defines.h [!__linux__]
6433 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
6434
6435 2023-02-03 Patrick Palka <ppalka@redhat.com>
6436
6437 * include/bits/ranges_algo.h (__find_last_fn, find_last):
6438 Define.
6439 (__find_last_if_fn, find_last_if): Define.
6440 (__find_last_if_not_fn, find_last_if_not): Define.
6441 * testsuite/25_algorithms/find_last/1.cc: New test.
6442 * testsuite/25_algorithms/find_last_if/1.cc: New test.
6443 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
6444
6445 2023-02-03 Patrick Palka <ppalka@redhat.com>
6446
6447 * include/bits/ranges_algo.h (out_value_result): Define.
6448 (iota_result): Define.
6449 (__iota_fn, iota): Define.
6450 * testsuite/25_algorithms/iota/1.cc: New test.
6451
6452 2023-02-03 Patrick Palka <ppalka@redhat.com>
6453
6454 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
6455 (__contains_subrange_fn, contains_subrange): Define.
6456 * testsuite/25_algorithms/contains/1.cc: New test.
6457 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
6458
6459 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6460
6461 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
6462 * doc/html/manual/abi.html: Regenerate.
6463
6464 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6465
6466 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
6467 errc::function_not_supported instead of errc::not_supported.
6468
6469 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6470
6471 * include/std/sstream (basic_stringbuf::view): Define for old
6472 std::string ABI.
6473 (basic_istringstream::view, basic_0stringstream::view)
6474 (basic_stringstream::view): Likewise.
6475 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
6476 { dg-require-effective-target cxx11_abi }.
6477 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
6478 Likewise.
6479 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
6480 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
6481 Likewise.
6482 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
6483 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
6484 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
6485 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
6486 Likewise.
6487
6488 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6489
6490 PR libstdc++/108636
6491 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
6492 conversion operators for directory iterator comparisons with
6493 std::default_sentinel_t.
6494 * include/bits/fs_path.h (path::path(string_view, _Type))
6495 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
6496 definitions to ...
6497 * src/c++17/fs_path.cc: ... here.
6498 * testsuite/27_io/filesystem/path/108636.cc: New test.
6499
6500 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
6501
6502 * include/std/variant (variant::operator=): Implement resolution
6503 of LWG 3585.
6504 * testsuite/20_util/variant/lwg3585.cc: New test.
6505
6506 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6507
6508 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
6509 link to https.
6510 * doc/html/manual/using_exceptions.html: Regenerate.
6511
6512 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6513
6514 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
6515 * doc/html/manual/debug.html: Regenerate.
6516
6517 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6518
6519 * src/c++11/random.cc (random_device::_M_fini): Do not try to
6520 close the file handle if the target doesn't support the
6521 /dev/random and /dev/urandom files.
6522
6523 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6524
6525 * config/os/generic/error_constants.h (errc::value_too_large)
6526 [__AVR__]: Define.
6527 * src/c++11/system_error.cc
6528 (system_category::default_error_condition) [__AVR__]: Only match
6529 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
6530 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
6531 for ENOENT etc. in switch.
6532 (fs::remove_all) [__AVR__]: Likewise.
6533 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
6534 close etc.
6535
6536 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
6537
6538 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
6539 embed_zoneinfo=no
6540 * configure: Regenerate.
6541
6542 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
6543
6544 PR testsuite/108632
6545 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
6546 struct at end of S0.
6547
6548 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
6549
6550 * doc/xml/manual/shared_ptr.xml: Move links from both
6551 http://open-std.org and http://www.open-std.org to
6552 https://www.open-std.org.
6553 * doc/html/manual/memory.html: Regenerate.
6554
6555 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6556
6557 * doc/xml/manual/appendix_contributing.xml: Adjust link to
6558 ISO C++ standard at ANSI.
6559 Move link to www.open-std.org to https.
6560 * doc/html/manual/appendix_contributing.html: Regenerate.
6561
6562 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6563
6564 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
6565 links to https.
6566 * doc/html/manual/documentation_hacking.html: Regenerate.
6567
6568 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
6569
6570 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
6571 * doc/html/manual/abi.html: Regenerate.
6572
6573 2023-01-27 Jakub Jelinek <jakub@redhat.com>
6574
6575 PR libstdc++/108568
6576 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
6577 include features.h if present and then check __GLIBC__ and
6578 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
6579 __GLIBC_PREREQ which isn't defined yet.
6580
6581 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
6582
6583 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
6584 string literal.
6585
6586 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
6587
6588 PR libstdc++/108554
6589 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
6590
6591 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6592
6593 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
6594 rules named "+" for compatibility with older tzdata.zi files.
6595
6596 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6597
6598 PR libstdc++/108554
6599 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
6600 nonnull attribute.
6601 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
6602 attributes.
6603 * testsuite/23_containers/map/modifiers/108554.cc: New test.
6604
6605 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
6606
6607 PR libstdc++/108530
6608 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
6609 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
6610
6611 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
6612
6613 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
6614 use https.
6615 * doc/html/manual/bugs.html: Regenerate.
6616
6617 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
6618
6619 PR libstdc++/108530
6620 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
6621 /etc/sysconfig/clock.
6622
6623 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
6624
6625 PR libstdc++/102301
6626 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
6627 std::make_reverse_iterator.
6628 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
6629 (make_from_tuple): Add static assertion from P2255 to diagnose
6630 dangling references.
6631 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
6632 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
6633
6634 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
6635
6636 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
6637 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
6638 (_Safe_iterator::operator++(int)): Use latter.
6639 (_Safe_iterator::operator--(int)): Likewise.
6640 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
6641 check.
6642 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
6643 New.
6644 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
6645 (_Safe_local_iterator::operator++(int)): Use latter.
6646 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
6647 entry associated to the array entry.
6648
6649 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
6650
6651 * include/bits/fs_path.h (u8path): Add deprecated attribute.
6652 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
6653 -Wno-deprecated-declarations for C++20 and later.
6654 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
6655 Likewise.
6656 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
6657 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
6658 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
6659
6660 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
6661
6662 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
6663 Always call _M_fini and _M_getentropy.
6664
6665 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
6666
6667 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
6668 to www.open-std.org to use https.
6669 (COM: Component Model Object Technologies): Rename from...
6670 (The Component Object Model): ...to.
6671 * doc/html/manual/policy_data_structures.html: Regenerate.
6672
6673 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
6674
6675 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
6676 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
6677 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
6678
6679 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
6680
6681 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
6682 of $host. Fix check for file being present during native build.
6683 * configure: Regenerate.
6684
6685 2023-01-17 Martin Liska <mliska@suse.cz>
6686
6687 * src/libbacktrace/Makefile.in: Regenerate.
6688
6689 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
6690
6691 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
6692
6693 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
6694
6695 PR libstdc++/108413
6696 * include/c_compatibility/stdatomic.h: Change copyright line to
6697 be consistent with other headers contributed under DCO terms.
6698 * include/std/expected: Add full stop to copyright line.
6699 * src/c++20/tzdb.cc: Likewise.
6700
6701 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
6702
6703 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
6704 https.
6705 * doc/xml/manual/status_cxx2017.xml: Ditto.
6706 * doc/xml/manual/status_cxx2020.xml: Ditto.
6707 * doc/xml/manual/status_cxx2023.xml: Ditto.
6708 * doc/html/manual/status.html: Regenerate.
6709
6710 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6711
6712 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
6713 and fail gracefully if defining the weak symbol doesn't work.
6714
6715 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
6716
6717 PR libstdc++/108288
6718 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
6719 fix to other iterator category.
6720 (_Safe_iterator<>::operator--(int)): Likewise.
6721 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
6722 Fix deadlock.
6723 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
6724 (invalid_local_iterator_post_increment): New.
6725 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
6726 New test.
6727 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
6728 New test.
6729
6730 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6731
6732 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
6733 dg-options.
6734
6735 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
6736
6737 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
6738
6739 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
6740
6741 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
6742 windows.h. Add pecoff as FORMAT_FILE.
6743 * config.h.in: Regenerate.
6744 * configure: Regenerate.
6745 * src/libbacktrace/Makefile.am: Regenerate.
6746 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
6747
6748 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
6749
6750 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
6751 raw __name if __cxa_demangle could not demangle it.
6752
6753 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6754
6755 PR libstdc++/108409
6756 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
6757 variable.
6758
6759 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6760
6761 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
6762 loading tzdb.
6763 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
6764 effective target.
6765 * testsuite/std/time/tzdb_list/1.cc: Likewise.
6766
6767 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6768
6769 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
6770 --with-libstdcxx-zoneinfo-dir configure option with
6771 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
6772 a directory.
6773 * config.h.in: Regenerate.
6774 * configure: Regenerate.
6775 * doc/xml/manual/configure.xml: Document configure option.
6776 * doc/html/manual/configure.html: Regenerate.
6777 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
6778 * src/c++20/Makefile.in: Regenerate.
6779 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
6780 null pointer if no directory is configured.
6781 (zoneinfo_dir): Replace with ...
6782 (zoneinfo_file): New function.
6783 (tzdata_stream): New istream class.
6784 (remote_version, reload_tzdb): Use tzdata_stream.
6785 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
6786 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
6787 tzdata.zi file in default location.
6788 * src/c++20/tzdata.zi: New file.
6789
6790 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
6791
6792 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
6793 * testsuite/std/time/month_day/io.cc: New test.
6794 * testsuite/std/time/month_day_last/io.cc: New test.
6795 * testsuite/std/time/month_weekday/io.cc: New test.
6796 * testsuite/std/time/month_weekday_last/io.cc: New test.
6797 * testsuite/std/time/weekday_indexed/io.cc: New test.
6798 * testsuite/std/time/weekday_last/io.cc: New test.
6799 * testsuite/std/time/year_month/io.cc: New test.
6800 * testsuite/std/time/year_month_day_last/io.cc: New test.
6801 * testsuite/std/time/year_month_weekday/io.cc: New test.
6802 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
6803
6804 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
6805
6806 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
6807 specifications.
6808 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
6809 export.
6810
6811 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6812
6813 * include/bits/std_mutex.h: Include <errno.h>.
6814
6815 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
6816
6817 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
6818 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
6819 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
6820 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
6821 std::make_unique with a freestanding-compatible wrapper around
6822 unique_ptr.
6823 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
6824 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
6825 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
6826 Ditto.
6827 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
6828 of __cpp_lib_ranges in !HOSTED.
6829
6830 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
6831
6832 * include/Makefile.am: Install bits/char_traits.h,
6833 std/string_view
6834 * include/Makefile.in: Regenerate.
6835 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
6836 mbstate-only bits behind appropriate #ifs.
6837 * include/std/string_view: Gate <iostream> functionality behind
6838 HOSTED.
6839 * include/std/version: Enable __cpp_lib_constexpr_string_view
6840 and __cpp_lib_starts_ends_with in !HOSTED.
6841 * include/std/ranges: Re-enable __is_basic_string_view on
6842 freestanding, include <string_view> directly.
6843 * include/precompiled/stdc++.h: Include <string_view> when
6844 !HOSTED too.
6845 * testsuite/20_util/function_objects/searchers.cc: Skip testing
6846 boyer_moore searchers on freestanding
6847 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
6848 <string>-related tests behind __STDC_HOSTED__.
6849 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
6850 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
6851 unused <stdexcept> include.
6852 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
6853 unused <vector> include.
6854 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
6855 Guard <string> related testing behind __STDC_HOSTED__.
6856 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
6857 Guard <stdexcept> related tests behind __STDC_HOSTED__.
6858 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
6859 Ditto.
6860 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
6861 Guard <stdexcept> tests behind __STDC_HOSTED__.
6862 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
6863 Enable test on freestanding, guard <stdexcept> bits behind
6864 __STDC_HOSTED__.
6865 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
6866 Guard <stdexcept> bits behind __STDC_HOSTED__.
6867 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
6868 Ditto.
6869
6870 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
6871
6872 PR libstdc++/86419
6873 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
6874 errors in incomplete multibyte sequences.
6875 (utf16_in): Remove surrogates parameter. Fix conditions for
6876 returning partial.
6877 (utf16_out): Fix condition for returning partial.
6878 (ucs2_in): Do not pass surrogates argument to utf16_in.
6879 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
6880 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
6881 tests.
6882 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
6883 test.
6884
6885 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6886
6887 PR libstdc++/108331
6888 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
6889 __GTHREAD_LEGACY_MUTEX_T if defined.
6890
6891 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6892
6893 PR libstdc++/108327
6894 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
6895 Export __try_use_facet specializations for facets in namespace
6896 __gnu_cxx_ldbl128.
6897 * config/os/gnu-linux/ldbl-ieee128-extra.ver
6898 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
6899 __gnu_cxx_ieee128.
6900 * testsuite/util/testsuite_abi.cc: Add to lists of known and
6901 latest versions.
6902
6903 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
6904
6905 * include/bits/std_mutex.h: Remove <system_error> include.
6906 * include/std/condition_variable: Add <bits/error_constants.h>
6907 include.
6908 * include/std/mutex: Likewise.
6909 * include/std/shared_mutex: Likewise.
6910
6911 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6912
6913 PR libstdc++/77691
6914 * include/experimental/memory_resource
6915 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
6916 (do_allocate, do_deallocate): Check it.
6917 * testsuite/experimental/memory_resource/new_delete_resource.cc:
6918 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
6919
6920 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6921
6922 * doc/xml/manual/abi.xml: Add latest library versions.
6923 * doc/html/manual/abi.html: Regenerate.
6924
6925 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
6926
6927 PR libstdc++/107189
6928 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
6929 unused _Alloc_node instance.
6930
6931 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
6932
6933 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
6934 Define as unsigned long if always lock-free, and unsigned int
6935 otherwise.
6936
6937 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6938
6939 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
6940 __catch macros for exception handling.
6941
6942 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6943
6944 PR libstdc++/108221
6945 * include/bits/stl_algobase.h (__lg): Replace six overloads with
6946 a single function template for all integer types.
6947 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
6948 arithmetic results back to _Distance.
6949
6950 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
6951
6952 PR libstdc++/108221
6953 * include/std/span (span::span()): Un-simplify constraint to
6954 work for size_t of lesser rank than int.
6955
6956 2023-01-07 LIU Hao <lh_mouse@126.com>
6957
6958 PR middle-end/108300
6959 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
6960 <windows.h>.
6961 * src/c++11/thread.cc: Likewise.
6962 * src/c++17/fs_ops.cc: Likewise.
6963 * src/filesystem/ops.cc: Likewise.
6964
6965 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6966
6967 PR libstdc++/108228
6968 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
6969
6970 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
6971
6972 PR libstdc++/108235
6973 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
6974 template and partial specialization for synchronizing access to
6975 time_zone::_Impl::infos.
6976 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
6977 rules_counter.
6978
6979 2023-01-06 Patrick Palka <ppalka@redhat.com>
6980
6981 PR libstdc++/108260
6982 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
6983 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
6984 (__cpp_lib_ranges_chunk): Likewise.
6985 (__cpp_lib_ranges_slide): Likewise.
6986 (__cpp_lib_ranges_chunk_by): Likewise.
6987 (__cpp_lib_ranges_join_with): Likewise.
6988 (__cpp_lib_ranges_repeat): Likewise.
6989 (__cpp_lib_ranges_stride): Likewise.
6990 (__cpp_lib_ranges_cartesian_product): Likewise.
6991 (__cpp_lib_ranges_as_rvalue): Likewise.
6992 * include/std/version: Ditto.
6993 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
6994 feature-test macro.
6995 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
6996 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
6997 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
6998 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
6999 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
7000 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
7001 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
7002 * testsuite/std/ranges/repeat/1.cc: Likewise.
7003 * testsuite/std/ranges/zip/1.cc: Likewise.
7004 * testsuite/std/ranges/version_c++23.cc: New test.
7005
7006 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7007
7008 PR libstdc++/108214
7009 * include/std/bitset (operator>>): Use alloca in the right
7010 scope, not in a constructor.
7011 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
7012
7013 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7014
7015 PR libstdc++/108221
7016 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
7017 Disable visiting floating-point types.
7018
7019 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7020
7021 PR libstdc++/108288
7022 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
7023 (_Safe_iterator::operator--(int)): Do not hold lock around
7024 construction of return value.
7025
7026 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
7027
7028 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
7029 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
7030 lock release. Revise loop.
7031 (__atomic_add): Likewise.
7032
7033 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7034
7035 PR libstdc++/108212
7036 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
7037 variable.
7038 (StdChronoTimePointPrinter::to_string): Use it.
7039
7040 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7041
7042 PR libstdc++/108290
7043 * include/std/functional (_Bind_front): Add no_unique_address
7044 attribute to data members.
7045 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
7046 size of call wrappers with empty types for targets and bound
7047 arguments.
7048
7049 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7050
7051 PR libstdc++/108211
7052 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
7053 using only last component of the name.
7054
7055 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7056
7057 PR libstdc++/108228
7058 PR libstdc++/108235
7059 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
7060 the latest symbol version.
7061 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
7062 atomic<_Node*> is not always lock free.
7063 (USE_ATOMIC_LIST_HEAD): New macro.
7064 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
7065 definition of weak symbol.
7066 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
7067 (tzdb_list::_Node::_S_list_head): New function for accessing
7068 list head efficiently.
7069 (tzdb_list::_Node::_S_cache_list_head): New function for
7070 updating _S_list_head.
7071
7072 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7073
7074 PR libstdc++/108265
7075 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
7076 duration rep is unsigned.
7077 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
7078
7079 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
7080
7081 PR libstdc++/108228
7082 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
7083 Add __gnu_cxx::zoneinfo_dir_override().
7084
7085 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
7086
7087 PR libstdc++/108258
7088 * include/std/array (__array_traits<T, 0>::operator T*()): Add
7089 constexpr.
7090 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
7091 std::array<T, 0>::data().
7092
7093 \f
7094 Copyright (C) 2023 Free Software Foundation, Inc.
7095
7096 Copying and distribution of this file, with or without modification,
7097 are permitted in any medium without royalty provided the copyright
7098 notice and this notice are preserved.