]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog-2023
tree-optimization/114672 - WIDEN_MULT_PLUS_EXPR type mismatch
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog-2023
CommitLineData
8c22aed4
JJ
12023-12-31 Hans-Peter Nilsson <hp@axis.com>
2
3 * testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3.
4
52023-12-31 François Dumont <fdumont@gcc.gnu.org>
6
7 * include/bits/hashtable.h: Move comment about all equivalent values
8 being next to each other in the class documentation header.
9 (_M_reinsert_node, _M_merge_unique): Implement small size optimization.
10 (_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise.
11
122023-12-31 François Dumont <fdumont@gcc.gnu.org>
13
14 * testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries
15 w/o copy to see potential impact of memory fragmentation enhancements.
16 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash
17 functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as
18 slow or not to bench w/o hash code cache.
19 * testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like
20 previous one but using std::unordered_set.
21 * testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case.
22 Check performance of range-insertion compared to individual insertions.
23 * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench
24 but after a copy to demonstrate impact of enhancements regarding memory fragmentation.
25
262023-12-22 Christophe Lyon <christophe.lyon@linaro.org>
27
28 * Makefile.am: Allow overriding EXEPCT.
29 * Makefile.in: Regenerate.
30
312023-12-21 Arsen Arsenović <arsen@aarsen.me>
32
33 * include/Makefile.am: Install std/generator, bits/elements_of.h
34 as freestanding.
35 * include/Makefile.in: Regenerate.
36 * include/bits/version.def: Add __cpp_lib_generator.
37 * include/bits/version.h: Regenerate.
38 * include/precompiled/stdc++.h: Include <generator>.
39 * include/std/ranges: Include bits/elements_of.h
40 * include/bits/elements_of.h: New file.
41 * include/std/generator: New file.
42 * testsuite/24_iterators/range_generators/01.cc: New test.
43 * testsuite/24_iterators/range_generators/02.cc: New test.
44 * testsuite/24_iterators/range_generators/copy.cc: New test.
45 * testsuite/24_iterators/range_generators/except.cc: New test.
46 * testsuite/24_iterators/range_generators/synopsis.cc: New test.
47 * testsuite/24_iterators/range_generators/subrange.cc: New test.
48
492023-12-21 Arsen Arsenović <arsen@aarsen.me>
50
51 * include/bits/ranges_util.h: Add missing <bits/invoke.h>
52 include.
53
542023-12-18 Patrick Palka <ppalka@redhat.com>
55
56 PR libstdc++/112802
57 PR libstdc++/113068
58 * include/std/ranges (__detail::_To::operator()): Add constraints.
59 (__detail::_To2::operator()): Likewise.
60 * testsuite/std/ranges/conv/1.cc (test_sfinae): New test.
61 (test_composition): New test.
62
632023-12-16 Jonathan Wakely <jwakely@redhat.com>
64
65 * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno
66 macro.
67
682023-12-16 H.J. Lu <hjl.tools@gmail.com>
69
70 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
71 Updated.
72
732023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
74
75 * include/std/type_traits (remove_pointer): Use __remove_pointer
76 built-in trait.
77
782023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
79
80 * include/std/type_traits (is_object): Use __is_object built-in
81 trait.
82 (is_object_v): Likewise.
83
842023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
85
86 * include/std/type_traits (is_function): Use __is_function
87 built-in trait.
88 (is_function_v): Likewise. Optimize its implementation. Move
89 this under is_const_v as this depends on is_const_v.
90
912023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
92
93 * include/std/type_traits (is_reference): Use __is_reference
94 built-in trait.
95 (is_reference_v): Likewise.
96
972023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
98
99 * include/std/type_traits (is_member_object_pointer): Use
100 __is_member_object_pointer built-in trait.
101 (is_member_object_pointer_v): Likewise.
102
1032023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
104
105 * include/std/type_traits (is_member_function_pointer): Use
106 __is_member_function_pointer built-in trait.
107 (is_member_function_pointer_v): Likewise.
108
1092023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
110
111 * include/std/type_traits (is_member_pointer): Use
112 __is_member_pointer built-in trait.
113 (is_member_pointer_v): Likewise.
114
1152023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
116
117 * include/std/type_traits (is_scoped_enum): Use
118 __is_scoped_enum built-in trait.
119 (is_scoped_enum_v): Likewise.
120
1212023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
122
123 * include/std/type_traits (is_bounded_array_v): Use
124 __is_bounded_array built-in trait.
125
1262023-12-16 Ken Matsui <kmatsui@gcc.gnu.org>
127
128 * include/std/type_traits (is_array): Use __is_array built-in
129 trait.
130 (is_array_v): Likewise.
131
1322023-12-15 Jonathan Wakely <jwakely@redhat.com>
133
134 * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle
135 does not refer to the console then just write to it using normal
136 file I/O.
137 * testsuite/27_io/print/2.cc (as_printed_to_terminal): Print
138 error message on failure.
139 (test_utf16_transcoding): Adjust for as_printed_to_terminal
140 modifying its argument.
141
1422023-12-15 Jonathan Wakely <jwakely@redhat.com>
143
144 * include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard.
145 (vprint_unicode) [!_WIN32]: Just call vprint_nonunicode.
146 * include/std/print (vprint_unicode) [!_WIN32]: Likewise.
147
1482023-12-15 Jonathan Wakely <jwakely@redhat.com>
149
150 * include/std/ostream (vprint_nonunicode, vprint_unicode): Do
151 not insert padding.
152 * testsuite/27_io/basic_ostream/print/1.cc: Adjust expected
153 behaviour.
154
1552023-12-14 Jonathan Wakely <jwakely@redhat.com>
156
157 PR libstdc++/107760
158 * include/Makefile.am: Add new header.
159 * include/Makefile.in: Regenerate.
160 * include/bits/version.def (__cpp_lib_print): Define.
161 * include/bits/version.h: Regenerate.
162 * include/std/format (__literal_encoding_is_utf8): New function.
163 (_Seq_sink::view()): New member function.
164 * include/std/ostream (vprintf_nonunicode, vprintf_unicode)
165 (print, println): New functions.
166 * include/std/print: New file.
167 * src/c++23/Makefile.am: Add new source file.
168 * src/c++23/Makefile.in: Regenerate.
169 * src/c++23/print.cc: New file.
170 * testsuite/27_io/basic_ostream/print/1.cc: New test.
171 * testsuite/27_io/print/1.cc: New test.
172 * testsuite/27_io/print/2.cc: New test.
173
1742023-12-14 Jonathan Wakely <jwakely@redhat.com>
175
176 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add
177 missing header to configure test. Check correct variable.
178 * config/io/basic_file_stdio.cc (__basic_file<char>::native_handle):
179 Fix typo.
180 * configure: Regenerate.
181 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not
182 call CloseHandle on the native handle.
183 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc:
184 Likewise.
185
1862023-12-14 Jonathan Wakely <jwakely@redhat.com>
187
188 * include/std/format (_Seq_sink): Fix missing argument in
189 discarded statement. Add comments, likely/unlikely attributes
190 and debug assertions as sanity checks.
191
1922023-12-14 Jonathan Wakely <jwakely@redhat.com>
193
194 * testsuite/27_io/objects/char/2.cc: Use dg-output.
195 * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output.
196
1972023-12-14 Jonathan Wakely <jwakely@redhat.com>
198
199 * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order
200 of arguments to std::format_to.
201 * testsuite/20_util/duration/io.cc: Test subsecond duration with
202 floating-point rep.
203
2042023-12-14 Jonathan Wakely <jwakely@redhat.com>
205
206 PR libstdc++/109536
207 * include/bits/c++config (__glibcxx_constexpr_assert): Remove
208 macro.
209 * include/bits/stl_algobase.h (__niter_base, __copy_move_a)
210 (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux)
211 (__lexicographical_compare_aux): Add constexpr to overloads for
212 debug mode iterators.
213 * include/debug/helper_functions.h (__unsafe): Add constexpr.
214 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove
215 macro, folding it into ...
216 (_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use
217 __glibcxx_constexpr_assert.
218 * include/debug/safe_base.h (_Safe_iterator_base): Add constexpr
219 to some member functions. Omit attaching, detaching and checking
220 operations during constant evaluation.
221 * include/debug/safe_container.h (_Safe_container): Likewise.
222 * include/debug/safe_iterator.h (_Safe_iterator): Likewise.
223 * include/debug/safe_iterator.tcc (__niter_base, __copy_move_a)
224 (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux)
225 (__lexicographical_compare_aux): Add constexpr.
226 * include/debug/vector (_Safe_vector, vector): Add constexpr.
227 Omit safe iterator operations during constant evaluation.
228 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
229 Remove dg-xfail-if for debug mode.
230 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
231 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
232 Likewise.
233 * testsuite/23_containers/vector/bool/element_access/1.cc:
234 Likewise.
235 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
236 Likewise.
237 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
238 Likewise.
239 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
240 Likewise.
241 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
242 Likewise.
243 * testsuite/23_containers/vector/capacity/constexpr.cc:
244 Likewise.
245 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
246 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
247 * testsuite/23_containers/vector/data_access/constexpr.cc:
248 Likewise.
249 * testsuite/23_containers/vector/element_access/constexpr.cc:
250 Likewise.
251 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
252 Likewise.
253 * testsuite/23_containers/vector/modifiers/constexpr.cc:
254 Likewise.
255 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
256 Likewise.
257 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
258 Adjust dg-error line number.
259
2602023-12-13 Jonathan Wakely <jwakely@redhat.com>
261
262 * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do
263 not round century down for %Y formats.
264
2652023-12-12 Jonathan Wakely <jwakely@redhat.com>
266
267 * include/std/format (__do_vformat_to): Handle char separately
268 from other integral types.
269 * testsuite/std/format/functions/format.cc: Check for expected
270 output for char and bool arguments.
271 * testsuite/std/format/string.cc: Check that 0 filling is
272 rejected for character and string formats.
273
2742023-12-12 Jonathan Wakely <jwakely@redhat.com>
275
276 * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix
277 rounding for negative centuries.
278 * testsuite/std/time/year/io.cc: Check %C for negative years.
279
2802023-12-12 Jonathan Wakely <jwakely@redhat.com>
281
282 * src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags.
283 * src/c++11/Makefile.in: Regenerate.
284
2852023-12-09 Jonathan Wakely <jwakely@redhat.com>
286
287 PR libstdc++/111826
288 * include/bits/version.def (format): Update value.
289 * include/bits/version.h: Regenerate.
290 * testsuite/std/format/functions/format.cc:
291
2922023-12-09 Jonathan Wakely <jwakely@redhat.com>
293
294 PR libstdc++/112876
295 * include/std/ranges (ranges::to): Do not try to use an iterator
296 returned by the container's emplace or insert member functions.
297 * testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert):
298 Use the iterator parameter. Do not return an iterator.
299
3002023-12-07 Patrick Palka <ppalka@redhat.com>
301
302 * include/std/ranges (__detail::_ToClosure): Replace with ...
303 (__detail::_To): ... this.
304 (__detail::_ToClosure2): Replace with ...
305 (__detail::To2): ... this.
306 (to): Simplify using the existing _Partial range adaptor
307 closure object.
308
3092023-12-07 Jonathan Wakely <jwakely@redhat.com>
310
311 * include/std/format (_Iter_sink<charT, contiguous_iterator>):
312 Remove uint64_t local type.
313
3142023-12-07 Jonathan Wakely <jwakely@redhat.com>
315
316 * include/bits/atomic_wait.h: Include <cstdint> instead of
317 <stdint.h>.
318
3192023-12-07 Jonathan Wakely <jwakely@redhat.com>
320
321 PR libstdc++/112882
322 * include/bits/c++config (__is_constant_evaluated): Add
323 always_inline attribute.
324 (_GLIBCXX_DO_ASSERT): Remove macro.
325 (__glibcxx_assert): Define separately for assertions-enabled and
326 constexpr-only cases.
327
3282023-12-07 Alexandre Oliva <oliva@adacore.com>
329
330 PR libstdc++/112858
331 * config/os/gnu-linux/os_defines.h
332 (_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define.
333 * libsupc++/atexit_thread.cc [__GXX_WEAK__ &&
334 _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL]
335 (__cxa_thread_atexit): Add dynamic detection of
336 __cxa_thread_atexit_impl.
337
3382023-12-06 Jason Merrill <jason@redhat.com>
339
340 DR 532
341 PR c++/53499
342 * testsuite/23_containers/vector/ext_pointer/types/1.cc
343 * testsuite/23_containers/vector/ext_pointer/types/2.cc
344 (N::operator-): Make less specialized.
345
3462023-12-06 Alexandre Oliva <oliva@gnu.org>
347
348 Revert:
349 2023-12-02 Alexandre Oliva <oliva@adacore.com>
350
351 * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic
352 detection of __cxa_thread_atexit_impl.
353
3542023-12-05 Jonathan Wakely <jwakely@redhat.com>
355
356 PR libstdc++/111948
357 * include/bits/ranges_util.h (subrange): Add constructor to
358 _Size to aoid setting member in constructor.
359 * testsuite/std/ranges/subrange/111948.cc: New test.
360
3612023-12-05 Jonathan Wakely <jwakely@redhat.com>
362
363 * include/std/ranges (__detail::__container_insertable): Remove.
364 (__detail::__container_inserter): Remove.
365 (ranges::to): Use emplace_back or emplace, as per LWG 4016.
366 * testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for
367 use of emplace_back and emplace.
368
3692023-12-05 Jonathan Wakely <jwakely@redhat.com>
370
371 * include/bits/c++config (__glibcxx_assert_fail): Declare even
372 when assertions are not enabled.
373 (__glibcxx_constexpr_assert): Remove macro.
374 (__glibcxx_assert_impl): Remove macro.
375 (_GLIBCXX_ASSERT_FAIL): New macro.
376 (_GLIBCXX_DO_ASSERT): New macro.
377 (__glibcxx_assert): Simplify to a single definition that works
378 at runtime and during constant evaluation.
379 * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
380 Adjust expected errors.
381 * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
382 Likewise.
383 * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
384 Likewise.
385 * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
386 Likewise.
387 * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
388 Likewise.
389 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
390 Likewise.
391 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
392 Likewise.
393 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
394 Likewise.
395 * testsuite/23_containers/span/back_neg.cc: Likewise.
396 * testsuite/23_containers/span/front_neg.cc: Likewise.
397 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
398 * testsuite/26_numerics/lcm/105844.cc: Likewise.
399
4002023-12-05 Jonathan Wakely <jwakely@redhat.com>
401
402 PR libstdc++/112832
403 * include/std/format (formatter::set_debug_format): Ensure this
404 member is defined conditionally for all specializations.
405 * testsuite/std/format/formatter/112832.cc: New test.
406
4072023-12-05 Will Hawkins <hawkinsw@obs.cr>
408 Jonathan Wakely <jwakely@redhat.com>
409
410 * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check
411 for LWG Issue 3897.
412
4132023-12-05 Marek Polacek <polacek@redhat.com>
414
415 PR c++/107687
416 PR c++/110997
417 * testsuite/18_support/comparisons/categories/zero_neg.cc: Add
418 dg-prune-output.
419 * testsuite/std/format/string_neg.cc: Add dg-error.
420
4212023-12-02 Alexandre Oliva <oliva@adacore.com>
422
423 * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic
424 detection of __cxa_thread_atexit_impl.
425
4262023-12-01 Jason Merrill <jason@redhat.com>
427
428 * include/std/bit: Avoid builtins in requires-clauses.
429 * include/std/variant: Likewise.
430
4312023-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
432
433 * configure: Regenerate.
434
4352023-11-30 Jonathan Wakely <jwakely@redhat.com>
436
437 * include/std/ranges (__detail::__toable): Fix incorrect use of
438 _Range instead of _Cont.
439 (__detail::_ToClosure, __detail::_ToClosure2): Add missing
440 constexpr specifier on constructors.
441 * testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove
442 unnecessary begin() and end() members.
443 (test_constexpr): New function to check range adaptors are
444 usable in constant expressions.
445
4462023-11-29 Thomas Schwinge <thomas@codesourcery.com>
447
448 * testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions'
449 configurations.
450
4512023-11-28 Jonathan Wakely <jwakely@redhat.com>
452
453 * include/bits/atomic_wait.h: Include <stdint.h>.
454
4552023-11-28 Jonathan Wakely <jwakely@redhat.com>
456
457 * include/bits/stl_uninitialized.h: Fix typo in comment.
458
4592023-11-24 Jan Hubicka <jh@suse.cz>
460
461 PR middle-end/109849
462 * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead
463 of memmove.
464
4652023-11-23 Jonathan Wakely <jwakely@redhat.com>
466
467 PR libstdc++/111055
468 * include/bits/ranges_base.h (from_range_t): Define new tag
469 type.
470 (from_range): Define new tag object.
471 * include/bits/version.def (ranges_to_container): Define.
472 * include/bits/version.h: Regenerate.
473 * include/std/ranges (ranges::to): Define.
474 * testsuite/std/ranges/conv/1.cc: New test.
475 * testsuite/std/ranges/conv/2_neg.cc: New test.
476 * testsuite/std/ranges/conv/version.cc: New test.
477
4782023-11-23 Jonathan Wakely <jwakely@redhat.com>
479
480 * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix
481 equality operator for heterogeneous comparisons.
482
4832023-11-21 Jonathan Wakely <jwakely@redhat.com>
484
485 * include/bits/version.def (freestanding_cstring): Add.
486 * include/bits/version.h: Regenerate.
487 * include/c_compatibility/string.h (strtok): Do not declare for
488 C++26 freestanding.
489 * include/c_global/cstring (strtok): Likewise.
490 * testsuite/21_strings/headers/cstring/version.cc: New test.
491
4922023-11-21 Jonathan Wakely <jwakely@redhat.com>
493
494 * include/bits/version.def (freestanding_algorithm)
495 (freestanding_array, freestanding_optional)
496 (freestanding_string_view, freestanding_variant): Add.
497 * include/bits/version.h: Regenerate.
498 * include/std/algorithm (__glibcxx_want_freestanding_algorithm):
499 Define.
500 * include/std/array (__glibcxx_want_freestanding_array):
501 Define.
502 * include/std/optional (__glibcxx_want_freestanding_optional):
503 Define.
504 * include/std/string_view
505 (__glibcxx_want_freestanding_string_view): Define.
506 * include/std/variant (__glibcxx_want_freestanding_variant):
507 Define.
508 * testsuite/20_util/optional/version.cc: Add checks for
509 __cpp_lib_freestanding_optional.
510 * testsuite/20_util/variant/version.cc: Add checks for
511 __cpp_lib_freestanding_variant.
512 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
513 Adjust dg-error line numbers.
514 * testsuite/21_strings/basic_string_view/requirements/version.cc:
515 New test.
516 * testsuite/23_containers/array/requirements/version.cc: New
517 test.
518 * testsuite/25_algorithms/fill_n/requirements/version.cc: New
519 test.
520 * testsuite/25_algorithms/swap_ranges/requirements/version.cc:
521 New test.
522
5232023-11-21 Jonathan Wakely <jwakely@redhat.com>
524
525 * include/bits/version.def (freestanding_expected): New macro.
526 (span): Add C++26 value.
527 * include/bits/version.h: Regenerate.
528 * include/std/expected (__glibcxx_want_freestanding_expected):
529 Define.
530 * include/std/span (span::at): New member function.
531 * testsuite/20_util/expected/version.cc: Add checks for
532 __cpp_lib_freestanding_expected.
533 * testsuite/23_containers/span/2.cc: Moved to...
534 * testsuite/23_containers/span/version.cc: ...here. Add checks
535 for __cpp_lib_span in <span> as well as in <version>.
536 * testsuite/23_containers/span/1.cc: Removed.
537 * testsuite/23_containers/span/at.cc: New test.
538
5392023-11-21 Jonathan Wakely <jwakely@redhat.com>
540
541 * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one
542 characters to _M_copy_from_string.
543 * testsuite/tr2/dynamic_bitset/string.cc: New test.
544
5452023-11-21 Jonathan Wakely <jwakely@redhat.com>
546
547 * doc/html/*: Regenerate.
548 * doc/xml/faq.xml: Remove reference to buildstat.html pages.
549 * doc/xml/manual/test.xml: Likewise
550
5512023-11-21 Jan Hubicka <jh@suse.cz>
552
553 PR libstdc++/110287
554 PR middle-end/109811
555 PR middle-end/109849
556 * include/bits/stl_vector.h (_M_realloc_append): New member function.
557 (push_back): Use it.
558 * include/bits/vector.tcc: (emplace_back): Use it.
559 (_M_realloc_insert): Let compiler know that new vector size is non-zero.
560 (_M_realloc_append): New member function.
561
5622023-11-18 Jonathan Wakely <jwakely@redhat.com>
563
564 PR libstdc++/112607
565 * include/std/format (basic_format_arg::_S_to_arg_type): Check
566 value_type for basic_string_view and basic_string
567 specializations.
568 * testsuite/std/format/arguments/112607.cc: New test.
569
5702023-11-18 Jonathan Wakely <jwakely@redhat.com>
571
572 PR libstdc++/110801
573 * include/std/format (_Sink_iter::_M_reserve): New member
574 function.
575 (_Sink::_Reservation): New nested class.
576 (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions.
577 (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual
578 overrides.
579 (_Iter_sink<O, ContigIter>::_M_reserve): Likewise.
580 (__do_vformat_to): Use new functions to optimize "{}" case.
581
5822023-11-17 Jonathan Wakely <jwakely@redhat.com>
583
584 * config.h.in: Regenerate.
585
5862023-11-17 Jonathan Wakely <jwakely@redhat.com>
587
588 * include/Makefile.am: Add new header.
589 * include/Makefile.in: Regenerate.
590 * include/bits/version.def (saturation_arithmetic): Define.
591 * include/bits/version.h: Regenerate.
592 * include/std/numeric: Include new header.
593 * include/bits/sat_arith.h: New file.
594 * testsuite/26_numerics/saturation/add.cc: New test.
595 * testsuite/26_numerics/saturation/cast.cc: New test.
596 * testsuite/26_numerics/saturation/div.cc: New test.
597 * testsuite/26_numerics/saturation/mul.cc: New test.
598 * testsuite/26_numerics/saturation/sub.cc: New test.
599 * testsuite/26_numerics/saturation/version.cc: New test.
600
6012023-11-17 Jonathan Wakely <jwakely@redhat.com>
602
603 * include/std/utility (in_range): Rename _Up parameter to _Res.
604
6052023-11-17 Jonathan Wakely <jwakely@redhat.com>
606
607 * include/bits/out_ptr.h: Add Doxygen comments. Remove a
608 redundant preprocessor condition.
609 * testsuite/20_util/smartptr.adapt/version.cc: New test.
610
6112023-11-17 Jonathan Wakely <jwakely@redhat.com>
612
613 * include/bits/chrono_io.h: Fix Doxygen markup.
614
6152023-11-16 Jonathan Wakely <jwakely@redhat.com>
616
617 PR libstdc++/112564
618 * include/std/stacktrace (formatter::format): Format according
619 to format-spec.
620 * include/std/thread (formatter::format): Use _Align_right as
621 default.
622 * testsuite/19_diagnostics/stacktrace/output.cc: Check
623 fill-and-align handling. Change compile test to run.
624 * testsuite/30_threads/thread/id/output.cc: Check fill-and-align
625 handling.
626
6272023-11-16 Jonathan Wakely <jwakely@redhat.com>
628
629 PR libstdc++/111667
630 * include/Makefile.am: Add new header.
631 * include/Makefile.in: Regenerate.
632 * include/bits/out_ptr.h: New file.
633 * include/bits/shared_ptr.h (__is_shared_ptr): Move definition
634 to here ...
635 * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from
636 here.
637 * include/bits/shared_ptr_base.h (__shared_count): Declare
638 out_ptr_t as a friend.
639 (_Sp_counted_deleter, __shared_ptr): Likewise.
640 * include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>):
641 Declare out_ptr_t and inout_ptr_t as friends.
642 (__is_unique_ptr): Define new variable template.
643 * include/bits/version.def (out_ptr): Define.
644 * include/bits/version.h: Regenerate.
645 * include/std/memory: Include new header.
646 * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test.
647 * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test.
648 * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc:
649 New test.
650 * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New
651 test.
652 * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test.
653 * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test.
654 * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc:
655 New test.
656 * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New
657 test.
658
6592023-11-16 Jonathan Wakely <jwakely@redhat.com>
660
661 * include/bits/algorithmfwd.h: Do not define standard feature
662 test macro here.
663 * include/bits/align.h: Likewise. Test internal macros instead
664 of standard macros.
665 * include/bits/alloc_traits.h: Likewise.
666 * include/bits/allocator.h: Likewise.
667 * include/bits/atomic_base.h: Likewise.
668 * include/bits/atomic_timed_wait.h: Likewise.
669 * include/bits/atomic_wait.h: Likewise.
670 * include/bits/basic_string.h: Likewise.
671 * include/bits/basic_string.tcc: Likewise.
672 * include/bits/char_traits.h: Likewise.
673 * include/bits/chrono.h: Likewise.
674 * include/bits/cow_string.h: Likewise.
675 * include/bits/forward_list.h: Likewise.
676 * include/bits/hashtable.h: Likewise.
677 * include/bits/ios_base.h: Likewise.
678 * include/bits/memory_resource.h: Likewise.
679 * include/bits/move.h: Likewise.
680 * include/bits/move_only_function.h: Likewise.
681 * include/bits/node_handle.h: Likewise.
682 * include/bits/ptr_traits.h: Likewise.
683 * include/bits/range_access.h: Likewise.
684 * include/bits/ranges_algo.h: Likewise.
685 * include/bits/ranges_cmp.h: Likewise.
686 * include/bits/ranges_util.h: Likewise.
687 * include/bits/semaphore_base.h: Likewise.
688 * include/bits/shared_ptr.h: Likewise.
689 * include/bits/shared_ptr_atomic.h: Likewise.
690 * include/bits/shared_ptr_base.h: Likewise.
691 * include/bits/stl_algo.h: Likewise.
692 * include/bits/stl_algobase.h: Likewise.
693 * include/bits/stl_function.h: Likewise.
694 * include/bits/stl_iterator.h: Likewise.
695 * include/bits/stl_list.h: Likewise.
696 * include/bits/stl_map.h: Likewise.
697 * include/bits/stl_pair.h: Likewise.
698 * include/bits/stl_queue.h: Likewise.
699 * include/bits/stl_stack.h: Likewise.
700 * include/bits/stl_tree.h: Likewise.
701 * include/bits/stl_uninitialized.h: Likewise.
702 * include/bits/stl_vector.h: Likewise.
703 * include/bits/unique_ptr.h: Likewise.
704 * include/bits/unordered_map.h: Likewise.
705 * include/bits/uses_allocator_args.h: Likewise.
706 * include/bits/utility.h: Likewise.
707 * include/bits/erase_if.h: Add comment.
708 * include/std/algorithm: Define standard feature test macros
709 here.
710 * include/std/atomic: Likewise.
711 * include/std/array: Likewise.
712 * include/std/chrono: Likewise.
713 * include/std/condition_variable: Likewise.
714 * include/std/deque: Likewise.
715 * include/std/format: Likewise.
716 * include/std/functional: Likewise.
717 * include/std/forward_list: Likewise.
718 * include/std/ios: Likewise.
719 * include/std/iterator: Likewise.
720 * include/std/list: Likewise.
721 * include/std/map: Likewise.
722 * include/std/memory: Likewise.
723 * include/std/numeric: Likewise.
724 * include/std/queue: Likewise.
725 * include/std/ranges: Likewise.
726 * include/std/regex: Likewise.
727 * include/std/set: Likewise.
728 * include/std/stack: Likewise.
729 * include/std/stop_token: Likewise.
730 * include/std/string: Likewise.
731 * include/std/string_view:
732 * include/std/tuple: Likewise.
733 * include/std/unordered_map:
734 * include/std/unordered_set:
735 * include/std/utility: Likewise.
736 * include/std/vector: Likewise.
737 * include/std/scoped_allocator: Query internal macros instead of
738 standard macros.
739
7402023-11-16 Jonathan Wakely <jwakely@redhat.com>
741
742 * testsuite/18_support/byte/requirements.cc: Disable PCH.
743 * testsuite/18_support/destroying_delete.cc: Likewise.
744 * testsuite/18_support/source_location/1.cc: Likewise.
745 * testsuite/18_support/source_location/version.cc: Likewise.
746 * testsuite/18_support/type_info/constexpr.cc: Likewise.
747 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
748 Likewise.
749 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
750 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
751 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
752 * testsuite/20_util/addressof/requirements/constexpr.cc:
753 Likewise.
754 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
755 * testsuite/20_util/allocator_traits/header.cc: Likewise.
756 * testsuite/20_util/as_const/1.cc: Likewise. Likewise.
757 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
758 * testsuite/20_util/bitset/version.cc: Likewise.
759 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
760 Likewise.
761 * testsuite/20_util/duration_cast/rounding.cc: Likewise.
762 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
763 Likewise.
764 * testsuite/20_util/exchange/constexpr.cc: Likewise.
765 * testsuite/20_util/expected/synopsis.cc: Likewise.
766 * testsuite/20_util/expected/version.cc: Likewise.
767 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
768 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
769 * testsuite/20_util/function_objects/invoke/3.cc: Likewise.
770 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
771 * testsuite/20_util/function_objects/invoke/constexpr.cc:
772 Likewise.
773 * testsuite/20_util/function_objects/invoke/version.cc:
774 Likewise.
775 * testsuite/20_util/function_objects/searchers.cc: Likewise.
776 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
777 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
778 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
779 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
780 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
781 * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
782 Likewise.
783 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
784 Likewise.
785 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
786 * testsuite/20_util/is_nothrow_swappable/value.h: Likewise.
787 * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
788 Remove redundant checks already tested elsewhere.
789 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
790 Likewise.
791 * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable
792 PCH.
793 * testsuite/20_util/is_pointer_interconvertible/value.cc:
794 Likewise.
795 * testsuite/20_util/is_pointer_interconvertible/version.cc:
796 Likewise.
797 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
798 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
799 * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
800 Remove redundant checks already tested elsewhere.
801 * testsuite/20_util/is_swappable/requirements/typedefs.cc:
802 Remove redundant checks already tested elsewhere.
803 * testsuite/20_util/is_swappable/value.cc: Disable PCH.
804 * testsuite/20_util/is_swappable/value.h: Reorder headers.
805 * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
806 Remove redundant checks already tested elsewhere.
807 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
808 Remove redundant checks already tested elsewhere.
809 * testsuite/20_util/is_swappable_with/value.cc: Disable PCH.
810 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
811 * testsuite/20_util/move_only_function/cons.cc: Likewise.
812 * testsuite/20_util/move_only_function/version.cc: Likewise.
813 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
814 * testsuite/20_util/optional/requirements.cc: Likewise.
815 * testsuite/20_util/optional/version.cc: Likewise.
816 * testsuite/20_util/owner_less/void.cc: Likewise.
817 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
818 * testsuite/20_util/reference_from_temporary/version.cc:
819 Likewise.
820 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
821 Likewise.
822 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
823 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
824 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
825 * testsuite/20_util/time_point_cast/rounding.cc: Likewise.
826 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
827 * testsuite/20_util/to_chars/result.cc: Likewise.
828 * testsuite/20_util/to_chars/version.cc: Likewise.
829 * testsuite/20_util/to_underlying/1.cc: Likewise.
830 * testsuite/20_util/to_underlying/version.cc: Likewise.
831 * testsuite/20_util/tuple/apply/1.cc: Likewise.
832 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
833 Likewise.
834 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
835 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
836 * testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
837 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
838 Likewise.
839 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
840 Likewise.
841 * testsuite/20_util/unreachable/1.cc: Likewise.
842 * testsuite/20_util/unreachable/version.cc: Likewise.
843 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
844 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
845 * testsuite/20_util/variant/constexpr.cc: Likewise.
846 * testsuite/20_util/variant/version.cc: Likewise.
847 * testsuite/20_util/variant/visit_inherited.cc: Likewise.
848 * testsuite/20_util/void_t/1.cc: Likewise.
849 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
850 Likewise.
851 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
852 Likewise.
853 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
854 Likewise.
855 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
856 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
857 Likewise.
858 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
859 Likewise.
860 * testsuite/21_strings/basic_string/version.cc: Likewise.
861 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
862 Likewise.
863 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
864 Likewise.
865 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
866 Likewise.
867 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
868 Likewise.
869 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
870 Likewise.
871 * testsuite/21_strings/char_traits/requirements/version.cc:
872 Likewise.
873 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
874 Likewise.
875 * testsuite/23_containers/array/creation/1.cc: Likewise.
876 * testsuite/23_containers/array/creation/2.cc: Likewise.
877 * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
878 Likewise.
879 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
880 Likewise.
881 * testsuite/23_containers/array/requirements/constexpr_iter.cc:
882 Likewise.
883 * testsuite/23_containers/deque/erasure.cc: Likewise.
884 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
885 * testsuite/23_containers/list/erasure.cc: Likewise.
886 * testsuite/23_containers/map/erasure.cc: Likewise.
887 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
888 * testsuite/23_containers/set/erasure.cc: Likewise.
889 * testsuite/23_containers/span/1.cc: Likewise.
890 * testsuite/23_containers/span/2.cc: Likewise.
891 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
892 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
893 * testsuite/23_containers/unordered_map/operations/1.cc:
894 Likewise.
895 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
896 * testsuite/23_containers/unordered_set/operations/1.cc:
897 Likewise.
898 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
899 * testsuite/23_containers/vector/erasure.cc: Likewise.
900 * testsuite/23_containers/vector/requirements/version.cc:
901 Likewise.
902 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
903 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
904 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
905 Remove redundant checks already tested elsewhere.
906 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
907 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
908 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
909 * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
910 * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
911 * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
912 * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
913 * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
914 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
915 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
916 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
917 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
918 * testsuite/26_numerics/bit/header-2.cc: Likewise.
919 * testsuite/26_numerics/bit/header.cc: Likewise.
920 * testsuite/26_numerics/complex/1.cc: Likewise.
921 * testsuite/26_numerics/complex/2.cc: Likewise.
922 * testsuite/26_numerics/endian/2.cc: Likewise.
923 * testsuite/26_numerics/endian/3.cc: Likewise.
924 * testsuite/26_numerics/gcd/1.cc: Likewise.
925 * testsuite/26_numerics/lcm/1.cc: Likewise.
926 * testsuite/26_numerics/lerp/1.cc: Likewise.
927 * testsuite/26_numerics/lerp/version.cc: Likewise.
928 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
929 * testsuite/26_numerics/midpoint/version.cc: Likewise.
930 * testsuite/26_numerics/numbers/1.cc: Likewise.
931 * testsuite/26_numerics/numbers/2.cc: Likewise.
932 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc:
933 Likewise.
934 * testsuite/27_io/basic_filebuf/native_handle/version.cc:
935 Likewise.
936 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc:
937 Likewise.
938 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
939 Likewise.
940 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
941 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
942 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
943 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
944 * testsuite/27_io/spanstream/1.cc: Likewise.
945 * testsuite/27_io/spanstream/version.cc: Likewise.
946 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
947 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
948 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
949 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
950 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
951 Likewise.
952 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
953 * testsuite/30_threads/barrier/1.cc: Likewise.
954 * testsuite/30_threads/barrier/2.cc: Likewise.
955 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
956 Likewise.
957 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
958 Likewise.
959 * testsuite/30_threads/jthread/1.cc: Likewise.
960 * testsuite/30_threads/jthread/version.cc: Likewise.
961 * testsuite/30_threads/latch/1.cc: Likewise.
962 * testsuite/30_threads/latch/2.cc: Likewise.
963 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
964 Likewise.
965 * testsuite/30_threads/semaphore/1.cc: Likewise.
966 * testsuite/30_threads/semaphore/2.cc: Likewise.
967 * testsuite/30_threads/stop_token/1.cc: Likewise.
968 * testsuite/30_threads/stop_token/2.cc: Likewise.
969 * testsuite/experimental/feat-char8_t.cc: Likewise.
970 * testsuite/experimental/iterator/ostream_joiner.cc: Likewise.
971 * testsuite/experimental/numeric/gcd.cc: Likewise.
972 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
973 * testsuite/std/concepts/1.cc: Likewise.
974 * testsuite/std/concepts/2.cc: Likewise.
975 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
976 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
977 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
978 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
979 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
980 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
981 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
982 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
983 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
984 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
985 * testsuite/std/ranges/repeat/1.cc: Likewise.
986 * testsuite/std/ranges/version_c++23.cc: Likewise.
987 * testsuite/std/ranges/zip/1.cc: Likewise.
988 * testsuite/std/time/syn_c++20.cc: Likewise.
989 * testsuite/experimental/feat-cxx14.cc: Likewise. Include
990 <algorithm> and <iterator>.
991 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
992 Adjust dg-error line numbers.
993
9942023-11-16 Jonathan Wakely <jwakely@redhat.com>
995
996 * include/bits/version.def (stds): Use >= 202100 for C++23
997 condition.
998 * include/bits/version.h: Regenerate.
999 * include/std/thread: Use > C++20 instead of >= C++23 for
1000 __cplusplus condition.
1001
10022023-11-16 Jonathan Wakely <jwakely@redhat.com>
1003
1004 * include/std/istream (__rvalue_stream_extraction_t): Test
1005 __cpp_concepts instead of __cpp_lib_concepts.
1006 * include/std/ostream (__derived_from_ios_base): Likewise.
1007 (__rvalue_stream_insertion_t): Likewise.
1008
10092023-11-15 Jonathan Wakely <jwakely@redhat.com>
1010
1011 PR libstdc++/112491
1012 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
1013 Correctly handle unused capacity at the start of the first node.
1014 * testsuite/libstdc++-xmethods/deque.cc: Check index operator
1015 when elements have been removed from the front.
1016
10172023-11-15 Jonathan Wakely <jwakely@redhat.com>
1018
1019 * include/std/stacktrace (basic_stacktrace::at): Fix class name
1020 in exception message.
1021 * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if
1022 current() returns a non-empty stacktrace.
1023
10242023-11-15 Alexandre Oliva <oliva@gnu.org>
1025
1026 Revert:
1027 2023-11-15 Alexandre Oliva <oliva@adacore.com>
1028
1029 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.
1030
10312023-11-15 Alexandre Oliva <oliva@adacore.com>
1032
1033 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.
1034
10352023-11-14 Cassio Neri <cassio.neri@gmail.com>
1036
1037 * include/std/chrono (operator-(const weekday&, const weekday&)):
1038 Optimize.
1039
10402023-11-14 Cassio Neri <cassio.neri@gmail.com>
1041
1042 * include/std/chrono (weekday::_S_from_days): Fix UB.
1043 * testsuite/std/time/weekday/1.cc: Add test for overflow.
1044
10452023-11-14 Cassio Neri <cassio.neri@gmail.com>
1046
1047 * include/std/chrono (year::is_leap): Clear code.
1048
10492023-11-14 Cassio Neri <cassio.neri@gmail.com>
1050
1051 * include/std/chrono (year_month_day_last::day): Remove &1.
1052
10532023-11-14 Jonathan Wakely <jwakely@redhat.com>
1054
1055 * include/std/charconv (__from_chars_pow2_base): Convert base to
1056 unsigned for call to __countr_zero.
1057 (__from_chars_alnum): Likewise for call to __bit_width.
1058
10592023-11-14 Jonathan Wakely <jwakely@redhat.com>
1060
1061 PR libstdc++/112348
1062 * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix
1063 type of hash functio nfor entries.
1064 * testsuite/19_diagnostics/stacktrace/hash.cc: New test.
1065
10662023-11-14 Jonathan Wakely <jwakely@redhat.com>
1067
1068 PR libstdc++/112491
1069 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
1070 calculation to use _M_start._M_cur.
1071 * testsuite/libstdc++-xmethods/deque.cc: Check failing cases.
1072
10732023-11-13 Arsen Arsenović <arsen@aarsen.me>
1074
1075 * configure: Regenerate.
1076
10772023-11-13 Jonathan Wakely <jwakely@redhat.com>
1078
1079 * testsuite/std/time/clock/file/io.cc: Double timeout using
1080 dg-timeout-factor.
1081 * testsuite/std/time/clock/gps/io.cc: Likewise.
1082 * testsuite/std/time/clock/local/io.cc: Likewise.
1083 * testsuite/std/time/clock/system/io.cc: Likewise.
1084 * testsuite/std/time/clock/tai/io.cc: Likewise.
1085 * testsuite/std/time/clock/utc/io.cc: Likewise.
1086
10872023-11-13 Jonathan Wakely <jwakely@redhat.com>
1088
1089 PR libstdc++/112480
1090 * include/std/optional (_Optional_payload_base::_M_reset): Set
1091 _M_engaged to false unconditionally.
1092
10932023-11-11 Jonathan Wakely <jwakely@redhat.com>
1094
1095 PR libstdc++/112467
1096 * include/bits/stl_bvector.h (_M_assume_normalized): Do not use
1097 statement form of assume attribute for Clang.
1098
10992023-11-11 Jonathan Wakely <jwakely@redhat.com>
1100
1101 * include/std/string_view (operator==, operator<=>): Remove
1102 redundant overloads (LWG 3950).
1103
11042023-11-11 Jonathan Wakely <jwakely@redhat.com>
1105
1106 * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to...
1107 * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here.
1108 * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to...
1109 * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here.
1110 Check macro first and then #undef.
1111 * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to...
1112 * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here.
1113
11142023-11-11 Jonathan Wakely <jwakely@redhat.com>
1115
1116 PR libstdc++/112473
1117 * include/bits/utility.h (integer_sequence): Add static_assert.
1118 * testsuite/20_util/integer_sequence/112473.cc: New test.
1119
11202023-11-11 Jonathan Wakely <jwakely@redhat.com>
1121
1122 * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective
1123 target for specifiers using c++17_down.
1124
11252023-11-11 Jonathan Wakely <jwakely@redhat.com>
1126
1127 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free)
1128 (atomic_load_explicit, atomic_load, atomic_store_explicit)
1129 (atomic_store, atomic_exchange_explicit, atomic_exchange)
1130 (atomic_compare_exchange_strong, atomic_compare_exchange_weak)
1131 (atomic_compare_exchange_strong_explicit)
1132 (atomic_compare_exchange_weak_explicit): Add deprecated
1133 attribute for C++20 and later.
1134 * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated
1135 warnings.
1136 * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
1137 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
1138 * testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
1139
11402023-11-11 Jonathan Wakely <jwakely@redhat.com>
1141
1142 * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]]
1143 attribute to constructors.
1144 * include/bits/unique_lock.h (unique_lock): Likewise.
1145 * include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise.
1146 * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test.
1147 * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test.
1148 * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test.
1149
11502023-11-11 Jonathan Wakely <jwakely@redhat.com>
1151
1152 * include/std/span (span, as_bytes, as_writable_bytes): Add
1153 [[nodiscard]] attribute on all non-void functions.
1154 * testsuite/23_containers/span/back_assert_neg.cc: Suppress
1155 nodiscard warning.
1156 * testsuite/23_containers/span/back_neg.cc: Likewise.
1157 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
1158 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
1159 * testsuite/23_containers/span/first_neg.cc: Likewise.
1160 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
1161 * testsuite/23_containers/span/front_neg.cc: Likewise.
1162 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
1163 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
1164 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
1165 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
1166 * testsuite/23_containers/span/last_neg.cc: Likewise.
1167 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
1168 Likewise.
1169 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
1170 Likewise.
1171 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
1172 Likewise.
1173 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
1174 Likewise.
1175 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
1176 Likewise.
1177 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
1178 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
1179 * testsuite/23_containers/span/nodiscard.cc: New test.
1180
11812023-11-11 Jonathan Wakely <jwakely@redhat.com>
1182
1183 PR libstdc++/111638
1184 * config.h.in: Regenerate.
1185 * configure: Regenerate.
1186 * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove.
1187 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo.
1188 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise.
1189 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise.
1190 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise.
1191 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use
1192 GLIBCXX_MAYBE_UNDERSCORED_FUNCS.
1193
11942023-11-11 Nathaniel Shead <nathanieloshead@gmail.com>
1195
1196 PR libstdc++/79700
1197 * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf)
1198 (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl)
1199 (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf)
1200 (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff)
1201 (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf)
1202 (tanl, tanhf, tanhl): Add using-declarations in namespace std.
1203 * testsuite/26_numerics/headers/cmath/equivalent_functions.cc:
1204 New test.
1205 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
1206 Add checks for existence of above names.
1207
12082023-11-09 Arsen Arsenović <arsen@aarsen.me>
1209
1210 * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as
1211 requiring hosted.
1212
12132023-11-09 Arsen Arsenović <arsen@aarsen.me>
1214
1215 * include/bits/memoryfwd.h: Remove HOSTED check around allocator
1216 and its specializations.
1217
12182023-11-09 Patrick Palka <ppalka@redhat.com>
1219
1220 PR libstdc++/112453
1221 * include/std/ranges (__detail::__box<_Tp>::operator*): Define
1222 && overloads as well.
1223 (__detail::__take_of_repeat_view): Forward __r when accessing
1224 its _M_value member.
1225 (__detail::__drop_of_repeat_view): Likewise.
1226 * testsuite/std/ranges/repeat/1.cc (test07): New test.
1227
12282023-11-09 François Dumont <fdumont@gcc.gnu.org>
1229
1230 * include/bits/hashtable_policy.h (_RehashStateGuard): New.
1231 (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)):
1232 Adapt.
1233 * include/bits/hashtable.h (__rehash_guard_t): New.
1234 (__rehash_state): Remove.
1235 (_M_rehash): Remove.
1236 (_M_rehash_aux): Rename into _M_rehash.
1237 (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt.
1238 (rehash): Adapt.
1239
12402023-11-09 François Dumont <fdumont@gcc.gnu.org>
1241
1242 * include/bits/hashtable_policy.h
1243 (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New.
1244 (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node
1245 pointer while constructing in place the value_type instance.
1246
12472023-11-09 Alexandre Oliva <oliva@adacore.com>
1248
1249 PR libstdc++/110807
1250 * include/bits/stl_bvector.h (_Bit_iterator_base): Add
1251 _M_assume_normalized member function. Call it in _M_bump_up,
1252 _M_bump_down, _M_incr, operator==, operator<=>, operator<, and
1253 operator-.
1254 (_Bit_iterator): Also call it in operator*.
1255 (_Bit_const_iterator): Likewise.
1256
12572023-11-07 François Dumont <fdumont@gcc.gnu.org>
1258
1259 * include/bits/hashtable_policy.h
1260 (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor
1261 on construct exception.
1262
12632023-11-07 Richard Biener <rguenther@suse.de>
1264
1265 PR libstdc++/112351
1266 * src/c++98/locale.cc (locale::facet::_S_initialize_once):
1267 Check whether _S_c_locale is already initialized.
1268 (locale::facet::_S_get_c_locale): Always perform non-threadsafe
1269 init when threadsafe init failed.
1270
12712023-11-06 Ian Lance Taylor <iant@golang.org>
1272
1273 PR libbacktrace/111315
1274 PR libbacktrace/112263
1275 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
1276 grepping link.h for dl_iterate_phdr.
1277 * configure: Regenerate.
1278
12792023-11-06 Jonathan Wakely <jwakely@redhat.com>
1280
1281 * include/std/expected (expected::and_then, expected::or_else):
1282 Add string literals to static assertions.
1283 * include/std/optional (optional::and_then, optional::or_else):
1284 Likewise.
1285
12862023-11-04 Feng Jisen <J1senn@outlook.com>
1287
1288 * include/bits/utility.h (_Nth_type): Remove redundant partial
1289 specialization.
1290
12912023-11-04 Jonathan Wakely <jwakely@redhat.com>
1292
1293 PR libstdc++/110133
1294 * include/std/system_error (system_error::system_error): Group
1295 arguments so that concatenation can reuse rvalue's capacity.
1296 * src/c++11/system_error.cc (strerror_string): New function.
1297 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
1298 (generic_error_category::message): Use strerror_string.
1299 (system_error_category::message): Likewise.
1300
13012023-11-04 Jonathan Wakely <jwakely@redhat.com>
1302
1303 * doc/xml/manual/appendix_contributing.xml: Replace example that
1304 uses a BADNAME.
1305 * doc/html/manual/source_code_style.html: Regenerate.
1306
13072023-11-02 Jonathan Wakely <jwakely@redhat.com>
1308
1309 PR libstdc++/112314
1310 * include/std/string_view (string_view::remove_suffix): Add
1311 debug assertion.
1312 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
1313 New test.
1314 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
1315 New test.
1316
13172023-11-02 Jonathan Wakely <jwakely@redhat.com>
1318
1319 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
1320 * configure: Regenerate.
1321
13222023-10-30 François Dumont <fdumont@gcc.gnu.org>
1323
1324 * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently
1325 added emul TLS symbols.
1326
13272023-10-30 François Dumont <fdumont@gcc.gnu.org>
1328
1329 * src/experimental/contract.cc
1330 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment.
1331 Remove weak attribute.
1332
13332023-10-29 François Dumont <fdumont@gcc.gnu.org>
1334
1335 * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
1336 symbols.
1337
13382023-10-29 François Dumont <fdumont@gcc.gnu.org>
1339
1340 * src/experimental/contract.cc
1341 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
1342 without version namespace decoration for gcc.
1343
13442023-10-26 Jonathan Wakely <jwakely@redhat.com>
1345
1346 PR libstdc++/112089
1347 * include/std/shared_mutex (shared_lock::unlock): Change errc
1348 constant to operation_not_permitted.
1349 * testsuite/30_threads/shared_lock/locking/112089.cc: New test.
1350
13512023-10-26 Jonathan Wakely <jwakely@redhat.com>
1352
1353 * testsuite/20_util/duration/io.cc: Double timeout using
1354 dg-timeout-factor.
1355 * testsuite/std/time/day/io.cc: Likewise.
1356 * testsuite/std/time/format.cc: Likewise.
1357 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
1358 * testsuite/std/time/month/io.cc: Likewise.
1359 * testsuite/std/time/month_day/io.cc: Likewise.
1360 * testsuite/std/time/month_day_last/io.cc: Likewise.
1361 * testsuite/std/time/month_weekday/io.cc: Likewise.
1362 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
1363 * testsuite/std/time/weekday/io.cc: Likewise.
1364 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
1365 * testsuite/std/time/weekday_last/io.cc: Likewise.
1366 * testsuite/std/time/year/io.cc: Likewise.
1367 * testsuite/std/time/year_month/io.cc: Likewise.
1368 * testsuite/std/time/year_month_day/io.cc: Likewise.
1369 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
1370 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
1371 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
1372 * testsuite/std/time/zoned_time/io.cc: Likewise.
1373
13742023-10-25 Jonathan Wakely <jwakely@redhat.com>
1375
1376 PR libstdc++/111936
1377 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
1378 compile commands.
1379 * src/libbacktrace/Makefile.in: Regenerate.
1380
13812023-10-24 Paul M. Bendixen <paulbendixen@gmail.com>
1382
1383 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
1384 freestanding.
1385 * include/Makefile.in: Regenerate.
1386
13872023-10-22 Iain Sandoe <iain@sandoe.co.uk>
1388
1389 * configure: Regenerate.
1390 * configure.ac: Handle Darwin rpaths.
1391 * src/Makefile.am: Handle Darwin rpaths.
1392 * src/Makefile.in: Regenerate.
1393
13942023-10-21 Jonathan Wakely <jwakely@redhat.com>
1395
1396 * include/bits/basic_string.h (_M_init_local_buf()): New
1397 function.
1398 (_M_use_local_data()): Use _M_init_local_buf.
1399 (basic_string(), basic_string(const Alloc&))
1400 (basic_string(basic_string&&))
1401 (basic_string(basic_string&&, const Alloc&)): Use
1402 _M_init_local_buf instead of _M_use_local_data().
1403 * include/bits/basic_string.tcc (swap(basic_string&))
1404 (_M_construct(InIter, InIter, input_iterator_tag))
1405 (_M_construct(InIter, InIter, forward_iterator_tag))
1406 (_M_construct(size_type, CharT), reserve()): Likewise.
1407
14082023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
1409
1410 * include/std/ranges (zip_view, adjacent_view): Implement
1411 workaround for LLVM-61763.
1412
14132023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com>
1414
1415 * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()
1416
14172023-10-21 Jonathan Wakely <jwakely@redhat.com>
1418
1419 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
1420 indentation.
1421
14222023-10-20 Marek Polacek <polacek@redhat.com>
1423
1424 PR testsuite/111883
1425 * include/std/charconv (from_chars): Add explicit casts.
1426
14272023-10-19 François Dumont <fdumont@gcc.gnu.org>
1428
1429 * include/bits/hashtable_policy.h
1430 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
1431 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
1432 * include/bits/hashtable.h
1433 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
1434 (_M_merge_unique<>, _M_merge_multi<>): Use latter.
1435 * testsuite/23_containers/unordered_map/modifiers/merge.cc
1436 (test04, test05, test06): New test cases.
1437
14382023-10-13 Jakub Jelinek <jakub@redhat.com>
1439
1440 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
1441 Initialize stream to va_arg(ap, FILE*) rather than 0.
1442 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
1443 Likewise.
1444
14452023-10-13 Hans-Peter Nilsson <hp@axis.com>
1446
1447 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
1448 testsuite/29_atomics/atomic_flag/clear/1.cc,
1449 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
1450 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
1451 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
1452 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
1453 testsuite/29_atomics/atomic_ref/generic.cc,
1454 testsuite/29_atomics/atomic_ref/integral.cc,
1455 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
1456 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
1457
14582023-10-13 Hans-Peter Nilsson <hp@axis.com>
1459
1460 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
1461 New proc.
1462 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
1463 Ditto.
1464
14652023-10-05 François Dumont <fdumont@gcc.gnu.org>
1466
1467 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
1468 for _Float{16,32,64,128,32x,64x,128x}.
1469
14702023-10-04 Tom Tromey <tromey@adacore.com>
1471
1472 * python/libstdcxx/v6/printers.py
1473 (StdExpAnyPrinter.__init__): Qualify call to
1474 _string_types.
1475
14762023-10-04 Tom Tromey <tromey@adacore.com>
1477
1478 * python/libstdcxx/v6/printers.py: Assume that
1479 _versioned_namespace is non-None.
1480 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
1481 Assume that _versioned_namespace is non-None.
1482
14832023-10-04 Tom Tromey <tromey@adacore.com>
1484
1485 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
1486 Define.
1487
14882023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com>
1489
1490 PR libstdc++/108976
1491 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
1492 surrogates in UTF-8.
1493 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
1494 (ucs4_in): Fix handling of range with odd number of bytes.
1495 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
1496 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
1497 (ucs2_in): Fix handling of range with odd number of bytes.
1498 (__codecvt_utf16_base<char16_t>::do_in): Likewise.
1499 (__codecvt_utf16_base<char32_t>::do_in): Likewise.
1500 (__codecvt_utf16_base<wchar_t>::do_in): Likewise.
1501 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
1502 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
1503 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
1504 testing functions for char8_t, add more test cases for errors,
1505 add testing functions for codecvt_utf16.
1506 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
1507 Renames, add tests for codecvt_utf16<whchar_t>.
1508 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
1509 Fix test.
1510 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
1511 test.
1512
15132023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
1514
1515 * include/bits/basic_string.h: (basic_string(basic_string&&)):
1516 Activate _M_local_buf when needed.
1517 (basic_string(basic_string&&, const _Alloc&)): Likewise.
1518 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
1519 * include/std/variant: (__detail::__variant::__construct_n): New.
1520 (__detail::__variant::__emplace): Use __construct_n.
1521
15222023-09-28 Tom Tromey <tromey@adacore.com>
1523
1524 * python/libstdcxx/v6/printers.py (Printer.add_version)
1525 (add_one_template_type_printer)
1526 (FilteringTypePrinter.add_one_type_printer): Use Python
1527 "not in" operator.
1528
15292023-09-28 Tom Tromey <tromey@adacore.com>
1530
1531 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
1532 Remove.
1533
15342023-09-28 Tom Tromey <tromey@adacore.com>
1535
1536 * python/libstdcxx/v6/printers.py
1537 (StdExpOptionalPrinter.__init__, lookup_node_type):
1538 Remove unused variables.
1539
15402023-09-28 Tom Tromey <tromey@adacore.com>
1541
1542 * python/libstdcxx/v6/printers.py: Don't import 'os'.
1543 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
1544
15452023-09-28 Tom Tromey <tromey@adacore.com>
1546
1547 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
1548 everywhere. Rename members to start with "_".
1549
15502023-09-28 Tom Tromey <tromey@adacore.com>
1551
1552 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python
1553 stack traces from gdb.
1554
15552023-09-28 Jonathan Wakely <jwakely@redhat.com>
1556
1557 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
1558 new function.
1559 (ArrayMethodsMatcher, DequeMethodsMatcher)
1560 (ForwardListMethodsMatcher, ListMethodsMatcher)
1561 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
1562 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
1563 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
1564 is_specialization_of instead of re.match.
1565
15662023-09-28 Jonathan Wakely <jwakely@redhat.com>
1567
1568 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
1569 strings for regular expressions. Add whitespace around
1570 operators.
1571 (is_member_of_namespace): Use isinstance to check type.
1572 (is_specialization_of): Likewise. Adjust template_name
1573 for versioned namespace instead of duplicating the re.match
1574 call.
1575 (StdExpAnyPrinter._string_types): New static method.
1576 (StdExpAnyPrinter.to_string): Use _string_types.
1577
15782023-09-28 Jonathan Wakely <jwakely@redhat.com>
1579
1580 * python/libstdcxx/v6/printers.py: Format docstrings according
1581 to PEP 257.
1582 * python/libstdcxx/v6/xmethods.py: Likewise.
1583
15842023-09-28 Tim Song <t.canens.cpp@gmail.com>
1585
1586 PR libstdc++/111050
1587 * include/bits/hashtable_policy.h
1588 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
1589 Add [[__gnu__::__always_inline__]].
1590
15912023-09-27 Jonathan Wakely <jwakely@redhat.com>
1592
1593 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
1594 Fix incorrect number of replacement fields.
1595
15962023-09-26 Hans-Peter Nilsson <hp@axis.com>
1597
1598 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
1599 dg-require-thread-fence.
1600
16012023-09-25 Patrick Palka <ppalka@redhat.com>
1602
1603 * include/std/charconv (__detail::__integer_to_chars_result_type):
1604 Remove.
1605 (__detail::__to_chars_16): Use to_chars_result as return type.
1606 (__detail::__to_chars_10): Likewise.
1607 (__detail::__to_chars_8): Likewise.
1608 (__detail::__to_chars_2): Likewise.
1609 (__detail::__to_chars_i): Likewise.
1610 (__detail::__integer_from_chars_result_type): Inline the
1611 constraint into ...
1612 (from_chars): ... here. Use __is_standard_integer in the
1613 constraint. Encode constraint as a defaulted non-type template
1614 parameter instead of within the return type.
1615
16162023-09-25 John David Anglin <danglin@gcc.gnu.org>
1617
1618 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1619
16202023-09-25 Jonathan Wakely <jwakely@redhat.com>
1621
1622 PR libstdc++/111511
1623 PR c++/111512
1624 * include/std/array (to_array): Cast memcpy arguments to void*.
1625 * testsuite/23_containers/array/creation/111512.cc: New test.
1626
16272023-09-25 Jonathan Wakely <jwakely@redhat.com>
1628
1629 * include/bits/move.h (forward_list): Define for C++23.
1630 * include/bits/version.def (forward_like): Define.
1631 * include/bits/version.h: Regenerate.
1632 * include/std/utility (__glibcxx_want_forward_like): Define.
1633 * testsuite/20_util/forward_like/1.cc: New test.
1634 * testsuite/20_util/forward_like/2_neg.cc: New test.
1635 * testsuite/20_util/forward_like/version.cc: New test.
1636
16372023-09-19 Marek Polacek <polacek@redhat.com>
1638
1639 * testsuite/20_util/allocator/105975.cc: Add dg-error.
1640
16412023-09-18 Patrick Palka <ppalka@redhat.com>
1642
1643 PR c++/63198
1644 PR c++/18474
1645 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
1646 Make data member seed_seq::called mutable.
1647 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
1648 Likewise.
1649 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
1650 Likewise.
1651 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
1652 Likewise.
1653 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
1654 Likewise.
1655 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
1656 Likewise.
1657 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
1658 Likewise.
1659
16602023-09-18 Jonathan Wakely <jwakely@redhat.com>
1661
1662 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
1663 * doc/html/manual/status.html: Regenerate.
1664
16652023-09-18 Jonathan Wakely <jwakely@redhat.com>
1666
1667 * doc/xml/manual/configure.xml: Use conventional option name.
1668 * doc/xml/manual/status_cxx2020.xml: Update.
1669 * doc/xml/manual/status_cxx2023.xml: Update.
1670 * doc/html/*: Regenerate.
1671
16722023-09-18 Jonathan Wakely <jwakely@redhat.com>
1673
1674 * doc/xml/manual/intro.xml: Clarify that building libstdc++
1675 separately from GCC is not supported.
1676 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
1677 testing.
1678 * doc/html/manual/setup.html: Regenerate.
1679
16802023-09-15 Jonathan Wakely <jwakely@redhat.com>
1681
1682 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
1683 restrict to pthreads targets.
1684 * testsuite/30_threads/jthread/3.cc: Likewise.
1685 * testsuite/30_threads/semaphore/100806.cc: Likewise.
1686 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
1687 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
1688 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
1689
16902023-09-15 Jonathan Wakely <jwakely@redhat.com>
1691
1692 * testsuite/18_support/coroutines/95917.cc: Remove dg-options
1693 -std=gnu++2a.
1694 * testsuite/18_support/coroutines/hash.cc: Likewise.
1695 * testsuite/18_support/coroutines/lwg3460.cc: Likewise.
1696 * testsuite/18_support/destroying_delete.cc: Likewise.
1697 * testsuite/18_support/source_location/1.cc: Likewise.
1698 * testsuite/18_support/source_location/consteval.cc: Likewise.
1699 * testsuite/18_support/source_location/version.cc: Likewise.
1700 * testsuite/19_diagnostics/error_category/operators/three_way.cc:
1701 Likewise.
1702 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
1703 Likewise.
1704 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
1705 Likewise.
1706 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
1707 * testsuite/26_numerics/adjacent_difference/lwg2055.cc:
1708 Likewise.
1709 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
1710 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
1711 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
1712 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
1713 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
1714 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
1715 Likewise.
1716 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
1717 Likewise.
1718 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
1719 Likewise.
1720 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
1721 * testsuite/experimental/filesystem/iterators/106201.cc:
1722 Likewise.
1723 * testsuite/experimental/scopeguard/exit.cc: Likewise.
1724 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
1725
17262023-09-15 Jonathan Wakely <jwakely@redhat.com>
1727
1728 * testsuite/30_threads/barrier/1.cc: Remove dg-options
1729 -std=gnu++20.
1730 * testsuite/30_threads/barrier/2.cc: Likewise.
1731 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1732 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1733 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1734 * testsuite/30_threads/barrier/completion.cc: Likewise.
1735 * testsuite/30_threads/condition_variable/members/clock_neg.cc:
1736 Likewise.
1737 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
1738 Likewise.
1739 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
1740 Likewise.
1741 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
1742 Likewise.
1743 * testsuite/30_threads/future/members/clock_neg.cc: Likewise.
1744 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
1745 * testsuite/30_threads/headers/thread/types_std_c++20.cc:
1746 Likewise.
1747 * testsuite/30_threads/jthread/1.cc: Likewise.
1748 * testsuite/30_threads/jthread/100612.cc: Likewise.
1749 * testsuite/30_threads/jthread/95989.cc: Likewise.
1750 * testsuite/30_threads/jthread/jthread.cc: Likewise.
1751 * testsuite/30_threads/jthread/version.cc: Likewise.
1752 * testsuite/30_threads/latch/1.cc: Likewise.
1753 * testsuite/30_threads/latch/2.cc: Likewise.
1754 * testsuite/30_threads/latch/3.cc: Likewise.
1755 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
1756 Likewise.
1757 * testsuite/30_threads/semaphore/1.cc: Likewise.
1758 * testsuite/30_threads/semaphore/2.cc: Likewise.
1759 * testsuite/30_threads/semaphore/least_max_value_neg.cc:
1760 Likewise.
1761 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
1762 * testsuite/30_threads/shared_future/members/clock_neg.cc:
1763 Likewise.
1764 * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
1765 Likewise.
1766 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
1767 Likewise.
1768 * testsuite/30_threads/stop_token/1.cc: Likewise.
1769 * testsuite/30_threads/stop_token/2.cc: Likewise.
1770 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
1771 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
1772 Likewise.
1773 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
1774 Likewise.
1775 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
1776 Likewise.
1777 * testsuite/30_threads/stop_token/stop_callback/invoke.cc:
1778 Likewise.
1779 * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
1780 * testsuite/30_threads/stop_token/stop_source/assign.cc:
1781 Likewise.
1782 * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
1783 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
1784 Likewise.
1785 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
1786 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
1787 Likewise.
1788 * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
1789 Likewise.
1790
17912023-09-15 Jonathan Wakely <jwakely@redhat.com>
1792
1793 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
1794 Remove dg-options -std=gnu++2a.
1795 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
1796 Likewise.
1797 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
1798 Likewise.
1799 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
1800 Likewise.
1801 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
1802 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
1803 Likewise.
1804 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
1805 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
1806 Likewise.
1807 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
1808 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1809 Likewise.
1810 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
1811 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
1812 Likewise.
1813 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
1814 Likewise.
1815 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
1816 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
1817 Likewise.
1818 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
1819 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
1820 Likewise.
1821 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1822 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1823 Likewise.
1824 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
1825 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
1826 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
1827 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
1828 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1829 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1830 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
1831 * testsuite/27_io/basic_stringstream/cons/char/97719.cc:
1832 Likewise.
1833 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
1834 Likewise.
1835 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
1836 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
1837 Likewise.
1838 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1839 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1840 Likewise.
1841 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
1842 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
1843 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
1844 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
1845 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
1846 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
1847 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
1848 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
1849 * testsuite/27_io/basic_syncstream/requirements/types.cc:
1850 Likewise.
1851 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
1852 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
1853 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
1854 Likewise.
1855 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
1856 Likewise.
1857
18582023-09-15 Jonathan Wakely <jwakely@redhat.com>
1859
1860 * testsuite/26_numerics/accumulate/constexpr.cc: Remove
1861 dg-options -std=gnu++2a.
1862 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
1863 * testsuite/26_numerics/adjacent_difference/constexpr.cc:
1864 Likewise.
1865 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
1866 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
1867 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
1868 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
1869 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
1870 Likewise.
1871 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
1872 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
1873 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
1874 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
1875 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
1876 * testsuite/26_numerics/bit/header-2.cc: Likewise.
1877 * testsuite/26_numerics/bit/header.cc: Likewise.
1878 * testsuite/26_numerics/complex/1.cc: Likewise.
1879 * testsuite/26_numerics/complex/2.cc: Likewise.
1880 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
1881 Likewise.
1882 * testsuite/26_numerics/complex/operators/more_constexpr.cc:
1883 Likewise.
1884 * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
1885 Likewise.
1886 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
1887 Likewise.
1888 * testsuite/26_numerics/endian/1.cc: Likewise.
1889 * testsuite/26_numerics/endian/2.cc: Likewise.
1890 * testsuite/26_numerics/endian/3.cc: Likewise.
1891 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
1892 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
1893 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
1894 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
1895 * testsuite/26_numerics/iota/constexpr.cc: Likewise.
1896 * testsuite/26_numerics/lerp/1.cc: Likewise.
1897 * testsuite/26_numerics/lerp/constexpr.cc: Likewise.
1898 * testsuite/26_numerics/lerp/version.cc: Likewise.
1899 * testsuite/26_numerics/midpoint/floating.cc: Likewise.
1900 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
1901 * testsuite/26_numerics/midpoint/pointer.cc: Likewise.
1902 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
1903 * testsuite/26_numerics/midpoint/version.cc: Likewise.
1904 * testsuite/26_numerics/numbers/1.cc: Likewise.
1905 * testsuite/26_numerics/numbers/2.cc: Likewise.
1906 * testsuite/26_numerics/numbers/3.cc: Likewise.
1907 * testsuite/26_numerics/numbers/float128.cc: Likewise.
1908 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
1909 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
1910 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
1911 * testsuite/26_numerics/random/concept.cc: Likewise.
1912 * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
1913 * testsuite/26_numerics/slice/compare.cc: Likewise.
1914 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
1915 Likewise.
1916 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
1917 Likewise.
1918 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
1919
19202023-09-15 Jonathan Wakely <jwakely@redhat.com>
1921
1922 * testsuite/24_iterators/aliases.cc: Remove dg-options
1923 -std=gnu++2a.
1924 * testsuite/24_iterators/associated_types/incrementable.traits.cc:
1925 Likewise.
1926 * testsuite/24_iterators/associated_types/iterator.traits.cc:
1927 Likewise.
1928 * testsuite/24_iterators/associated_types/readable.traits.cc:
1929 Likewise.
1930 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
1931 Likewise.
1932 * testsuite/24_iterators/back_insert_iterator/pr93884.cc:
1933 Likewise.
1934 * testsuite/24_iterators/bidirectional/concept.cc: Likewise.
1935 * testsuite/24_iterators/common_iterator/1.cc: Likewise.
1936 * testsuite/24_iterators/common_iterator/100823.cc: Likewise.
1937 * testsuite/24_iterators/common_iterator/2.cc: Likewise.
1938 * testsuite/24_iterators/contiguous/concept.cc: Likewise.
1939 * testsuite/24_iterators/contiguous/tag.cc: Likewise.
1940 * testsuite/24_iterators/counted_iterator/1.cc: Likewise.
1941 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
1942 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
1943 * testsuite/24_iterators/customization_points/92894.cc:
1944 Likewise.
1945 * testsuite/24_iterators/customization_points/iter_move.cc:
1946 Likewise.
1947 * testsuite/24_iterators/customization_points/iter_swap.cc:
1948 Likewise.
1949 * testsuite/24_iterators/customization_points/lwg3420.cc:
1950 Likewise.
1951 * testsuite/24_iterators/forward/concept.cc: Likewise.
1952 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
1953 Likewise.
1954 * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
1955 Likewise.
1956 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
1957 Likewise.
1958 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
1959 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
1960 Likewise.
1961 * testsuite/24_iterators/indirect_callable/projected.cc:
1962 Likewise.
1963 * testsuite/24_iterators/input/concept.cc: Likewise.
1964 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
1965 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
1966 Likewise.
1967 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
1968 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
1969 Likewise.
1970 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
1971 Likewise.
1972 * testsuite/24_iterators/move_iterator/cust.cc: Likewise.
1973 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
1974 * testsuite/24_iterators/move_iterator/input_iterator.cc:
1975 Likewise.
1976 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
1977 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
1978 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
1979 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
1980 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
1981 Likewise.
1982 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
1983 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
1984 * testsuite/24_iterators/output/concept.cc: Likewise.
1985 * testsuite/24_iterators/random_access/concept.cc: Likewise.
1986 * testsuite/24_iterators/range_access/range_access_cpp20.cc:
1987 Likewise.
1988 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
1989 Likewise.
1990 * testsuite/24_iterators/range_operations/100768.cc: Likewise.
1991 * testsuite/24_iterators/range_operations/advance.cc: Likewise.
1992 * testsuite/24_iterators/range_operations/advance_overflow.cc:
1993 Likewise.
1994 * testsuite/24_iterators/range_operations/distance.cc: Likewise.
1995 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
1996 * testsuite/24_iterators/range_operations/next.cc: Likewise.
1997 * testsuite/24_iterators/range_operations/prev.cc: Likewise.
1998 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
1999 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
2000 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
2001 Likewise.
2002
20032023-09-15 Jonathan Wakely <jwakely@redhat.com>
2004
2005 * testsuite/23_containers/array/comparison_operators/96851.cc:
2006 Remove dg-options -std=gnu++2a.
2007 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
2008 Likewise.
2009 * testsuite/23_containers/array/creation/1.cc: Likewise.
2010 * testsuite/23_containers/array/creation/110167.cc: Likewise.
2011 * testsuite/23_containers/array/creation/2.cc: Likewise.
2012 * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
2013 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
2014 Likewise.
2015 * testsuite/23_containers/array/requirements/constexpr_swap.cc:
2016 Likewise.
2017 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
2018 * testsuite/23_containers/deque/erasure.cc: Likewise.
2019 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
2020 Likewise.
2021 * testsuite/23_containers/deque/operators/cmp_c++20.cc:
2022 Likewise.
2023 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
2024 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
2025 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
2026 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
2027 Likewise.
2028 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
2029 Likewise.
2030 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
2031 Likewise.
2032 * testsuite/23_containers/list/48101-3_neg.cc: Likewise.
2033 * testsuite/23_containers/list/cmp_c++20.cc: Likewise.
2034 * testsuite/23_containers/list/erasure.cc: Likewise.
2035 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
2036 Likewise.
2037 * testsuite/23_containers/list/operations/remove_cxx20_return.cc:
2038 Likewise.
2039 * testsuite/23_containers/list/operations/unique_cxx20_return.cc:
2040 Likewise.
2041 * testsuite/23_containers/map/48101-3_neg.cc: Likewise.
2042 * testsuite/23_containers/map/erasure.cc: Likewise.
2043 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
2044 Likewise.
2045 * testsuite/23_containers/map/operations/contains.cc: Likewise.
2046 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
2047 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
2048 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
2049 Likewise.
2050 * testsuite/23_containers/multimap/operations/contains.cc:
2051 Likewise.
2052 * testsuite/23_containers/multimap/operators/cmp_c++20.cc:
2053 Likewise.
2054 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
2055 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
2056 Likewise.
2057 * testsuite/23_containers/multiset/operations/contains.cc:
2058 Likewise.
2059 * testsuite/23_containers/multiset/operators/cmp_c++20.cc:
2060 Likewise.
2061 * testsuite/23_containers/priority_queue/92878_92947.cc:
2062 Likewise.
2063 * testsuite/23_containers/queue/92878_92947.cc: Likewise.
2064 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
2065 * testsuite/23_containers/set/48101-3_neg.cc: Likewise.
2066 * testsuite/23_containers/set/erasure.cc: Likewise.
2067 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
2068 Likewise.
2069 * testsuite/23_containers/set/operations/contains.cc: Likewise.
2070 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
2071 * testsuite/23_containers/span/1.cc: Likewise.
2072 * testsuite/23_containers/span/101411.cc: Likewise.
2073 * testsuite/23_containers/span/2.cc: Likewise.
2074 * testsuite/23_containers/span/deduction.cc: Likewise.
2075 * testsuite/23_containers/span/explicit.cc: Likewise.
2076 * testsuite/23_containers/span/layout_compat.cc: Likewise.
2077 * testsuite/23_containers/span/lwg3255.cc: Likewise.
2078 * testsuite/23_containers/span/nothrow_cons.cc: Likewise.
2079 * testsuite/23_containers/span/trivially_copyable.cc: Likewise.
2080 * testsuite/23_containers/stack/92878_92947.cc: Likewise.
2081 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
2082 * testsuite/23_containers/unordered_map/48101-3_neg.cc:
2083 Likewise.
2084 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
2085 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
2086 Likewise.
2087 * testsuite/23_containers/unordered_map/operations/1.cc:
2088 Likewise.
2089 * testsuite/23_containers/unordered_map/operations/contains.cc:
2090 Likewise.
2091 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
2092 Likewise.
2093 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
2094 Likewise.
2095 * testsuite/23_containers/unordered_multimap/operations/1.cc:
2096 Likewise.
2097 * testsuite/23_containers/unordered_multimap/operations/contains.cc:
2098 Likewise.
2099 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
2100 Likewise.
2101 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
2102 Likewise.
2103 * testsuite/23_containers/unordered_multiset/operations/1.cc:
2104 Likewise.
2105 * testsuite/23_containers/unordered_multiset/operations/contains.cc:
2106 Likewise.
2107 * testsuite/23_containers/unordered_set/48101-3_neg.cc:
2108 Likewise.
2109 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
2110 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
2111 Likewise.
2112 * testsuite/23_containers/unordered_set/operations/1.cc:
2113 Likewise.
2114 * testsuite/23_containers/unordered_set/operations/contains.cc:
2115 Likewise.
2116 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
2117 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
2118 Likewise.
2119 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
2120 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
2121 Likewise.
2122 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
2123 Likewise.
2124 * testsuite/23_containers/vector/bool/iterator_c++20.cc:
2125 Likewise.
2126 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
2127 Likewise.
2128 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
2129 Likewise.
2130 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
2131 Likewise.
2132 * testsuite/23_containers/vector/capacity/constexpr.cc:
2133 Likewise.
2134 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
2135 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
2136 * testsuite/23_containers/vector/data_access/constexpr.cc:
2137 Likewise.
2138 * testsuite/23_containers/vector/element_access/constexpr.cc:
2139 Likewise.
2140 * testsuite/23_containers/vector/erasure.cc: Likewise.
2141 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
2142 Likewise.
2143 * testsuite/23_containers/vector/modifiers/constexpr.cc:
2144 Likewise.
2145 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
2146 Likewise.
2147 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
2148 Likewise.
2149 * testsuite/23_containers/vector/requirements/version.cc:
2150 Likewise.
2151
21522023-09-15 Jonathan Wakely <jwakely@redhat.com>
2153
2154 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
2155 dg-options -std=gnu++20.
2156 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
2157 Likewise.
2158 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
2159 Likewise.
2160 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
2161 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
2162 Likewise.
2163 * testsuite/21_strings/basic_string/literals/constexpr.cc:
2164 Likewise.
2165 * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
2166 Likewise.
2167 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
2168 Likewise.
2169 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
2170 Likewise.
2171 * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
2172 Likewise.
2173 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
2174 Likewise.
2175 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
2176 Likewise.
2177 * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
2178 Likewise.
2179 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
2180 Likewise.
2181 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
2182 Likewise.
2183 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
2184 Likewise.
2185 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
2186 Likewise.
2187 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
2188 Likewise.
2189 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
2190 Likewise.
2191 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
2192 Likewise.
2193 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
2194 Likewise.
2195 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
2196 Likewise.
2197 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
2198 Likewise.
2199 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
2200 Likewise.
2201 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
2202 Likewise.
2203 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
2204 Likewise.
2205 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
2206 Likewise.
2207 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
2208 Likewise.
2209 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
2210 Likewise.
2211 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
2212 Likewise.
2213
22142023-09-15 Jonathan Wakely <jwakely@redhat.com>
2215
2216 * testsuite/20_util/allocator/105975.cc: Remove dg-options
2217 -std=gnu++2a.
2218 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
2219 * testsuite/20_util/allocator/requirements/constexpr.cc:
2220 Likewise.
2221 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
2222 Likewise.
2223 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
2224 * testsuite/20_util/allocator_traits/header.cc: Likewise.
2225 * testsuite/20_util/allocator_traits/members/92878_92947.cc:
2226 Likewise.
2227 * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
2228 * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
2229 * testsuite/20_util/assume_aligned/1.cc: Likewise.
2230 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
2231 * testsuite/20_util/assume_aligned/3.cc: Likewise.
2232 * testsuite/20_util/assume_aligned/97132.cc: Likewise.
2233 * testsuite/20_util/bind/constexpr.cc: Likewise.
2234 * testsuite/20_util/bitset/operations/96303.cc: Likewise.
2235 * testsuite/20_util/common_reference/100894.cc: Likewise.
2236 * testsuite/20_util/common_reference/requirements/alias_decl.cc:
2237 Likewise.
2238 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
2239 Likewise.
2240 * testsuite/20_util/common_reference/requirements/typedefs.cc:
2241 Likewise.
2242 * testsuite/20_util/duration/comparison_operators/three_way.cc:
2243 Likewise.
2244 * testsuite/20_util/exchange/constexpr.cc: Likewise.
2245 * testsuite/20_util/exchange/noexcept.cc: Likewise.
2246 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
2247 * testsuite/20_util/from_chars/compare.cc: Likewise.
2248 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
2249 * testsuite/20_util/function_objects/bind_front/107784.cc:
2250 Likewise.
2251 * testsuite/20_util/function_objects/bind_front/111327.cc:
2252 Likewise.
2253 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
2254 * testsuite/20_util/function_objects/bind_front/97101.cc:
2255 Likewise.
2256 * testsuite/20_util/function_objects/bind_front/constexpr.cc:
2257 Likewise.
2258 * testsuite/20_util/function_objects/constexpr_searcher.cc:
2259 Likewise.
2260 * testsuite/20_util/function_objects/identity/1.cc: Likewise.
2261 * testsuite/20_util/function_objects/invoke/constexpr.cc:
2262 Likewise.
2263 * testsuite/20_util/function_objects/mem_fn/constexpr.cc:
2264 Likewise.
2265 * testsuite/20_util/function_objects/not_fn/constexpr.cc:
2266 Likewise.
2267 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
2268 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
2269 * testsuite/20_util/integer_comparisons/equal.cc: Likewise.
2270 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
2271 * testsuite/20_util/integer_comparisons/greater.cc: Likewise.
2272 * testsuite/20_util/integer_comparisons/greater_equal.cc:
2273 Likewise.
2274 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
2275 Likewise.
2276 * testsuite/20_util/integer_comparisons/greater_neg.cc:
2277 Likewise.
2278 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
2279 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
2280 Likewise.
2281 * testsuite/20_util/integer_comparisons/less.cc: Likewise.
2282 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
2283 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
2284 Likewise.
2285 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
2286 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
2287 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
2288 Likewise.
2289 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
2290 Likewise.
2291 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
2292 Likewise.
2293 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
2294 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
2295 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
2296 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
2297 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
2298 Likewise.
2299 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
2300 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
2301 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
2302 Likewise.
2303 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
2304 Likewise.
2305 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
2306 Likewise.
2307 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
2308 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
2309 * testsuite/20_util/is_pointer_interconvertible/value.cc:
2310 Likewise.
2311 * testsuite/20_util/is_pointer_interconvertible/version.cc:
2312 Likewise.
2313 * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
2314 Likewise.
2315 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
2316 Likewise.
2317 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
2318 Likewise.
2319 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
2320 * testsuite/20_util/optional/assignment/92878_92947.cc:
2321 Likewise.
2322 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
2323 * testsuite/20_util/optional/constexpr/assign.cc: Likewise.
2324 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
2325 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
2326 * testsuite/20_util/optional/constexpr/swap.cc: Likewise.
2327 * testsuite/20_util/optional/relops/96269.cc: Likewise.
2328 * testsuite/20_util/optional/relops/three_way.cc: Likewise.
2329 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
2330 Likewise.
2331 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
2332 * testsuite/20_util/pair/constexpr_assign.cc: Likewise.
2333 * testsuite/20_util/pair/constexpr_swap.cc: Likewise.
2334 * testsuite/20_util/pair/requirements/structural.cc: Likewise.
2335 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
2336 Likewise.
2337 * testsuite/20_util/polymorphic_allocator/allocate_object.cc:
2338 Likewise.
2339 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
2340 Likewise.
2341 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
2342 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
2343 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
2344 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
2345 Likewise.
2346 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
2347 Likewise.
2348 * testsuite/20_util/remove_cvref/value.cc: Likewise.
2349 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
2350 Likewise.
2351 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
2352 Likewise.
2353 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
2354 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
2355 Likewise.
2356 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
2357 * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
2358 Likewise.
2359 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
2360 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
2361 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
2362 * testsuite/20_util/time_point/4.cc: Likewise.
2363 * testsuite/20_util/time_point/comparison_operators/three_way.cc:
2364 Likewise.
2365 * testsuite/20_util/to_address/1.cc: Likewise.
2366 * testsuite/20_util/to_address/1_neg.cc: Likewise.
2367 * testsuite/20_util/to_address/debug.cc: Likewise.
2368 * testsuite/20_util/to_address/lwg3545.cc: Likewise.
2369 * testsuite/20_util/to_chars/compare.cc: Likewise.
2370 * testsuite/20_util/tuple/comparison_operators/three_way.cc:
2371 Likewise.
2372 * testsuite/20_util/tuple/cons/102270.cc: Likewise.
2373 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
2374 Likewise.
2375 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
2376 * testsuite/20_util/type_identity/requirements/alias_decl.cc:
2377 Likewise.
2378 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
2379 Likewise.
2380 * testsuite/20_util/type_identity/requirements/typedefs.cc:
2381 Likewise.
2382 * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
2383 Likewise.
2384 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
2385 Likewise.
2386 * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
2387 Likewise.
2388 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
2389 Likewise.
2390 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
2391 Likewise.
2392 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
2393 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
2394 * testsuite/20_util/unwrap_reference/2.cc: Likewise.
2395 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
2396 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
2397 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
2398 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
2399 * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
2400 Likewise.
2401 * testsuite/20_util/variant/92878_92947.cc: Likewise.
2402 * testsuite/20_util/variant/95915.cc: Likewise.
2403 * testsuite/20_util/variant/constexpr.cc: Likewise.
2404 * testsuite/20_util/variant/relops/three_way.cc: Likewise.
2405 * testsuite/20_util/variant/visit_neg.cc: Likewise.
2406 * testsuite/20_util/variant/visit_r.cc: Likewise.
2407 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
2408
24092023-09-15 Jonathan Wakely <jwakely@redhat.com>
2410
2411 * testsuite/18_support/comparisons/algorithms/fallback.cc:
2412 Remove dg-options -std=gnu++2a.
2413 * testsuite/18_support/comparisons/algorithms/partial_order.cc:
2414 Likewise.
2415 * testsuite/18_support/comparisons/algorithms/strong_order.cc:
2416 Likewise.
2417 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
2418 Likewise.
2419 * testsuite/18_support/comparisons/algorithms/weak_order.cc:
2420 Likewise.
2421 * testsuite/18_support/comparisons/categories/94565.cc:
2422 Likewise.
2423 * testsuite/18_support/comparisons/categories/partialord.cc:
2424 Likewise.
2425 * testsuite/18_support/comparisons/categories/strongord.cc:
2426 Likewise.
2427 * testsuite/18_support/comparisons/categories/weakord.cc:
2428 Likewise.
2429 * testsuite/18_support/comparisons/categories/zero_neg.cc:
2430 Likewise.
2431 * testsuite/18_support/comparisons/common/1.cc: Likewise.
2432 * testsuite/18_support/comparisons/object/93479.cc: Likewise.
2433 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
2434
24352023-09-15 Jonathan Wakely <jwakely@redhat.com>
2436
2437 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
2438 Remove dg-options -std=gnu++2a.
2439 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
2440 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
2441 * testsuite/29_atomics/atomic/requirements/types_neg.cc:
2442 Likewise.
2443 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
2444 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
2445 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
2446 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
2447 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
2448 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
2449 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
2450 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
2451 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
2452 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
2453 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
2454 * testsuite/29_atomics/atomic_float/1.cc: Likewise.
2455 * testsuite/29_atomics/atomic_float/95282.cc: Likewise.
2456 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
2457 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
2458 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
2459 * testsuite/29_atomics/atomic_integral/cons/value_init.cc:
2460 Likewise.
2461 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
2462 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
2463 Likewise.
2464 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
2465 * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
2466 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
2467 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
2468 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2469 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
2470 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
2471 Likewise.
2472 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
2473 Likewise.
2474 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
2475 Likewise.
2476 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
2477 Likewise.
2478
24792023-09-15 Jonathan Wakely <jwakely@redhat.com>
2480
2481 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
2482 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
2483
24842023-09-15 Jonathan Wakely <jwakely@redhat.com>
2485
2486 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
2487 macro.
2488 * config.h.in: Regenerate.
2489 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
2490 basic_filebuf members.
2491 * config/io/basic_file_stdio.cc (__basic_file::native_handle):
2492 Define new function.
2493 * config/io/basic_file_stdio.h (__basic_file::native_handle):
2494 Declare new function.
2495 * configure: Regenerate.
2496 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
2497 * include/bits/version.def (fstream_native_handles): New macro.
2498 * include/bits/version.h: Regenerate.
2499 * include/std/fstream (basic_filebuf::native_handle)
2500 (basic_fstream::native_handle, basic_ifstream::native_handle)
2501 (basic_ofstream::native_handle): New functions.
2502 * src/c++11/Makefile.am: Move compilation of basic_file.cc,
2503 locale_init.cc and localename.cc to here.
2504 * src/c++11/Makefile.in: Regenerate.
2505 * src/c++98/locale_init.cc: Moved to...
2506 * src/c++11/locale_init.cc: ...here.
2507 * src/c++98/localename.cc: Moved to...
2508 * src/c++11/localename.cc: ...here.
2509 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
2510 and localename.cc from here.
2511 * src/c++98/Makefile.in: Regenerate.
2512 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
2513 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
2514 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
2515 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
2516 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
2517 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
2518 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
2519
25202023-09-15 Jonathan Wakely <jwakely@redhat.com>
2521
2522 * testsuite/libstdc++-dg/conformance.exp: Add log line when
2523 using testsuite_files.
2524
25252023-09-15 Jonathan Wakely <jwakely@redhat.com>
2526
2527 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
2528 directives.
2529 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2530 Likewise.
2531 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2532 Likewise.
2533 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
2534 Likewise.
2535 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
2536 Likewise.
2537 * testsuite/20_util/synchronized_pool_resource/cons.cc:
2538 Likewise.
2539 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
2540 Likewise.
2541 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
2542 Likewise.
2543 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
2544 Likewise.
2545 * testsuite/20_util/synchronized_pool_resource/options.cc:
2546 Likewise.
2547 * testsuite/20_util/synchronized_pool_resource/release.cc:
2548 Likewise.
2549 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
2550 Likewise.
2551 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
2552 Likewise.
2553 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
2554 Likewise.
2555 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2556 Likewise.
2557
25582023-09-15 Jonathan Wakely <jwakely@redhat.com>
2559
2560 * testsuite/23_containers/span/back_assert_neg.cc: Remove
2561 dg-options and add effective target selector to dg-do. Add
2562 no_pch.
2563 * testsuite/23_containers/span/back_neg.cc: Likewise.
2564 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
2565 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
2566 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
2567 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
2568 * testsuite/23_containers/span/first_neg.cc: Likewise.
2569 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
2570 * testsuite/23_containers/span/front_neg.cc: Likewise.
2571 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
2572 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
2573 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
2574 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
2575 * testsuite/23_containers/span/last_neg.cc: Likewise.
2576 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
2577 Likewise.
2578 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
2579 Likewise.
2580 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
2581 Likewise.
2582 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
2583 Likewise.
2584 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
2585 Likewise.
2586 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
2587 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
2588 * testsuite/24_iterators/range_operations/advance_debug_neg.cc:
2589 Likewise.
2590
25912023-09-15 Jonathan Wakely <jwakely@redhat.com>
2592
2593 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
2594 dg-options.
2595 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
2596 * testsuite/18_support/type_info/constexpr.cc: Likewise.
2597 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
2598 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2599 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2600 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
2601 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
2602 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
2603 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
2604 * testsuite/20_util/bitset/access/constexpr.cc: Likewise.
2605 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
2606 * testsuite/20_util/bitset/count/constexpr.cc: Likewise.
2607 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
2608 * testsuite/20_util/bitset/operations/constexpr_c++23.cc:
2609 Likewise.
2610 * testsuite/20_util/bitset/version.cc: Likewise.
2611 * testsuite/20_util/from_chars/8.cc: Likewise.
2612 * testsuite/20_util/from_chars/constexpr.cc: Likewise.
2613 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
2614 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
2615 * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
2616 Likewise.
2617 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
2618 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
2619 * testsuite/20_util/move_only_function/call.cc: Likewise.
2620 * testsuite/20_util/move_only_function/cons.cc: Likewise.
2621 * testsuite/20_util/move_only_function/move.cc: Likewise.
2622 * testsuite/20_util/move_only_function/version.cc: Likewise.
2623 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
2624 * testsuite/20_util/optional/monadic/or_else.cc: Likewise.
2625 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
2626 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
2627 * testsuite/20_util/optional/monadic/transform.cc: Likewise.
2628 * testsuite/20_util/pair/p2321r2.cc: Likewise.
2629 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
2630 * testsuite/20_util/reference_from_temporary/value2.cc:
2631 Likewise.
2632 * testsuite/20_util/reference_from_temporary/version.cc:
2633 Likewise.
2634 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
2635 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
2636 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
2637 * testsuite/20_util/to_chars/version.cc: Likewise.
2638 * testsuite/20_util/to_underlying/1.cc: Likewise.
2639 * testsuite/20_util/to_underlying/version.cc: Likewise.
2640 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
2641 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
2642 * testsuite/20_util/unique_ptr/comparison/constexpr.cc:
2643 Likewise.
2644 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
2645 Likewise.
2646 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
2647 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
2648 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
2649 * testsuite/20_util/unreachable/1.cc: Likewise.
2650 * testsuite/20_util/unreachable/version.cc: Likewise.
2651 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
2652 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
2653 * testsuite/21_strings/basic_string/operations/contains/char.cc:
2654 Likewise.
2655 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
2656 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
2657 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
2658 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
2659 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
2660 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
2661 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
2662 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
2663 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
2664 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
2665 * testsuite/23_containers/vector/bool/element_access/1.cc:
2666 Likewise.
2667 * testsuite/24_iterators/const_iterator/1.cc: Likewise.
2668 * testsuite/25_algorithms/contains/1.cc: Likewise.
2669 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
2670 * testsuite/25_algorithms/find_last/1.cc: Likewise.
2671 * testsuite/25_algorithms/find_last_if/1.cc: Likewise.
2672 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
2673 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
2674 * testsuite/25_algorithms/fold_right/1.cc: Likewise.
2675 * testsuite/25_algorithms/iota/1.cc: Likewise.
2676 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
2677 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
2678 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
2679 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
2680 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
2681 Likewise.
2682 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
2683 Likewise.
2684 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
2685 Likewise.
2686 * testsuite/26_numerics/numbers/4.cc: Likewise.
2687 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
2688 * testsuite/27_io/filesystem/path/native/conv_c++23.cc:
2689 Likewise.
2690 * testsuite/27_io/spanstream/1.cc: Likewise.
2691 * testsuite/27_io/spanstream/2.cc: Likewise.
2692 * testsuite/27_io/spanstream/version.cc: Likewise.
2693 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
2694 Likewise.
2695 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
2696 Likewise.
2697 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
2698 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
2699 Likewise.
2700 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
2701 Likewise.
2702 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
2703 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
2704 Likewise.
2705 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
2706 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2707 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2708 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2709 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
2710 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2711 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
2712 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2713 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2714 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2715 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
2716 * testsuite/std/ranges/repeat/1.cc: Likewise.
2717 * testsuite/std/ranges/version_c++23.cc: Likewise.
2718 * testsuite/std/ranges/zip/1.cc: Likewise.
2719 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
2720
27212023-09-15 Jonathan Wakely <jwakely@redhat.com>
2722
2723 * testsuite/20_util/expected/assign.cc: Remove dg-options.
2724 * testsuite/20_util/expected/bad.cc: Likewise.
2725 * testsuite/20_util/expected/cons.cc: Likewise.
2726 * testsuite/20_util/expected/equality.cc: Likewise.
2727 * testsuite/20_util/expected/illformed_neg.cc: Likewise.
2728 * testsuite/20_util/expected/lwg3877.cc: Likewise.
2729 * testsuite/20_util/expected/lwg3938.cc: Likewise.
2730 * testsuite/20_util/expected/monadic.cc: Likewise.
2731 * testsuite/20_util/expected/observers.cc: Likewise.
2732 * testsuite/20_util/expected/requirements.cc: Likewise.
2733 * testsuite/20_util/expected/swap.cc: Likewise.
2734 * testsuite/20_util/expected/synopsis.cc: Likewise.
2735 * testsuite/20_util/expected/unexpected.cc: Likewise.
2736 * testsuite/20_util/expected/version.cc: Likewise.
2737
27382023-09-15 Jonathan Wakely <jwakely@redhat.com>
2739
2740 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
2741 Remove dg-options.
2742 * testsuite/20_util/duration/io.cc: Likewise.
2743 * testsuite/std/time/clock/file/io.cc: Likewise.
2744 * testsuite/std/time/clock/file/members.cc: Likewise.
2745 * testsuite/std/time/clock/file/overview.cc: Likewise.
2746 * testsuite/std/time/clock/gps/1.cc: Likewise.
2747 * testsuite/std/time/clock/gps/io.cc: Likewise.
2748 * testsuite/std/time/clock/local/io.cc: Likewise.
2749 * testsuite/std/time/clock/system/io.cc: Likewise.
2750 * testsuite/std/time/clock/tai/1.cc: Likewise.
2751 * testsuite/std/time/clock/tai/io.cc: Likewise.
2752 * testsuite/std/time/clock/utc/1.cc: Likewise.
2753 * testsuite/std/time/clock/utc/io.cc: Likewise.
2754 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
2755 * testsuite/std/time/day/1.cc: Likewise.
2756 * testsuite/std/time/day/io.cc: Likewise.
2757 * testsuite/std/time/exceptions.cc: Likewise.
2758 * testsuite/std/time/format.cc: Likewise.
2759 * testsuite/std/time/hh_mm_ss/1.cc: Likewise.
2760 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
2761 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
2762 * testsuite/std/time/is_am/1.cc: Likewise.
2763 * testsuite/std/time/is_pm/1.cc: Likewise.
2764 * testsuite/std/time/make12/1.cc: Likewise.
2765 * testsuite/std/time/make24/1.cc: Likewise.
2766 * testsuite/std/time/month/1.cc: Likewise.
2767 * testsuite/std/time/month/io.cc: Likewise.
2768 * testsuite/std/time/month_day/1.cc: Likewise.
2769 * testsuite/std/time/month_day/io.cc: Likewise.
2770 * testsuite/std/time/month_day_last/1.cc: Likewise.
2771 * testsuite/std/time/month_day_last/io.cc: Likewise.
2772 * testsuite/std/time/month_weekday/1.cc: Likewise.
2773 * testsuite/std/time/month_weekday/io.cc: Likewise.
2774 * testsuite/std/time/month_weekday_last/1.cc: Likewise.
2775 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
2776 * testsuite/std/time/parse.cc: Likewise.
2777 * testsuite/std/time/syn_c++20.cc: Likewise.
2778 * testsuite/std/time/time_zone/get_info_local.cc: Likewise.
2779 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
2780 * testsuite/std/time/time_zone/requirements.cc: Likewise.
2781 * testsuite/std/time/traits/is_clock.cc: Likewise.
2782 * testsuite/std/time/tzdb/1.cc: Likewise.
2783 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
2784 * testsuite/std/time/tzdb_list/1.cc: Likewise.
2785 * testsuite/std/time/tzdb_list/requirements.cc: Likewise.
2786 * testsuite/std/time/weekday/1.cc: Likewise.
2787 * testsuite/std/time/weekday/io.cc: Likewise.
2788 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
2789 * testsuite/std/time/weekday_last/1.cc: Likewise.
2790 * testsuite/std/time/weekday_last/io.cc: Likewise.
2791 * testsuite/std/time/year/1.cc: Likewise.
2792 * testsuite/std/time/year/2.cc: Likewise.
2793 * testsuite/std/time/year/io.cc: Likewise.
2794 * testsuite/std/time/weekday_indexed/1.cc: Likewise.
2795 * testsuite/std/time/year_month/1.cc: Likewise.
2796 * testsuite/std/time/year_month/2.cc: Likewise.
2797 * testsuite/std/time/year_month/io.cc: Likewise.
2798 * testsuite/std/time/year_month_day/1.cc: Likewise.
2799 * testsuite/std/time/year_month_day/2.cc: Likewise.
2800 * testsuite/std/time/year_month_day/3.cc: Likewise.
2801 * testsuite/std/time/year_month_day/4.cc: Likewise.
2802 * testsuite/std/time/year_month_day/io.cc: Likewise.
2803 * testsuite/std/time/year_month_day_last/1.cc: Likewise.
2804 * testsuite/std/time/year_month_day_last/2.cc: Likewise.
2805 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
2806 * testsuite/std/time/year_month_weekday/1.cc: Likewise.
2807 * testsuite/std/time/year_month_weekday/2.cc: Likewise.
2808 * testsuite/std/time/year_month_weekday/3.cc: Likewise.
2809 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
2810 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
2811 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
2812 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
2813 * testsuite/std/time/zoned_time/1.cc: Likewise.
2814 * testsuite/std/time/zoned_time/custom.cc: Likewise.
2815 * testsuite/std/time/zoned_time/deduction.cc: Likewise.
2816 * testsuite/std/time/zoned_time/io.cc: Likewise.
2817 * testsuite/std/time/zoned_time/req_neg.cc: Likewise.
2818 * testsuite/std/time/zoned_time/requirements.cc: Likewise.
2819 * testsuite/std/time/zoned_traits.cc: Likewise.
2820
28212023-09-15 Jonathan Wakely <jwakely@redhat.com>
2822
2823 * testsuite/std/format/arguments/args.cc: Remove dg-options.
2824 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
2825 * testsuite/std/format/error.cc: Likewise.
2826 * testsuite/std/format/format_string.cc: Likewise.
2827 * testsuite/std/format/formatter/concept.cc: Likewise.
2828 * testsuite/std/format/formatter/ext_float.cc: Likewise.
2829 * testsuite/std/format/formatter/requirements.cc: Likewise.
2830 * testsuite/std/format/functions/107871.cc: Likewise.
2831 * testsuite/std/format/functions/format.cc: Likewise.
2832 * testsuite/std/format/functions/format_to.cc: Likewise.
2833 * testsuite/std/format/functions/format_to_n.cc: Likewise.
2834 * testsuite/std/format/functions/size.cc: Likewise.
2835 * testsuite/std/format/functions/vformat_to.cc: Likewise.
2836 * testsuite/std/format/parse_ctx.cc: Likewise.
2837 * testsuite/std/format/string.cc: Likewise.
2838 * testsuite/std/format/string_neg.cc: Likewise.
2839 * testsuite/std/format/functions/format_c++23.cc: Removed.
2840
28412023-09-15 Jonathan Wakely <jwakely@redhat.com>
2842
2843 * testsuite/20_util/function_objects/range.cmp/equal_to.cc:
2844 Remove dg-options.
2845 * testsuite/20_util/function_objects/range.cmp/greater.cc:
2846 Likewise.
2847 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
2848 Likewise.
2849 * testsuite/20_util/function_objects/range.cmp/less.cc:
2850 Likewise.
2851 * testsuite/20_util/function_objects/range.cmp/less_equal.cc:
2852 Likewise.
2853 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
2854 Likewise.
2855 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
2856 Likewise.
2857 * testsuite/20_util/specialized_algorithms/construct_at/1.cc:
2858 Likewise.
2859 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
2860 Likewise.
2861 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
2862 Likewise.
2863 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
2864 Likewise.
2865 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
2866 Likewise.
2867 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
2868 Likewise.
2869 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
2870 Likewise.
2871 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
2872 Likewise.
2873 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
2874 Likewise.
2875 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
2876 Likewise.
2877 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
2878 Likewise.
2879 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
2880 * testsuite/25_algorithms/adjacent_find/constrained.cc:
2881 Likewise.
2882 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
2883 * testsuite/25_algorithms/all_of/constrained.cc: Likewise.
2884 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
2885 * testsuite/25_algorithms/any_of/constrained.cc: Likewise.
2886 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
2887 * testsuite/25_algorithms/binary_search/constrained.cc:
2888 Likewise.
2889 * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
2890 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
2891 * testsuite/25_algorithms/copy/95578.cc: Likewise.
2892 * testsuite/25_algorithms/copy/constexpr.cc: Likewise.
2893 * testsuite/25_algorithms/copy/constrained.cc: Likewise.
2894 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
2895 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
2896 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
2897 * testsuite/25_algorithms/copy_backward/constrained.cc:
2898 Likewise.
2899 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
2900 Likewise.
2901 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
2902 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
2903 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
2904 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
2905 * testsuite/25_algorithms/count/constexpr.cc: Likewise.
2906 * testsuite/25_algorithms/count/constrained.cc: Likewise.
2907 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
2908 * testsuite/25_algorithms/count_if/constrained.cc: Likewise.
2909 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
2910 * testsuite/25_algorithms/equal/95578.cc: Likewise.
2911 * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
2912 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
2913 * testsuite/25_algorithms/equal/constrained.cc: Likewise.
2914 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
2915 Likewise.
2916 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
2917 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
2918 * testsuite/25_algorithms/fill/94017.cc: Likewise.
2919 * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
2920 * testsuite/25_algorithms/fill/constrained.cc: Likewise.
2921 * testsuite/25_algorithms/fill_n/94017.cc: Likewise.
2922 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
2923 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
2924 * testsuite/25_algorithms/find/constexpr.cc: Likewise.
2925 * testsuite/25_algorithms/find/constrained.cc: Likewise.
2926 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
2927 * testsuite/25_algorithms/find_end/constrained.cc: Likewise.
2928 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
2929 * testsuite/25_algorithms/find_first_of/constrained.cc:
2930 Likewise.
2931 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
2932 * testsuite/25_algorithms/find_if/constrained.cc: Likewise.
2933 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
2934 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
2935 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
2936 * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
2937 * testsuite/25_algorithms/generate/constexpr.cc: Likewise.
2938 * testsuite/25_algorithms/generate/constrained.cc: Likewise.
2939 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
2940 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
2941 * testsuite/25_algorithms/heap/constrained.cc: Likewise.
2942 * testsuite/25_algorithms/includes/constrained.cc: Likewise.
2943 * testsuite/25_algorithms/inplace_merge/constrained.cc:
2944 Likewise.
2945 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
2946 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
2947 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
2948 * testsuite/25_algorithms/is_partitioned/constrained.cc:
2949 Likewise.
2950 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
2951 * testsuite/25_algorithms/is_permutation/constrained.cc:
2952 Likewise.
2953 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
2954 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
2955 * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
2956 Likewise.
2957 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
2958 Likewise.
2959 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
2960 * testsuite/25_algorithms/lexicographical_compare/93972.cc:
2961 Likewise.
2962 * testsuite/25_algorithms/lexicographical_compare/95578.cc:
2963 Likewise.
2964 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
2965 Likewise.
2966 * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
2967 Likewise.
2968 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
2969 Likewise.
2970 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
2971 Likewise.
2972 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
2973 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
2974 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
2975 Likewise.
2976 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
2977 Likewise.
2978 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
2979 Likewise.
2980 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
2981 * testsuite/25_algorithms/max/constrained.cc: Likewise.
2982 * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
2983 * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
2984 * testsuite/25_algorithms/merge/constrained.cc: Likewise.
2985 * testsuite/25_algorithms/min/constrained.cc: Likewise.
2986 * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
2987 * testsuite/25_algorithms/minmax/constrained.cc: Likewise.
2988 * testsuite/25_algorithms/minmax_element/constrained.cc:
2989 Likewise.
2990 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
2991 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
2992 * testsuite/25_algorithms/move/93872.cc: Likewise.
2993 * testsuite/25_algorithms/move/95578.cc: Likewise.
2994 * testsuite/25_algorithms/move/constexpr.cc: Likewise.
2995 * testsuite/25_algorithms/move/constrained.cc: Likewise.
2996 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
2997 * testsuite/25_algorithms/move_backward/95578.cc: Likewise.
2998 * testsuite/25_algorithms/move_backward/constrained.cc:
2999 Likewise.
3000 * testsuite/25_algorithms/next_permutation/constexpr.cc:
3001 Likewise.
3002 * testsuite/25_algorithms/next_permutation/constrained.cc:
3003 Likewise.
3004 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
3005 * testsuite/25_algorithms/none_of/constrained.cc: Likewise.
3006 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
3007 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
3008 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
3009 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
3010 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
3011 Likewise.
3012 * testsuite/25_algorithms/partial_sort_copy/constrained.cc:
3013 Likewise.
3014 * testsuite/25_algorithms/partition/constexpr.cc: Likewise.
3015 * testsuite/25_algorithms/partition/constrained.cc: Likewise.
3016 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
3017 * testsuite/25_algorithms/partition_copy/constrained.cc:
3018 Likewise.
3019 * testsuite/25_algorithms/partition_point/constexpr.cc:
3020 Likewise.
3021 * testsuite/25_algorithms/partition_point/constrained.cc:
3022 Likewise.
3023 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
3024 * testsuite/25_algorithms/prev_permutation/constexpr.cc:
3025 Likewise.
3026 * testsuite/25_algorithms/prev_permutation/constrained.cc:
3027 Likewise.
3028 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
3029 * testsuite/25_algorithms/remove/constexpr.cc: Likewise.
3030 * testsuite/25_algorithms/remove/constrained.cc: Likewise.
3031 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
3032 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
3033 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
3034 * testsuite/25_algorithms/remove_copy_if/constrained.cc:
3035 Likewise.
3036 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
3037 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
3038 * testsuite/25_algorithms/replace/constrained.cc: Likewise.
3039 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
3040 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
3041 * testsuite/25_algorithms/replace_copy_if/constexpr.cc:
3042 Likewise.
3043 * testsuite/25_algorithms/replace_copy_if/constrained.cc:
3044 Likewise.
3045 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
3046 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
3047 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
3048 * testsuite/25_algorithms/reverse/constrained.cc: Likewise.
3049 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
3050 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
3051 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
3052 * testsuite/25_algorithms/rotate/constrained.cc: Likewise.
3053 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
3054 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
3055 * testsuite/25_algorithms/sample/constrained.cc: Likewise.
3056 * testsuite/25_algorithms/search/constexpr.cc: Likewise.
3057 * testsuite/25_algorithms/search/constrained.cc: Likewise.
3058 * testsuite/25_algorithms/search_n/97828.cc: Likewise.
3059 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
3060 * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
3061 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
3062 * testsuite/25_algorithms/set_difference/constrained.cc:
3063 Likewise.
3064 * testsuite/25_algorithms/set_intersection/constexpr.cc:
3065 Likewise.
3066 * testsuite/25_algorithms/set_intersection/constrained.cc:
3067 Likewise.
3068 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
3069 Likewise.
3070 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
3071 Likewise.
3072 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
3073 * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
3074 * testsuite/25_algorithms/shift_left/1.cc: Likewise.
3075 * testsuite/25_algorithms/shift_right/1.cc: Likewise.
3076 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
3077 * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
3078 * testsuite/25_algorithms/sort/constrained.cc: Likewise.
3079 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
3080 * testsuite/25_algorithms/stable_partition/constrained.cc:
3081 Likewise.
3082 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
3083 * testsuite/25_algorithms/swap/constexpr.cc: Likewise.
3084 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
3085 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
3086 * testsuite/25_algorithms/transform/constexpr.cc: Likewise.
3087 * testsuite/25_algorithms/transform/constrained.cc: Likewise.
3088 * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
3089 * testsuite/25_algorithms/unique/constrained.cc: Likewise.
3090 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
3091 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
3092 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
3093 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
3094 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
3095 Likewise.
3096 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
3097 Likewise.
3098 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
3099 Likewise.
3100
31012023-09-15 Jonathan Wakely <jwakely@redhat.com>
3102
3103 * testsuite/std/concepts/1.cc: Remove dg-options.
3104 * testsuite/std/concepts/2.cc: Likewise.
3105 * testsuite/std/concepts/concepts.callable/invocable.cc:
3106 Likewise.
3107 * testsuite/std/concepts/concepts.callable/regular_invocable.cc:
3108 Likewise.
3109 * testsuite/std/concepts/concepts.callable/relation.cc:
3110 Likewise.
3111 * testsuite/std/concepts/concepts.callable/strictweakorder.cc:
3112 Likewise.
3113 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
3114 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
3115 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
3116 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
3117 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
3118 Likewise.
3119 * testsuite/std/concepts/concepts.lang/concept.common/1.cc:
3120 Likewise.
3121 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
3122 Likewise.
3123 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
3124 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
3125 Likewise.
3126 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
3127 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
3128 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
3129 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
3130 Likewise.
3131 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
3132 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
3133 * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
3134 Likewise.
3135 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
3136 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
3137 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
3138 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
3139 * testsuite/std/concepts/concepts.object/movable.cc: Likewise.
3140 * testsuite/std/concepts/concepts.object/regular.cc: Likewise.
3141 * testsuite/std/concepts/concepts.object/semiregular.cc:
3142 Likewise.
3143 * testsuite/std/ranges/97600.cc: Likewise.
3144 * testsuite/std/ranges/access/101782.cc: Likewise.
3145 * testsuite/std/ranges/access/begin.cc: Likewise.
3146 * testsuite/std/ranges/access/begin_neg.cc: Likewise.
3147 * testsuite/std/ranges/access/cbegin.cc: Likewise.
3148 * testsuite/std/ranges/access/cdata.cc: Likewise.
3149 * testsuite/std/ranges/access/cend.cc: Likewise.
3150 * testsuite/std/ranges/access/crbegin.cc: Likewise.
3151 * testsuite/std/ranges/access/crend.cc: Likewise.
3152 * testsuite/std/ranges/access/data.cc: Likewise.
3153 * testsuite/std/ranges/access/empty.cc: Likewise.
3154 * testsuite/std/ranges/access/end.cc: Likewise.
3155 * testsuite/std/ranges/access/end_neg.cc: Likewise.
3156 * testsuite/std/ranges/access/lwg3467.cc: Likewise.
3157 * testsuite/std/ranges/access/p2602.cc: Likewise.
3158 * testsuite/std/ranges/access/rbegin.cc: Likewise.
3159 * testsuite/std/ranges/access/rend.cc: Likewise.
3160 * testsuite/std/ranges/access/size.cc: Likewise.
3161 * testsuite/std/ranges/access/size_neg.cc: Likewise.
3162 * testsuite/std/ranges/access/ssize.cc: Likewise.
3163 * testsuite/std/ranges/adaptors/100479.cc: Likewise.
3164 * testsuite/std/ranges/adaptors/100577.cc: Likewise.
3165 * testsuite/std/ranges/adaptors/93978.cc: Likewise.
3166 * testsuite/std/ranges/adaptors/95322.cc: Likewise.
3167 * testsuite/std/ranges/adaptors/99433.cc: Likewise.
3168 * testsuite/std/ranges/adaptors/all.cc: Likewise.
3169 * testsuite/std/ranges/adaptors/common.cc: Likewise.
3170 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
3171 Likewise.
3172 * testsuite/std/ranges/adaptors/counted.cc: Likewise.
3173 * testsuite/std/ranges/adaptors/detail/copyable_box.cc:
3174 Likewise.
3175 * testsuite/std/ranges/adaptors/drop.cc: Likewise.
3176 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
3177 * testsuite/std/ranges/adaptors/elements.cc: Likewise.
3178 * testsuite/std/ranges/adaptors/filter.cc: Likewise.
3179 * testsuite/std/ranges/adaptors/join.cc: Likewise.
3180 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
3181 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
3182 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
3183 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
3184 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
3185 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
3186 * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
3187 * testsuite/std/ranges/adaptors/p2281.cc: Likewise.
3188 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
3189 * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
3190 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
3191 * testsuite/std/ranges/adaptors/split.cc: Likewise.
3192 * testsuite/std/ranges/adaptors/take.cc: Likewise.
3193 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
3194 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3195 * testsuite/std/ranges/empty_view.cc: Likewise.
3196 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
3197 * testsuite/std/ranges/iota/difference_type.cc: Likewise.
3198 * testsuite/std/ranges/iota/iota_view.cc: Likewise.
3199 * testsuite/std/ranges/iota/iterator.cc: Likewise.
3200 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
3201 * testsuite/std/ranges/iota/max_size_type.cc: Likewise.
3202 * testsuite/std/ranges/istream_view.cc: Likewise.
3203 * testsuite/std/ranges/p2259.cc: Likewise.
3204 * testsuite/std/ranges/p2325.cc: Likewise.
3205 * testsuite/std/ranges/p2367.cc: Likewise.
3206 * testsuite/std/ranges/range.cc: Likewise.
3207 * testsuite/std/ranges/refinements.cc: Likewise.
3208 * testsuite/std/ranges/safe_range.cc: Likewise.
3209 * testsuite/std/ranges/safe_range_types.cc: Likewise.
3210 * testsuite/std/ranges/single_view.cc: Likewise.
3211 * testsuite/std/ranges/sized.cc: Likewise.
3212 * testsuite/std/ranges/subrange/1.cc: Likewise.
3213 * testsuite/std/ranges/subrange/97512.cc: Likewise.
3214 * testsuite/std/ranges/subrange/constexpr.cc: Likewise.
3215 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
3216 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
3217 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
3218 * testsuite/std/ranges/subrange/sizeof.cc: Likewise.
3219 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
3220 * testsuite/std/ranges/view.cc: Likewise.
3221
32222023-09-15 Jonathan Wakely <jwakely@redhat.com>
3223
3224 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
3225 Remove dg-options.
3226 * testsuite/23_containers/span/contiguous_range_neg.cc:
3227 Likewise.
3228 * testsuite/23_containers/span/everything.cc: Likewise.
3229
32302023-09-15 Jonathan Wakely <jwakely@redhat.com>
3231
3232 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove
3233 dg-options and add dg-add-options strict_std.
3234 * testsuite/std/ranges/iota/93267.cc: Likewise.
3235 * testsuite/std/ranges/iota/96042.cc: Likewise.
3236 * testsuite/std/ranges/iota/size.cc: Likewise.
3237 * testsuite/std/ranges/subrange/96042.cc: Likewise.
3238
32392023-09-15 Jonathan Wakely <jwakely@redhat.com>
3240
3241 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
3242 Replace dg-options -std=c++17 with dg-add-options strict_std.
3243 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
3244 Likewise.
3245
32462023-09-15 Jonathan Wakely <jwakely@redhat.com>
3247
3248 * testsuite/23_containers/deque/48101-2_neg.cc: Replace
3249 dg-options with target selector.
3250 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
3251 * testsuite/23_containers/list/48101-2_neg.cc: Likewise.
3252 * testsuite/23_containers/map/48101-2_neg.cc: Likewise.
3253 * testsuite/23_containers/map/48101_neg.cc: Likewise.
3254 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
3255 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
3256 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
3257 * testsuite/23_containers/set/48101-2_neg.cc: Likewise.
3258 * testsuite/23_containers/unordered_map/48101-2_neg.cc:
3259 Likewise.
3260 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
3261 Likewise.
3262 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
3263 Likewise.
3264 * testsuite/23_containers/unordered_set/48101-2_neg.cc:
3265 Likewise.
3266 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
3267
32682023-09-15 Jonathan Wakely <jwakely@redhat.com>
3269
3270 * doc/xml/manual/test.xml: Update documentation on running and
3271 writing tests.
3272 * doc/html/manual/test.html: Regenerate.
3273 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp
3274 * testsuite/Makefile.in: Regenerate.
3275 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New
3276 proc.
3277 * testsuite/lib/libstdc++.exp (search_for): New utility proc.
3278 (v3-dg-runtest): New proc to replace dg-runtest.
3279 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
3280
32812023-09-15 Jonathan Wakely <jwakely@redhat.com>
3282
3283 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
3284 Fix test to work for C++23 and C++26 too.
3285
32862023-09-15 Patrick Palka <ppalka@redhat.com>
3287
3288 * include/std/bit: Include <concepts>.
3289 (byteswap): Use a type-constraint instead of enable_if_t
3290 inside the return type, and use std::integral.
3291 (_If_is_unsigned_integer): Replace with ...
3292 (__unsigned_integer): ... this.
3293 (rotl): Use a type-constraint instead of enable_if_t inside
3294 the return type.
3295 (countl_zero): Likewise.
3296 (countl_one): Likewise.
3297 (countr_zero): Likewise.
3298 (countr_one): Likewise.
3299 (popcount): Likewise.
3300 (has_single_bit): Likewise.
3301 (bit_ceil): Likewise.
3302 (bit_floor): Likewise.
3303 (bit_width): Likewise.
3304
33052023-09-15 Jonathan Wakely <jwakely@redhat.com>
3306
3307 * include/std/variant (variant): Remove derivation from
3308 _Enable_default_constructor base class.
3309 (variant::variant()): Constrain.
3310 * testsuite/20_util/variant/default_ctor.cc: New test.
3311
33122023-09-15 Jonathan Wakely <jwakely@redhat.com>
3313
3314 PR libstdc++/111172
3315 * include/std/variant (get<T>): Remove !is_void static
3316 assertions.
3317
33182023-09-15 Jonathan Wakely <jwakely@redhat.com>
3319
3320 * include/bits/version.def (to_chars): Define new value for
3321 C++26.
3322 * include/bits/version.h: Regenerate.
3323 * include/std/charconv (to_chars_result::operator bool): New
3324 function.
3325 (from_chars_result::operator bool): New function.
3326 * testsuite/20_util/to_chars/version.cc: Update expected value.
3327 * testsuite/20_util/from_chars/result.cc: New test.
3328 * testsuite/20_util/to_chars/result.cc: New test.
3329
33302023-09-14 Jonathan Wakely <jwakely@redhat.com>
3331
3332 PR c++/111357
3333 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
3334
33352023-09-14 Jonathan Wakely <jwakely@redhat.com>
3336
3337 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
3338 dg-additional-files. Remove @require@ and @diff@ comments.
3339 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
3340 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
3341 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
3342 * testsuite/lib/dg-options.exp (v3_additional_files): New
3343 global variable.
3344 (dg-additional-files): New proc.
3345 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy
3346 additional files to test directory.
3347
33482023-09-14 Jonathan Wakely <jwakely@redhat.com>
3349
3350 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
3351 Use a plain integer for _M_work_count for single-threaded
3352 targets.
3353 * include/experimental/memory_resource (__get_default_resource)
3354 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
3355 single-threaded targets.
3356 * src/c++17/default_resource.h: Adjust preprocessor conditions
3357 to match memory_resource.cc.
3358 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
3359 (atomic_mem_res): Use unsynchronized type for single-threaded
3360 targets.
3361
33622023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
3363
3364 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
3365 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
3366 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
3367 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
3368 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
3369 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
3370 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
3371 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
3372
33732023-09-14 François Dumont <fdumont@gcc.gnu.org>
3374
3375 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
3376 { dg-require-normal-namespace "" }.
3377
33782023-09-13 François Dumont <fdumont@gcc.gnu.org>
3379
3380 * include/std/format (std::__format::_Arg_store): Explicit version
3381 namespace on make_format_args friend declaration.
3382
33832023-09-12 Patrick Palka <ppalka@redhat.com>
3384
3385 PR libstdc++/111327
3386 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
3387 a deleted fallback operator() overload. Constrain both the
3388 enabled and deleted overloads accordingly.
3389 * testsuite/20_util/function_objects/not_fn/111327.cc: New test.
3390
33912023-09-12 Patrick Palka <ppalka@redhat.com>
3392
3393 PR libstdc++/111327
3394 * include/std/functional (_Bind_front::operator()): Add deleted
3395 fallback overloads for each const/ref qualifier pair. Give the
3396 enabled overloads dummy constraints to make each one more
3397 specialized than the corresponding deleted overload.
3398 * testsuite/20_util/function_objects/bind_front/111327.cc: New test.
3399
34002023-09-12 Patrick Palka <ppalka@redhat.com>
3401
3402 * include/std/functional (_Bind_front0): Remove.
3403 (_Bind_front_t): Adjust.
3404
34052023-09-12 Jonathan Wakely <jwakely@redhat.com>
3406
3407 * python/libstdcxx/v6/printers.py: Reformat.
3408 * python/libstdcxx/v6/xmethods.py: Likewise.
3409
34102023-09-11 Jonathan Wakely <jwakely@redhat.com>
3411
3412 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
3413 function.
3414 (reset_sequence_ptr): New function.
3415 (_Safe_iterator_base::_M_detach)
3416 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
3417 with acquire_sequence_ptr_for_lock.
3418 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
3419 reset_sequence_ptr.
3420
34212023-09-11 Jonathan Wakely <jwakely@redhat.com>
3422
3423 * src/c++11/Makefile.am: Add new file.
3424 * src/c++11/Makefile.in: Regenerate.
3425 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
3426 * src/c++11/assert_fail.cc: New file.
3427
34282023-09-11 Ken Matsui <kmatsui@gcc.gnu.org>
3429
3430 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
3431 (_GLIBCXX_USE_BUILTIN_TRAIT): Define.
3432
34332023-09-11 Jonathan Wakely <jwakely@redhat.com>
3434
3435 * include/bits/version.def (__cpp_lib_formatters): Define.
3436 * include/bits/version.h: Regenerate.
3437 * include/std/stacktrace (formatter<stacktrace_entry>)
3438 (formatter<basic_stacktrace<Alloc>>): Define.
3439 * include/std/thread (formatter<thread::id, charT>): Define.
3440 * testsuite/19_diagnostics/stacktrace/output.cc: New test.
3441 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
3442 std::formatter specializations.
3443 * testsuite/19_diagnostics/stacktrace/version.cc: Check
3444 __cpp_lib_formatters macro.
3445 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads
3446 dependency.
3447 * testsuite/30_threads/thread/id/operators.cc: Likewise.
3448 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
3449 * testsuite/30_threads/thread/id/output.cc: New test.
3450
34512023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
3452
3453 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
3454 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
3455 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
3456
34572023-09-08 Jonathan Wakely <jwakely@redhat.com>
3458
3459 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
3460 * configure: Regenerate.
3461 * doc/html/manual/*: Regenerate.
3462 * doc/xml/manual/using.xml: Update documentation on linking.
3463 * include/std/stacktrace: Remove declarations of libbacktrace
3464 APIs.
3465 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
3466 Remove.
3467 (stacktrace_entry::_Info): New class.
3468 (stacktrace_entry::_M_get_info): Use _Info.
3469 (__stacktrace_impl): New class.
3470 (basic_stacktrace): Derive from __stacktrace_impl.
3471 (basic_stacktrace::current): Use __stacktrace_impl::_S_current.
3472 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
3473 libstdc++exp instead of libstdc++_libbacktrace.
3474 * src/Makefile.am (SUBDIRS): Add c++23 directory.
3475 * src/Makefile.in: Regenerate.
3476 * src/c++20/Makefile.am: Fix comment.
3477 * src/c++20/Makefile.in: Regenerate.
3478 * src/c++23/Makefile.am: New file.
3479 * src/c++23/Makefile.in: New file.
3480 * src/c++23/stacktrace.cc: New file with definitions of
3481 stacktrace_entry::_Info and __stacktrace_impl members.
3482 * src/experimental/Makefile.am: Use LIBADD to include other
3483 libraries.
3484 * src/experimental/Makefile.in: Regenerate.
3485 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
3486 * src/libbacktrace/Makefile.in: Regenerate.
3487 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
3488 dg-options to use -lstdc++exp.
3489 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
3490 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
3491 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
3492 Likewise.
3493
34942023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
3495
3496 * src/libbacktrace/Makefile.am: Remove -Werror.
3497 * src/libbacktrace/Makefile.in: Regenerate.
3498
34992023-09-08 Jonathan Wakely <jwakely@redhat.com>
3500
3501 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
3502 * testsuite/Makefile.in: Regenerate.
3503
35042023-09-08 Yang Yujie <yangyujie@loongson.cn>
3505
3506 * configure.host: Register t-loongarch in tmake_file.
3507 * config/cpu/loongarch/t-loongarch: New file. Manually refresh
3508 MULTISUBDIR with $(shell $(CXX) --print-multi-directory).
3509
35102023-09-07 Bruno Victal <mirai@makinata.eu>
3511
3512 * acinclude.m4: Update docbook xsl URI.
3513 * configure: Regenerate.
3514
35152023-09-07 Bruno Victal <mirai@makinata.eu>
3516
3517 * doc/Makefile.am: Fix 'doc-install-info' rule.
3518 Fix typo in commment.
3519 * doc/Makefile.in: Regenerate.
3520
35212023-09-07 Jonathan Wakely <jwakely@redhat.com>
3522
3523 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
3524 dg-do target selector.
3525
35262023-09-07 Jonathan Wakely <jwakely@redhat.com>
3527
3528 * testsuite/config/default.exp: Remove trailing whitespace.
3529 * testsuite/lib/dg-options.exp: Likewise.
3530 * testsuite/lib/prune.exp: Likewise.
3531 * testsuite/libstdc++-abi/abi.exp: Likewise.
3532 * testsuite/libstdc++-dg/conformance.exp: Likewise.
3533 * testsuite/libstdc++-prettyprinters/prettyprinters.exp:
3534 Likewise.
3535 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
3536 * testsuite/lib/libstdc++.exp: Likewise.
3537 (check_v3_target_c_std): Fix filename for temporary source file.
3538
35392023-09-07 Jonathan Wakely <jwakely@redhat.com>
3540
3541 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
3542 chmod, chdir, and getcwd.
3543 * config.h.in: Regenerate.
3544 * configure: Regenerate.
3545 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
3546 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
3547 (fs::permissions): Use USE_CHMOD macro.
3548 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
3549 (chmod, mkdir, getcwd, chdir): Define new macros.
3550 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
3551 new macros.
3552 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
3553 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
3554 (fs::permissions): Use USE_CHMOD macro.
3555
35562023-09-07 Jonathan Wakely <jwakely@redhat.com>
3557
3558 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
3559 for avr.
3560 * configure: Regenerate.
3561
35622023-09-07 Jonathan Wakely <jwakely@redhat.com>
3563
3564 * testsuite/23_containers/unordered_map/operations/1.cc: Add
3565 dg-options for C++20 mode.
3566 * testsuite/23_containers/unordered_multimap/operations/1.cc:
3567 Likewise.
3568 * testsuite/23_containers/unordered_multiset/operations/1.cc:
3569 Likewise.
3570 * testsuite/23_containers/unordered_set/operations/1.cc:
3571 Likewise.
3572 * testsuite/std/time/parse.cc: Move dg-options before dg-do.
3573
35742023-09-07 Jonathan Wakely <jwakely@redhat.com>
3575
3576 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
3577 compatibility.
3578 * testsuite/std/ranges/access/cdata.cc: Likewise.
3579 * testsuite/std/ranges/access/cend.cc: Likewise.
3580 * testsuite/std/ranges/access/crbegin.cc: Likewise.
3581 * testsuite/std/ranges/access/crend.cc: Likewise.
3582 * testsuite/std/ranges/adaptors/take.cc: Likewise.
3583 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
3584 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3585
35862023-09-07 Jonathan Wakely <jwakely@redhat.com>
3587
3588 * include/bits/iterator_concepts.h (__imove::iter_move): Define
3589 poison pill as deleted for consistency.
3590 (__access::begin): Replace with a single declaration.
3591 * include/bits/ranges_base.h (__access::end, __access::rbegin)
3592 (__access::rend, __access::size): Likewise.
3593 * include/bits/version.def (ranges): Update value for C++23.
3594 * include/bits/version.h: Regenerate.
3595 * libsupc++/compare (__compare): Add missing poison pill
3596 overloads.
3597 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
3598 of __cpp_lib_ranges.
3599 * testsuite/std/ranges/access/p2602.cc: New test.
3600
36012023-09-07 Jonathan Wakely <jwakely@redhat.com>
3602
3603 * include/bits/iterator_concepts.h (ranges::__cust_imove):
3604 Rename to ranges::__imove.
3605 (_IMove): Rename to _IterMove.
3606 (ranges::__cust_iswap): Rename to ranges::__iswap.
3607 (ranges::__cust): Rename to ranges::_Cpo.
3608 (ranges::__cust_access): Rename to ranges::__access.
3609 * include/bits/ranges_base.h (ranges::__cust_access): Rename to
3610 ranges::__access.
3611 (ranges::__cust): Rename to ranges::_Cpo.
3612 * include/std/concepts (ranges::__cust_swap): Rename to
3613 ranges::__swap.
3614 (ranges::__cust): Rename to ranges::_Cpo.
3615 * libsupc++/compare (__cmp_cust): Rename to __compare.
3616 (__cmp_algo): Rename to _Cpo.
3617
36182023-09-07 Jonathan Wakely <jwakely@redhat.com>
3619
3620 * include/bits/version.def (ranges): Update value.
3621 * include/bits/version.h: Regenerate.
3622 * include/std/ranges (__detail::__boxable): Use
3623 move_constructible instead of copy_constructible for C++23.
3624 (__detail::__box<T>): Adjust constraints for partial
3625 specialization.
3626 (single_view, transform_view): Use __box_constructible instead
3627 of copy_constructible in constraints.
3628 (zip_transform_view, adjacent_transform_view, repeat_view): Use
3629 move_constructible instead of copy_constructible in constraints.
3630 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
3631 construction from move-only argument.
3632 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3633 * testsuite/std/ranges/repeat/1.cc: Likewise.
3634 * testsuite/std/ranges/single_view.cc: Likewise.
3635 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
3636 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
3637 of __cpp_lib_ranges.
3638
36392023-09-07 Jonathan Wakely <jwakely@redhat.com>
3640
3641 * testsuite/util/testsuite_iterators.h (is_customization_point_object):
3642 Remove parameter name.
3643
36442023-09-06 Jonathan Wakely <jwakely@redhat.com>
3645
3646 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
3647 for freestanding.
3648 * configure: Regenerate.
3649
36502023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3651
3652 Revert
3653 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3654
3655 PR libstdc++/111238
3656 * configure: Regenerate.
3657 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
3658 non-Canadian builds.
3659
36602023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3661
3662 PR libstdc++/111238
3663 * configure: Regenerate.
3664 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
3665 non-Canadian builds.
3666
36672023-09-04 Jonathan Wakely <jwakely@redhat.com>
3668
3669 * testsuite/26_numerics/complex/literals/types.cc: Remove
3670 dg-options and add target selector instead.
3671
36722023-09-04 Jonathan Wakely <jwakely@redhat.com>
3673
3674 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
3675 and qualify ambiguous calls to get.
3676 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
3677 expected result for std::pow(float, int) as per DR 550.
3678
36792023-09-04 Jonathan Wakely <jwakely@redhat.com>
3680
3681 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
3682 and add dg-warning for deprecation warnings.
3683 * testsuite/20_util/auto_ptr/2.cc: Likewise.
3684 * testsuite/20_util/auto_ptr/3.cc: Likewise.
3685 * testsuite/20_util/auto_ptr/3946.cc: Likewise.
3686 * testsuite/20_util/auto_ptr/4.cc: Likewise.
3687 * testsuite/20_util/auto_ptr/5.cc: Likewise.
3688 * testsuite/20_util/auto_ptr/6.cc: Likewise.
3689 * testsuite/20_util/auto_ptr/7.cc: Likewise.
3690 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
3691 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
3692 Likewise.
3693 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3694 Likewise.
3695 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3696 Likewise.
3697 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
3698 Likewise.
3699 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
3700 Likewise.
3701 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3702 Likewise.
3703 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3704 Likewise.
3705
37062023-09-04 Jonathan Wakely <jwakely@redhat.com>
3707
3708 PR libstdc++/26142
3709 * testsuite/23_containers/vector/26412-1.cc: Moved to...
3710 * testsuite/23_containers/vector/26142-1.cc: ...here.
3711 * testsuite/23_containers/vector/26412-2.cc: Moved to...
3712 * testsuite/23_containers/vector/26142-2.cc: ...here.
3713
37142023-09-04 Jonathan Wakely <jwakely@redhat.com>
3715
3716 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
3717 * testsuite/26_numerics/complex/56111.cc: Likewise.
3718
37192023-09-04 Jonathan Wakely <jwakely@redhat.com>
3720
3721 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
3722 Add dg-options to restrict the test to C++98 mode.
3723 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
3724 Likewise.
3725
37262023-09-04 Jonathan Wakely <jwakely@redhat.com>
3727
3728 * testsuite/20_util/expected/bad.cc: Add missing target
3729 selector.
3730
37312023-09-01 Jonathan Wakely <jwakely@redhat.com>
3732
3733 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
3734 expected errors.
3735 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
3736 Likewise.
3737
37382023-09-01 Jonathan Wakely <jwakely@redhat.com>
3739
3740 * testsuite/27_io/filesystem/iterators/91067.cc: Add
3741 -Wno-self-move to options.
3742 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
3743
37442023-09-01 Vladimir Palevich <palevichva@gmail.com>
3745
3746 PR libstdc++/110879
3747 * include/bits/vector.tcc (_M_realloc_insert): End guard
3748 lifetime just before assignment to class members.
3749 (_M_default_append): Likewise.
3750
37512023-09-01 Jonathan Wakely <jwakely@redhat.com>
3752
3753 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
3754 Use __resize_and_overwrite to fill buffer.
3755 (fs::read_symlink) [HAVE_READLINK]: Likewise.
3756 * src/filesystem/ops-common.h (get_temp_directory_from_env)
3757 [FILESYSTEM_IS_WINDOWS]: Likewise.
3758
37592023-09-01 Jonathan Wakely <jwakely@redhat.com>
3760
3761 PR libstdc++/111077
3762 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
3763 Add _AtomicRef non-type template parameter and use a loop if it
3764 is true.
3765 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
3766 (__atomic_impl::compare_exchange_strong): Likewise.
3767 (atomic_ref::compare_exchange_weak): Use true for NTTP.
3768 (atomic_ref::compare_exchange_strong): Use true for NTTP.
3769 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
3770 Fix test to not rely on atomic_ref::load() to return an object
3771 with padding preserved.
3772
37732023-09-01 Jonathan Wakely <jwakely@redhat.com>
3774
3775 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
3776 filesystem support.
3777
37782023-09-01 Jonathan Wakely <jwakely@redhat.com>
3779
3780 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
3781 for POSIX readlink before using filesystem::read_symlink.
3782
37832023-09-01 Jonathan Wakely <jwakely@redhat.com>
3784
3785 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
3786 * configure: Regenerate.
3787
37882023-09-01 Jonathan Wakely <jwakely@redhat.com>
3789
3790 * include/bits/chrono_io.h (_Parser::operator()): Set failbit
3791 early if invalid values are read when _M_need & _TimeOfDay is
3792 non-zero.
3793 * testsuite/std/time/parse.cc: Check that "25:59" cannot be
3794 parsed for "%H:%M".
3795
37962023-09-01 Jonathan Wakely <jwakely@redhat.com>
3797
3798 PR libstdc++/111162
3799 * include/bits/chrono_io.h (_Parser::Operator()): Check %C
3800 values are in range of year::min() to year::max().
3801 * testsuite/std/time/parse.cc: Check out of range centuries.
3802
38032023-09-01 Jonathan Wakely <jwakely@redhat.com>
3804
3805 * include/std/format (__format::_Sink::_M_reset): Change second
3806 argument from iterator to offset.
3807
38082023-08-24 Paul Dreik <gccpatches@pauldreik.se>
3809
3810 PR libstdc++/111102
3811 * testsuite/std/format/string.cc: Check wide character format
3812 strings with out-of-range widths.
3813
38142023-08-24 Paul Dreik <gccpatches@pauldreik.se>
3815
3816 PR libstdc++/111102
3817 * include/std/format (__format::__parse_integer): Check for
3818 non-null pointer.
3819
38202023-08-24 Jonathan Wakely <jwakely@redhat.com>
3821
3822 * testsuite/std/format/functions/format_to.cc: Avoid warning for
3823 unused variables.
3824
38252023-08-24 Jonathan Wakely <jwakely@redhat.com>
3826
3827 * include/std/atomic: Add comment to #ifdef and fix indentation.
3828 * include/std/ostream: Check __glibcxx_syncbuf instead of
3829 __cplusplus and _GLIBCXX_HOSTED.
3830 * include/std/thread: Add comment to #ifdef.
3831
38322023-08-24 Jonathan Wakely <jwakely@redhat.com>
3833
3834 * include/bits/version.def (__cpp_lib_ratio): Define.
3835 * include/bits/version.h: Regenerate.
3836 * include/std/ratio (quecto, ronto, yocto, zepto)
3837 (zetta, yotta, ronna, quetta): Define.
3838 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
3839 dg-error line numbers.
3840
38412023-08-24 Jonathan Wakely <jwakely@redhat.com>
3842
3843 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
3844 printer class.
3845 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
3846
38472023-08-24 Jonathan Wakely <jwakely@redhat.com>
3848
3849 PR libstdc++/110944
3850 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
3851 not show template arguments.
3852 (StdVariantPrinter): Likewise.
3853 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
3854 output.
3855 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
3856 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
3857
38582023-08-23 François Dumont <fdumont@gcc.gnu.org>
3859
3860 * testsuite/util/replacement_memory_operators.h
3861 (counter::scope): New, capture and reset counter count at construction and
3862 restore it at destruction.
3863 (counter::check_new): Add scope instantiation.
3864 * testsuite/23_containers/unordered_map/96088.cc (main):
3865 Add counter::scope instantiation.
3866 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
3867 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
3868 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
3869 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
3870 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
3871 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
3872 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
3873 (operator new(size_t)): Check started.
3874 (main): Set/Unset started.
3875 * testsuite/17_intro/no_library_allocation.cc: New test case.
3876
38772023-08-21 Jonathan Wakely <jwakely@redhat.com>
3878
3879 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
3880 Call std::set_terminate before throwing the nested exception.
3881
38822023-08-18 Jonathan Wakely <jwakely@redhat.com>
3883
3884 PR target/111060
3885 * include/std/format (formatter): Only define specializations
3886 for 16-bit floating-point types for C++23.
3887 * include/std/limits (numeric_limits): Likewise.
3888
38892023-08-18 Jonathan Wakely <jwakely@redhat.com>
3890
3891 * include/bits/chrono_io.h (operator<<): Make uses of wide
3892 strings with streams and std::format type-dependent on _CharT.
3893 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
3894 __to_wstring_numeric.
3895
38962023-08-18 Jonathan Wakely <jwakely@redhat.com>
3897
3898 * include/bits/chrono_io.h (operator<<): Use __format_context.
3899 * include/std/format (__format::__format_context): New alias
3900 template.
3901 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
3902 Disable.
3903
39042023-08-17 Jonathan Wakely <jwakely@redhat.com>
3905
3906 Revert:
3907 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3908
3909 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
3910 double overload for long double if possible.
3911
39122023-08-17 Jonathan Wakely <jwakely@redhat.com>
3913
3914 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
3915 std::string_view.
3916
39172023-08-17 Jonathan Wakely <jwakely@redhat.com>
3918
3919 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
3920 double overload for long double if possible.
3921
39222023-08-17 Jonathan Wakely <jwakely@redhat.com>
3923
3924 * src/c++98/localename.cc (is_C_locale): New function.
3925 (locale::locale(const char*)): Use is_C_locale.
3926
39272023-08-17 Jonathan Wakely <jwakely@redhat.com>
3928
3929 PR libstdc++/110945
3930 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
3931 Dispatch to _M_replace or move assignment from a temporary,
3932 based on the iterator type.
3933
39342023-08-17 Jonathan Wakely <jwakely@redhat.com>
3935
3936 * include/std/format (formatter): Add partial specializations
3937 for extended floating-point types.
3938 * testsuite/std/format/functions/format.cc: Move test_float128()
3939 to ...
3940 * testsuite/std/format/formatter/ext_float.cc: New test.
3941
39422023-08-17 Jonathan Wakely <jwakely@redhat.com>
3943
3944 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
3945 whenever __BFLT16_DIG__ is defined, not only for C++23.
3946 * include/std/limits (numeric_limits<bfloat16_t>): Likewise.
3947 (numeric_limits<_Float16>, numeric_limits<_Float32>)
3948 (numeric_limits<_Float64>): Likewise for other extended
3949 floating-point types.
3950
39512023-08-17 Jonathan Wakely <jwakely@redhat.com>
3952
3953 * include/experimental/internet (address_v4::to_string): Remove
3954 unused parameter name.
3955
39562023-08-17 Jonathan Wakely <jwakely@redhat.com>
3957
3958 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
3959 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
3960 excess errors caused by invalid consteval calls.
3961
39622023-08-17 Jonathan Wakely <jwakely@redhat.com>
3963
3964 * include/bits/chrono_io.h (__units_suffix_misc): Remove.
3965 (__units_suffix): Return a known suffix as string view, do not
3966 write unknown suffixes to a buffer.
3967 (__fmt_units_suffix): New function that formats the suffix using
3968 std::format_to.
3969 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
3970 (__chrono_formatter::_M_Z): Correct lifetime of wstring.
3971
39722023-08-17 Jonathan Wakely <jwakely@redhat.com>
3973
3974 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
3975 string formatters with this macro.
3976 (__formatter_int::_M_format_int, __formatter_fp::format)
3977 (formatter<const void*, C>::format): Use __to_wstring_numeric
3978 instead of std::ctype::widen.
3979 (__formatter_fp::_M_localize): Use hardcoded wchar_t values
3980 instead of std::ctype::widen.
3981 * testsuite/std/format/functions/format.cc: Add more checks for
3982 wstring formatting of arithmetic types.
3983
39842023-08-17 Jonathan Wakely <jwakely@redhat.com>
3985
3986 * include/bits/basic_string.h (to_string(floating-point-type)):
3987 Implement using std::to_chars for C++26.
3988 * include/bits/version.def (__cpp_lib_to_string): Define.
3989 * include/bits/version.h: Regenerate.
3990 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
3991 Adjust expected result in C++26 mode.
3992 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
3993 Likewise.
3994 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
3995 Likewise.
3996 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
3997 Likewise.
3998 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
3999 New test.
4000 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
4001 New test.
4002 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
4003 New test.
4004
40052023-08-17 Jonathan Wakely <jwakely@redhat.com>
4006
4007 * include/bits/basic_string.h (to_string(integral-type)): Use
4008 resize_and_overwrite when available.
4009 (__to_wstring_numeric): New helper functions.
4010 (to_wstring): Use std::to_string then __to_wstring_numeric.
4011 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
4012 Remove check for no excess capacity.
4013
40142023-08-17 Jonathan Wakely <jwakely@redhat.com>
4015
4016 * include/bits/basic_string.h (__resize_and_overwrite): New
4017 function.
4018 * include/bits/basic_string.tcc (__resize_and_overwrite): New
4019 function.
4020 (resize_and_overwrite): Simplify by using reserve instead of
4021 growing the string manually. Adjust for C++11 compatibility.
4022 * include/bits/cow_string.h (resize_and_overwrite): New
4023 function.
4024 (__resize_and_overwrite): New function.
4025 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
4026 Do not depend on cxx11abi.
4027 * include/bits/version.h: Regenerate.
4028 * include/std/format (__formatter_fp::_S_resize_and_overwrite):
4029 Remove.
4030 (__formatter_fp::format, __formatter_fp::_M_localize): Use
4031 __resize_and_overwrite instead of _S_resize_and_overwrite.
4032 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
4033 Adjust for C++11 compatibility when included by ...
4034 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
4035 New test.
4036
40372023-08-17 Patrick Palka <ppalka@redhat.com>
4038
4039 * include/bits/regex.h (regex_iterator::iterator_concept):
4040 Define for C++20 as per P2770R0.
4041 (regex_token_iterator::iterator_concept): Likewise.
4042 * include/std/ranges (__detail::__as_lvalue): Define.
4043 (join_view::_Iterator): Befriend join_view.
4044 (join_view::_Iterator::_M_satisfy): Use _M_get_outer
4045 instead of _M_outer.
4046 (join_view::_Iterator::_M_get_outer): Define.
4047 (join_view::_Iterator::_Iterator): Split constructor taking
4048 _Parent argument into two as per P2770R0. Remove constraint on
4049 default constructor.
4050 (join_view::_Iterator::_M_outer): Make this data member present
4051 only when the underlying range is forward.
4052 (join_view::_Iterator::operator++): Use _M_get_outer instead of
4053 _M_outer.
4054 (join_view::_Iterator::operator--): Use __as_lvalue helper.
4055 (join_view::_Iterator::operator==): Adjust constraints as per
4056 P2770R0.
4057 (join_view::_Sentinel::__equal): Use _M_get_outer instead of
4058 _M_outer.
4059 (join_view::_M_outer): New data member when the underlying range
4060 is non-forward.
4061 (join_view::begin): Adjust definition as per P2770R0.
4062 (join_view::end): Likewise.
4063 (join_with_view::_M_outer_it): New data member when the
4064 underlying range is non-forward.
4065 (join_with_view::begin): Adjust definition as per P2770R0.
4066 (join_with_view::end): Likewise.
4067 (join_with_view::_Iterator::_M_outer_it): Make this data member
4068 present only when the underlying range is forward.
4069 (join_with_view::_Iterator::_M_get_outer): Define.
4070 (join_with_view::_Iterator::_Iterator): Split constructor
4071 taking _Parent argument into two as per P2770R0. Remove
4072 constraint on default constructor.
4073 (join_with_view::_Iterator::_M_update_inner): Adjust definition
4074 as per P2770R0.
4075 (join_with_view::_Iterator::_M_get_inner): Likewise.
4076 (join_with_view::_Iterator::_M_satisfy): Adjust calls to
4077 _M_get_inner. Use _M_get_outer instead of _M_outer_it.
4078 (join_with_view::_Iterator::operator==): Adjust constraints
4079 as per P2770R0.
4080 (join_with_view::_Sentinel::operator==): Use _M_get_outer
4081 instead of _M_outer_it.
4082 * testsuite/std/ranges/adaptors/p2770r0.cc: New test.
4083
40842023-08-17 Patrick Palka <ppalka@redhat.com>
4085
4086 PR libstdc++/108827
4087 * include/std/ranges (__adaptor::_RangeAdaptorClosure):
4088 Convert into a CRTP class template. Move hidden operator|
4089 friends into namespace scope and adjust their constraints.
4090 (__closure::__is_range_adaptor_closure_fn): Define.
4091 (__closure::__is_range_adaptor_closure): Define.
4092 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
4093 (__adaptor::_Pipe): Likewise.
4094 (views::_All): Likewise.
4095 (views::_Join): Likewise.
4096 (views::_Common): Likewise.
4097 (views::_Reverse): Likewise.
4098 (views::_Elements): Likewise.
4099 (views::_Adjacent): Likewise.
4100 (views::_AsRvalue): Likewise.
4101 (views::_Enumerate): Likewise.
4102 (views::_AsConst): Likewise.
4103 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
4104 expecting that adding empty range adaptor closure objects to a
4105 pipeline doesn't increase the size of a pipeline.
4106
41072023-08-17 Jonathan Wakely <jwakely@redhat.com>
4108
4109 * include/std/format (__format::_Pres_type): Add _Pres_F.
4110 (__formatter_fp::parse): Use _Pres_F for 'F'.
4111 (__formatter_fp::format): Set __upper for _Pres_F.
4112 * testsuite/std/format/functions/format.cc: Check formatting of
4113 infinity and NaN for each presentation type.
4114
41152023-08-17 Jonathan Wakely <jwakely@redhat.com>
4116
4117 * include/Makefile.in: Regenerate.
4118
41192023-08-17 Jonathan Wakely <jwakely@redhat.com>
4120
4121 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
4122 * testsuite/std/format/functions/format.cc: Likewise.
4123 * testsuite/std/format/functions/format_c++23.cc: Likewise.
4124
41252023-08-17 Jonathan Wakely <jwakely@redhat.com>
4126
4127 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
4128 any "-include bits/stdc++.h" from options and add the macro to
4129 the existing options instead of replacing them.
4130
41312023-08-16 Jonathan Wakely <jwakely@redhat.com>
4132
4133 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
4134 the callable with the same size as resize_and_overwrite was
4135 called with.
4136 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
4137 Check with small values for the new size.
4138 * testsuite/std/format/functions/format.cc: Check wide
4139 formatting of double values that produce small strings.
4140 * testsuite/std/format/functions/format_c++23.cc: New test.
4141
41422023-08-16 Jonathan Wakely <jwakely@redhat.com>
4143
4144 * include/bits/version.def (stds): Update value for C++23.
4145 * include/bits/version.h: Regenerate.
4146
41472023-08-16 Jonathan Wakely <jwakely@redhat.com>
4148
4149 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
4150 Fix name of upstream file this was derived from.
4151 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
4152 Likewise.
4153 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
4154 Likewise.
4155 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
4156 Likewise.
4157 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.
4158
41592023-08-16 Arsen Arsenović <arsen@aarsen.me>
4160
4161 * libsupc++/typeinfo: Switch to bits/version.h for
4162 __cpp_lib_constexpr_typeinfo.
4163 * libsupc++/new: Switch to bits/version.h for
4164 __cpp_lib_{launder,hardware_interference_size,destroying_delete}.
4165 (launder): Guard behind __cpp_lib_launder.
4166 (hardware_destructive_interference_size)
4167 (hardware_constructive_interference_size): Guard behind
4168 __cpp_lib_hardware_interference_size.
4169 * libsupc++/exception: Switch to bits/version.h for
4170 __cpp_lib_uncaught_exceptions.
4171 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
4172 * libsupc++/compare: Switch to bits/version.h for
4173 __cpp_lib_three_way_comparison.
4174 (three_way_comparable, three_way_comparable_with)
4175 (compare_three_way, weak_order, strong_order, partial_order):
4176 Guard behind __cpp_lib_three_way_comparison >= 201907L.
4177 * include/std/chrono: Drop __cpp_lib_chrono definition.
4178 * include/std/vector: Switch to bits/version.h for
4179 __cpp_lib_erase_if.
4180 (erase, erase_if): Guard behind __cpp_lib_erase_if.
4181 * include/std/variant: Switch to bits/version.h for
4182 __cpp_lib_variant. Guard whole header behind that FTM.
4183 * include/std/utility: Switch to bits/version.h for
4184 __cpp_lib_{exchange_function,constexpr_algorithms,as_const},
4185 __cpp_lib_{integer_comparison_functions,to_underlying}, and
4186 __cpp_lib_unreachable.
4187 (exchange): Guard behind __cpp_lib_exchange_function.
4188 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
4189 (cmp_greater_equal, in_range): Guard behind
4190 __cpp_lib_integer_comparison_functions.
4191 (to_underlying): Guard behind __cpp_lib_to_underlying.
4192 (unreachable): Guard behind __cpp_lib_unreachable.
4193 * include/std/type_traits: Switch to bits/version.h for
4194 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
4195 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
4196 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
4197 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
4198 __cpp_lib_{result_of_sfinae,transformation_trait_aliases},
4199 __cpp_lib_{type_identity,type_trait_variable_templates},
4200 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
4201 __cpp_lib_{bool_constant,bounded_array_traits}, and
4202 __cpp_lib_has_unique_object_representations.
4203 (integral_constant::operator()): Guard behind
4204 __cpp_lib_integral_constant_callable.
4205 (bool_constant): Guard behind __cpp_lib_bool_constant.
4206 (conjunction, disjunction, negation, conjunction_v, disjunction_v)
4207 (negation_v): Guard behind __cpp_lib_logical_traits.
4208 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
4209 (is_final): Guard behind __cpp_lib_is_final.
4210 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
4211 __cpp_lib_is_nothrow_convertible.
4212 (remove_const_t, remove_volatile_t, remove_cv_t)
4213 (add_const_t, add_volatile_t, add_cv_t): Guard behind
4214 __cpp_lib_transformation_trait_aliases.
4215 (void_t): Guard behind __cpp_lib_void_t.
4216 (is_swappable_with_v, is_nothrow_swappable_with_v)
4217 (is_swappable_with, is_nothrow_swappable_with): Guard behind
4218 __cpp_lib_is_swappable.
4219 (is_nothrow_invocable_r, is_invocable_r, invoke_result)
4220 (is_invocable, invoke_result_t): Guard behind
4221 __cpp_lib_is_invocable.
4222 (alignment_of_v, extent_v, has_virtual_destructor_v)
4223 (is_abstract_v, is_arithmetic_v, is_array_v)
4224 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
4225 (is_constructible_v, is_const_v, is_convertible_v)
4226 (is_copy_assignable_v, is_copy_constructible_v)
4227 (is_default_constructible_v, is_destructible_v)
4228 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
4229 (is_function_v, is_fundamental_v, is_integral_v)
4230 (is_invocable_r_v, is_invocable_v, is_literal_type_v)
4231 (is_lvalue_reference_v, is_member_function_pointer_v)
4232 (is_member_object_pointer_v, is_member_pointer_v)
4233 (is_move_assignable_v, is_move_constructible_v)
4234 (is_nothrow_assignable_v, is_nothrow_constructible_v)
4235 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
4236 (is_nothrow_default_constructible_v, is_nothrow_destructible_v)
4237 (is_nothrow_invocable_r_v, is_nothrow_invocable_v)
4238 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
4239 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
4240 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
4241 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
4242 (is_trivially_assignable_v, is_trivially_constructible_v)
4243 (is_trivially_copyable_v, is_trivially_copy_assignable_v)
4244 (is_trivially_copy_constructible_v)
4245 (is_trivially_default_constructible_v)
4246 (is_trivially_destructible_v, is_trivially_move_assignable_v)
4247 (is_trivially_move_constructible_v, is_trivial_v, is_union_v)
4248 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
4249 Guard behind __cpp_lib_type_trait_variable_templates.
4250 (has_unique_object_representations)
4251 (has_unique_object_representations_v): Guard behind
4252 __cpp_lib_has_unique_object_representation.
4253 (is_aggregate): Guard behind __cpp_lib_is_aggregate.
4254 (remove_cvref, remove_cvref_t): Guard behind
4255 __cpp_lib_remove_cvref.
4256 (type_identity, type_identity_t): Guard behind
4257 __cpp_lib_type_identity.
4258 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
4259 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
4260 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
4261 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
4262 (is_scoped_enum, is_scoped_enum_v): Guard behind
4263 __cpp_lib_is_scoped_enum.
4264 (reference_constructs_from_temporary)
4265 (reference_constructs_from_temporary_v): Guard behind
4266 __cpp_lib_reference_from_temporary.
4267 * include/std/tuple: Switch to bits/version.h for
4268 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
4269 (get<T>): Guard behind __cpp_lib_tuple_by_type.
4270 (apply): Guard behind __cpp_lib_apply.
4271 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
4272 * include/std/syncstream: Switch to bits/version.h for
4273 __cpp_lib_syncbuf. Guard header behind that FTM.
4274 * include/std/string_view: Switch to bits/version.h for
4275 __cpp_lib_{string_{view,contains},constexpr_string_view} and
4276 __cpp_lib_starts_ends_with.
4277 (basic_string_view::starts_with, basic_string_view::ends_with):
4278 Guard behind __cpp_lib_starts_ends_with.
4279 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
4280 Assert as impossible ithout a bug in C++23.
4281 * include/std/string: Switch to bits/version.h for
4282 __cpp_lib_erase_if.
4283 (erase, erase_if): Guard behind __cpp_lib_erase_if.
4284 * include/std/thread: Switch to bits/version.h for
4285 __cpp_lib_jthread.
4286 * include/std/stop_token: Switch to bits/version.h for
4287 __cpp_lib_jthread.
4288 * include/std/spanstream: Switch to bits/version.h for
4289 __cpp_lib_spanstream. Guard header behind that FTM.
4290 * include/std/span: Switch to bits/version.h for __cpp_lib_span.
4291 Guard header behind that FTM.
4292 * include/std/source_location: Switch to bits/version.h for
4293 __cpp_lib_source_location. Guard header with that FTM.
4294 * include/std/shared_mutex: Switch to bits/version.h for
4295 __cpp_lib_shared{,_timed}_mutex.
4296 (shared_mutex): Guard behind __cpp_lib_shared_mutex.
4297 * include/std/semaphore: Switch to bits/version.h for
4298 __cpp_lib_semaphore. Guard header behind that FTM.
4299 * include/std/ranges: Switch to bits/version.h for
4300 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
4301 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
4302 and __cpp_lib_ranges_{as_const,enumerate,iota}.
4303 (ranges::zip et al, ranges::chunk et al, ranges::slide et al)
4304 (ranges::chunk_by et al, ranges::join_with et al)
4305 (ranges::stride et al, ranges::cartesian_product et al)
4306 (ranges::as_rvalue et al, ranges::as_const et al)
4307 (ranges::enumerate et al): Guard behind appropriate FTM.
4308 * include/std/optional: Switch to bits/version.h for
4309 __cpp_lib_optional. Guard header behind that FTM.
4310 * include/std/numeric: Switch to bits/version.h for
4311 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
4312 and __cpp_lib_parallel_algorithm.
4313 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
4314 (midpoint): Guard behind __cpp_lib_interpolate.
4315 * include/std/numbers: Switch to bits/version.h for
4316 __cpp_lib_math_constants. Guard header behind that FTM.
4317 * include/std/mutex: Switch to bits/version.h for
4318 __cpp_lib_scoped_lock.
4319 (scoped_Lock): Guard behind __cpp_lib_scoped_lock.
4320 * include/std/memory_resource: Switch to bits/version.h for
4321 __cpp_lib_{polymorphic_allocator,memory_resource}.
4322 (synchronized_pool_resource): Guard behind
4323 __cpp_lib_memory_resource >= 201603L.
4324 (polymorphic_allocator): Guard behind
4325 __cpp_lib_polymorphic_allocator.
4326 * include/std/memory: Switch to bits/version.h for
4327 __cpp_lib_{parallel_algorithm,atomic_value_initialization}.
4328 * include/std/list: Switch to bits/version.h for
4329 __cpp_lib_erase_if.
4330 (erase, erase_if): Guard behind __cpp_lib_erase_if.
4331 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
4332 Guard header behind that FTM.
4333 * include/std/iterator: Switch to bits/version.h for
4334 __cpp_lib_null_iterators.
4335 * include/std/iomanip: Switch to bits/version.h for
4336 __cpp_lib_quoted_string_io.
4337 (quoted): Guard behind __cpp_lib_quoted_string_io.
4338 * include/std/functional: Switch to bits/version.h for
4339 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
4340 __cpp_lib_{not_fn,booyer_moore_searcher}.
4341 (invoke): Guard behind __cpp_lib_invoke.
4342 (invoke_r): Guard behind __cpp_lib_invoke_r.
4343 (bind_front): Guard behind __cpp_lib_bind_front.
4344 (not_fn): Guard behind __cpp_lib_not_fn.
4345 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
4346 definition behind __cpp_lib_boyer_moore_searcher.
4347 * include/std/forward_list: Switch to bits/version.h for
4348 __cpp_lib_erase_if.
4349 (erase, erase_if): Guard behind __cpp_lib_erase_if.
4350 * include/std/format: Switch to bits/version.h for
4351 __cpp_lib_format. Guard header behind that FTM.
4352 * include/std/filesystem: Switch to bits/version.h for
4353 __cpp_lib_filesystem. Guard header behind that FTM.
4354 * include/std/expected: Switch to bits/version.h for
4355 __cpp_lib_expected. Guard header behind it.
4356 * include/std/execution: Switch to bits/version.h for
4357 __cpp_lib_{execution,parallel_algorithm}. Guard header behind
4358 either.
4359 * include/std/deque: Switch to bits/version.h for
4360 __cpp_lib_erase_if.
4361 (erase, erase_if): Guard behind __cpp_lib_erase_if.
4362 * include/std/coroutine: Switch to bits/version.h for
4363 __cpp_lib_coroutine. Guard header behind that FTM.
4364 * include/std/concepts: Switch to bits/version.h for
4365 __cpp_lib_concepts. Guard header behind that FTM.
4366 * include/std/complex: Switch to bits/version.h for
4367 __cpp_lib_{complex_udls,constexpr_complex}.
4368 (operator""if, operator""i, operator""il): Guard behind
4369 __cpp_lib_complex_udls.
4370 * include/std/charconv: Swtich to bits/version.h for
4371 __cpp_lib_{to_chars,constexpr_charconv}.
4372 * include/std/bitset: Switch to bits/version.h for
4373 __cpp_lib_constexpr_bitset.
4374 * include/std/bit: Switch to bits/version.h for
4375 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
4376 (bit_cast): Guard behind __cpp_lib_bit_cast.
4377 (byteswap): Guard behind __cpp_lib_byteswap.
4378 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
4379 (popcount): Guard behind __cpp_lib_bitops.
4380 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
4381 __cpp_lib_int_pow2.
4382 (endian): Guard behind __cpp_lib_endian.
4383 * include/std/barrier: Switch to bits/version.h for
4384 __cpp_lib_barrier. Guard header behind that FTM.
4385 * include/std/atomic: Switch to bits/version.h for
4386 __cpp_lib_atomic_{is_always_lock_free,float,ref}
4387 and __cpp_lib_lock_free_type_aliases.
4388 (*::is_always_lock_free): Guard behind
4389 __cpp_lib_atomic_is_always_lock_free.
4390 (atomic<float>): Guard behind __cpp_lib_atomic_float.
4391 (atomic_ref): Guard behind __cpp_lib_atomic_ref.
4392 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
4393 __cpp_lib_atomic_lock_free_type_aliases.
4394 * include/std/array: Switch to bits/version.h for
4395 __cpp_lib_to_array.
4396 (to_array): Guard behind __cpp_lib_to_array.
4397 * include/std/any: Switch to bits/version.h for __cpp_lib_any.
4398 Guard header behind that FTM.
4399 * include/std/algorithm: Switch to bits/version.h for
4400 __cpp_lib_parallel_algorithm.
4401 * include/c_global/cstddef: Switch to bits/version.h for
4402 __cpp_lib_byte.
4403 (byte): Guard behind __cpp_lib_byte.
4404 * include/c_global/cmath: Switch to bits/version.h for
4405 __cpp_lib_{hypot,interpolate}.
4406 (hypot3): Guard behind __cpp_lib_hypot.
4407 (lerp): Guard behind __cpp_lib_interpolate.
4408 * include/c_compatibility/stdatomic.h: Switch to
4409 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that
4410 FTM.
4411 * include/bits/utility.h: Switch to bits/version.h for
4412 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
4413 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
4414 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
4415 * include/bits/uses_allocator_args.h: Switch to bits/version.h for
4416 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM.
4417 * include/bits/unordered_map.h: Switch to bits/version.h for
4418 __cpp_lib_unordered_map_try_emplace.
4419 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
4420 * include/bits/unique_ptr.h: Switch to bits/version.h for
4421 __cpp_lib_{constexpr_memory,make_unique}.
4422 (make_unique): Guard behind __cpp_lib_make_unique.
4423 * include/bits/stl_vector.h: Switch to bits/version.h for
4424 __cpp_lib_constexpr_vector.
4425 * include/bits/stl_uninitialized.h: Switch to bits/version.h for
4426 __cpp_lib_raw_memory_algorithms.
4427 (uninitialized_default_construct)
4428 (uninitialized_default_construct_n, uninitialized_move)
4429 (uninitialized_move_n, uninitialized_value_construct)
4430 (uninitialized_value_construct_n): Guard behind
4431 __cpp_lib_raw_memory_algorithms.
4432 * include/bits/stl_tree.h: Switch to bits/version.h for
4433 __cpp_lib_generic_associative_lookup.
4434 * include/bits/stl_stack.h: Switch to bits/version.h for
4435 __cpp_lib_adaptor_iterator_pair_constructor.
4436 (stack): Guard iterator-pair constructor behind
4437 __cpp_lib_adaptor_iterator_pair_constructor.
4438 * include/bits/stl_queue.h: Switch to bits/version.h for
4439 __cpp_lib_adaptor_iterator_pair_constructor.
4440 (queue): Guard iterator-pair constructor behind
4441 __cpp_lib_adaptor_iterator_pair_constructor.
4442 * include/bits/stl_pair.h: Switch to bits/version.h for
4443 __cpp_lib_{concepts,tuples_by_type}.
4444 (get): Guard type-getting overloads behind
4445 __cpp_lib_tuples_by_type.
4446 * include/bits/stl_map.h: Switch to bits/version.h for
4447 __cpp_lib_map_try_emplace.
4448 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
4449 * include/bits/stl_list.h: Switch to bits/version.h for
4450 __cpp_lib_list_remove_return_type.
4451 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
4452 [C++20]: guard behind __cpp_lib_list_remove_return_type instead.
4453 * include/bits/stl_iterator.h: Switch to bits/version.h for
4454 __cpp_lib_{constexpr_iterator,array_constexpr} and
4455 __cpp_lib_{make_reverse_iterator,move_iterator_concept}.
4456 (make_reverse_iterator): Guard behind
4457 __cpp_lib_make_reverse_iterator.
4458 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept
4459 changes behind that FTM.
4460 * include/bits/stl_function.h: Switch to bits/version.h for
4461 __cpp_lib_transparent_operators.
4462 (equal_to, not_equal_to, greater, less, greater_equal)
4463 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
4464 (logical_or, logical_not, plus, minus, multiplies, divides)
4465 (modulus, negate): Guard '= void' fwdecls behind
4466 __cpp_lib_transparent_operators.
4467 (plus<void>, minus<void>, multiplies<void>, divides<void>)
4468 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
4469 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
4470 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
4471 (greater_equal<void>, less_equal<void>, bit_not<void>)
4472 (__has_is_transparent): Guard behind
4473 __cpp_lib_transparent_operators.
4474 * include/bits/stl_algobase.h: Switch to bits/version.h for
4475 __cpp_lib_robust_nonmodifying_seq_ops.
4476 (robust equal, mismatch): Guard behind
4477 __cpp_lib_nonmember_container_access.
4478 * include/bits/stl_algo.h: Swtich to bits/version.h for
4479 __cpp_lib_{clamp,sample}.
4480 (clamp): Guard behind __cpp_lib_clamp.
4481 (sample): Guard behind __cpp_lib_sample.
4482 * include/bits/specfun.h: Switch to bits/version.h for
4483 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
4484 * include/bits/shared_ptr_base.h: Switch to bits/version.h for
4485 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
4486 (_Sp_overwrite_tag): Guard behind
4487 __cpp_lib_smart_ptr_for_overwrite.
4488 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
4489 __cpp_lib_atomic_shared_ptr.
4490 * include/bits/shared_ptr.h: Switch to bits/version.h for
4491 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
4492 (shared_ptr<T>::weak_type): Guard behind
4493 __cpp_lib_shared_ptr_weak_type.
4494 (enable_shared_from_this<T>::weak_from_this): Guard behind
4495 __cpp_lib_enable_shared_from_this.
4496 * include/bits/ranges_cmp.h: Switch to bits/version.h for
4497 __cpp_lib_ranges.
4498 * include/bits/ranges_algo.h: Switch to bits/version.h for
4499 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
4500 * include/bits/range_access.h: Switch to bits/version.h for
4501 __cpp_lib_nonmember_container_access
4502 (size, empty, data): Guard behind
4503 __cpp_lib_nonmember_container_access.
4504 (ssize): Guard behind __cpp_lib_ssize.
4505 * include/bits/ptr_traits.h: Switch to bits/version.h. for
4506 __cpp_lib_{constexpr_memory,to_address}.
4507 (to_address): Guard behind __cpp_lib_to_address.
4508 * include/bits/node_handle.h: Switch to bits/version.h for
4509 __cpp_lib_node_extract. Guard header behind that FTM.
4510 * include/bits/move_only_function.h: Switch to bits/version.h for
4511 __cpp_lib_move_only_function. Guard header behind that FTM.
4512 * include/bits/move.h: Switch to bits/version.h for
4513 __cpp_lib_addressof_constexpr.
4514 * include/bits/ios_base.h: Switch to bits/version.h for
4515 __cpp_lib_ios_noreplace.
4516 (noreplace): Guard with __cpp_lib_ios_noreplace.
4517 * include/bits/hashtable.h: Switch to bits/version.h for
4518 __cpp_lib_generic_unordered_lookup.
4519 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
4520 __cpp_lib_generic_unordered_lookup.
4521 * include/bits/forward_list.h: Switch to bits/version.h for
4522 __cpp_lib_list_remove_return_type.
4523 (__remove_return_type): Guard behind
4524 __cpp_lib_list_remove_return_type.
4525 * include/bits/erase_if.h: Switch to bits/version.h for
4526 __cpp_lib_erase_if.
4527 * include/bits/cow_string.h: Switch to bits/version.h for
4528 __cpp_lib_constexpr_string.
4529 * include/bits/chrono.h: Swtich to bits/version.h for
4530 __cpp_lib_chrono{,_udls}.
4531 (ceil): Guard behind __cpp_lib_chrono.
4532 (operator""ns et al): Guard behind __cpp_lib_chrono_udls.
4533 * include/bits/char_traits.h: Switch to bits/version.h for
4534 __cpp_lib_constexpr_char_traits.
4535 * include/bits/basic_string.h: Switch to bits/version.h for
4536 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
4537 (resize_and_overwrite): Guard behind
4538 __cpp_lib_string_resize_and_overwrite.
4539 (operator""s): Guard behind __cpp_lib_string_udls.
4540 * include/bits/atomic_wait.h: Switch to bits/version.h for
4541 __cpp_lib_atomic_wait. Guard header behind that FTM.
4542 * include/bits/atomic_base.h: Switch to bits/version.h for
4543 __cpp_lib_atomic_value_initialization and
4544 __cpp_lib_atomic_flag_test.
4545 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
4546 rather than C++20.
4547 * include/bits/allocator.h: Switch to bits/version.h for
4548 __cpp_lib_incomplete_container_elements.
4549 * include/bits/alloc_traits.h: Switch to using bits/version.h for
4550 __cpp_lib_constexpr_dynamic_alloc and
4551 __cpp_lib_allocator_traits_is_always_equal.
4552 * include/bits/align.h: Switch to bits/version.h for defining
4553 __cpp_lib_assume_aligned.
4554 (assume_aligned): Guard with __cpp_lib_assume_aligned.
4555 * include/bits/algorithmfwd.h: Switch to bits/version.h for
4556 defining __cpp_lib_constexpr_algorithms.
4557 * include/std/stacktrace: Switch to bits/version.h for
4558 __cpp_lib_stacktrace. Guard header behind that FTM.
4559 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
4560 Update line numbers.
4561
45622023-08-16 Arsen Arsenović <arsen@aarsen.me>
4563
4564 * include/Makefile.am (bits_freestanding): Add version.h.
4565 (allcreated): Add version.h.
4566 (${bits_srcdir}/version.h): New rule. Regenerates
4567 version.h out of version.{def,tpl}.
4568 * include/Makefile.in: Regenerate.
4569 * include/bits/version.def: New file. Declares a list of
4570 all feature test macros, their values and their preconditions.
4571 * include/bits/version.tpl: New file. Turns version.def
4572 into a sequence of #if blocks.
4573 * include/bits/version.h: New file. Generated from
4574 version.def.
4575 * include/std/version: Replace with a __glibcxx_want_all define
4576 and bits/version.h include.
4577
45782023-08-14 Paul Dreik <gccpatches@pauldreik.se>
4579
4580 PR libstdc++/110860
4581 * include/std/format (__formatter_fp::format): Use frexp instead
4582 of log10.
4583
45842023-08-12 Ken Matsui <kmatsui@gcc.gnu.org>
4585
4586 * include/std/type_traits (true_type): Use __bool_constant
4587 instead.
4588 (false_type): Likewise.
4589 (bool_constant): Likewise.
4590
45912023-08-11 Jonathan Wakely <jwakely@redhat.com>
4592
4593 PR libstdc++/110990
4594 * include/std/format (_Seq_sink::get): Only call _M_overflow if
4595 its precondition is met.
4596 (_Iter_sink::_M_finish): Likewise.
4597 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
4598 internal buffer after running out of space.
4599 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
4600 (_Counting_sink::count): Likewise.
4601 * testsuite/std/format/functions/format_to_n.cc: Check cases
4602 where the output fits into the buffer.
4603
46042023-08-11 Jonathan Wakely <jwakely@redhat.com>
4605
4606 PR libstdc++/104167
4607 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
4608 to _ChronoParts operators.
4609 (from_stream, parse): Define new functions.
4610 (__detail::_Parse, __detail::_Parser): New class templates.
4611 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
4612 C++20.
4613 * include/std/version (__cpp_lib_chrono): Likewise.
4614 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
4615 Adjust expected value of feature test macro.
4616 * testsuite/20_util/duration/io.cc: Test parsing.
4617 * testsuite/std/time/clock/file/io.cc: Likewise.
4618 * testsuite/std/time/clock/gps/io.cc: Likewise.
4619 * testsuite/std/time/clock/system/io.cc: Likewise.
4620 * testsuite/std/time/clock/tai/io.cc: Likewise.
4621 * testsuite/std/time/clock/utc/io.cc: Likewise.
4622 * testsuite/std/time/day/io.cc: Likewise.
4623 * testsuite/std/time/month/io.cc: Likewise.
4624 * testsuite/std/time/month_day/io.cc: Likewise.
4625 * testsuite/std/time/weekday/io.cc: Likewise.
4626 * testsuite/std/time/year/io.cc: Likewise.
4627 * testsuite/std/time/year_month/io.cc: Likewise.
4628 * testsuite/std/time/year_month_day/io.cc: Likewise.
4629 * testsuite/std/time/syn_c++20.cc: Check value of macro and for
4630 the existence of parse and from_stream in namespace chrono.
4631 * testsuite/std/time/clock/local/io.cc: New test.
4632 * testsuite/std/time/parse.cc: New test.
4633
46342023-08-11 Jonathan Wakely <jwakely@redhat.com>
4635
4636 PR libstdc++/110860
4637 * include/std/format (__formatter_fp::format): Do not call log10
4638 with zero values.
4639
46402023-08-11 Jonathan Wakely <jwakely@redhat.com>
4641
4642 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
4643 Check for out-of-range month an weekday indices.
4644 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
4645 month and weekday values.
4646
46472023-08-11 Jonathan Wakely <jwakely@redhat.com>
4648
4649 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
4650
46512023-08-10 Jonathan Wakely <jwakely@redhat.com>
4652
4653 PR libstdc++/110974
4654 * include/std/format (_Spec::_S_parse_width_or_precision): Check
4655 for empty range before dereferencing iterator.
4656 * testsuite/std/format/string.cc: Check for expected exception.
4657 Fix expected exception message in test_pr110862() and actually
4658 call it.
4659
46602023-08-10 Jonathan Wakely <jwakely@redhat.com>
4661
4662 PR libstdc++/110968
4663 * include/std/format (__formatter_fp::format): Check return
4664 value of _M_localize.
4665 * testsuite/std/format/functions/format.cc: Check classic
4666 locale.
4667
46682023-08-10 Jonathan Wakely <jwakely@redhat.com>
4669
4670 PR libstdc++/110970
4671 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
4672 __iter_category_t.
4673 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
4674 (__detail::__basic_const_iterator_iter_cat): Likewise.
4675 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
4676 Rename to __iter_category_t.
4677
46782023-08-09 Jonathan Wakely <jwakely@redhat.com>
4679
4680 * include/bits/chrono.h (duration_cast): Do not use braces
4681 around statements for C++11 constexpr rules.
4682 * include/bits/stl_algobase.h (__lg): Rewrite as a single
4683 statement for C++11 constexpr rules.
4684 * include/experimental/bits/fs_path.h (path::string): Use
4685 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
4686 * include/std/charconv (__to_chars_8): Initialize variable for
4687 C++17 constexpr rules.
4688
46892023-08-09 Jonathan Wakely <jwakely@redhat.com>
4690
4691 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
4692 warning for loop condition.
4693
46942023-08-09 Jonathan Wakely <jwakely@redhat.com>
4695
4696 * include/std/complex: Add diagnostic pragma for clang.
4697
46982023-08-09 Jonathan Wakely <jwakely@redhat.com>
4699
4700 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
4701 to struct.
4702 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
4703 class-head to struct in friend declaration.
4704 * include/std/chrono (tzdb_list::_Node): Likewise.
4705 * include/std/future (_Task_state_base, _Task_state): Likewise.
4706 * include/std/scoped_allocator (__inner_type_impl): Likewise.
4707 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
4708 (_ValFunClos, _RefFunClos): Change class-head to struct.
4709
47102023-08-09 Jonathan Wakely <jwakely@redhat.com>
4711
4712 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
4713 attribute.
4714 * include/bits/regex_executor.tcc: Remove name of unused
4715 parameter.
4716 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
4717 Likewise.
4718 * include/bits/stl_uninitialized.h: Likewise.
4719 * include/bits/streambuf_iterator.h (operator==): Likewise.
4720 * include/bits/uses_allocator.h: Likewise.
4721 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
4722 * include/std/chrono (zoned_time): Likewise.
4723 * include/std/future (__future_base::_S_allocate_result):
4724 Likewise.
4725 (packaged_task): Likewise.
4726 * include/std/optional (_Optional_payload_base): Likewise.
4727 * include/std/scoped_allocator (__inner_type_impl): Likewise.
4728 * include/std/tuple (_Tuple_impl): Likewise.
4729
47302023-08-09 Jonathan Wakely <jwakely@redhat.com>
4731
4732 * include/bits/new_allocator.h (__new_allocator): Define copy
4733 assignment operator as defaulted.
4734 * include/std/complex (complex<float>, complex<double>)
4735 (complex<long double>): Define copy constructor as defaulted.
4736
47372023-08-09 Jonathan Wakely <jwakely@redhat.com>
4738
4739 * include/std/format: Fix some warnings.
4740 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
4741 unused function template.
4742
47432023-08-07 Jonathan Wakely <jwakely@redhat.com>
4744
4745 PR libstdc++/110860
4746 * include/std/format (__formatter_fp::format): Do not use
4747 __builtin_abs and __builtin_log10 with arbitrary floating-point
4748 types.
4749
47502023-08-07 Jonathan Wakely <jwakely@redhat.com>
4751
4752 PR libstdc++/110917
4753 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
4754 Constrain partial specialization for contiguous iterators to
4755 require the value type to be CharT.
4756 * testsuite/std/format/functions/format_to.cc: New test.
4757
47582023-08-07 Jonathan Wakely <jwakely@redhat.com>
4759
4760 PR libstdc++/110862
4761 * include/std/format (_Scanner::_M_on_replacement_field):
4762 Check for expected '}' before incrementing iterator.
4763 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
4764
47652023-08-07 Nick Alcock <nick.alcock@oracle.com>
4766
4767 * configure: Regenerate.
4768
47692023-08-07 Alan Modra <amodra@gmail.com>
4770
4771 * configure: Regenerate.
4772
47732023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
4774
4775 * configure: Regenerate.
4776
47772023-08-07 Nick Alcock <nick.alcock@oracle.com>
4778
4779 * configure: Regenerate.
4780
47812023-08-07 Nick Alcock <nick.alcock@oracle.com>
4782
4783 * configure: Regenerate.
4784
47852023-08-07 H.J. Lu <hjl.tools@gmail.com>
4786
4787 * configure: Regenerate.
4788
47892023-08-07 H.J. Lu <hjl.tools@gmail.com>
4790
4791 * configure: Regenerate.
4792
47932023-08-06 François Dumont <fdumont@gcc.gnu.org>
4794
4795 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
4796 symbol export.
4797
47982023-07-30 François Dumont <fdumont@gcc.gnu.org>
4799
4800 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
4801 proper #error.
4802 * src/c++11/locale-inst-monetary.h: Likewise.
4803 * src/c++11/locale-inst-numeric.h: Likewise.
4804
48052023-07-27 Jonathan Wakely <jwakely@redhat.com>
4806
4807 PR libstdc++/108046
4808 * include/std/format (__formatter_fp::format): Ensure __expc is
4809 always set for all presentation types. Set __z correctly for
4810 zero precision.
4811 * testsuite/std/format/functions/format.cc: Check problem cases.
4812
48132023-07-26 Jonathan Wakely <jwakely@redhat.com>
4814
4815 PR libstdc++/110807
4816 * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
4817
48182023-07-26 Jonathan Wakely <jwakely@redhat.com>
4819
4820 PR libstdc++/110807
4821 * include/bits/stl_bvector.h (vector(const vector&)): Access
4822 iterators before allocating.
4823 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
4824 Likewise.
4825 * testsuite/23_containers/vector/bool/110807.cc: New test.
4826
48272023-07-26 Jonathan Wakely <jwakely@redhat.com>
4828
4829 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
4830 attribute.
4831 * include/bits/stl_algo.h (random_shuffle): Correct comments.
4832 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
4833 deprecated warnings.
4834 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
4835 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4836 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
4837 test.
4838
48392023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
4840
4841 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
4842 locations.
4843 * testsuite/26_numerics/gcd/105844.cc: Likewise.
4844 * testsuite/26_numerics/lcm/105844.cc: Likewise.
4845
48462023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
4847
4848 * include/std/format (_Formatting_scanner::_M_on_chars): Add
4849 missing constexpr specifier.
4850 (_Formatting_scanner::_M_format_arg): Likewise.
4851
48522023-07-24 Jonathan Wakely <jwakely@redhat.com>
4853
4854 PR libstdc++/110653
4855 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
4856 throw an exception for zero result.
4857 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
4858
48592023-07-19 Jonathan Wakely <jwakely@redhat.com>
4860
4861 PR libstdc++/110077
4862 * src/c++17/floating_from_chars.cc (from_chars): Only define
4863 _Float128 overload when using __strfromf128.
4864
48652023-07-19 Jonathan Wakely <jwakely@redhat.com>
4866
4867 PR libstdc++/110593
4868 * include/bits/chrono.h (duration): Improve static assert
4869 messages.
4870 (__is_ratio): Move to ...
4871 * include/std/ratio (__is_ratio): ... here.
4872 (__is_ratio_v): New variable template and partial
4873 specialization.
4874 (__are_both_ratios): New function template.
4875 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
4876 Add static assertion.
4877 * testsuite/20_util/ratio/requirements/type_constraints.cc:
4878 New test.
4879 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
4880 Adjust expected error.
4881 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
4882 Likewise.
4883
48842023-07-19 Jonathan Wakely <jwakely@redhat.com>
4885
4886 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
4887 Do not set __is_neg for hh_mm_ss before calling
4888 _M_format_to_ostream. Change __print_sign lambda to only check
4889 __is_neg for durations and hh_mm_ss types.
4890 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
4891 for duration types.
4892 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
4893
48942023-07-19 Jonathan Wakely <jwakely@redhat.com>
4895
4896 PR libstdc++/110719
4897 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
4898 Handle duration and hh_mm_ss.
4899 * testsuite/20_util/duration/io.cc: Check locale-specific
4900 formats.
4901 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
4902
49032023-07-19 Jonathan Wakely <jwakely@redhat.com>
4904
4905 * include/std/format (__write_padded): Initialize first element
4906 of array to avoid a -Wmaybe-uninitialized warning.
4907
49082023-07-19 Jonathan Wakely <jwakely@redhat.com>
4909
4910 PR libstdc++/110719
4911 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
4912 allowed modifiers for %z and %Z. Fix -Wparentheses and
4913 -Wnarrowing warnings.
4914 (__formatter_chrono::_M_format): Call new functions for %d, %e,
4915 %H, %I, %m and %M.
4916 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
4917 subsecond precision.
4918 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
4919 modifiers.
4920 (__formatter_chrono::_M_e): Replace with _M_d_e and use
4921 _M_locale_fmt.
4922 (__formatter_chrono::_M_I): Replace with _M_H_I and use
4923 _M_locale_fmt.
4924 (__formatter_chrono::_M_m): New function.
4925 (__formatter_chrono::_M_M): New function.
4926 (__formatter_chrono::_M_r): Use _M_locale_fmt.
4927 (__formatter_chrono::_M_S): Likewise.
4928 (__formatter_chrono::_M_u_w): Likewise.
4929 (__formatter_chrono::_M_U_V_W): Likewise.
4930 (__formatter_chrono::_M_X): Use _S_floor_seconds.
4931 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
4932 (__formatter_chrono::_S_altnum): Remove function.
4933 (__formatter_chrono::_S_dd_zero_fill): Remove function.
4934 (__formatter_chrono::_S_floor_seconds): New function.
4935 (__formatter_chrono::_M_locale_fmt): New function.
4936 * testsuite/std/time/clock/system/io.cc: Adjust expected output
4937 for locale-specific formats and check modified formats.
4938 * testsuite/std/time/clock/utc/io.cc: Likewise.
4939 * testsuite/std/time/zoned_time/io.cc: New test.
4940
49412023-07-19 Jonathan Wakely <jwakely@redhat.com>
4942
4943 PR libstdc++/110708
4944 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
4945 allow a single modifier.
4946 * testsuite/std/time/format.cc: Check multiple modifiers.
4947
49482023-07-19 Jonathan Wakely <jwakely@redhat.com>
4949
4950 PR libstdc++/110653
4951 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4952 Remove dg-require-string-conversions.
4953 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4954 Likewise.
4955 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4956 Likewise.
4957 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4958 Likewise.
4959 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4960 Likewise.
4961
49622023-07-19 Jonathan Wakely <jwakely@redhat.com>
4963
4964 PR libstdc++/110653
4965 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
4966 Define in terms of std::stod.
4967
49682023-07-19 Jonathan Wakely <jwakely@redhat.com>
4969
4970 PR libstdc++/110653
4971 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
4972 Define.
4973 [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
4974 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
4975 Declare in namespace std.
4976 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
4977
49782023-07-13 Jonathan Wakely <jwakely@redhat.com>
4979
4980 PR libstdc++/110653
4981 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
4982 depend on _GLIBCXX_USE_C99_STDLIB.
4983 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
4984 in terms of stol and stoul respectively.
4985 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
4986 of stod.
4987
49882023-07-12 Jonathan Wakely <jwakely@redhat.com>
4989
4990 PR libstdc++/95048
4991 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
4992 conversions to wide strings.
4993 * testsuite/experimental/filesystem/path/construct/95048.cc:
4994 Likewise.
4995
49962023-07-12 Jonathan Wakely <jwakely@redhat.com>
4997
4998 * config/io/basic_file_stdio.cc: Define LFS macros.
4999 (__basic_file<char>::open): Use fopen unconditionally.
5000 (get_file_offset): Use lseek unconditionally.
5001 (__basic_file<char>::seekoff): Likewise.
5002 (__basic_file<char>::showmanyc): Use fstat unconditionally.
5003
50042023-07-12 Jonathan Wakely <jwakely@redhat.com>
5005
5006 PR libstdc++/110574
5007 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
5008 and define _GLIBCXX_USE_FSEEKO_FTELLO.
5009 * config.h.in: Regenerate.
5010 * configure: Regenerate.
5011 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
5012 Check for fwrite error correctly.
5013 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
5014 fread error correctly.
5015 (get_file_offset): New function.
5016 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
5017 fseeko if available. Use get_file_offset instead of return value
5018 of fseek.
5019 (__basic_file<char>::showmanyc): Use get_file_offset.
5020
50212023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
5022
5023 * include/std/type_traits (__make_unsigned_selector): Use
5024 __is_enum built-in trait.
5025 (__make_signed_selector): Likewise.
5026 (__underlying_type_impl): Likewise.
5027
50282023-07-06 Tianqiang Shuai <1101282468@qq.com>
5029
5030 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
5031 first argument.
5032
50332023-07-06 Jonathan Wakely <jwakely@redhat.com>
5034
5035 PR libstdc++/110574
5036 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
5037 --enable-cstdio.
5038 * doc/html/manual/configure.html: Regenerate.
5039
50402023-07-05 Thomas Rodgers <trodgers@redhat.com>
5041
5042 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
5043 file.
5044 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
5045 New file.
5046 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
5047 Likewise.
5048 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
5049 Likewise.
5050 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
5051 Likewise.
5052 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
5053 Likewise.
5054
50552023-07-05 Jonathan Wakely <jwakely@redhat.com>
5056
5057 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
5058 Skip as UNSUPPORTED for C++98 mode.
5059 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
5060 Likewise.
5061
50622023-07-05 Jonathan Wakely <jwakely@redhat.com>
5063
5064 PR libstdc++/110542
5065 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
5066 Do not use std::fill_n during constant evaluation.
5067
50682023-07-05 Jonathan Wakely <jwakely@redhat.com>
5069
5070 * include/bits/vector.tcc (_M_default_append): Replace try-block
5071 with RAII types.
5072
50732023-07-05 Jonathan Wakely <jwakely@redhat.com>
5074
5075 * include/bits/iterator_concepts.h (projected): Add typename.
5076
50772023-07-03 Jonathan Wakely <jwakely@redhat.com>
5078
5079 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
5080 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
5081
50822023-07-03 Jonathan Wakely <jwakely@redhat.com>
5083
5084 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
5085 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
5086 Define to OpenMP 5.0 pragmas even for GCC 10.0+.
5087 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
5088
50892023-07-03 Jonathan Wakely <jwakely@redhat.com>
5090
5091 * include/bits/alloc_traits.h (_Destroy): Qualify call.
5092 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
5093 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
5094
50952023-07-03 Iain Sandoe <iain@sandoe.co.uk>
5096
5097 * testsuite/lib/libstdc++.exp: Remove additional flag handled
5098 by Darwin specs.
5099
51002023-06-30 Jonathan Wakely <jwakely@redhat.com>
5101
5102 PR libstdc++/110432
5103 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
5104 * config.h.in: Regenerate.
5105 * configure: Regenerate.
5106 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
5107 * include/std/iostream: Use new autoconf macro as well as
5108 __has_attribute.
5109 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
5110 __has_attribute.
5111
51122023-06-30 Jonathan Wakely <jwakely@redhat.com>
5113
5114 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
5115 attribute.
5116
51172023-06-30 Jonathan Wakely <jwakely@redhat.com>
5118
5119 PR libstdc++/105081
5120 * src/c++11/random.cc (random_device::_M_init): Throw
5121 std::system_error when the requested device is a valid token but
5122 not available at runtime.
5123
51242023-06-30 Hans-Peter Nilsson <hp@axis.com>
5125
5126 PR libstdc++/108672
5127 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
5128 __INT32_TYPE__ instead of int32_t.
5129
51302023-06-29 Jonathan Wakely <jwakely@redhat.com>
5131
5132 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
5133 with USE_ATOMIC_LIST_HEAD.
5134 (list_mutex): Replace global object with function. Use local
5135 static object when std::mutex constructor isn't constexpr.
5136
51372023-06-29 Jonathan Wakely <jwakely@redhat.com>
5138
5139 PR libstdc++/110462
5140 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
5141 copy_file_range can be called with loff_t* arguments.
5142 * configure: Regenerate.
5143 * src/filesystem/ops-common.h (copy_file_copy_file_range):
5144 Use loff_t for offsets.
5145
51462023-06-29 Tom Tromey <tromey@adacore.com>
5147
5148 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
5149 regexp.
5150
51512023-06-28 Jan Hubicka <jh@suse.cz>
5152
5153 PR middle-end/109849
5154 * include/bits/c++config (std::__terminate): Mark cold.
5155 * include/bits/functexcept.h: Mark everything as cold.
5156 * libsupc++/exception: Mark terminate and unexpected as cold.
5157
51582023-06-26 Thomas Rodgers <trodgers@redhat.com>
5159
5160 * include/pstl/algorithm_fwd.h: Synchronize with upstream.
5161 * include/pstl/algorithm_impl.h: Likewise.
5162 * include/pstl/execution_defs.h: Likewise.
5163 * include/pstl/execution_impl.h: Likewise.
5164 * include/pstl/glue_algorithm_impl.h: Likewise.
5165 * include/pstl/glue_execution_defs.h: Likewise.
5166 * include/pstl/glue_memory_impl.h: Likewise.
5167 * include/pstl/glue_numeric_impl.h: Likewise.
5168 * include/pstl/memory_impl.h: Likewise.
5169 * include/pstl/numeric_fwd.h: Likewise.
5170 * include/pstl/numeric_impl.h: Likewise.
5171 * include/pstl/parallel_backend.h: Likewise.
5172 * include/pstl/parallel_backend_serial.h: Likewise.
5173 * include/pstl/parallel_backend_tbb.h: Likewise.
5174 * include/pstl/parallel_impl.h: Likewise.
5175 * include/pstl/pstl_config.h: Likewise.
5176 * include/pstl/unseq_backend_simd.h: Likewise.
5177 * include/pstl/utils.h: Likewise.
5178 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
5179 Likewise.
5180 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
5181 Likewise.
5182 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
5183 Likewise.
5184 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
5185 Likewise.
5186 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
5187 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
5188 Likewise.
5189 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
5190 Likewise.
5191 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
5192 Likewise.
5193 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
5194 Likewise.
5195 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
5196 Likewise.
5197 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
5198 Likewise.
5199 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
5200 Likewise.
5201 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
5202 Likewise.
5203 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
5204 Likewise.
5205 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
5206 Likewise.
5207 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
5208 Likewise.
5209 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
5210 Likewise.
5211 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
5212 Likewise.
5213 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
5214 Likewise.
5215 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
5216 Likewise.
5217 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
5218 Likewise.
5219 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
5220 Likewise.
5221 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
5222 Likewise.
5223 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
5224 Likewise.
5225 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
5226 Likewise.
5227 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
5228 Likewise.
5229 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
5230 Likewise.
5231 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
5232 Likewise.
5233 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
5234 Likewise.
5235 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
5236 Likewise.
5237 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
5238 Likewise.
5239 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
5240 Likewise.
5241 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
5242 Likewise.
5243 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
5244 Likewise.
5245 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
5246 Likewise.
5247 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
5248 Likewise.
5249 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
5250 Likewise.
5251 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
5252 Likewise.
5253 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
5254 Likewise.
5255 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
5256 Likewise.
5257 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
5258 Likewise.
5259 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
5260 Likewise.
5261 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
5262 Likewise.
5263 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
5264 Likewise.
5265 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
5266 Likewise.
5267 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
5268 Likewise.
5269 * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
5270 Likewise.
5271 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
5272 Likewise.
5273 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
5274 Likewise.
5275 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
5276 Likewise.
5277 * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
5278 Likewise.
5279 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
5280 Likewise.
5281 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
5282 Likewise.
5283 * testsuite/util/pstl/test_utils.h:
5284 Likewise.
5285
52862023-06-26 Jonathan Wakely <jwakely@redhat.com>
5287
5288 PR libstdc++/110239
5289 * include/std/format (__format::__parse_integer): Fix buffer
5290 overflow for wide chars.
5291 (formatter<const void*, C>::format): Cast to uintptr_t instead
5292 of uint64_t.
5293 * testsuite/std/format/string.cc: Test too-large widths.
5294
52952023-06-26 Jonathan Wakely <jwakely@redhat.com>
5296
5297 * include/bits/iterator_concepts.h (projected): Replace class
5298 template with alias template denoting an ADL-proofed helper.
5299 (incremental_traits<projected<Iter, Proj>>): Remove.
5300 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
5301 New test.
5302
53032023-06-26 Jonathan Wakely <jwakely@redhat.com>
5304
5305 * include/debug/helper_functions.h (__get_distance)
5306 (__check_singular, __valid_range_aux, __valid_range): Qualify
5307 calls to disable ADL.
5308 (__check_singular_aux(const _Safe_iterator_base*)): Declare
5309 overload that was previously found via ADL.
5310
53112023-06-23 Jonathan Wakely <jwakely@redhat.com>
5312
5313 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
5314 with RAII types.
5315
53162023-06-20 Jonathan Wakely <jwakely@redhat.com>
5317
5318 * include/std/array (to_array(T(&)[N])): Remove redundant
5319 condition.
5320 (to_array(T(&&)[N])): Remove redundant std::move.
5321
53222023-06-16 Alexandre Oliva <oliva@adacore.com>
5323
5324 * testsuite/20_util/from_chars/4.cc: Skip long double on
5325 aarch64-rtems.
5326
53272023-06-16 Joel Brobecker <brobecker@adacore.com>
5328
5329 * configure.ac ["x${with_newlib}" = "xyes"]: Define
5330 HAVE_HYPOTF. Add compile-checks for various long double
5331 math functions as well.
5332 * configure: Regenerate.
5333
53342023-06-14 Jonny Grant <jg@jguk.org>
5335
5336 * doc/xml/manual/extensions.xml: Remove demangle exception
5337 description and include.
5338 * doc/html/manual/ext_demangling.html: Regenerate.
5339
53402023-06-10 Hans-Peter Nilsson <hp@axis.com>
5341
5342 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
5343 [! SIMULATOR_TEST]: Also exclude running test05.
5344 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
5345
53462023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
5347
5348 * include/std/type_traits: Use using instead of typedef
5349
53502023-06-09 Jonathan Wakely <jwakely@redhat.com>
5351
5352 PR libstdc++/110077
5353 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
5354 Only define if _Float128 and long double have different
5355 representations.
5356
53572023-06-09 Jonathan Wakely <jwakely@redhat.com>
5358
5359 PR libstdc++/100285
5360 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
5361 (basic_endpoint, basic_resolver_entry, resolver_base)
5362 (basic_resolver_results, basic_resolver): Only define if the tcp
5363 or udp protocols will be defined.
5364
53652023-06-09 Jonathan Wakely <jwakely@redhat.com>
5366
5367 * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
5368 * configure: Regenerate.
5369 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
5370 * doc/html/manual/abi.html: Regenerate.
5371
53722023-06-09 Jonathan Wakely <jwakely@redhat.com>
5373
5374 PR libstdc++/110149
5375 * include/std/format (formatter<const void*, charT>::parse):
5376 Only alow 0 and P for C++26 and non-strict modes.
5377 (formatter<const void*, charT>::format): Use toupper for P
5378 type, and insert zero-fill characters for 0 option.
5379 * testsuite/std/format/functions/format.cc: Check pointer
5380 formatting. Only check P2510R3 extensions conditionally.
5381 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
5382 extensions conditionally.
5383
53842023-06-09 Jonathan Wakely <jwakely@redhat.com>
5385
5386 PR libstdc++/110167
5387 * include/std/array (to_array): Initialize arrays of trivial
5388 types using memcpy. For non-trivial types, use lambda
5389 expressions instead of a separate helper function.
5390 (__to_array): Remove.
5391 * testsuite/23_containers/array/creation/110167.cc: New test.
5392
53932023-06-09 Jonathan Wakely <jwakely@redhat.com>
5394
5395 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
5396 Removed.
5397 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
5398 Removed.
5399 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
5400 Removed.
5401 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
5402 Removed.
5403 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
5404 Removed.
5405 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
5406 Removed.
5407 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
5408 test.
5409 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
5410 test.
5411 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
5412 test.
5413
54142023-06-07 Jakub Jelinek <jakub@redhat.com>
5415
5416 PR libstdc++/110145
5417 * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
5418 (double_to_chars_test_cases,
5419 double_scientific_precision_to_chars_test_cases_2,
5420 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
5421 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
5422 Add unconditional tests with corresponding double constants
5423 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
5424 0x1.7440bbff418b9p-18.
5425
54262023-06-07 Jonathan Wakely <jwakely@redhat.com>
5427
5428 * testsuite/util/testsuite_abi.cc (check_version): Re-add
5429 CXXABI_1.3.14.
5430
54312023-06-07 Jonathan Wakely <jwakely@redhat.com>
5432
5433 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
5434 Require effective target exceptions_enabled instead of using
5435 dg-skip-if.
5436 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
5437 shrink_to_fit() to be a no-op without exceptions enabled.
5438 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
5439 Likewise.
5440 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
5441 Require effective target exceptions_enabled.
5442 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
5443 Likewise.
5444 * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
5445 Likewise.
5446 * testsuite/ext/new_allocator/check_allocate_max_size.cc:
5447 Likewise.
5448 * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
5449 Likewise.
5450 * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
5451 Likewise.
5452
54532023-06-07 Jonathan Wakely <jwakely@redhat.com>
5454
5455 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
5456 affected by rounding.
5457 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
5458 double before comparing for equality.
5459 * testsuite/20_util/from_chars/6.cc: Likewise.
5460 * testsuite/20_util/variant/86874.cc: Use values that aren't
5461 affected by rounding.
5462 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
5463 original value instead of to floating-point-literal.
5464 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
5465 Cast arithmetic result to double before comparing for equality.
5466 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
5467 Likewise.
5468 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
5469 Likewise.
5470 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
5471 the absolute difference is less than 0.01 instead of comparing
5472 to two decimal places.
5473 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
5474 Cast arithmetic result to double before comparing for equality.
5475 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
5476 Likewise.
5477 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
5478 Likewise.
5479 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
5480 Likewise.
5481 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
5482 Likewise.
5483 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
5484 Likewise.
5485 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
5486
54872023-06-07 Jonathan Wakely <jwakely@redhat.com>
5488
5489 Revert:
5490 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5491
5492 * configure.ac: Use AS_IF.
5493 * configure: Regenerate.
5494
54952023-06-07 Thomas Schwinge <thomas@codesourcery.com>
5496
5497 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
5498 'UNSUPPORTED: [...]: exception handling disabled'.
5499
55002023-06-06 Jonathan Wakely <jwakely@redhat.com>
5501
5502 * testsuite/util/testsuite_abi.cc (check_version): Add
5503 CXXABI_1.3.15 symver and make it the latestp. Remove
5504 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
5505
55062023-06-06 Jonathan Wakely <jwakely@redhat.com>
5507 Jakub Jelinek <jakub@redhat.com>
5508
5509 PR libstdc++/104772
5510 * include/std/limits: (numeric_limits<__float128>): Define
5511 for __STRICT_ANSI__ as well.
5512 * testsuite/18_support/numeric_limits/128bit.cc: Remove
5513 check for __STRICT_ANSI__.
5514
55152023-06-06 Jonathan Wakely <jwakely@redhat.com>
5516
5517 * configure.ac: Use AS_IF.
5518 * configure: Regenerate.
5519
55202023-06-06 Matthias Kretz <m.kretz@gsi.de>
5521
5522 PR libstdc++/109822
5523 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
5524 to avoid casts to other vector types. Implement store as
5525 succession of power-of-2 sized memcpy to avoid PR90424.
5526
55272023-06-06 Matthias Kretz <m.kretz@gsi.de>
5528
5529 PR libstdc++/110054
5530 * include/experimental/bits/simd_builtin.h (_S_masked_store):
5531 Call into deduced ABI's SimdImpl after conversion.
5532 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
5533 Don't use _mm_maskmoveu_si128. Use the generic fall-back
5534 implementation. Also fix masked stores without SSE2, which
5535 were not doing anything before.
5536
55372023-06-06 Matthias Kretz <m.kretz@gsi.de>
5538
5539 * include/experimental/bits/simd.h (__bit_cast): Use
5540 __gnu__::__vector_size__ instead of gnu::vector_size.
5541
55422023-06-06 Jonathan Wakely <jwakely@redhat.com>
5543
5544 PR libstdc++/110139
5545 * include/std/array (__array_traits<T, 0>::operator T*()): Make
5546 conversion operator explicit.
5547 (array::front): Use size_type as subscript operand.
5548 (array::data): Use static_cast to make conversion explicit.
5549 * testsuite/23_containers/array/element_access/110139.cc: New
5550 test.
5551
55522023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
5553
5554 * include/bits/locale_classes.tcc: Remove check for
5555 codecvt<char8_t, char, mbstate_t> facet.
5556
55572023-06-06 Jonathan Wakely <jwakely@redhat.com>
5558
5559 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
5560 close-on-exec flag on file descriptors.
5561
55622023-06-06 Jonathan Wakely <jwakely@redhat.com>
5563
5564 PR libstdc++/108178
5565 * src/filesystem/ops-common.h (do_copy_file): Check for empty
5566 files by trying to read a character.
5567 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
5568 New test.
5569
55702023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
5571
5572 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
5573 * config.h.in: Regenerate.
5574 * configure: Regenerate.
5575 * src/filesystem/ops-common.h (copy_file_copy_file_range):
5576 Define new function.
5577 (do_copy_file): Use it.
5578
55792023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
5580
5581 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
5582 * config.h.in: Regenerate.
5583 * configure: Regenerate.
5584 * src/filesystem/ops-common.h (copy_file_sendfile): Define new
5585 function for sendfile logic. Loop to support large files. Skip
5586 zero-length files.
5587 (do_copy_file): Use it.
5588
55892023-06-04 Jason Merrill <jason@redhat.com>
5590
5591 PR c++/97720
5592 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
5593 * config/abi/pre/gnu.ver: Add it.
5594
55952023-06-02 François Dumont <fdumont@gcc.gnu.org>
5596
5597 * include/parallel/algobase.h: Include <parallel/search.h>.
5598
55992023-06-01 Jonathan Wakely <jwakely@redhat.com>
5600
5601 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
5602 Add const to equality operator.
5603
56042023-06-01 Jonathan Wakely <jwakely@redhat.com>
5605
5606 * include/std/expected (expected::and_then, expected::or_else)
5607 (expected::transform_error): Use _M_val and _M_unex instead of
5608 calling value() and error(), as per LWG 3938.
5609 (expected::transform): Likewise. Remove incorrect std::move
5610 calls from lvalue overloads.
5611 (expected<void, E>::and_then, expected<void, E>::or_else)
5612 (expected<void, E>::transform): Use _M_unex instead of calling
5613 error().
5614 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
5615 and transform, and for std::expected<void, E>.
5616 * testsuite/20_util/expected/lwg3938.cc: New test.
5617
56182023-06-01 Jonathan Wakely <jwakely@redhat.com>
5619
5620 PR libstdc++/110060
5621 * include/bits/stl_vector.h (_Vector_base::_M_invariant):
5622 Remove.
5623 (vector::size, vector::capacity): Remove calls to _M_invariant.
5624 * include/bits/vector.tcc (vector::_M_fill_assign): Add
5625 optimization hint to reallocating path.
5626 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
5627 Likewise.
5628 * testsuite/23_containers/vector/capacity/invariant.cc: Moved
5629 to...
5630 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
5631 ...here. Check assign(FwdIter, FwdIter) too.
5632 * testsuite/23_containers/vector/types/1.cc: Revert addition
5633 of -Wno-stringop-overread option.
5634
56352023-06-01 Jonathan Wakely <jwakely@redhat.com>
5636
5637 * doc/xml/manual/evolution.xml: Document removal of implicit
5638 allocator rebinding extensions in strict mode and for C++20.
5639 * doc/html/*: Regenerate.
5640
56412023-06-01 Jason Merrill <jason@redhat.com>
5642
5643 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
5644 handlers in the cleanup phase.
5645
56462023-06-01 Matthias Kretz <m.kretz@gsi.de>
5647
5648 PR libstdc++/110050
5649 * include/experimental/bits/simd.h (__vectorized_sizeof): With
5650 __have_neon_a32 only single-precision float works (in addition
5651 to integers).
5652
56532023-06-01 François Dumont <fdumont@gcc.gnu.org>
5654
5655 * include/bits/stl_algo.h
5656 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
5657 * include/bits/stl_algobase.h: ...here.
5658 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
5659 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
5660 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
5661 Move...
5662 * include/parallel/algobase.h: ...here.
5663 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
5664 includes. Include <bits/stl_algobase.h>.
5665
56662023-05-31 Jonathan Wakely <jwakely@redhat.com>
5667
5668 PR libstdc++/109818
5669 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
5670 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
5671 * config.h.in: Regenerate.
5672 * configure: Regenerate.
5673 * include/c_global/cmath (float_t, double_t): Guard using new
5674 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
5675
56762023-05-31 Jonathan Wakely <jwakely@redhat.com>
5677
5678 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
5679 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
5680 for C99 rounding functions to here.
5681 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
5682 functions from here.
5683 * config.h.in: Regenerate.
5684 * configure: Regenerate.
5685 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
5686 of _GLIBCXX_USE_C99_MATH_TR1.
5687 * include/bits/random.tcc: Likewise.
5688 * include/c_compatibility/math.h: Likewise.
5689 * include/c_global/cmath: Likewise.
5690 * include/ext/random: Likewise.
5691 * include/ext/random.tcc: Likewise.
5692 * include/std/complex: Likewise.
5693 * testsuite/20_util/from_chars/4.cc: Likewise.
5694 * testsuite/20_util/from_chars/8.cc: Likewise.
5695 * testsuite/26_numerics/complex/proj.cc: Likewise.
5696 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
5697 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
5698 Likewise.
5699 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
5700 Likewise.
5701 * testsuite/util/testsuite_random.h: Likewise.
5702
57032023-05-31 Jonathan Wakely <jwakely@redhat.com>
5704
5705 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
5706 function.
5707 (vector::size(), vector::capacity()): Call _M_invariant().
5708 * testsuite/23_containers/vector/capacity/invariant.cc: New test.
5709 * testsuite/23_containers/vector/types/1.cc: Add suppression for
5710 false positive warning (PR110060).
5711
57122023-05-31 Jonathan Wakely <jwakely@redhat.com>
5713
5714 PR libstdc++/109921
5715 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
5716 defined before trying to use _Float128.
5717
57182023-05-31 Jonathan Wakely <jwakely@redhat.com>
5719
5720 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
5721 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
5722 * configure: Regenerate.
5723
57242023-05-31 Jonathan Wakely <jwakely@redhat.com>
5725
5726 * include/bits/unique_lock.h: Include <bits/error_constants.h>
5727 here for std::errc constants.
5728 * include/std/mutex: Do not include <bits/error_constants.h> and
5729 <exception> here.
5730
57312023-05-31 Jonathan Wakely <jwakely@redhat.com>
5732
5733 * configure.ac: Replace use of -o operator for test.
5734 * configure: Regenerate.
5735
57362023-05-31 Jonathan Wakely <jwakely@redhat.com>
5737
5738 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
5739 noexcept to all constructors except the default constructor.
5740 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
5741 (scoped_allocator_adaptor::outer_allocator): Likewise.
5742 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
5743
57442023-05-31 Jonathan Wakely <jwakely@redhat.com>
5745
5746 PR libstdc++/104772
5747 * include/std/limits (numeric_limits<__float128>): Define.
5748 * testsuite/18_support/numeric_limits/128bit.cc: New test.
5749
57502023-05-31 Jonathan Wakely <jwakely@redhat.com>
5751
5752 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
5753 msp430 to all 16-bit targets.
5754 * configure: Regenerate.
5755
57562023-05-31 Jonathan Wakely <jwakely@redhat.com>
5757
5758 PR libstdc++/109921
5759 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
5760 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
5761 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
5762 binary64.
5763 (from_chars(const char*, const char*, double&, chars_format)):
5764 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
5765 (from_chars(const char*, const char*, _Float128&, chars_format))
5766 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
5767 defined, otherwise parse a long double and convert to _Float128.
5768
57692023-05-31 Jonathan Wakely <jwakely@redhat.com>
5770
5771 PR libstdc++/109922
5772 * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
5773 Add deprecated attribute to non-standard overload.
5774 * doc/xml/manual/evolution.xml: Document deprecation.
5775 * doc/html/*: Regenerate.
5776 * testsuite/27_io/manipulators/standard/char/1.cc: Add
5777 dg-warning for expected deprecated warning.
5778 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
5779 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
5780 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
5781
57822023-05-30 Alexandre Oliva <oliva@adacore.com>
5783
5784 * testsuite/20_util/from_chars/4.cc: Skip long double test06
5785 on x86_64-vxworks.
5786 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
5787 x86_64-vxworks.
5788
57892023-05-30 Matthias Kretz <m.kretz@gsi.de>
5790
5791 PR libstdc++/109822
5792 * include/experimental/bits/simd.h (to_native): Use int NTTP
5793 as specified in PTS2.
5794 (to_compatible): Likewise. Add missing tag to call mask
5795 generator ctor.
5796 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
5797 test.
5798
57992023-05-30 Matthias Kretz <m.kretz@gsi.de>
5800
5801 * testsuite/experimental/simd/tests/integer_operators.cc:
5802 Compute expected value differently to avoid getting turned into
5803 a vector shift.
5804
58052023-05-30 Matthias Kretz <m.kretz@gsi.de>
5806
5807 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
5808 double <-> (u)long conversion tests conditional on sizeof(long
5809 double) and sizeof(long).
5810
58112023-05-26 Matthias Kretz <m.kretz@gsi.de>
5812
5813 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
5814 Negative __y is UB, so prefer signed compare.
5815
58162023-05-25 Jonathan Wakely <jwakely@redhat.com>
5817
5818 * testsuite/util/testsuite_allocator.h (PointerBase): Add
5819 relational operators.
5820
58212023-05-25 Alexandre Oliva <oliva@adacore.com>
5822
5823 * testsuite/20_util/to_chars/long_double.cc: Expect execution
5824 fail on x86-vxworks.
5825
58262023-05-24 Matthias Kretz <m.kretz@gsi.de>
5827
5828 PR libstdc++/109949
5829 * include/experimental/bits/simd.h (__intrinsic_type): If
5830 __ALTIVEC__ is defined, map gnu::vector_size types to their
5831 corresponding __vector T types without losing unsignedness of
5832 integer types. Also prefer long long over long.
5833 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
5834 object to the expected unsigned vector type.
5835
58362023-05-24 Matthias Kretz <m.kretz@gsi.de>
5837
5838 PR libstdc++/109261
5839 * include/experimental/bits/simd.h (__intrinsic_type):
5840 Specialize __intrinsic_type<double, 8> and
5841 __intrinsic_type<double, 16> in any case, but provide the member
5842 type only with __aarch64__.
5843
58442023-05-24 Matthias Kretz <m.kretz@gsi.de>
5845
5846 PR libstdc++/109261
5847 * include/experimental/bits/simd_neon.h (_S_reduce): Add
5848 constexpr and make NEON implementation conditional on
5849 not __builtin_is_constant_evaluated.
5850
58512023-05-23 Matthias Kretz <m.kretz@gsi.de>
5852
5853 PR libstdc++/109261
5854 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
5855 Avoid vector builtin subscripting in constant expressions.
5856 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
5857 (const_where_expression, where_expression, where)
5858 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
5859 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
5860 internal APIs).
5861 * include/experimental/bits/simd_builtin.h (__vector_permute)
5862 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
5863 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
5864 (_MaskImplBuiltin::_S_store): Add constexpr.
5865 (_CommonImplBuiltin::_S_store_bool_array)
5866 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
5867 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
5868 constant_evaluated case.
5869 * include/experimental/bits/simd_fixed_size.h
5870 (_S_masked_load): Reword comment.
5871 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
5872 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
5873 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
5874 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
5875 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
5876 constexpr.
5877 (_SimdTuple::operator[], _M_set): Add constexpr and add
5878 constant_evaluated case.
5879 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
5880 * include/experimental/bits/simd_scalar.h: Add constexpr.
5881 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
5882 constexpr and add constant_evaluated case.
5883 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
5884 (_S_less_equal): Value-initialize to satisfy constexpr
5885 evaluation.
5886 (_MaskImplX86::_S_load): Add constant_evaluated case.
5887 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
5888 case. Value-initialize local variables.
5889 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
5890 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
5891 case.
5892 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
5893 test.
5894
58952023-05-22 Matthias Kretz <m.kretz@gsi.de>
5896
5897 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
5898 __infn into #ifdef'ed block.
5899 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
5900 constants only when used.
5901 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
5902 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
5903 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
5904 Likewise.
5905 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
5906 Move totest and expect1 into #ifdef'ed block.
5907
59082023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
5909
5910 * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
5911 * doc/html/manual/strings.html: Regenerate.
5912
59132023-05-17 Jakub Jelinek <jakub@redhat.com>
5914
5915 PR libstdc++/109883
5916 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
5917
59182023-05-17 Jakub Jelinek <jakub@redhat.com>
5919
5920 PR libstdc++/109883
5921 * include/c_global/cmath (atan2, fmod, pow): Move
5922 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
5923 __gnu_cxx::__bfloat16_t overloads.
5924 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
5925 Likewise.
5926 (fma): Move __gnu_cxx::__promote_3 using template after
5927 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
5928
59292023-05-17 Jonathan Wakely <jwakely@redhat.com>
5930
5931 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
5932 checks for float_round_style and float_denorm_style.
5933
59342023-05-17 Jonathan Wakely <jwakely@redhat.com>
5935
5936 * include/bits/c++config: Add system_header pragma.
5937
59382023-05-17 Jonathan Wakely <jwakely@redhat.com>
5939
5940 * include/std/expected (expected::and_then, expected::or_else)
5941 (expected::transform, expected::transform_error): Fix exception
5942 specifications as per LWG 3877.
5943 (expected<void, E>::and_then, expected<void, E>::transform):
5944 Likewise.
5945 * testsuite/20_util/expected/lwg3877.cc: New test.
5946
59472023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
5948
5949 * include/std/type_traits: Use __bool_constant instead of
5950 integral_constant.
5951
59522023-05-17 Jonathan Wakely <jwakely@redhat.com>
5953
5954 * configure: Regenerate.
5955
59562023-05-16 Jonathan Wakely <jwakely@redhat.com>
5957
5958 PR libstdc++/109741
5959 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
5960 * config.h.in: Regenerate.
5961 * configure: Regenerate.
5962 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
5963 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
5964 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
5965 instead of hardcoded 64.
5966
59672023-05-16 Jonathan Wakely <jwakely@redhat.com>
5968
5969 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
5970 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
5971 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
5972 * config.h.in: Regenerate.
5973 * configure: Regenerate.
5974 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
5975 instead of _GLIBCXX_USE_C99_FENV_TR1.
5976 * include/c_global/cfenv: Likewise.
5977 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
5978 of _GLIBCXX_USE_C99_CTYPE_TR1.
5979
59802023-05-16 Jonathan Wakely <jwakely@redhat.com>
5981
5982 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
5983 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
5984 <inttypes.h> features in C++11 mode and define
5985 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
5986 * config.h.in: Regenerate.
5987 * configure: Regenerate.
5988 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
5989 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
5990 of _GLIBCXX_USE_C99_STDINT_TR1.
5991 * include/c_compatibility/inttypes.h: Check
5992 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
5993 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
5994 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
5995 * include/c_compatibility/stdatomic.h: Check
5996 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
5997 * include/c_compatibility/stdint.h: Likewise.
5998 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
5999 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
6000 _GLIBCXX_USE_C99_INTTYPES_TR1 and
6001 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
6002 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
6003 instead of _GLIBCXX_USE_C99_STDINT_TR1.
6004 * include/std/atomic: Likewise.
6005 * src/c++11/cow-stdexcept.cc: Likewise.
6006 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
6007 Likewise.
6008 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
6009 Likewise.
6010
60112023-05-16 Jonathan Wakely <jwakely@redhat.com>
6012
6013 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
6014 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
6015 * config.h.in: Regenerate.
6016 * configure: Regenerate.
6017 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
6018 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
6019 instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
6020
60212023-05-16 Jonathan Wakely <jwakely@redhat.com>
6022
6023 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
6024 assertion to ensure expected exception is throw.
6025
60262023-05-16 Jonathan Wakely <jwakely@redhat.com>
6027
6028 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
6029 printer for chrono::zoned_time for cx11 ABI and tzdb effective
6030 target.
6031
60322023-05-16 Jonathan Wakely <jwakely@redhat.com>
6033
6034 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
6035 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
6036 * configure: Regenerate.
6037
60382023-05-12 Jonathan Wakely <jwakely@redhat.com>
6039
6040 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
6041 to check for nan, nanf, and nanl.
6042 * configure: Regenerate.
6043
60442023-05-12 Jonathan Wakely <jwakely@redhat.com>
6045
6046 * include/bits/char_traits.h (char_traits<char16_t>): Do not
6047 depend on _GLIBCXX_USE_C99_STDINT_TR1.
6048 (char_traits<char32_t>): Likewise.
6049 * include/experimental/source_location: Likewise.
6050
60512023-05-12 Jonathan Wakely <jwakely@redhat.com>
6052
6053 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
6054 (atomic_int_least16_t, atomic_uint_least16_t)
6055 (atomic_int_least32_t, atomic_uint_least32_t)
6056 (atomic_int_least64_t, atomic_uint_least64_t)
6057 (atomic_int_fast16_t, atomic_uint_fast16_t)
6058 (atomic_int_fast32_t, atomic_uint_fast32_t)
6059 (atomic_int_fast64_t, atomic_uint_fast64_t)
6060 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
6061 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
6062
60632023-05-12 Jonathan Wakely <jwakely@redhat.com>
6064
6065 * include/bits/algorithmfwd.h (shuffle): Do not depend on
6066 _GLIBCXX_USE_C99_STDINT_TR1.
6067 * include/bits/ranges_algo.h (shuffle): Likewise.
6068 * include/bits/stl_algo.h (shuffle): Likewise.
6069 * include/ext/random: Likewise.
6070 * include/ext/throw_allocator.h (random_condition): Likewise.
6071 * include/std/random: Likewise.
6072 * src/c++11/cow-string-inst.cc: Likewise.
6073 * src/c++11/random.cc: Likewise.
6074
60752023-05-12 Jonathan Wakely <jwakely@redhat.com>
6076
6077 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
6078 _GLIBCXX_USE_C99_STDINT_TR1.
6079
60802023-05-12 Jonathan Wakely <jwakely@redhat.com>
6081
6082 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
6083 on _GLIBCXX_USE_C99_STDINT_TR1.
6084
60852023-05-12 Jonathan Wakely <jwakely@redhat.com>
6086
6087 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
6088 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
6089 * testsuite/experimental/string_view/typedefs.cc: Likewise.
6090
60912023-05-11 Jonathan Wakely <jwakely@redhat.com>
6092
6093 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
6094 (auto_locale, auto_ferounding): New class types.
6095 (from_chars_impl): Use auto_locale and auto_ferounding.
6096
60972023-05-11 Jonathan Wakely <jwakely@redhat.com>
6098
6099 PR libstdc++/109772
6100 * include/std/chrono (hh_mm_ss::__fits): Remove variable
6101 template.
6102 (hh_mm_ss::__subseconds): Remove __fits from constraints.
6103 * testsuite/std/time/hh_mm_ss/109772.cc: New test.
6104 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
6105 hh_mm_ss<duration<int, std::pico>>.
6106
61072023-05-11 Jonathan Wakely <jwakely@redhat.com>
6108
6109 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
6110 * include/bits/basic_ios.h: Add static assertion checking
6111 traits_type::value_type.
6112 * include/bits/basic_string.h: Likewise. Do not rebind
6113 allocator, and add static assertion checking its value_type.
6114 (basic_string::_Alloc_traits_impl): Remove class template.
6115 (basic_string::_S_allocate): New static member function.
6116 (basic_string::assign): Use _S_allocate.
6117 * include/bits/basic_string.tcc (basic_string::_M_create)
6118 (basic_string::reserve, basic_string::_M_replace): Likewise.
6119 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
6120 Disable for C++20 and later.
6121 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
6122 Likweise.
6123
61242023-05-11 Jonathan Wakely <jwakely@redhat.com>
6125
6126 PR libstdc++/109758
6127 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
6128 and negative zero correctly.
6129 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
6130
61312023-05-10 François Dumont <fdumont@gcc.gnu.org>
6132
6133 * include/bits/hashtable_policy.h
6134 (_NodeBuilder<>::_S_build): Use __node_ptr.
6135 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
6136 (_AllocNode<>): Likewise.
6137 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
6138 to call std::is_permutation in the non-unique key implementation.
6139 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
6140 _M_begin() once.
6141 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
6142 (_Hashtable<>::_M_insert_bucket_begin): Likewise.
6143 (_Hashtable<>::_M_remove_bucket_begin): Likewise.
6144 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
6145 const_iterator.
6146 (_Hashtable<>::find): Likewise.
6147 (_Hashtable<>::_M_emplace): Likewise.
6148 (_Hashtable<>::_M_insert_unique): Likewise.
6149
61502023-05-09 Jonathan Wakely <jwakely@redhat.com>
6151
6152 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
6153 Print floating-point durations correctly.
6154 (StdChronoTimePointPrinter): Support printing only the value,
6155 not the type name. Uncomment handling for known clocks.
6156 (StdChronoZonedTimePrinter): Remove type names from output.
6157 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
6158 (StdChronoTimeZonePrinter): Add equals sign to output.
6159 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
6160
61612023-05-05 Alexandre Oliva <oliva@adacore.com>
6162
6163 * testsuite/20_util/from_chars/4.cc: Skip long double test06
6164 on aarch64-vxworks.
6165 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
6166 aarch64-vxworks.
6167
61682023-05-04 Jonathan Wakely <jwakely@redhat.com>
6169
6170 * doc/xml/manual/abi.xml (abi.versioning.history): Document
6171 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
6172 * doc/html/manual/abi.html: Regenerate.
6173
61742023-05-04 Florian Weimer <fweimer@redhat.com>
6175
6176 * doc/xml/manual/abi.xml (abi.versioning.history): Add
6177 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
6178 libgcc_s.
6179
61802023-05-03 Jakub Jelinek <jakub@redhat.com>
6181
6182 * src/c++17/floating_from_chars.cc
6183 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
6184 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
6185 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
6186 _ZSt8to_charsPcS_u9__ieee128.
6187 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
6188 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
6189 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
6190 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
6191 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
6192
61932023-05-03 Jakub Jelinek <jakub@redhat.com>
6194
6195 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
6196 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
6197 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
6198 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
6199 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
6200 versions.
6201 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
6202 file.
6203
62042023-05-03 Kefu Chai <kefu.chai@scylladb.com>
6205 Jonathan Wakely <jwakely@redhat.com>
6206
6207 PR libstdc++/109703
6208 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
6209 Initialize _M_string_length.
6210
62112023-05-02 Jakub Jelinek <jakub@redhat.com>
6212
6213 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
6214 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
6215 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
6216 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
6217 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
6218 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
6219 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
6220 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
6221
62222023-05-02 Jakub Jelinek <jakub@redhat.com>
6223
6224 PR libstdc++/109694
6225 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
6226 -Wattribute-alias.
6227
62282023-04-28 Jonathan Wakely <jwakely@redhat.com>
6229
6230 * include/bits/random.h (gamma_distribution): Add to the right
6231 doxygen group.
6232 (discrete_distribution, piecewise_constant_distribution)
6233 (piecewise_linear_distribution): Create a new doxygen group and
6234 fix the incomplete doxygen comments.
6235 * include/bits/uniform_int_dist.h (uniform_int_distribution):
6236 Add to doxygen group.
6237
62382023-04-28 Jonathan Wakely <jwakely@redhat.com>
6239
6240 * include/bits/uses_allocator.h: Add missing @file comment.
6241 * include/bits/regex.tcc: Remove stray doxygen comments.
6242 * include/experimental/memory_resource: Likewise.
6243 * include/std/bit: Tweak doxygen @cond comments.
6244 * include/std/expected: Likewise.
6245 * include/std/numbers: Likewise.
6246
62472023-04-28 Jonathan Wakely <jwakely@redhat.com>
6248
6249 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
6250 from header paths.
6251
62522023-04-28 Jonathan Wakely <jwakely@redhat.com>
6253
6254 * include/bits/move.h: Simplify opening/closing namespace std.
6255
62562023-04-28 Jakub Jelinek <jakub@redhat.com>
6257
6258 PR libstdc++/108969
6259 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
6260 _ZSt21ios_base_library_initv.
6261 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
6262 symver and make it the latestp.
6263 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
6264 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
6265 * include/std/iostream: If init_priority attribute is supported
6266 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
6267 symbol into the object.
6268 * configure: Regenerated.
6269
62702023-04-27 Jonathan Wakely <jwakely@redhat.com>
6271
6272 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
6273 * include/std/format: Likewise.
6274
62752023-04-27 Jonathan Wakely <jwakely@redhat.com>
6276
6277 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
6278 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
6279
62802023-04-27 Jonathan Wakely <jwakely@redhat.com>
6281
6282 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
6283 HTML docs.
6284 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
6285 from doxygen docs.
6286 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
6287 Likewise.
6288 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
6289 Likewise.
6290 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
6291 Likewise.
6292 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
6293 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
6294 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
6295 (_DEFINE_BINARY_OPERATOR): Likewise.
6296
62972023-04-27 Jonathan Wakely <jwakely@redhat.com>
6298
6299 * include/bits/memory_resource.h: Improve doxygen comments.
6300 * include/std/memory_resource: Likewise.
6301
63022023-04-27 Jonathan Wakely <jwakely@redhat.com>
6303
6304 PR libstdc++/40380
6305 * include/bits/basic_string.h: Improve doxygen comments.
6306 * include/bits/cow_string.h: Likewise.
6307 * include/bits/forward_list.h: Likewise.
6308 * include/bits/fs_dir.h: Likewise.
6309 * include/bits/fs_path.h: Likewise.
6310 * include/bits/quoted_string.h: Likewise.
6311 * include/bits/stl_bvector.h: Likewise.
6312 * include/bits/stl_map.h: Likewise.
6313 * include/bits/stl_multimap.h: Likewise.
6314 * include/bits/stl_multiset.h: Likewise.
6315 * include/bits/stl_set.h: Likewise.
6316 * include/bits/stl_vector.h: Likewise.
6317 * include/bits/unordered_map.h: Likewise.
6318 * include/bits/unordered_set.h: Likewise.
6319 * include/std/filesystem: Likewise.
6320 * include/std/iomanip: Likewise.
6321
63222023-04-27 Jonathan Wakely <jwakely@redhat.com>
6323
6324 PR libstdc++/105081
6325 * src/c++11/random.cc (__throw_syserr): New function.
6326 (random_device::_M_init, random_device::_M_init_pretr1): Use new
6327 function for bad tokens.
6328 (random_device::_M_getval): Use new function for read errors.
6329 * testsuite/util/testsuite_random.h (random_device_available):
6330 Change catch handler to use std::system_error.
6331
63322023-04-24 Patrick Palka <ppalka@redhat.com>
6333
6334 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
6335 Fix propagation of sign bit.
6336 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
6337 non-standard 'signed typedef-name'. Add some compile-time tests
6338 for right-shifting a negative __max_diff_type value by more than
6339 one.
6340
63412023-04-19 Patrick Palka <ppalka@redhat.com>
6342 Jonathan Wakely <jwakely@redhat.com>
6343
6344 PR c++/100157
6345 * include/bits/utility.h (_Nth_type): Conditionally define in
6346 terms of __type_pack_element if available.
6347 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
6348 additional errors from the new built-in.
6349
63502023-04-19 Jonathan Wakely <jwakely@redhat.com>
6351
6352 Revert:
6353 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
6354
6355 PR libstdc++/108969
6356 * src/Makefile.am: Move globals_io.cc to here.
6357 * src/Makefile.in: Regenerate.
6358 * src/c++98/Makefile.am: Remove globals_io.cc from here.
6359 * src/c++98/Makefile.in: Regenerate.
6360 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
6361 symbol name and then export with GLIBCXX_3.4.31 symver.
6362 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
6363 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
6364 Regenerate.
6365 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
6366 Regenerate.
6367 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
6368 Regenerate.
6369 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
6370 Regenerate.
6371 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
6372 Regenerate.
6373 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
6374 Regenerate.
6375 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
6376 Regenerate.
6377 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
6378 Regenerate.
6379 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
6380
63812023-04-19 Jonathan Wakely <jwakely@redhat.com>
6382
6383 Revert:
6384 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
6385
6386 PR libstdc++/108969
6387 * config/abi/pre/gnu.ver: Fix preprocessor condition.
6388
63892023-04-18 Jonathan Wakely <jwakely@redhat.com>
6390
6391 * doc/xml/manual/extensions.xml: Fix example to declare and
6392 qualify std::free, and use NULL instead of 0.
6393 * doc/html/manual/ext_demangling.html: Regenerate.
6394 * libsupc++/cxxabi.h: Adjust doxygen comments.
6395
63962023-04-18 Jonathan Wakely <jwakely@redhat.com>
6397
6398 PR libstdc++/108969
6399 * config/abi/pre/gnu.ver: Fix preprocessor condition.
6400
64012023-04-18 Jonathan Wakely <jwakely@redhat.com>
6402
6403 PR libstdc++/108969
6404 * src/Makefile.am: Move globals_io.cc to here.
6405 * src/Makefile.in: Regenerate.
6406 * src/c++98/Makefile.am: Remove globals_io.cc from here.
6407 * src/c++98/Makefile.in: Regenerate.
6408 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
6409 symbol name and then export with GLIBCXX_3.4.31 symver.
6410 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
6411 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
6412 Regenerate.
6413 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
6414 Regenerate.
6415 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
6416 Regenerate.
6417 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
6418 Regenerate.
6419 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
6420 Regenerate.
6421 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
6422 Regenerate.
6423 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
6424 Regenerate.
6425 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
6426 Regenerate.
6427 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
6428
64292023-04-18 Patrick Palka <ppalka@redhat.com>
6430
6431 PR libstdc++/108827
6432 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
6433 for C++23.
6434 * include/std/ranges (range_adaptor_closure): Define for C++23.
6435 * include/std/version (__cpp_lib_ranges): Bump value for
6436 C++23.
6437 * testsuite/std/ranges/version_c++23.cc: Bump expected value
6438 of __cpp_lib_ranges.
6439 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
6440
64412023-04-18 Patrick Palka <ppalka@redhat.com>
6442
6443 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
6444 Define for C++23.
6445 (__cpp_lib_ranges_iota): Likewise.
6446 (__cpp_lib_ranges_find_last): Likewise.
6447 (__cpp_lib_fold): Rename to ...
6448 (__cpp_lib_ranges_fold): ... this.
6449 * include/std/version: As above.
6450 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
6451 renaming __cpp_lib_fold.
6452 * testsuite/std/ranges/version_c++23.cc: Verify values
6453 of the above feature-test macros.
6454
64552023-04-18 Patrick Palka <ppalka@redhat.com>
6456
6457 PR libstdc++/109525
6458 * include/std/ranges (views::_AsConst::operator()): Add
6459 missing const to constant_range test.
6460 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
6461 Improve formatting. Adjust expected type of v2.
6462 (test03): New test.
6463
64642023-04-14 Patrick Palka <ppalka@redhat.com>
6465
6466 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
6467 (const_sentinel_t): Likewise.
6468 (range_const_reference_t): Likewise.
6469 (constant_range): Likewise.
6470 (__cust_access::__possibly_const_range): Likewise, replacing ...
6471 (__cust_access::__as_const): ... this.
6472 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
6473 (__cust_access::_CEnd::operator()): Likewise.
6474 (__cust_access::_CRBegin::operator()): Likewise.
6475 (__cust_access::_CREnd::operator()): Likewise.
6476 (__cust_access::_CData::operator()): Likewise.
6477 * include/bits/ranges_util.h (ranges::__detail::__different_from):
6478 Make it an alias of std::__detail::__different_from.
6479 (view_interface::cbegin): Define for C++23.
6480 (view_interface::cend): Likewise.
6481 * include/bits/stl_iterator.h (__detail::__different_from): Define.
6482 (iter_const_reference_t): Define for C++23.
6483 (__detail::__constant_iterator): Likewise.
6484 (__detail::__is_const_iterator): Likewise.
6485 (__detail::__not_a_const_iterator): Likewise.
6486 (__detail::__iter_const_rvalue_reference_t): Likewise.
6487 (__detail::__basic_const_iter_cat):: Likewise.
6488 (const_iterator): Likewise.
6489 (__detail::__const_sentinel): Likewise.
6490 (const_sentinel): Likewise.
6491 (basic_const_iterator): Likewise.
6492 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
6493 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
6494 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
6495 Likewise.
6496 (make_const_iterator): Define for C++23.
6497 (make_const_sentinel): Likewise.
6498 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
6499 (as_const_view): Likewise.
6500 (enable_borrowed_range<as_const_view>): Likewise.
6501 (views::__detail::__is_ref_view): Likewise.
6502 (views::__detail::__can_is_const_view): Likewise.
6503 (views::_AsConst, views::as_const): Likewise.
6504 * include/std/span (span::const_iterator): Likewise.
6505 (span::const_reverse_iterator): Likewise.
6506 (span::cbegin): Likewise.
6507 (span::cend): Likewise.
6508 (span::crbegin): Likewise.
6509 (span::crend): Likewise.
6510 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
6511 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
6512 behave independently of C++20 vs C++23.
6513 * testsuite/std/ranges/version_c++23.cc: Verify value of
6514 __cpp_lib_ranges_as_const macro.
6515 * testsuite/24_iterators/const_iterator/1.cc: New test.
6516 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
6517
65182023-04-14 Patrick Palka <ppalka@redhat.com>
6519
6520 * include/bits/ranges_base.h (__cust_access::__as_const)
6521 (__cust_access::_CBegin, __cust::cbegin)
6522 (__cust_access::_CEnd, __cust::cend)
6523 (__cust_access::_CRBegin, __cust::crbegin)
6524 (__cust_access::_CREnd, __cust::crend)
6525 (__cust_access::_CData, __cust::cdata): Move down definitions to
6526 shortly after the definition of input_range.
6527
65282023-04-14 Patrick Palka <ppalka@redhat.com>
6529
6530 * include/bits/ranges_algo.h: Include <optional> for C++23.
6531 (__cpp_lib_fold): Define for C++23.
6532 (in_value_result): Likewise.
6533 (__detail::__flipped): Likewise.
6534 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
6535 (__detail::__indirectly_binary_left_foldable): Likewise.
6536 (___detail:__indirectly_binary_right_foldable): Likewise.
6537 (fold_left_with_iter_result): Likewise.
6538 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
6539 (__fold_left_fn, fold_left): Likewise.
6540 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
6541 Likewise.
6542 (__fold_left_first_fn, fold_left_first): Likewise.
6543 (__fold_right_fn, fold_right): Likewise.
6544 (__fold_right_last_fn, fold_right_last): Likewise.
6545 * include/std/version (__cpp_lib_fold): Likewise.
6546 * testsuite/25_algorithms/fold_left/1.cc: New test.
6547 * testsuite/25_algorithms/fold_right/1.cc: New test.
6548
65492023-04-14 Jonathan Wakely <jwakely@redhat.com>
6550
6551 * include/std/format (formatter): Add comment to deleted default
6552 constructor of primary template.
6553 (_Checking_scanner): Add static_assert.
6554
65552023-04-12 Jonathan Wakely <jwakely@redhat.com>
6556
6557 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
6558 * doc/html/*: Regenerate.
6559
65602023-04-12 Jonathan Wakely <jwakely@redhat.com>
6561
6562 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
6563 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
6564 namespace to avoid clashing with libc struct.
6565 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
6566 Likewise.
6567 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
6568 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
6569 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
6570 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
6571 * testsuite/experimental/synchronized_value.cc: Require gthreads
6572 and add missing option for pthreads targets.
6573
65742023-04-12 Patrick Palka <ppalka@redhat.com>
6575
6576 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
6577 for C++23.
6578 (__detail::__range_with_movable_reference): Likewise.
6579 (enumerate_view): Likewise.
6580 (enumerate_view::_Iterator): Likewise.
6581 (enumerate_view::_Sentinel): Likewise.
6582 (views::__detail::__can_enumerate_view): Likewise.
6583 (views::_Enumerate, views::enumerate): Likewise.
6584 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
6585 * testsuite/std/ranges/version_c++23.cc: Verify value of
6586 __cpp_lib_ranges_enumerate.
6587 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
6588
65892023-04-12 Patrick Palka <ppalka@redhat.com>
6590
6591 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
6592 Propagate _M_trailing_empty in the const-converting constructor
6593 as per LWG 3904.
6594 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
6595 assertion.
6596 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
6597
65982023-04-12 Patrick Palka <ppalka@redhat.com>
6599
6600 * src/c++17/floating_from_chars.cc: Include <algorithm>,
6601 <iterator>, <limits> and <cstdint>.
6602
66032023-04-12 Patrick Palka <ppalka@redhat.com>
6604
6605 PR libstdc++/108291
6606 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
6607 parameter types of the lambda wrapper passed to adjacent_find.
6608 (chunk_by_view::_M_find_prev): Likewise.
6609 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
6610 New tests.
6611
66122023-04-12 Jonathan Wakely <jwakely@redhat.com>
6613
6614 PR libstdc++/109482
6615 * include/experimental/internet (basic_endpoint::basic_endpoint()):
6616 Ensure that the required union members are active. Only define
6617 as constexpr for C++20 and later.
6618 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
6619 Likewise.
6620 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
6621 check constexpr default constructor for C++20 and later.
6622 * testsuite/experimental/net/internet/endpoint/extensible.cc:
6623 Likewise.
6624
66252023-04-12 Jonathan Wakely <jwakely@redhat.com>
6626
6627 * src/c++20/tzdata.zi: Import new file from 2023c release.
6628
66292023-04-05 Arsen Arsenović <arsen@aarsen.me>
6630
6631 * include/precompiled/stdc++.h (C++17): Don't double-include
6632 <charconv>, once with wrong conditions.
6633 * testsuite/18_support/96817.cc: Require hosted.
6634 * testsuite/18_support/bad_exception/59392.cc: Ditto.
6635 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
6636 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
6637 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6638 Ditto.
6639
66402023-04-05 Arsen Arsenović <arsen@aarsen.me>
6641
6642 * include/bits/c++config: When __STDC_HOSTED__ is zero,
6643 disable _GLIBCXX_DEBUG and, if it was set, enable
6644 _GLIBCXX_ASSERTIONS.
6645 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
6646 Include <bits/c++config.h> when determining whether debug is
6647 set, in order to inherit the logic from above
6648
66492023-04-05 Arsen Arsenović <arsen@aarsen.me>
6650
6651 * testsuite/17_intro/versionconflict.cc: New test.
6652 * include/std/version: Allow disabling the system_header pragma
6653 via _GLIBCXX_TESTING_SYSHDR.
6654
66552023-04-05 Arsen Arsenović <arsen@aarsen.me>
6656
6657 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
6658 Synchronize the definition block with...
6659 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
6660 ... this one here. Also define the 202202L value, rather than
6661 leaving it up to purely unique_ptr.h, so that the value is
6662 synchronized across all headers.
6663 (__gnu_debug::_Safe_iterator_base): Move into new conditional
6664 block.
6665 * include/std/memory (__cpp_lib_atomic_value_initialization):
6666 Define on freestanding under the same conditions as in
6667 atomic_base.h.
6668 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
6669 Also define on freestanding.
6670 (__cpp_lib_to_chars): Ditto.
6671 (__cpp_lib_gcd): Ditto.
6672 (__cpp_lib_gcd_lcm): Ditto.
6673 (__cpp_lib_raw_memory_algorithms): Ditto.
6674 (__cpp_lib_array_constexpr): Ditto.
6675 (__cpp_lib_nonmember_container_access): Ditto.
6676 (__cpp_lib_clamp): Ditto.
6677 (__cpp_lib_constexpr_char_traits): Ditto.
6678 (__cpp_lib_constexpr_string): Ditto.
6679 (__cpp_lib_sample): Ditto.
6680 (__cpp_lib_lcm): Ditto.
6681 (__cpp_lib_constexpr_iterator): Ditto.
6682 (__cpp_lib_constexpr_char_traits): Ditto.
6683 (__cpp_lib_interpolate): Ditto.
6684 (__cpp_lib_constexpr_utility): Ditto.
6685 (__cpp_lib_shift): Ditto.
6686 (__cpp_lib_ranges): Ditto.
6687 (__cpp_lib_move_iterator_concept): Ditto.
6688 (__cpp_lib_constexpr_numeric): Ditto.
6689 (__cpp_lib_constexpr_functional): Ditto.
6690 (__cpp_lib_constexpr_algorithms): Ditto.
6691 (__cpp_lib_constexpr_tuple): Ditto.
6692 (__cpp_lib_constexpr_memory): Ditto.
6693
66942023-04-05 John David Anglin <danglin@gcc.gnu.org>
6695
6696 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
6697 timeout factor on hppa*-*-*.
6698
66992023-04-05 Jonathan Wakely <jwakely@redhat.com>
6700
6701 * include/bits/regex.h (sub_match::swap): New function.
6702 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
6703
67042023-04-04 Jonathan Wakely <jwakely@redhat.com>
6705
6706 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
6707 example program.
6708 * doc/html/manual/ext_demangling.html: Regenerate.
6709
67102023-03-31 Jonathan Wakely <jwakely@redhat.com>
6711
6712 PR tree-optimization/107087
6713 * include/bits/cow_string.h (basic_string::size()): Add
6714 optimizer hint that _S_empty_rep()._M_length is always zero.
6715 (basic_string::length()): Call size().
6716
67172023-03-31 Jonathan Wakely <jwakely@redhat.com>
6718
6719 PR libstdc++/109339
6720 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
6721 Add attribute access with access-mode 'none'.
6722 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
6723
67242023-03-31 Jonathan Wakely <jwakely@redhat.com>
6725
6726 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
6727 Revert change from member function to data member. Fix for
6728 constant evaluation by detecting which union member is active.
6729 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
6730 flag.
6731
67322023-03-29 Jonathan Wakely <jwakely@redhat.com>
6733
6734 PR libstdc++/109242
6735 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
6736 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
6737
67382023-03-29 Jonathan Wakely <jwakely@redhat.com>
6739
6740 * include/experimental/internet (ip::make_address): Implement
6741 missing overload.
6742 (ip::address_v4::broadcast()): Avoid undefined shift.
6743 (ip::basic_endpoint): Fix member functions for constexpr.
6744 (ip::basic_endpoint::_M_is_v6): Replace member function with
6745 data member, adjust member functions using it.
6746 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
6747 content.
6748 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6749 constexpr checks to work in C++14.
6750 * testsuite/experimental/net/internet/address/v4/creation.cc:
6751 Likewise.
6752 * testsuite/experimental/net/internet/endpoint/cons.cc:
6753 Likewise.
6754 * testsuite/experimental/net/internet/network/v4/cons.cc:
6755 Likewise.
6756 * testsuite/experimental/net/internet/network/v4/members.cc:
6757 Likewise.
6758 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
6759
67602023-03-29 Jonathan Wakely <jwakely@redhat.com>
6761
6762 * include/std/expected (expected::value() &): Use const lvalue
6763 for unex member passed to bad_expected_access constructor, as
6764 per LWG 3843.
6765
67662023-03-29 Jonathan Wakely <jwakely@redhat.com>
6767
6768 PR libstdc++/109340
6769 * include/std/expected (expected::transform): Use
6770 std::remove_cv_t instead of std::remove_cvref_t.
6771 (expected::transform_error): Likewise.
6772 (expected<cv void, E>::transform): Likewise.
6773 (expected<cv void, E>::transform_error): Likewise.
6774 * include/std/optional (transform): Use std::remove_cv_t.
6775 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
6776
67772023-03-29 Jonathan Wakely <jwakely@redhat.com>
6778
6779 * include/std/optional (optional): Adjust static assertion to
6780 reject arrays and functions as well as references.
6781 * testsuite/20_util/optional/requirements_neg.cc: New test.
6782
67832023-03-28 Jonathan Wakely <jwakely@redhat.com>
6784
6785 PR libstdc++/103387
6786 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
6787 std::use_facet instead of cached _M_num_get facet.
6788 (istream::operator>>(short&)): Likewise.
6789 (istream::operator>>(int&)): Likewise.
6790 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
6791 std::use_facet instead of cached _M_num_put facet.
6792
67932023-03-28 Jonathan Wakely <jwakely@redhat.com>
6794
6795 * include/bits/char_traits.h (char_traits::copy): Return without
6796 using memcpy if n==0.
6797 (char_traits::assign): Likewise for memset.
6798
67992023-03-28 Jonathan Wakely <jwakely@redhat.com>
6800
6801 PR libstdc++/109299
6802 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
6803 hint for compiler that local strings fit in the local buffer.
6804
68052023-03-28 Jonathan Wakely <jwakely@redhat.com>
6806
6807 PR libstdc++/109288
6808 * include/std/chrono (__detail::__get_leap_second_info): Update
6809 expiry date of hardcoded leapseconds list.
6810 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
6811 Likewise.
6812 * src/c++20/tzdata.zi: Import new file from 2023a release.
6813 * testsuite/std/time/time_zone/get_info_local.cc: Only check
6814 transitions for Egypt up to 2014.
6815
68162023-03-28 Matthias Kretz <m.kretz@gsi.de>
6817
6818 * include/experimental/bits/simd.h (is_simd_flag_type): New.
6819 (_IsSimdFlagType): New.
6820 (copy_from, copy_to, load ctors): Constrain _Flags using
6821 _IsSimdFlagType.
6822
68232023-03-28 Matthias Kretz <m.kretz@gsi.de>
6824
6825 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
6826 _Base::_S_divides if the optimized _S_divides function is hidden
6827 via the preprocessor.
6828
68292023-03-27 Jakub Jelinek <jakub@redhat.com>
6830
6831 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
6832 warning if size_t is not unsigned long.
6833
68342023-03-22 Jonathan Wakely <jwakely@redhat.com>
6835
6836 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
6837 Add overload, as per LWG 3893.
6838 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
6839 Check assignment from nullptr.
6840
68412023-03-22 Jonathan Wakely <jwakely@redhat.com>
6842
6843 * include/std/format (formatter<const charT[N], charT>): Do not
6844 define partial speclialization, as per LWG 3833.
6845 * testsuite/std/format/formatter/requirements.cc: Check it.
6846
68472023-03-22 Jonathan Wakely <jwakely@redhat.com>
6848
6849 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
6850 as per LWG 3792.
6851 * testsuite/20_util/exchange/constexpr.cc: Check for it.
6852
68532023-03-22 Jonathan Wakely <jwakely@redhat.com>
6854
6855 * include/std/version (__cpp_lib_format): Define.
6856 * testsuite/std/format/functions/format.cc: Check it.
6857
68582023-03-22 Jonathan Wakely <jwakely@redhat.com>
6859
6860 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
6861 Pass rvalues to the callback, as now allowed by LWG 3645.
6862 Enforce preconditions on the return value.
6863 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
6864 Adjust.
6865
68662023-03-22 Jonathan Wakely <jwakely@redhat.com>
6867
6868 * include/std/format: Add a comment noting that the resolution
6869 of LWG 3720 has been applied..
6870
68712023-03-22 Jonathan Wakely <jwakely@redhat.com>
6872
6873 * include/bits/regex.h (match_results): Add allocator-extended
6874 copy and move constructors, as per LWG 2195.
6875 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
6876
68772023-03-22 Jonathan Wakely <jwakely@redhat.com>
6878
6879 * include/bits/stream_iterator.h (istream_iterator): Add
6880 constexpr to copy constructor, as per LWG 3600.
6881 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
6882 Check copy construction.
6883
68842023-03-21 Matthias Kretz <m.kretz@gsi.de>
6885
6886 * include/experimental/bits/simd_x86.h
6887 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
6888 with __RECIPROCAL_MATH__.
6889
68902023-03-21 Matthias Kretz <m.kretz@gsi.de>
6891
6892 * include/experimental/bits/simd_detail.h: Don't define
6893 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
6894 * include/experimental/bits/simd_x86.h (_S_divides): Remove
6895 check for __clang__.
6896
68972023-03-21 Matthias Kretz <m.kretz@gsi.de>
6898
6899 * include/experimental/bits/simd_detail.h: Don't declare the
6900 simd API as constexpr with Clang.
6901 * include/experimental/bits/simd_x86.h (__movm): New.
6902 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
6903 and ?:.
6904 (_SimdImplX86::_S_masked_unary): Clang does not implement the
6905 same builtins. Implement the function using __movm, ?:, and -
6906 operators on vector_size types instead.
6907
69082023-03-21 Matthias Kretz <m.kretz@gsi.de>
6909
6910 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
6911 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
6912
69132023-03-20 Jonathan Wakely <jwakely@redhat.com>
6914
6915 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
6916 formatting.
6917
69182023-03-20 Marek Polacek <polacek@redhat.com>
6919
6920 PR c++/109159
6921 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
6922 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
6923 * testsuite/23_containers/span/explicit.cc: Likewise.
6924
69252023-03-20 Jonathan Wakely <jwakely@redhat.com>
6926
6927 PR libstdc++/109182
6928 * include/std/expected (expected<void>::expected(in_place_t)):
6929 Remove template-head.
6930
69312023-03-18 Jonathan Wakely <jwakely@redhat.com>
6932
6933 PR libstdc++/109165
6934 * testsuite/18_support/coroutines/hash.cc: Use const object
6935 in second call.
6936
69372023-03-17 Jonathan Wakely <jwakely@redhat.com>
6938
6939 PR libstdc++/109165
6940 * include/std/coroutine (hash<>::operator()): Add const.
6941 * testsuite/18_support/coroutines/hash.cc: New test.
6942
69432023-03-14 Patrick Palka <ppalka@redhat.com>
6944
6945 PR libstdc++/109111
6946 * include/std/ranges (repeat_view): Remove redundant parentheses
6947 in requires-clause.
6948 (repeat_view::_Iterator): Correct the requires-clause.
6949
69502023-03-14 Patrick Palka <ppalka@redhat.com>
6951
6952 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
6953 Define.
6954 (__cpp_lib_move_iterator_concept): Define for C++20.
6955 (move_iterator::iterator_concept): Strengthen as per P2520R0.
6956 * include/std/version (__cpp_lib_move_iterator_concept): Define
6957 for C++20.
6958 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
6959
69602023-03-14 Patrick Palka <ppalka@redhat.com>
6961
6962 * include/bits/ranges_util.h (view_interface::empty): Add
6963 preferred overloads that use ranges::size when the range is
6964 sized as per LWG 3715.
6965 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
6966
69672023-03-14 Jonathan Wakely <jwakely@redhat.com>
6968
6969 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
6970 Only define for C++17 and later.
6971
69722023-03-14 Jonathan Wakely <jwakely@redhat.com>
6973
6974 * src/Makefile.am: Add comment about linker script fragments.
6975 * src/Makefile.in: Regenerate.
6976
69772023-03-14 Jonathan Wakely <jwakely@redhat.com>
6978
6979 PR libstdc++/62196
6980 * include/bits/mask_array.h (mask_array): Add assertions to
6981 assignment operators.
6982 * include/std/valarray (valarray::operator[](valarray<bool>)):
6983 Add assertions.
6984 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
6985 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
6986 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
6987 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
6988 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
6989 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
6990 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
6991 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
6992 * testsuite/26_numerics/valarray/mask.cc: New test.
6993
69942023-03-13 Jakub Jelinek <jakub@redhat.com>
6995
6996 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
6997 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
6998
69992023-03-13 Jonathan Wakely <jwakely@redhat.com>
7000
7001 * doc/Makefile.am: Add comment referring to documentation.
7002 * doc/Makefile.in: Regenerate.
7003
70042023-03-13 Jonathan Wakely <jwakely@redhat.com>
7005
7006 * doc/html/*: Regenerate.
7007
70082023-03-13 Jonny Grant <jg@jguk.org>
7009
7010 * doc/xml/faq.xml: Update copyright year.
7011
70122023-03-13 Jonathan Wakely <jwakely@redhat.com>
7013
7014 * include/bits/allocator.h: Fix typo in comment.
7015
70162023-03-12 Jakub Jelinek <jakub@redhat.com>
7017
7018 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
7019 if it isn't mangled as DF16b but u6__bf16.
7020
70212023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
7022
7023 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
7024 to https.
7025 * doc/html/manual/documentation_hacking.html: Regenerate.
7026
70272023-03-10 Jonathan Wakely <jwakely@redhat.com>
7028
7029 PR libstdc++/109064
7030 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
7031 Remove self-recursion in __init__. Add missing _supports.
7032 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
7033 and unique().
7034
70352023-03-09 Patrick Palka <ppalka@redhat.com>
7036
7037 * include/std/ranges
7038 (cartesian_product_view::_Iterator::_Iterator): Remove
7039 constraint on default constructor as per LWG 3849.
7040 (cartesian_product_view::_Iterator::_M_prev): Adjust position
7041 of _Nm > 0 test as per LWG 3820.
7042 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
7043 checking only on sized cartesian products.
7044 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
7045
70462023-03-09 Patrick Palka <ppalka@redhat.com>
7047
7048 PR libstdc++/109024
7049 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
7050 LWG 3796.
7051 (repeat_view::_M_pred): Likewise.
7052 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
7053 * testsuite/std/ranges/repeat/1.cc (test05): New test.
7054
70552023-03-09 Patrick Palka <ppalka@redhat.com>
7056
7057 PR libstdc++/108362
7058 * include/std/ranges (__detail::__can_single_view): New concept.
7059 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
7060 end of the function declarator.
7061 (__detail::__can_iota_view): New concept.
7062 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
7063 end of the function declarator.
7064 (__detail::__can_istream_view): New concept.
7065 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
7066 end of the function declarator.
7067 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
7068 * testsuite/std/ranges/istream_view.cc (test08): New test.
7069 * testsuite/std/ranges/single_view.cc (test07): New test.
7070
70712023-03-09 Patrick Palka <ppalka@redhat.com>
7072
7073 PR libstdc++/107572
7074 * include/std/ranges (cartesian_product_view::end): When
7075 building the tuple of iterators, avoid calling ranges::begin on
7076 the first range if __empty_tail is false.
7077 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
7078
70792023-03-09 Jonathan Wakely <jwakely@redhat.com>
7080
7081 PR libstdc++/108882
7082 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
7083 patterns.
7084
70852023-03-07 Jakub Jelinek <jakub@redhat.com>
7086
7087 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
7088 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
7089 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
7090 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7091 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
7092
70932023-03-07 Jonathan Wakely <jwakely@redhat.com>
7094
7095 PR libstdc++/108882
7096 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
7097 not match symbols in namespace std::__gnu_cxx11_ieee128.
7098 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
7099 std::__gnu_cxx11_ieee128::money_{get,put}.
7100
71012023-03-07 Jonathan Wakely <jwakely@redhat.com>
7102
7103 * libsupc++/eh_personality.cc: Fix spelling in comment.
7104
71052023-03-03 Alexandre Oliva <oliva@adacore.com>
7106
7107 * testsuite/30_threads/async/async.cc (test04): Initialize
7108 steady_start, renamed from steady_begin, next to slow_start.
7109 Increase tolerance for final wait.
7110
71112023-03-03 Alexandre Oliva <oliva@adacore.com>
7112
7113 * testsuite/libstdc++-prettyprinters/80276.cc: Add
7114 std::string to debug info.
7115 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
7116
71172023-03-03 Alexandre Oliva <oliva@adacore.com>
7118
7119 PR libstdc++/104852
7120 PR libstdc++/95989
7121 PR libstdc++/52590
7122 * include/bits/std_thread.h (thread::_M_thread_deps): New
7123 static implicitly-inline member function.
7124 (std::thread template ctor): Pass it to _M_start_thread.
7125 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
7126 parameter, force it live on entry.
7127
71282023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7129
7130 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
7131 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
7132 Likewise.
7133 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
7134 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
7135 Likewise.
7136
71372023-03-01 Jonathan Wakely <jwakely@redhat.com>
7138
7139 * include/bits/cow_string.h: Fix typo in comment.
7140
71412023-03-01 Jonathan Wakely <jwakely@redhat.com>
7142
7143 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
7144 current time zone cannot be determined.
7145 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
7146 HAVE_TZDB macro and test all members unconditionally.
7147
71482023-02-28 Jonathan Wakely <jwakely@redhat.com>
7149
7150 PR libstdc++/108952
7151 * include/bits/uses_allocator_args.h
7152 (uses_allocator_construction_args): Implement LWG 3527.
7153 * testsuite/20_util/pair/astuple/get-2.cc: New test.
7154 * testsuite/20_util/scoped_allocator/108952.cc: New test.
7155 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
7156
71572023-02-28 Jonathan Wakely <jwakely@redhat.com>
7158
7159 PR libstdc++/108846
7160 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
7161 Add __assign_one static member function.
7162 (__copy_move<true, false, RA>): Likewise.
7163 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
7164 value.
7165 (__copy_move_backward<IsMove, true, RA>): Likewise.
7166 * testsuite/25_algorithms/copy/108846.cc: New test.
7167 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
7168 * testsuite/25_algorithms/copy_n/108846.cc: New test.
7169 * testsuite/25_algorithms/move/108846.cc: New test.
7170 * testsuite/25_algorithms/move_backward/108846.cc: New test.
7171
71722023-02-28 Jonathan Wakely <jwakely@redhat.com>
7173
7174 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
7175 attributes.
7176
71772023-02-27 Jonathan Wakely <jwakely@redhat.com>
7178
7179 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
7180 caveat to comment.
7181 * include/bits/basic_string.h (resize_and_overwrite): Add
7182 doxygen comment.
7183
71842023-02-24 Matthias Kretz <m.kretz@gsi.de>
7185
7186 * include/experimental/bits/simd.h: Line breaks and indenting
7187 fixed to follow the libstdc++ standard.
7188 * include/experimental/bits/simd_builtin.h: Likewise.
7189 * include/experimental/bits/simd_fixed_size.h: Likewise.
7190 * include/experimental/bits/simd_neon.h: Likewise.
7191 * include/experimental/bits/simd_ppc.h: Likewise.
7192 * include/experimental/bits/simd_scalar.h: Likewise.
7193 * include/experimental/bits/simd_x86.h: Likewise.
7194
71952023-02-24 Matthias Kretz <m.kretz@gsi.de>
7196
7197 PR libstdc++/108030
7198 * include/experimental/bits/simd_fixed_size.h
7199 (_SimdImplFixedSize::_S_broadcast): Replace inline with
7200 _GLIBCXX_SIMD_INTRINSIC.
7201 (_SimdImplFixedSize::_S_generate): Likewise.
7202 (_SimdImplFixedSize::_S_load): Likewise.
7203 (_SimdImplFixedSize::_S_masked_load): Likewise.
7204 (_SimdImplFixedSize::_S_store): Likewise.
7205 (_SimdImplFixedSize::_S_masked_store): Likewise.
7206 (_SimdImplFixedSize::_S_min): Likewise.
7207 (_SimdImplFixedSize::_S_max): Likewise.
7208 (_SimdImplFixedSize::_S_complement): Likewise.
7209 (_SimdImplFixedSize::_S_unary_minus): Likewise.
7210 (_SimdImplFixedSize::_S_plus): Likewise.
7211 (_SimdImplFixedSize::_S_minus): Likewise.
7212 (_SimdImplFixedSize::_S_multiplies): Likewise.
7213 (_SimdImplFixedSize::_S_divides): Likewise.
7214 (_SimdImplFixedSize::_S_modulus): Likewise.
7215 (_SimdImplFixedSize::_S_bit_and): Likewise.
7216 (_SimdImplFixedSize::_S_bit_or): Likewise.
7217 (_SimdImplFixedSize::_S_bit_xor): Likewise.
7218 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
7219 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
7220 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
7221 explicit about not always-inline, yet).
7222 (_SimdImplFixedSize::_S_isinf): Likewise.
7223 (_SimdImplFixedSize::_S_isfinite): Likewise.
7224 (_SimdImplFixedSize::_S_isnan): Likewise.
7225 (_SimdImplFixedSize::_S_isnormal): Likewise.
7226 (_SimdImplFixedSize::_S_signbit): Likewise.
7227
72282023-02-24 Matthias Kretz <m.kretz@gsi.de>
7229
7230 PR libstdc++/108856
7231 * include/experimental/bits/simd_builtin.h
7232 (_SimdImplBuiltin::_S_masked_unary): More efficient
7233 implementation of masked inc-/decrement for integers and floats
7234 without AVX2.
7235 * include/experimental/bits/simd_x86.h
7236 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
7237 builtins for masked inc-/decrement.
7238
72392023-02-24 Jonathan Wakely <jwakely@redhat.com>
7240
7241 * include/experimental/executor (executor): Constrain template
7242 constructors.
7243
72442023-02-24 Jonathan Wakely <jwakely@redhat.com>
7245
7246 * include/experimental/internet (basic_endpoint): Add missing
7247 constexpr to comparison operators.
7248 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
7249
72502023-02-24 Jonathan Wakely <jwakely@redhat.com>
7251
7252 * include/experimental/internet (network_v4::netmask()): Avoid
7253 undefined shift.
7254 (network_v4::broadcast()): Optimize and fix for targets with
7255 uint_least32_t wider than 32 bits.
7256 (network_v4::to_string(const Allocator&)): Fix for custom
7257 allocators and optimize using to_chars.
7258 (operator==(const network_v4&, const network_v4&)): Add missing
7259 constexpr.
7260 (operator==(const network_v6&, const network_v6&)): Likewise.
7261 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
7262 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
7263
72642023-02-24 Jonathan Wakely <jwakely@redhat.com>
7265
7266 * include/experimental/internet (address_4(const bytes_type&)):
7267 Use __builtin_bit_cast if available, otherwise convert to
7268 network byte order.
7269 (address_v4::to_bytes()): Likewise, but convert from network
7270 byte order.
7271 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
7272 incorrect tests. Check for constexpr too.
7273 * testsuite/experimental/net/internet/address/v4/creation.cc:
7274 Likewise.
7275 * testsuite/experimental/net/internet/address/v4/members.cc:
7276 Check that bytes_type is a standard-layout type.
7277
72782023-02-24 Jonathan Wakely <jwakely@redhat.com>
7279
7280 * include/experimental/internet (address_v4::to_string):
7281 Optimize.
7282 * testsuite/experimental/net/internet/address/v4/members.cc:
7283 Check more addresses.
7284
72852023-02-24 Jonathan Wakely <jwakely@redhat.com>
7286
7287 * include/ext/aligned_buffer.h (__aligned_buffer): Add
7288 diagnostic pragmas.
7289
72902023-02-24 Jonathan Wakely <jwakely@redhat.com>
7291
7292 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
7293 before dg-do.
7294
72952023-02-23 Matthias Kretz <m.kretz@gsi.de>
7296
7297 * testsuite/experimental/simd/tests/reductions.cc: Introduce
7298 max_distance as the type-dependent max error.
7299
73002023-02-23 Matthias Kretz <m.kretz@gsi.de>
7301
7302 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
7303 int. The actual range of these indexes is very small.
7304
73052023-02-23 Matthias Kretz <m.kretz@gsi.de>
7306
7307 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
7308 (_S_bit_shift_right): Declare constexpr. The implementation was
7309 already expecting constexpr evaluation.
7310
73112023-02-23 Matthias Kretz <m.kretz@gsi.de>
7312
7313 PR libstdc++/108030
7314 * include/experimental/bits/simd_detail.h
7315 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
7316 __clang__.
7317
73182023-02-23 Matthias Kretz <m.kretz@gsi.de>
7319
7320 PR libstdc++/108030
7321 * include/experimental/bits/simd.h (__vector_broadcast):
7322 Implement via __vector_broadcast_impl instead of
7323 __call_with_n_evaluations + 2 lambdas.
7324 (__vector_broadcast_impl): New.
7325
73262023-02-22 Alexandre Oliva <oliva@adacore.com>
7327
7328 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
7329 Avoid destruction of the mutex pool.
7330
73312023-02-22 Alexandre Oliva <oliva@adacore.com>
7332
7333 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
7334 on vxworks.
7335 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
7336 Likewise.
7337
73382023-02-22 Alexandre Oliva <oliva@adacore.com>
7339
7340 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
7341 kernel mode.
7342
73432023-02-20 Andreas Schwab <schwab@linux-m68k.org>
7344
7345 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7346
73472023-02-20 Matthias Kretz <m.kretz@gsi.de>
7348
7349 * include/experimental/bits/simd.h (__extract_part, split):
7350 Use reserved name for template parameter.
7351
73522023-02-20 Andreas Schwab <schwab@suse.de>
7353
7354 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
7355
73562023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
7357
7358 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
7359 * doc/html/faq.html: Regenerate.
7360
73612023-02-16 Matthias Kretz <m.kretz@gsi.de>
7362
7363 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
7364 between scalars requires the __bit_cast helper function instead
7365 of simd_bit_cast.
7366
73672023-02-16 Matthias Kretz <m.kretz@gsi.de>
7368
7369 * include/experimental/bits/simd_x86.h
7370 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
7371 (_SimdImplX86::_S_less_equal): Do not call
7372 __builtin_is_constant_evaluated in constexpr-if.
7373
73742023-02-16 Matthias Kretz <m.kretz@gsi.de>
7375
7376 * testsuite/experimental/simd/tests/bits/verify.h
7377 (verify::verify): Use %zx for size_t in format string.
7378
73792023-02-16 Matthias Kretz <m.kretz@gsi.de>
7380
7381 * testsuite/experimental/simd/generate_makefile.sh: Generate and
7382 pre-compile pch.h, which includes all headers that do not depend
7383 on command-line macros.
7384 * testsuite/experimental/simd/tests/bits/main.h: New file.
7385 (iterate_abis, main): Moved from verify.h.
7386 * testsuite/experimental/simd/tests/bits/verify.h
7387 (iterate_abis, main): Moved to main.h.
7388 * testsuite/experimental/simd/tests/bits/conversions.h: Add
7389 include guard.
7390 (genHalfBits): Simplify.
7391 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
7392 guard.
7393 (make_alternating_mask): Moved from mask_loadstore.
7394 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
7395 include guard.
7396 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
7397 * testsuite/experimental/simd/tests/mask_loadstore.cc
7398 (make_mask, make_alternating_mask): Removed.
7399 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
7400 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
7401 Removed.
7402 * testsuite/experimental/simd/tests/abs.cc: Only include
7403 bits/main.h.
7404 Ditto.
7405 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
7406 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
7407 * testsuite/experimental/simd/tests/casts.cc: Ditto.
7408 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
7409 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
7410 * testsuite/experimental/simd/tests/generator.cc: Ditto.
7411 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
7412 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
7413 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
7414 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
7415 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
7416 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
7417 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
7418 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
7419 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
7420 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
7421 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
7422 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
7423 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
7424 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
7425 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
7426 * testsuite/experimental/simd/tests/simd.cc: Ditto.
7427 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
7428 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
7429 * testsuite/experimental/simd/tests/splits.cc: Ditto.
7430 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
7431 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
7432 * testsuite/experimental/simd/tests/where.cc: Ditto.
7433
74342023-02-16 Matthias Kretz <m.kretz@gsi.de>
7435
7436 * testsuite/experimental/simd/README.md: Document the timeout
7437 and timeout-factor directives. Minor typo fixed.
7438
74392023-02-16 Matthias Kretz <m.kretz@gsi.de>
7440
7441 PR libstdc++/108030
7442 * include/experimental/bits/simd_detail.h: Define
7443 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
7444 * include/experimental/bits/simd.h: Annotate lambdas with
7445 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
7446 * include/experimental/bits/simd_builtin.h: Ditto.
7447 * include/experimental/bits/simd_converter.h: Ditto.
7448 * include/experimental/bits/simd_fixed_size.h: Ditto.
7449 * include/experimental/bits/simd_math.h: Ditto.
7450 * include/experimental/bits/simd_neon.h: Ditto.
7451 * include/experimental/bits/simd_x86.h: Ditto.
7452
74532023-02-16 Matthias Kretz <m.kretz@gsi.de>
7454
7455 * include/experimental/bits/simd.h
7456 (_SimdWrapper::_M_is_constprop_none_of)
7457 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
7458 computed result still satisfies __builtin_constant_p.
7459
74602023-02-16 Jonathan Wakely <jwakely@redhat.com>
7461
7462 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
7463 ellipsis character.
7464
74652023-02-16 Jonathan Wakely <jwakely@redhat.com>
7466
7467 * include/Makefile.am: Add new header.
7468 * include/Makefile.in: Regenerate.
7469 * include/experimental/synchronized_value: New file.
7470 * testsuite/experimental/synchronized_value.cc: New test.
7471
74722023-02-16 Jonathan Wakely <jwakely@redhat.com>
7473
7474 * include/experimental/optional: Fix header name in comment.
7475
74762023-02-16 Jonathan Wakely <jwakely@redhat.com>
7477
7478 * include/std/format (__format::_Arg_store): New class template.
7479 (basic_format_args): Remove nested type _Store and add deduction
7480 guide from _Arg_store.
7481 (basic_format_arg, make_format_args): Adjust.
7482 * testsuite/std/format/arguments/lwg3810.cc: New test.
7483
74842023-02-16 Jonathan Wakely <jwakely@redhat.com>
7485
7486 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
7487 constraints to constructors and add deleted overloads for the
7488 dangling cases, as per P2255R2.
7489 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
7490 make dangling cases ill-formed.
7491 * testsuite/20_util/pair/dangling_ref.cc: New test.
7492
74932023-02-16 Jonathan Wakely <jwakely@redhat.com>
7494
7495 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
7496
74972023-02-16 Jonathan Wakely <jwakely@redhat.com>
7498
7499 * include/ext/throw_allocator.h: Use reserved names for
7500 parameters.
7501
75022023-02-16 Jonathan Wakely <jwakely@redhat.com>
7503
7504 * testsuite/17_intro/names_pstl.cc: Add space after effective
7505 target name.
7506
75072023-02-16 Jonathan Wakely <jwakely@redhat.com>
7508
7509 * include/pstl/algorithm_fwd.h (__pattern_search_n)
7510 (__brick_unique_copy, __brick_adjacent_find)
7511 (__brick_generate_n, __pattern_generate_n): Use reserved names
7512 for parameters.
7513 * include/pstl/algorithm_impl.h (__brick_unique_copy)
7514 (__pattern_reverse, __brick_generate_n): Likewise.
7515 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
7516 (__prefer_parallel_tag): Likewise.
7517 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
7518 * include/pstl/glue_numeric_defs.h (adjacent_difference):
7519 Likewise.
7520 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
7521 Likewise.
7522 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
7523 * include/pstl/unseq_backend_simd.h (_Combiner)
7524 (__simd_min_element, __simd_minmax_element): Likewise.
7525 * testsuite/17_intro/names_pstl.cc: New test.
7526
75272023-02-16 Jonathan Wakely <jwakely@redhat.com>
7528
7529 * include/bits/fs_ops.h (create_directory): Use reserved name
7530 for parameter.
7531 * include/bits/ranges_algo.h (__contains_subrange_fn):
7532 Likewise.
7533 * include/bits/regex_automaton.h (_State_base::_M_print):
7534 Likewise.
7535 * include/bits/regex_automaton.tcc(_State_base::_M_print):
7536 Likewise.
7537 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
7538 * include/experimental/bits/fs_ops.h (create_directory):
7539 Likewise.
7540 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
7541 (recursive_timed_mutex:_M_clocklock): Likewise.
7542 * include/std/tuple (basic_common_reference): Likewise.
7543 * libsupc++/cxxabi_init_exception.h
7544 (__cxa_init_primary_exception): Likewise.
7545 * testsuite/17_intro/names.cc: Add checks.
7546
75472023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
7548
7549 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
7550 to www.open-std.org and https.
7551 * doc/html/manual/status.html: Regenerate.
7552
75532023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
7554
7555 PR libstdc++/103934
7556 * include/std/atomic (atomic_flag_wait): Add.
7557 (atomic_flag_wait_explicit): Add.
7558 (atomic_flag_notify): Add.
7559 (atomic_flag_notify_explicit): Add.
7560 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
7561 Add test case to cover missing atomic_flag free functions.
7562
75632023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
7564
7565 PR libstdc++/103934
7566 * include/std/atomic (atomic_flag_test): Add.
7567 (atomic_flag_test_explicit): Add.
7568 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
7569 test case to cover missing atomic_flag free functions.
7570 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
7571 Likewise.
7572
75732023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
7574
7575 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
7576 "The Component Object Model" reference.
7577 * doc/html/manual/policy_data_structures.html: Regenerate.
7578
75792023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7580
7581 * doc/xml/manual/containers.xml: Tweak a link to N1780
7582 (C++ standard).
7583 * doc/html/manual/associative.html: Regenerate.
7584
75852023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7586
7587 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
7588 * doc/html/manual/facets.html: Regenerate.
7589
75902023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
7591
7592 * doc/xml/manual/policy_data_structures_biblio.xml: Update
7593 link to "Worst-case efficient priority queues".
7594 * doc/html/manual/policy_data_structures.html: Regenerate.
7595
75962023-02-06 Arsen Arsenović <arsen@aarsen.me>
7597
7598 * doc/xml/manual/using.xml: Document newly-freestanding
7599 headers and the effect of the -ffreestanding flag.
7600 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
7601 completed.
7602 * doc/xml/manual/configure.xml: Document that hosted installs
7603 respect __STDC_HOSTED__.
7604 * doc/xml/manual/test.xml: Document how to run tests in
7605 freestanding mode.
7606 * doc/html/*: Regenerate.
7607
76082023-02-06 Jonathan Wakely <jwakely@redhat.com>
7609
7610 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
7611 (__find_last_if_fn): Likewise.
7612
76132023-02-06 Jonathan Wakely <jwakely@redhat.com>
7614
7615 * include/std/type_traits: Add diagnostic pragmas around
7616 references to deprecated std::aligned_storage and
7617 std::aligned_union traits.
7618 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
7619 Add dg-warning for et c++23.
7620 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
7621 Likewise.
7622 * testsuite/20_util/aligned_storage/value.cc: Likewise.
7623 * testsuite/20_util/aligned_union/1.cc: Likewise.
7624 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
7625 Likewise.
7626
76272023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
7628
7629 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
7630 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
7631 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
7632 * include/std/type_traits (aligned_storage, aligned_union)
7633 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
7634 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
7635 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
7636
76372023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
7638
7639 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
7640 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
7641 consistent with other 'deprecated' macros.
7642 * include/std/type_traits (is_pod, is_pod_v): Use
7643 _GLIBCXX20_DEPRECATED_SUGGEST instead.
7644
76452023-02-06 Arsen Arsenović <arsen@aarsen.me>
7646
7647 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
7648 * Makefile.in: Regenerate.
7649 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
7650 There's no history to be compatible with.
7651 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
7652 source files from the build.
7653 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7654 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7655 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7656 * src/Makefile.in: Regenerate.
7657 * src/c++11/Makefile.in: Regenerate.
7658 * src/c++17/Makefile.in: Regenerate.
7659 * src/c++20/Makefile.in: Regenerate.
7660 * src/c++98/Makefile.in: Regenerate.
7661
76622023-02-06 Jonathan Wakely <jwakely@redhat.com>
7663
7664 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
7665 filesystem, libbacktrace and experimental.
7666 * src/Makefile.in: Regenerate.
7667
76682023-02-04 Hans-Peter Nilsson <hp@axis.com>
7669
7670 PR libstdc++/108672
7671 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
7672 instead of int32_t.
7673
76742023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
7675
7676 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
7677 * doc/html/manual/documentation_hacking.html: Regenerate.
7678
76792023-02-04 François Dumont <fdumont@gcc.gnu.org>
7680
7681 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
7682 storage to the move-from instance when allocators are equal.
7683 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
7684 New test case.
7685
76862023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
7687
7688 * config/os/gnu-linux/os_defines.h [!__linux__]
7689 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
7690
76912023-02-03 Patrick Palka <ppalka@redhat.com>
7692
7693 * include/bits/ranges_algo.h (__find_last_fn, find_last):
7694 Define.
7695 (__find_last_if_fn, find_last_if): Define.
7696 (__find_last_if_not_fn, find_last_if_not): Define.
7697 * testsuite/25_algorithms/find_last/1.cc: New test.
7698 * testsuite/25_algorithms/find_last_if/1.cc: New test.
7699 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
7700
77012023-02-03 Patrick Palka <ppalka@redhat.com>
7702
7703 * include/bits/ranges_algo.h (out_value_result): Define.
7704 (iota_result): Define.
7705 (__iota_fn, iota): Define.
7706 * testsuite/25_algorithms/iota/1.cc: New test.
7707
77082023-02-03 Patrick Palka <ppalka@redhat.com>
7709
7710 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
7711 (__contains_subrange_fn, contains_subrange): Define.
7712 * testsuite/25_algorithms/contains/1.cc: New test.
7713 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
7714
77152023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7716
7717 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
7718 * doc/html/manual/abi.html: Regenerate.
7719
77202023-02-02 Jonathan Wakely <jwakely@redhat.com>
7721
7722 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
7723 errc::function_not_supported instead of errc::not_supported.
7724
77252023-02-02 Jonathan Wakely <jwakely@redhat.com>
7726
7727 * include/std/sstream (basic_stringbuf::view): Define for old
7728 std::string ABI.
7729 (basic_istringstream::view, basic_0stringstream::view)
7730 (basic_stringstream::view): Likewise.
7731 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
7732 { dg-require-effective-target cxx11_abi }.
7733 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
7734 Likewise.
7735 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
7736 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
7737 Likewise.
7738 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
7739 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
7740 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
7741 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
7742 Likewise.
7743
77442023-02-02 Jonathan Wakely <jwakely@redhat.com>
7745
7746 PR libstdc++/108636
7747 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
7748 conversion operators for directory iterator comparisons with
7749 std::default_sentinel_t.
7750 * include/bits/fs_path.h (path::path(string_view, _Type))
7751 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
7752 definitions to ...
7753 * src/c++17/fs_path.cc: ... here.
7754 * testsuite/27_io/filesystem/path/108636.cc: New test.
7755
77562023-02-02 Jonathan Wakely <jwakely@redhat.com>
7757
7758 * include/std/variant (variant::operator=): Implement resolution
7759 of LWG 3585.
7760 * testsuite/20_util/variant/lwg3585.cc: New test.
7761
77622023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7763
7764 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
7765 link to https.
7766 * doc/html/manual/using_exceptions.html: Regenerate.
7767
77682023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7769
7770 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
7771 * doc/html/manual/debug.html: Regenerate.
7772
77732023-02-01 Jonathan Wakely <jwakely@redhat.com>
7774
7775 * src/c++11/random.cc (random_device::_M_fini): Do not try to
7776 close the file handle if the target doesn't support the
7777 /dev/random and /dev/urandom files.
7778
77792023-02-01 Jonathan Wakely <jwakely@redhat.com>
7780
7781 * config/os/generic/error_constants.h (errc::value_too_large)
7782 [__AVR__]: Define.
7783 * src/c++11/system_error.cc
7784 (system_category::default_error_condition) [__AVR__]: Only match
7785 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
7786 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
7787 for ENOENT etc. in switch.
7788 (fs::remove_all) [__AVR__]: Likewise.
7789 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
7790 close etc.
7791
77922023-02-01 Jonathan Wakely <jwakely@redhat.com>
7793
7794 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
7795 embed_zoneinfo=no
7796 * configure: Regenerate.
7797
77982023-02-01 Hans-Peter Nilsson <hp@axis.com>
7799
7800 PR testsuite/108632
7801 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
7802 struct at end of S0.
7803
78042023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
7805
7806 * doc/xml/manual/shared_ptr.xml: Move links from both
7807 http://open-std.org and http://www.open-std.org to
7808 https://www.open-std.org.
7809 * doc/html/manual/memory.html: Regenerate.
7810
78112023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7812
7813 * doc/xml/manual/appendix_contributing.xml: Adjust link to
7814 ISO C++ standard at ANSI.
7815 Move link to www.open-std.org to https.
7816 * doc/html/manual/appendix_contributing.html: Regenerate.
7817
78182023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7819
7820 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
7821 links to https.
7822 * doc/html/manual/documentation_hacking.html: Regenerate.
7823
78242023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7825
7826 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
7827 * doc/html/manual/abi.html: Regenerate.
7828
78292023-01-27 Jakub Jelinek <jakub@redhat.com>
7830
7831 PR libstdc++/108568
7832 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
7833 include features.h if present and then check __GLIBC__ and
7834 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
7835 __GLIBC_PREREQ which isn't defined yet.
7836
78372023-01-27 Jonathan Wakely <jwakely@redhat.com>
7838
7839 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
7840 string literal.
7841
78422023-01-27 Jonathan Wakely <jwakely@redhat.com>
7843
7844 PR libstdc++/108554
7845 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
7846
78472023-01-26 Jonathan Wakely <jwakely@redhat.com>
7848
7849 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
7850 rules named "+" for compatibility with older tzdata.zi files.
7851
78522023-01-26 Jonathan Wakely <jwakely@redhat.com>
7853
7854 PR libstdc++/108554
7855 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
7856 nonnull attribute.
7857 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
7858 attributes.
7859 * testsuite/23_containers/map/modifiers/108554.cc: New test.
7860
78612023-01-26 Jonathan Wakely <jwakely@redhat.com>
7862
7863 PR libstdc++/108530
7864 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
7865 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
7866
78672023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
7868
7869 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
7870 use https.
7871 * doc/html/manual/bugs.html: Regenerate.
7872
78732023-01-24 Jonathan Wakely <jwakely@redhat.com>
7874
7875 PR libstdc++/108530
7876 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
7877 /etc/sysconfig/clock.
7878
78792023-01-24 Jonathan Wakely <jwakely@redhat.com>
7880
7881 PR libstdc++/102301
7882 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
7883 std::make_reverse_iterator.
7884 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
7885 (make_from_tuple): Add static assertion from P2255 to diagnose
7886 dangling references.
7887 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
7888 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
7889
78902023-01-23 François Dumont <fdumont@gcc.gnu.org>
7891
7892 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
7893 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
7894 (_Safe_iterator::operator++(int)): Use latter.
7895 (_Safe_iterator::operator--(int)): Likewise.
7896 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
7897 check.
7898 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
7899 New.
7900 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
7901 (_Safe_local_iterator::operator++(int)): Use latter.
7902 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
7903 entry associated to the array entry.
7904
79052023-01-18 Jonathan Wakely <jwakely@redhat.com>
7906
7907 * include/bits/fs_path.h (u8path): Add deprecated attribute.
7908 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
7909 -Wno-deprecated-declarations for C++20 and later.
7910 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
7911 Likewise.
7912 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
7913 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
7914 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
7915
79162023-01-18 Jonathan Wakely <jwakely@redhat.com>
7917
7918 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
7919 Always call _M_fini and _M_getentropy.
7920
79212023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
7922
7923 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
7924 to www.open-std.org to use https.
7925 (COM: Component Model Object Technologies): Rename from...
7926 (The Component Object Model): ...to.
7927 * doc/html/manual/policy_data_structures.html: Regenerate.
7928
79292023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
7930
7931 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
7932 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
7933 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
7934
79352023-01-17 Jonathan Wakely <jwakely@redhat.com>
7936
7937 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
7938 of $host. Fix check for file being present during native build.
7939 * configure: Regenerate.
7940
79412023-01-17 Martin Liska <mliska@suse.cz>
7942
7943 * src/libbacktrace/Makefile.in: Regenerate.
7944
79452023-01-16 Jonathan Wakely <jwakely@redhat.com>
7946
7947 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
7948
79492023-01-16 Jonathan Wakely <jwakely@redhat.com>
7950
7951 PR libstdc++/108413
7952 * include/c_compatibility/stdatomic.h: Change copyright line to
7953 be consistent with other headers contributed under DCO terms.
7954 * include/std/expected: Add full stop to copyright line.
7955 * src/c++20/tzdb.cc: Likewise.
7956
79572023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
7958
7959 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
7960 https.
7961 * doc/xml/manual/status_cxx2017.xml: Ditto.
7962 * doc/xml/manual/status_cxx2020.xml: Ditto.
7963 * doc/xml/manual/status_cxx2023.xml: Ditto.
7964 * doc/html/manual/status.html: Regenerate.
7965
79662023-01-15 Jonathan Wakely <jwakely@redhat.com>
7967
7968 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
7969 and fail gracefully if defining the weak symbol doesn't work.
7970
79712023-01-15 François Dumont <fdumont@gcc.gnu.org>
7972
7973 PR libstdc++/108288
7974 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
7975 fix to other iterator category.
7976 (_Safe_iterator<>::operator--(int)): Likewise.
7977 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
7978 Fix deadlock.
7979 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
7980 (invalid_local_iterator_post_increment): New.
7981 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
7982 New test.
7983 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
7984 New test.
7985
79862023-01-15 Jonathan Wakely <jwakely@redhat.com>
7987
7988 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
7989 dg-options.
7990
79912023-01-15 Jonathan Wakely <jwakely@redhat.com>
7992
7993 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
7994
79952023-01-14 Björn Schäpers <bjoern@hazardy.de>
7996
7997 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
7998 windows.h. Add pecoff as FORMAT_FILE.
7999 * config.h.in: Regenerate.
8000 * configure: Regenerate.
8001 * src/libbacktrace/Makefile.am: Regenerate.
8002 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
8003
80042023-01-14 Björn Schäpers <bjoern@hazardy.de>
8005
8006 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
8007 raw __name if __cxa_demangle could not demangle it.
8008
80092023-01-14 Jonathan Wakely <jwakely@redhat.com>
8010
8011 PR libstdc++/108409
8012 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
8013 variable.
8014
80152023-01-14 Jonathan Wakely <jwakely@redhat.com>
8016
8017 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
8018 loading tzdb.
8019 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
8020 effective target.
8021 * testsuite/std/time/tzdb_list/1.cc: Likewise.
8022
80232023-01-14 Jonathan Wakely <jwakely@redhat.com>
8024
8025 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
8026 --with-libstdcxx-zoneinfo-dir configure option with
8027 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
8028 a directory.
8029 * config.h.in: Regenerate.
8030 * configure: Regenerate.
8031 * doc/xml/manual/configure.xml: Document configure option.
8032 * doc/html/manual/configure.html: Regenerate.
8033 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
8034 * src/c++20/Makefile.in: Regenerate.
8035 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
8036 null pointer if no directory is configured.
8037 (zoneinfo_dir): Replace with ...
8038 (zoneinfo_file): New function.
8039 (tzdata_stream): New istream class.
8040 (remote_version, reload_tzdb): Use tzdata_stream.
8041 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
8042 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
8043 tzdata.zi file in default location.
8044 * src/c++20/tzdata.zi: New file.
8045
80462023-01-14 Jonathan Wakely <jwakely@redhat.com>
8047
8048 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
8049 * testsuite/std/time/month_day/io.cc: New test.
8050 * testsuite/std/time/month_day_last/io.cc: New test.
8051 * testsuite/std/time/month_weekday/io.cc: New test.
8052 * testsuite/std/time/month_weekday_last/io.cc: New test.
8053 * testsuite/std/time/weekday_indexed/io.cc: New test.
8054 * testsuite/std/time/weekday_last/io.cc: New test.
8055 * testsuite/std/time/year_month/io.cc: New test.
8056 * testsuite/std/time/year_month_day_last/io.cc: New test.
8057 * testsuite/std/time/year_month_weekday/io.cc: New test.
8058 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
8059
80602023-01-14 François Dumont <fdumont@gcc.gnu.org>
8061
8062 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
8063 specifications.
8064 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
8065 export.
8066
80672023-01-13 Jonathan Wakely <jwakely@redhat.com>
8068
8069 * include/bits/std_mutex.h: Include <errno.h>.
8070
80712023-01-13 Arsen Arsenović <arsen@aarsen.me>
8072
8073 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
8074 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
8075 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
8076 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
8077 std::make_unique with a freestanding-compatible wrapper around
8078 unique_ptr.
8079 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
8080 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
8081 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
8082 Ditto.
8083 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
8084 of __cpp_lib_ranges in !HOSTED.
8085
80862023-01-13 Arsen Arsenović <arsen@aarsen.me>
8087
8088 * include/Makefile.am: Install bits/char_traits.h,
8089 std/string_view
8090 * include/Makefile.in: Regenerate.
8091 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
8092 mbstate-only bits behind appropriate #ifs.
8093 * include/std/string_view: Gate <iostream> functionality behind
8094 HOSTED.
8095 * include/std/version: Enable __cpp_lib_constexpr_string_view
8096 and __cpp_lib_starts_ends_with in !HOSTED.
8097 * include/std/ranges: Re-enable __is_basic_string_view on
8098 freestanding, include <string_view> directly.
8099 * include/precompiled/stdc++.h: Include <string_view> when
8100 !HOSTED too.
8101 * testsuite/20_util/function_objects/searchers.cc: Skip testing
8102 boyer_moore searchers on freestanding
8103 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
8104 <string>-related tests behind __STDC_HOSTED__.
8105 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
8106 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
8107 unused <stdexcept> include.
8108 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
8109 unused <vector> include.
8110 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
8111 Guard <string> related testing behind __STDC_HOSTED__.
8112 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
8113 Guard <stdexcept> related tests behind __STDC_HOSTED__.
8114 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
8115 Ditto.
8116 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
8117 Guard <stdexcept> tests behind __STDC_HOSTED__.
8118 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
8119 Enable test on freestanding, guard <stdexcept> bits behind
8120 __STDC_HOSTED__.
8121 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
8122 Guard <stdexcept> bits behind __STDC_HOSTED__.
8123 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
8124 Ditto.
8125
81262023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
8127
8128 PR libstdc++/86419
8129 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
8130 errors in incomplete multibyte sequences.
8131 (utf16_in): Remove surrogates parameter. Fix conditions for
8132 returning partial.
8133 (utf16_out): Fix condition for returning partial.
8134 (ucs2_in): Do not pass surrogates argument to utf16_in.
8135 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
8136 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
8137 tests.
8138 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
8139 test.
8140
81412023-01-13 Jonathan Wakely <jwakely@redhat.com>
8142
8143 PR libstdc++/108331
8144 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
8145 __GTHREAD_LEGACY_MUTEX_T if defined.
8146
81472023-01-13 Jonathan Wakely <jwakely@redhat.com>
8148
8149 PR libstdc++/108327
8150 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
8151 Export __try_use_facet specializations for facets in namespace
8152 __gnu_cxx_ldbl128.
8153 * config/os/gnu-linux/ldbl-ieee128-extra.ver
8154 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
8155 __gnu_cxx_ieee128.
8156 * testsuite/util/testsuite_abi.cc: Add to lists of known and
8157 latest versions.
8158
81592023-01-13 Jonathan Wakely <jwakely@redhat.com>
8160
8161 * include/bits/std_mutex.h: Remove <system_error> include.
8162 * include/std/condition_variable: Add <bits/error_constants.h>
8163 include.
8164 * include/std/mutex: Likewise.
8165 * include/std/shared_mutex: Likewise.
8166
81672023-01-12 Jonathan Wakely <jwakely@redhat.com>
8168
8169 PR libstdc++/77691
8170 * include/experimental/memory_resource
8171 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
8172 (do_allocate, do_deallocate): Check it.
8173 * testsuite/experimental/memory_resource/new_delete_resource.cc:
8174 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
8175
81762023-01-12 Jonathan Wakely <jwakely@redhat.com>
8177
8178 * doc/xml/manual/abi.xml: Add latest library versions.
8179 * doc/html/manual/abi.html: Regenerate.
8180
81812023-01-12 François Dumont <fdumont@gcc.gnu.org>
8182
8183 PR libstdc++/107189
8184 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
8185 unused _Alloc_node instance.
8186
81872023-01-12 Jonathan Wakely <jwakely@redhat.com>
8188
8189 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
8190 Define as unsigned long if always lock-free, and unsigned int
8191 otherwise.
8192
81932023-01-10 Jonathan Wakely <jwakely@redhat.com>
8194
8195 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
8196 __catch macros for exception handling.
8197
81982023-01-10 Jonathan Wakely <jwakely@redhat.com>
8199
8200 PR libstdc++/108221
8201 * include/bits/stl_algobase.h (__lg): Replace six overloads with
8202 a single function template for all integer types.
8203 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
8204 arithmetic results back to _Distance.
8205
82062023-01-10 Jonathan Wakely <jwakely@redhat.com>
8207
8208 PR libstdc++/108221
8209 * include/std/span (span::span()): Un-simplify constraint to
8210 work for size_t of lesser rank than int.
8211
82122023-01-07 LIU Hao <lh_mouse@126.com>
8213
8214 PR middle-end/108300
8215 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
8216 <windows.h>.
8217 * src/c++11/thread.cc: Likewise.
8218 * src/c++17/fs_ops.cc: Likewise.
8219 * src/filesystem/ops.cc: Likewise.
8220
82212023-01-06 Jonathan Wakely <jwakely@redhat.com>
8222
8223 PR libstdc++/108228
8224 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
8225
82262023-01-06 Jonathan Wakely <jwakely@redhat.com>
8227
8228 PR libstdc++/108235
8229 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
8230 template and partial specialization for synchronizing access to
8231 time_zone::_Impl::infos.
8232 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
8233 rules_counter.
8234
82352023-01-06 Patrick Palka <ppalka@redhat.com>
8236
8237 PR libstdc++/108260
8238 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
8239 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
8240 (__cpp_lib_ranges_chunk): Likewise.
8241 (__cpp_lib_ranges_slide): Likewise.
8242 (__cpp_lib_ranges_chunk_by): Likewise.
8243 (__cpp_lib_ranges_join_with): Likewise.
8244 (__cpp_lib_ranges_repeat): Likewise.
8245 (__cpp_lib_ranges_stride): Likewise.
8246 (__cpp_lib_ranges_cartesian_product): Likewise.
8247 (__cpp_lib_ranges_as_rvalue): Likewise.
8248 * include/std/version: Ditto.
8249 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
8250 feature-test macro.
8251 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
8252 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
8253 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
8254 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
8255 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
8256 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
8257 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
8258 * testsuite/std/ranges/repeat/1.cc: Likewise.
8259 * testsuite/std/ranges/zip/1.cc: Likewise.
8260 * testsuite/std/ranges/version_c++23.cc: New test.
8261
82622023-01-06 Jonathan Wakely <jwakely@redhat.com>
8263
8264 PR libstdc++/108214
8265 * include/std/bitset (operator>>): Use alloca in the right
8266 scope, not in a constructor.
8267 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
8268
82692023-01-06 Jonathan Wakely <jwakely@redhat.com>
8270
8271 PR libstdc++/108221
8272 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
8273 Disable visiting floating-point types.
8274
82752023-01-06 Jonathan Wakely <jwakely@redhat.com>
8276
8277 PR libstdc++/108288
8278 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
8279 (_Safe_iterator::operator--(int)): Do not hold lock around
8280 construction of return value.
8281
82822023-01-05 John David Anglin <danglin@gcc.gnu.org>
8283
8284 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
8285 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
8286 lock release. Revise loop.
8287 (__atomic_add): Likewise.
8288
82892023-01-05 Jonathan Wakely <jwakely@redhat.com>
8290
8291 PR libstdc++/108212
8292 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
8293 variable.
8294 (StdChronoTimePointPrinter::to_string): Use it.
8295
82962023-01-05 Jonathan Wakely <jwakely@redhat.com>
8297
8298 PR libstdc++/108290
8299 * include/std/functional (_Bind_front): Add no_unique_address
8300 attribute to data members.
8301 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
8302 size of call wrappers with empty types for targets and bound
8303 arguments.
8304
83052023-01-05 Jonathan Wakely <jwakely@redhat.com>
8306
8307 PR libstdc++/108211
8308 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
8309 using only last component of the name.
8310
83112023-01-05 Jonathan Wakely <jwakely@redhat.com>
8312
8313 PR libstdc++/108228
8314 PR libstdc++/108235
8315 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
8316 the latest symbol version.
8317 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
8318 atomic<_Node*> is not always lock free.
8319 (USE_ATOMIC_LIST_HEAD): New macro.
8320 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
8321 definition of weak symbol.
8322 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
8323 (tzdb_list::_Node::_S_list_head): New function for accessing
8324 list head efficiently.
8325 (tzdb_list::_Node::_S_cache_list_head): New function for
8326 updating _S_list_head.
8327
83282023-01-05 Jonathan Wakely <jwakely@redhat.com>
8329
8330 PR libstdc++/108265
8331 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
8332 duration rep is unsigned.
8333 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
8334
83352023-01-04 Iain Sandoe <iain@sandoe.co.uk>
8336
8337 PR libstdc++/108228
8338 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
8339 Add __gnu_cxx::zoneinfo_dir_override().
8340
83412023-01-04 Jonathan Wakely <jwakely@redhat.com>
8342
8343 PR libstdc++/108258
8344 * include/std/array (__array_traits<T, 0>::operator T*()): Add
8345 constexpr.
8346 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
8347 std::array<T, 0>::data().
8348
8349\f
8350Copyright (C) 2023 Free Software Foundation, Inc.
8351
8352Copying and distribution of this file, with or without modification,
8353are permitted in any medium without royalty provided the copyright
8354notice and this notice are preserved.