1 2023-11-28 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/atomic_wait.h: Include <stdint.h>.
5 2023-11-28 Jonathan Wakely <jwakely@redhat.com>
7 * include/bits/stl_uninitialized.h: Fix typo in comment.
9 2023-11-24 Jan Hubicka <jh@suse.cz>
12 * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead
15 2023-11-23 Jonathan Wakely <jwakely@redhat.com>
18 * include/bits/ranges_base.h (from_range_t): Define new tag
20 (from_range): Define new tag object.
21 * include/bits/version.def (ranges_to_container): Define.
22 * include/bits/version.h: Regenerate.
23 * include/std/ranges (ranges::to): Define.
24 * testsuite/std/ranges/conv/1.cc: New test.
25 * testsuite/std/ranges/conv/2_neg.cc: New test.
26 * testsuite/std/ranges/conv/version.cc: New test.
28 2023-11-23 Jonathan Wakely <jwakely@redhat.com>
30 * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix
31 equality operator for heterogeneous comparisons.
33 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
35 * include/bits/version.def (freestanding_cstring): Add.
36 * include/bits/version.h: Regenerate.
37 * include/c_compatibility/string.h (strtok): Do not declare for
39 * include/c_global/cstring (strtok): Likewise.
40 * testsuite/21_strings/headers/cstring/version.cc: New test.
42 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
44 * include/bits/version.def (freestanding_algorithm)
45 (freestanding_array, freestanding_optional)
46 (freestanding_string_view, freestanding_variant): Add.
47 * include/bits/version.h: Regenerate.
48 * include/std/algorithm (__glibcxx_want_freestanding_algorithm):
50 * include/std/array (__glibcxx_want_freestanding_array):
52 * include/std/optional (__glibcxx_want_freestanding_optional):
54 * include/std/string_view
55 (__glibcxx_want_freestanding_string_view): Define.
56 * include/std/variant (__glibcxx_want_freestanding_variant):
58 * testsuite/20_util/optional/version.cc: Add checks for
59 __cpp_lib_freestanding_optional.
60 * testsuite/20_util/variant/version.cc: Add checks for
61 __cpp_lib_freestanding_variant.
62 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
63 Adjust dg-error line numbers.
64 * testsuite/21_strings/basic_string_view/requirements/version.cc:
66 * testsuite/23_containers/array/requirements/version.cc: New
68 * testsuite/25_algorithms/fill_n/requirements/version.cc: New
70 * testsuite/25_algorithms/swap_ranges/requirements/version.cc:
73 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
75 * include/bits/version.def (freestanding_expected): New macro.
76 (span): Add C++26 value.
77 * include/bits/version.h: Regenerate.
78 * include/std/expected (__glibcxx_want_freestanding_expected):
80 * include/std/span (span::at): New member function.
81 * testsuite/20_util/expected/version.cc: Add checks for
82 __cpp_lib_freestanding_expected.
83 * testsuite/23_containers/span/2.cc: Moved to...
84 * testsuite/23_containers/span/version.cc: ...here. Add checks
85 for __cpp_lib_span in <span> as well as in <version>.
86 * testsuite/23_containers/span/1.cc: Removed.
87 * testsuite/23_containers/span/at.cc: New test.
89 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
91 * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one
92 characters to _M_copy_from_string.
93 * testsuite/tr2/dynamic_bitset/string.cc: New test.
95 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
97 * doc/html/*: Regenerate.
98 * doc/xml/faq.xml: Remove reference to buildstat.html pages.
99 * doc/xml/manual/test.xml: Likewise
101 2023-11-21 Jan Hubicka <jh@suse.cz>
106 * include/bits/stl_vector.h (_M_realloc_append): New member function.
108 * include/bits/vector.tcc: (emplace_back): Use it.
109 (_M_realloc_insert): Let compiler know that new vector size is non-zero.
110 (_M_realloc_append): New member function.
112 2023-11-18 Jonathan Wakely <jwakely@redhat.com>
115 * include/std/format (basic_format_arg::_S_to_arg_type): Check
116 value_type for basic_string_view and basic_string
118 * testsuite/std/format/arguments/112607.cc: New test.
120 2023-11-18 Jonathan Wakely <jwakely@redhat.com>
123 * include/std/format (_Sink_iter::_M_reserve): New member
125 (_Sink::_Reservation): New nested class.
126 (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions.
127 (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual
129 (_Iter_sink<O, ContigIter>::_M_reserve): Likewise.
130 (__do_vformat_to): Use new functions to optimize "{}" case.
132 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
134 * config.h.in: Regenerate.
136 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
138 * include/Makefile.am: Add new header.
139 * include/Makefile.in: Regenerate.
140 * include/bits/version.def (saturation_arithmetic): Define.
141 * include/bits/version.h: Regenerate.
142 * include/std/numeric: Include new header.
143 * include/bits/sat_arith.h: New file.
144 * testsuite/26_numerics/saturation/add.cc: New test.
145 * testsuite/26_numerics/saturation/cast.cc: New test.
146 * testsuite/26_numerics/saturation/div.cc: New test.
147 * testsuite/26_numerics/saturation/mul.cc: New test.
148 * testsuite/26_numerics/saturation/sub.cc: New test.
149 * testsuite/26_numerics/saturation/version.cc: New test.
151 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
153 * include/std/utility (in_range): Rename _Up parameter to _Res.
155 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
157 * include/bits/out_ptr.h: Add Doxygen comments. Remove a
158 redundant preprocessor condition.
159 * testsuite/20_util/smartptr.adapt/version.cc: New test.
161 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
163 * include/bits/chrono_io.h: Fix Doxygen markup.
165 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
168 * include/std/stacktrace (formatter::format): Format according
170 * include/std/thread (formatter::format): Use _Align_right as
172 * testsuite/19_diagnostics/stacktrace/output.cc: Check
173 fill-and-align handling. Change compile test to run.
174 * testsuite/30_threads/thread/id/output.cc: Check fill-and-align
177 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
180 * include/Makefile.am: Add new header.
181 * include/Makefile.in: Regenerate.
182 * include/bits/out_ptr.h: New file.
183 * include/bits/shared_ptr.h (__is_shared_ptr): Move definition
185 * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from
187 * include/bits/shared_ptr_base.h (__shared_count): Declare
188 out_ptr_t as a friend.
189 (_Sp_counted_deleter, __shared_ptr): Likewise.
190 * include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>):
191 Declare out_ptr_t and inout_ptr_t as friends.
192 (__is_unique_ptr): Define new variable template.
193 * include/bits/version.def (out_ptr): Define.
194 * include/bits/version.h: Regenerate.
195 * include/std/memory: Include new header.
196 * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test.
197 * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test.
198 * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc:
200 * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New
202 * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test.
203 * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test.
204 * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc:
206 * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New
209 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
211 * include/bits/algorithmfwd.h: Do not define standard feature
213 * include/bits/align.h: Likewise. Test internal macros instead
215 * include/bits/alloc_traits.h: Likewise.
216 * include/bits/allocator.h: Likewise.
217 * include/bits/atomic_base.h: Likewise.
218 * include/bits/atomic_timed_wait.h: Likewise.
219 * include/bits/atomic_wait.h: Likewise.
220 * include/bits/basic_string.h: Likewise.
221 * include/bits/basic_string.tcc: Likewise.
222 * include/bits/char_traits.h: Likewise.
223 * include/bits/chrono.h: Likewise.
224 * include/bits/cow_string.h: Likewise.
225 * include/bits/forward_list.h: Likewise.
226 * include/bits/hashtable.h: Likewise.
227 * include/bits/ios_base.h: Likewise.
228 * include/bits/memory_resource.h: Likewise.
229 * include/bits/move.h: Likewise.
230 * include/bits/move_only_function.h: Likewise.
231 * include/bits/node_handle.h: Likewise.
232 * include/bits/ptr_traits.h: Likewise.
233 * include/bits/range_access.h: Likewise.
234 * include/bits/ranges_algo.h: Likewise.
235 * include/bits/ranges_cmp.h: Likewise.
236 * include/bits/ranges_util.h: Likewise.
237 * include/bits/semaphore_base.h: Likewise.
238 * include/bits/shared_ptr.h: Likewise.
239 * include/bits/shared_ptr_atomic.h: Likewise.
240 * include/bits/shared_ptr_base.h: Likewise.
241 * include/bits/stl_algo.h: Likewise.
242 * include/bits/stl_algobase.h: Likewise.
243 * include/bits/stl_function.h: Likewise.
244 * include/bits/stl_iterator.h: Likewise.
245 * include/bits/stl_list.h: Likewise.
246 * include/bits/stl_map.h: Likewise.
247 * include/bits/stl_pair.h: Likewise.
248 * include/bits/stl_queue.h: Likewise.
249 * include/bits/stl_stack.h: Likewise.
250 * include/bits/stl_tree.h: Likewise.
251 * include/bits/stl_uninitialized.h: Likewise.
252 * include/bits/stl_vector.h: Likewise.
253 * include/bits/unique_ptr.h: Likewise.
254 * include/bits/unordered_map.h: Likewise.
255 * include/bits/uses_allocator_args.h: Likewise.
256 * include/bits/utility.h: Likewise.
257 * include/bits/erase_if.h: Add comment.
258 * include/std/algorithm: Define standard feature test macros
260 * include/std/atomic: Likewise.
261 * include/std/array: Likewise.
262 * include/std/chrono: Likewise.
263 * include/std/condition_variable: Likewise.
264 * include/std/deque: Likewise.
265 * include/std/format: Likewise.
266 * include/std/functional: Likewise.
267 * include/std/forward_list: Likewise.
268 * include/std/ios: Likewise.
269 * include/std/iterator: Likewise.
270 * include/std/list: Likewise.
271 * include/std/map: Likewise.
272 * include/std/memory: Likewise.
273 * include/std/numeric: Likewise.
274 * include/std/queue: Likewise.
275 * include/std/ranges: Likewise.
276 * include/std/regex: Likewise.
277 * include/std/set: Likewise.
278 * include/std/stack: Likewise.
279 * include/std/stop_token: Likewise.
280 * include/std/string: Likewise.
281 * include/std/string_view:
282 * include/std/tuple: Likewise.
283 * include/std/unordered_map:
284 * include/std/unordered_set:
285 * include/std/utility: Likewise.
286 * include/std/vector: Likewise.
287 * include/std/scoped_allocator: Query internal macros instead of
290 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
292 * testsuite/18_support/byte/requirements.cc: Disable PCH.
293 * testsuite/18_support/destroying_delete.cc: Likewise.
294 * testsuite/18_support/source_location/1.cc: Likewise.
295 * testsuite/18_support/source_location/version.cc: Likewise.
296 * testsuite/18_support/type_info/constexpr.cc: Likewise.
297 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
299 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
300 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
301 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
302 * testsuite/20_util/addressof/requirements/constexpr.cc:
304 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
305 * testsuite/20_util/allocator_traits/header.cc: Likewise.
306 * testsuite/20_util/as_const/1.cc: Likewise. Likewise.
307 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
308 * testsuite/20_util/bitset/version.cc: Likewise.
309 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
311 * testsuite/20_util/duration_cast/rounding.cc: Likewise.
312 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
314 * testsuite/20_util/exchange/constexpr.cc: Likewise.
315 * testsuite/20_util/expected/synopsis.cc: Likewise.
316 * testsuite/20_util/expected/version.cc: Likewise.
317 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
318 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
319 * testsuite/20_util/function_objects/invoke/3.cc: Likewise.
320 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
321 * testsuite/20_util/function_objects/invoke/constexpr.cc:
323 * testsuite/20_util/function_objects/invoke/version.cc:
325 * testsuite/20_util/function_objects/searchers.cc: Likewise.
326 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
327 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
328 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
329 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
330 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
331 * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
333 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
335 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
336 * testsuite/20_util/is_nothrow_swappable/value.h: Likewise.
337 * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
338 Remove redundant checks already tested elsewhere.
339 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
341 * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable
343 * testsuite/20_util/is_pointer_interconvertible/value.cc:
345 * testsuite/20_util/is_pointer_interconvertible/version.cc:
347 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
348 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
349 * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
350 Remove redundant checks already tested elsewhere.
351 * testsuite/20_util/is_swappable/requirements/typedefs.cc:
352 Remove redundant checks already tested elsewhere.
353 * testsuite/20_util/is_swappable/value.cc: Disable PCH.
354 * testsuite/20_util/is_swappable/value.h: Reorder headers.
355 * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
356 Remove redundant checks already tested elsewhere.
357 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
358 Remove redundant checks already tested elsewhere.
359 * testsuite/20_util/is_swappable_with/value.cc: Disable PCH.
360 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
361 * testsuite/20_util/move_only_function/cons.cc: Likewise.
362 * testsuite/20_util/move_only_function/version.cc: Likewise.
363 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
364 * testsuite/20_util/optional/requirements.cc: Likewise.
365 * testsuite/20_util/optional/version.cc: Likewise.
366 * testsuite/20_util/owner_less/void.cc: Likewise.
367 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
368 * testsuite/20_util/reference_from_temporary/version.cc:
370 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
372 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
373 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
374 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
375 * testsuite/20_util/time_point_cast/rounding.cc: Likewise.
376 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
377 * testsuite/20_util/to_chars/result.cc: Likewise.
378 * testsuite/20_util/to_chars/version.cc: Likewise.
379 * testsuite/20_util/to_underlying/1.cc: Likewise.
380 * testsuite/20_util/to_underlying/version.cc: Likewise.
381 * testsuite/20_util/tuple/apply/1.cc: Likewise.
382 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
384 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
385 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
386 * testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
387 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
389 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
391 * testsuite/20_util/unreachable/1.cc: Likewise.
392 * testsuite/20_util/unreachable/version.cc: Likewise.
393 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
394 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
395 * testsuite/20_util/variant/constexpr.cc: Likewise.
396 * testsuite/20_util/variant/version.cc: Likewise.
397 * testsuite/20_util/variant/visit_inherited.cc: Likewise.
398 * testsuite/20_util/void_t/1.cc: Likewise.
399 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
401 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
403 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
405 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
406 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
408 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
410 * testsuite/21_strings/basic_string/version.cc: Likewise.
411 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
413 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
415 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
417 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
419 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
421 * testsuite/21_strings/char_traits/requirements/version.cc:
423 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
425 * testsuite/23_containers/array/creation/1.cc: Likewise.
426 * testsuite/23_containers/array/creation/2.cc: Likewise.
427 * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
429 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
431 * testsuite/23_containers/array/requirements/constexpr_iter.cc:
433 * testsuite/23_containers/deque/erasure.cc: Likewise.
434 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
435 * testsuite/23_containers/list/erasure.cc: Likewise.
436 * testsuite/23_containers/map/erasure.cc: Likewise.
437 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
438 * testsuite/23_containers/set/erasure.cc: Likewise.
439 * testsuite/23_containers/span/1.cc: Likewise.
440 * testsuite/23_containers/span/2.cc: Likewise.
441 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
442 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
443 * testsuite/23_containers/unordered_map/operations/1.cc:
445 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
446 * testsuite/23_containers/unordered_set/operations/1.cc:
448 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
449 * testsuite/23_containers/vector/erasure.cc: Likewise.
450 * testsuite/23_containers/vector/requirements/version.cc:
452 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
453 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
454 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
455 Remove redundant checks already tested elsewhere.
456 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
457 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
458 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
459 * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
460 * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
461 * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
462 * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
463 * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
464 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
465 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
466 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
467 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
468 * testsuite/26_numerics/bit/header-2.cc: Likewise.
469 * testsuite/26_numerics/bit/header.cc: Likewise.
470 * testsuite/26_numerics/complex/1.cc: Likewise.
471 * testsuite/26_numerics/complex/2.cc: Likewise.
472 * testsuite/26_numerics/endian/2.cc: Likewise.
473 * testsuite/26_numerics/endian/3.cc: Likewise.
474 * testsuite/26_numerics/gcd/1.cc: Likewise.
475 * testsuite/26_numerics/lcm/1.cc: Likewise.
476 * testsuite/26_numerics/lerp/1.cc: Likewise.
477 * testsuite/26_numerics/lerp/version.cc: Likewise.
478 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
479 * testsuite/26_numerics/midpoint/version.cc: Likewise.
480 * testsuite/26_numerics/numbers/1.cc: Likewise.
481 * testsuite/26_numerics/numbers/2.cc: Likewise.
482 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc:
484 * testsuite/27_io/basic_filebuf/native_handle/version.cc:
486 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc:
488 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
490 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
491 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
492 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
493 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
494 * testsuite/27_io/spanstream/1.cc: Likewise.
495 * testsuite/27_io/spanstream/version.cc: Likewise.
496 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
497 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
498 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
499 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
500 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
502 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
503 * testsuite/30_threads/barrier/1.cc: Likewise.
504 * testsuite/30_threads/barrier/2.cc: Likewise.
505 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
507 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
509 * testsuite/30_threads/jthread/1.cc: Likewise.
510 * testsuite/30_threads/jthread/version.cc: Likewise.
511 * testsuite/30_threads/latch/1.cc: Likewise.
512 * testsuite/30_threads/latch/2.cc: Likewise.
513 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
515 * testsuite/30_threads/semaphore/1.cc: Likewise.
516 * testsuite/30_threads/semaphore/2.cc: Likewise.
517 * testsuite/30_threads/stop_token/1.cc: Likewise.
518 * testsuite/30_threads/stop_token/2.cc: Likewise.
519 * testsuite/experimental/feat-char8_t.cc: Likewise.
520 * testsuite/experimental/iterator/ostream_joiner.cc: Likewise.
521 * testsuite/experimental/numeric/gcd.cc: Likewise.
522 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
523 * testsuite/std/concepts/1.cc: Likewise.
524 * testsuite/std/concepts/2.cc: Likewise.
525 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
526 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
527 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
528 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
529 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
530 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
531 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
532 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
533 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
534 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
535 * testsuite/std/ranges/repeat/1.cc: Likewise.
536 * testsuite/std/ranges/version_c++23.cc: Likewise.
537 * testsuite/std/ranges/zip/1.cc: Likewise.
538 * testsuite/std/time/syn_c++20.cc: Likewise.
539 * testsuite/experimental/feat-cxx14.cc: Likewise. Include
540 <algorithm> and <iterator>.
541 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
542 Adjust dg-error line numbers.
544 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
546 * include/bits/version.def (stds): Use >= 202100 for C++23
548 * include/bits/version.h: Regenerate.
549 * include/std/thread: Use > C++20 instead of >= C++23 for
550 __cplusplus condition.
552 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
554 * include/std/istream (__rvalue_stream_extraction_t): Test
555 __cpp_concepts instead of __cpp_lib_concepts.
556 * include/std/ostream (__derived_from_ios_base): Likewise.
557 (__rvalue_stream_insertion_t): Likewise.
559 2023-11-15 Jonathan Wakely <jwakely@redhat.com>
562 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
563 Correctly handle unused capacity at the start of the first node.
564 * testsuite/libstdc++-xmethods/deque.cc: Check index operator
565 when elements have been removed from the front.
567 2023-11-15 Jonathan Wakely <jwakely@redhat.com>
569 * include/std/stacktrace (basic_stacktrace::at): Fix class name
570 in exception message.
571 * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if
572 current() returns a non-empty stacktrace.
574 2023-11-15 Alexandre Oliva <oliva@gnu.org>
577 2023-11-15 Alexandre Oliva <oliva@adacore.com>
579 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.
581 2023-11-15 Alexandre Oliva <oliva@adacore.com>
583 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.
585 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
587 * include/std/chrono (operator-(const weekday&, const weekday&)):
590 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
592 * include/std/chrono (weekday::_S_from_days): Fix UB.
593 * testsuite/std/time/weekday/1.cc: Add test for overflow.
595 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
597 * include/std/chrono (year::is_leap): Clear code.
599 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
601 * include/std/chrono (year_month_day_last::day): Remove &1.
603 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
605 * include/std/charconv (__from_chars_pow2_base): Convert base to
606 unsigned for call to __countr_zero.
607 (__from_chars_alnum): Likewise for call to __bit_width.
609 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
612 * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix
613 type of hash functio nfor entries.
614 * testsuite/19_diagnostics/stacktrace/hash.cc: New test.
616 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
619 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
620 calculation to use _M_start._M_cur.
621 * testsuite/libstdc++-xmethods/deque.cc: Check failing cases.
623 2023-11-13 Arsen Arsenović <arsen@aarsen.me>
625 * configure: Regenerate.
627 2023-11-13 Jonathan Wakely <jwakely@redhat.com>
629 * testsuite/std/time/clock/file/io.cc: Double timeout using
631 * testsuite/std/time/clock/gps/io.cc: Likewise.
632 * testsuite/std/time/clock/local/io.cc: Likewise.
633 * testsuite/std/time/clock/system/io.cc: Likewise.
634 * testsuite/std/time/clock/tai/io.cc: Likewise.
635 * testsuite/std/time/clock/utc/io.cc: Likewise.
637 2023-11-13 Jonathan Wakely <jwakely@redhat.com>
640 * include/std/optional (_Optional_payload_base::_M_reset): Set
641 _M_engaged to false unconditionally.
643 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
646 * include/bits/stl_bvector.h (_M_assume_normalized): Do not use
647 statement form of assume attribute for Clang.
649 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
651 * include/std/string_view (operator==, operator<=>): Remove
652 redundant overloads (LWG 3950).
654 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
656 * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to...
657 * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here.
658 * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to...
659 * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here.
660 Check macro first and then #undef.
661 * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to...
662 * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here.
664 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
667 * include/bits/utility.h (integer_sequence): Add static_assert.
668 * testsuite/20_util/integer_sequence/112473.cc: New test.
670 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
672 * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective
673 target for specifiers using c++17_down.
675 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
677 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free)
678 (atomic_load_explicit, atomic_load, atomic_store_explicit)
679 (atomic_store, atomic_exchange_explicit, atomic_exchange)
680 (atomic_compare_exchange_strong, atomic_compare_exchange_weak)
681 (atomic_compare_exchange_strong_explicit)
682 (atomic_compare_exchange_weak_explicit): Add deprecated
683 attribute for C++20 and later.
684 * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated
686 * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
687 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
688 * testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
690 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
692 * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]]
693 attribute to constructors.
694 * include/bits/unique_lock.h (unique_lock): Likewise.
695 * include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise.
696 * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test.
697 * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test.
698 * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test.
700 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
702 * include/std/span (span, as_bytes, as_writable_bytes): Add
703 [[nodiscard]] attribute on all non-void functions.
704 * testsuite/23_containers/span/back_assert_neg.cc: Suppress
706 * testsuite/23_containers/span/back_neg.cc: Likewise.
707 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
708 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
709 * testsuite/23_containers/span/first_neg.cc: Likewise.
710 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
711 * testsuite/23_containers/span/front_neg.cc: Likewise.
712 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
713 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
714 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
715 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
716 * testsuite/23_containers/span/last_neg.cc: Likewise.
717 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
719 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
721 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
723 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
725 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
727 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
728 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
729 * testsuite/23_containers/span/nodiscard.cc: New test.
731 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
734 * config.h.in: Regenerate.
735 * configure: Regenerate.
736 * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove.
737 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo.
738 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise.
739 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise.
740 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise.
741 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use
742 GLIBCXX_MAYBE_UNDERSCORED_FUNCS.
744 2023-11-11 Nathaniel Shead <nathanieloshead@gmail.com>
747 * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf)
748 (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl)
749 (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf)
750 (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff)
751 (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf)
752 (tanl, tanhf, tanhl): Add using-declarations in namespace std.
753 * testsuite/26_numerics/headers/cmath/equivalent_functions.cc:
755 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
756 Add checks for existence of above names.
758 2023-11-09 Arsen Arsenović <arsen@aarsen.me>
760 * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as
763 2023-11-09 Arsen Arsenović <arsen@aarsen.me>
765 * include/bits/memoryfwd.h: Remove HOSTED check around allocator
766 and its specializations.
768 2023-11-09 Patrick Palka <ppalka@redhat.com>
771 * include/std/ranges (__detail::__box<_Tp>::operator*): Define
772 && overloads as well.
773 (__detail::__take_of_repeat_view): Forward __r when accessing
775 (__detail::__drop_of_repeat_view): Likewise.
776 * testsuite/std/ranges/repeat/1.cc (test07): New test.
778 2023-11-09 François Dumont <fdumont@gcc.gnu.org>
780 * include/bits/hashtable_policy.h (_RehashStateGuard): New.
781 (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)):
783 * include/bits/hashtable.h (__rehash_guard_t): New.
784 (__rehash_state): Remove.
786 (_M_rehash_aux): Rename into _M_rehash.
787 (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt.
790 2023-11-09 François Dumont <fdumont@gcc.gnu.org>
792 * include/bits/hashtable_policy.h
793 (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New.
794 (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node
795 pointer while constructing in place the value_type instance.
797 2023-11-09 Alexandre Oliva <oliva@adacore.com>
800 * include/bits/stl_bvector.h (_Bit_iterator_base): Add
801 _M_assume_normalized member function. Call it in _M_bump_up,
802 _M_bump_down, _M_incr, operator==, operator<=>, operator<, and
804 (_Bit_iterator): Also call it in operator*.
805 (_Bit_const_iterator): Likewise.
807 2023-11-07 François Dumont <fdumont@gcc.gnu.org>
809 * include/bits/hashtable_policy.h
810 (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor
811 on construct exception.
813 2023-11-07 Richard Biener <rguenther@suse.de>
816 * src/c++98/locale.cc (locale::facet::_S_initialize_once):
817 Check whether _S_c_locale is already initialized.
818 (locale::facet::_S_get_c_locale): Always perform non-threadsafe
819 init when threadsafe init failed.
821 2023-11-06 Ian Lance Taylor <iant@golang.org>
823 PR libbacktrace/111315
824 PR libbacktrace/112263
825 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
826 grepping link.h for dl_iterate_phdr.
827 * configure: Regenerate.
829 2023-11-06 Jonathan Wakely <jwakely@redhat.com>
831 * include/std/expected (expected::and_then, expected::or_else):
832 Add string literals to static assertions.
833 * include/std/optional (optional::and_then, optional::or_else):
836 2023-11-04 Feng Jisen <J1senn@outlook.com>
838 * include/bits/utility.h (_Nth_type): Remove redundant partial
841 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
844 * include/std/system_error (system_error::system_error): Group
845 arguments so that concatenation can reuse rvalue's capacity.
846 * src/c++11/system_error.cc (strerror_string): New function.
847 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
848 (generic_error_category::message): Use strerror_string.
849 (system_error_category::message): Likewise.
851 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
853 * doc/xml/manual/appendix_contributing.xml: Replace example that
855 * doc/html/manual/source_code_style.html: Regenerate.
857 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
860 * include/std/string_view (string_view::remove_suffix): Add
862 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
864 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
867 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
869 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
870 * configure: Regenerate.
872 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
874 * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently
875 added emul TLS symbols.
877 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
879 * src/experimental/contract.cc
880 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment.
881 Remove weak attribute.
883 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
885 * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
888 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
890 * src/experimental/contract.cc
891 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
892 without version namespace decoration for gcc.
894 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
897 * include/std/shared_mutex (shared_lock::unlock): Change errc
898 constant to operation_not_permitted.
899 * testsuite/30_threads/shared_lock/locking/112089.cc: New test.
901 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
903 * testsuite/20_util/duration/io.cc: Double timeout using
905 * testsuite/std/time/day/io.cc: Likewise.
906 * testsuite/std/time/format.cc: Likewise.
907 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
908 * testsuite/std/time/month/io.cc: Likewise.
909 * testsuite/std/time/month_day/io.cc: Likewise.
910 * testsuite/std/time/month_day_last/io.cc: Likewise.
911 * testsuite/std/time/month_weekday/io.cc: Likewise.
912 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
913 * testsuite/std/time/weekday/io.cc: Likewise.
914 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
915 * testsuite/std/time/weekday_last/io.cc: Likewise.
916 * testsuite/std/time/year/io.cc: Likewise.
917 * testsuite/std/time/year_month/io.cc: Likewise.
918 * testsuite/std/time/year_month_day/io.cc: Likewise.
919 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
920 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
921 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
922 * testsuite/std/time/zoned_time/io.cc: Likewise.
924 2023-10-25 Jonathan Wakely <jwakely@redhat.com>
927 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
929 * src/libbacktrace/Makefile.in: Regenerate.
931 2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com>
933 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
935 * include/Makefile.in: Regenerate.
937 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
939 * configure: Regenerate.
940 * configure.ac: Handle Darwin rpaths.
941 * src/Makefile.am: Handle Darwin rpaths.
942 * src/Makefile.in: Regenerate.
944 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
946 * include/bits/basic_string.h (_M_init_local_buf()): New
948 (_M_use_local_data()): Use _M_init_local_buf.
949 (basic_string(), basic_string(const Alloc&))
950 (basic_string(basic_string&&))
951 (basic_string(basic_string&&, const Alloc&)): Use
952 _M_init_local_buf instead of _M_use_local_data().
953 * include/bits/basic_string.tcc (swap(basic_string&))
954 (_M_construct(InIter, InIter, input_iterator_tag))
955 (_M_construct(InIter, InIter, forward_iterator_tag))
956 (_M_construct(size_type, CharT), reserve()): Likewise.
958 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
960 * include/std/ranges (zip_view, adjacent_view): Implement
961 workaround for LLVM-61763.
963 2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com>
965 * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()
967 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
969 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
972 2023-10-20 Marek Polacek <polacek@redhat.com>
975 * include/std/charconv (from_chars): Add explicit casts.
977 2023-10-19 François Dumont <fdumont@gcc.gnu.org>
979 * include/bits/hashtable_policy.h
980 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
981 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
982 * include/bits/hashtable.h
983 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
984 (_M_merge_unique<>, _M_merge_multi<>): Use latter.
985 * testsuite/23_containers/unordered_map/modifiers/merge.cc
986 (test04, test05, test06): New test cases.
988 2023-10-13 Jakub Jelinek <jakub@redhat.com>
990 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
991 Initialize stream to va_arg(ap, FILE*) rather than 0.
992 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
995 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
997 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
998 testsuite/29_atomics/atomic_flag/clear/1.cc,
999 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
1000 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
1001 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
1002 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
1003 testsuite/29_atomics/atomic_ref/generic.cc,
1004 testsuite/29_atomics/atomic_ref/integral.cc,
1005 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
1006 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
1008 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
1010 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
1012 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
1015 2023-10-05 François Dumont <fdumont@gcc.gnu.org>
1017 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
1018 for _Float{16,32,64,128,32x,64x,128x}.
1020 2023-10-04 Tom Tromey <tromey@adacore.com>
1022 * python/libstdcxx/v6/printers.py
1023 (StdExpAnyPrinter.__init__): Qualify call to
1026 2023-10-04 Tom Tromey <tromey@adacore.com>
1028 * python/libstdcxx/v6/printers.py: Assume that
1029 _versioned_namespace is non-None.
1030 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
1031 Assume that _versioned_namespace is non-None.
1033 2023-10-04 Tom Tromey <tromey@adacore.com>
1035 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
1038 2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com>
1041 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
1042 surrogates in UTF-8.
1043 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
1044 (ucs4_in): Fix handling of range with odd number of bytes.
1045 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
1046 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
1047 (ucs2_in): Fix handling of range with odd number of bytes.
1048 (__codecvt_utf16_base<char16_t>::do_in): Likewise.
1049 (__codecvt_utf16_base<char32_t>::do_in): Likewise.
1050 (__codecvt_utf16_base<wchar_t>::do_in): Likewise.
1051 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
1052 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
1053 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
1054 testing functions for char8_t, add more test cases for errors,
1055 add testing functions for codecvt_utf16.
1056 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
1057 Renames, add tests for codecvt_utf16<whchar_t>.
1058 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
1060 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
1063 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
1065 * include/bits/basic_string.h: (basic_string(basic_string&&)):
1066 Activate _M_local_buf when needed.
1067 (basic_string(basic_string&&, const _Alloc&)): Likewise.
1068 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
1069 * include/std/variant: (__detail::__variant::__construct_n): New.
1070 (__detail::__variant::__emplace): Use __construct_n.
1072 2023-09-28 Tom Tromey <tromey@adacore.com>
1074 * python/libstdcxx/v6/printers.py (Printer.add_version)
1075 (add_one_template_type_printer)
1076 (FilteringTypePrinter.add_one_type_printer): Use Python
1079 2023-09-28 Tom Tromey <tromey@adacore.com>
1081 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
1084 2023-09-28 Tom Tromey <tromey@adacore.com>
1086 * python/libstdcxx/v6/printers.py
1087 (StdExpOptionalPrinter.__init__, lookup_node_type):
1088 Remove unused variables.
1090 2023-09-28 Tom Tromey <tromey@adacore.com>
1092 * python/libstdcxx/v6/printers.py: Don't import 'os'.
1093 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
1095 2023-09-28 Tom Tromey <tromey@adacore.com>
1097 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
1098 everywhere. Rename members to start with "_".
1100 2023-09-28 Tom Tromey <tromey@adacore.com>
1102 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python
1103 stack traces from gdb.
1105 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
1107 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
1109 (ArrayMethodsMatcher, DequeMethodsMatcher)
1110 (ForwardListMethodsMatcher, ListMethodsMatcher)
1111 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
1112 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
1113 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
1114 is_specialization_of instead of re.match.
1116 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
1118 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
1119 strings for regular expressions. Add whitespace around
1121 (is_member_of_namespace): Use isinstance to check type.
1122 (is_specialization_of): Likewise. Adjust template_name
1123 for versioned namespace instead of duplicating the re.match
1125 (StdExpAnyPrinter._string_types): New static method.
1126 (StdExpAnyPrinter.to_string): Use _string_types.
1128 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
1130 * python/libstdcxx/v6/printers.py: Format docstrings according
1132 * python/libstdcxx/v6/xmethods.py: Likewise.
1134 2023-09-28 Tim Song <t.canens.cpp@gmail.com>
1137 * include/bits/hashtable_policy.h
1138 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
1139 Add [[__gnu__::__always_inline__]].
1141 2023-09-27 Jonathan Wakely <jwakely@redhat.com>
1143 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
1144 Fix incorrect number of replacement fields.
1146 2023-09-26 Hans-Peter Nilsson <hp@axis.com>
1148 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
1149 dg-require-thread-fence.
1151 2023-09-25 Patrick Palka <ppalka@redhat.com>
1153 * include/std/charconv (__detail::__integer_to_chars_result_type):
1155 (__detail::__to_chars_16): Use to_chars_result as return type.
1156 (__detail::__to_chars_10): Likewise.
1157 (__detail::__to_chars_8): Likewise.
1158 (__detail::__to_chars_2): Likewise.
1159 (__detail::__to_chars_i): Likewise.
1160 (__detail::__integer_from_chars_result_type): Inline the
1162 (from_chars): ... here. Use __is_standard_integer in the
1163 constraint. Encode constraint as a defaulted non-type template
1164 parameter instead of within the return type.
1166 2023-09-25 John David Anglin <danglin@gcc.gnu.org>
1168 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1170 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
1174 * include/std/array (to_array): Cast memcpy arguments to void*.
1175 * testsuite/23_containers/array/creation/111512.cc: New test.
1177 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
1179 * include/bits/move.h (forward_list): Define for C++23.
1180 * include/bits/version.def (forward_like): Define.
1181 * include/bits/version.h: Regenerate.
1182 * include/std/utility (__glibcxx_want_forward_like): Define.
1183 * testsuite/20_util/forward_like/1.cc: New test.
1184 * testsuite/20_util/forward_like/2_neg.cc: New test.
1185 * testsuite/20_util/forward_like/version.cc: New test.
1187 2023-09-19 Marek Polacek <polacek@redhat.com>
1189 * testsuite/20_util/allocator/105975.cc: Add dg-error.
1191 2023-09-18 Patrick Palka <ppalka@redhat.com>
1195 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
1196 Make data member seed_seq::called mutable.
1197 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
1199 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
1201 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
1203 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
1205 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
1207 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
1210 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1212 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
1213 * doc/html/manual/status.html: Regenerate.
1215 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1217 * doc/xml/manual/configure.xml: Use conventional option name.
1218 * doc/xml/manual/status_cxx2020.xml: Update.
1219 * doc/xml/manual/status_cxx2023.xml: Update.
1220 * doc/html/*: Regenerate.
1222 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1224 * doc/xml/manual/intro.xml: Clarify that building libstdc++
1225 separately from GCC is not supported.
1226 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
1228 * doc/html/manual/setup.html: Regenerate.
1230 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1232 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
1233 restrict to pthreads targets.
1234 * testsuite/30_threads/jthread/3.cc: Likewise.
1235 * testsuite/30_threads/semaphore/100806.cc: Likewise.
1236 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
1237 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
1238 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
1240 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1242 * testsuite/18_support/coroutines/95917.cc: Remove dg-options
1244 * testsuite/18_support/coroutines/hash.cc: Likewise.
1245 * testsuite/18_support/coroutines/lwg3460.cc: Likewise.
1246 * testsuite/18_support/destroying_delete.cc: Likewise.
1247 * testsuite/18_support/source_location/1.cc: Likewise.
1248 * testsuite/18_support/source_location/consteval.cc: Likewise.
1249 * testsuite/18_support/source_location/version.cc: Likewise.
1250 * testsuite/19_diagnostics/error_category/operators/three_way.cc:
1252 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
1254 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
1256 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
1257 * testsuite/26_numerics/adjacent_difference/lwg2055.cc:
1259 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
1260 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
1261 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
1262 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
1263 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
1264 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
1266 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
1268 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
1270 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
1271 * testsuite/experimental/filesystem/iterators/106201.cc:
1273 * testsuite/experimental/scopeguard/exit.cc: Likewise.
1274 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
1276 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1278 * testsuite/30_threads/barrier/1.cc: Remove dg-options
1280 * testsuite/30_threads/barrier/2.cc: Likewise.
1281 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1282 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1283 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1284 * testsuite/30_threads/barrier/completion.cc: Likewise.
1285 * testsuite/30_threads/condition_variable/members/clock_neg.cc:
1287 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
1289 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
1291 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
1293 * testsuite/30_threads/future/members/clock_neg.cc: Likewise.
1294 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
1295 * testsuite/30_threads/headers/thread/types_std_c++20.cc:
1297 * testsuite/30_threads/jthread/1.cc: Likewise.
1298 * testsuite/30_threads/jthread/100612.cc: Likewise.
1299 * testsuite/30_threads/jthread/95989.cc: Likewise.
1300 * testsuite/30_threads/jthread/jthread.cc: Likewise.
1301 * testsuite/30_threads/jthread/version.cc: Likewise.
1302 * testsuite/30_threads/latch/1.cc: Likewise.
1303 * testsuite/30_threads/latch/2.cc: Likewise.
1304 * testsuite/30_threads/latch/3.cc: Likewise.
1305 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
1307 * testsuite/30_threads/semaphore/1.cc: Likewise.
1308 * testsuite/30_threads/semaphore/2.cc: Likewise.
1309 * testsuite/30_threads/semaphore/least_max_value_neg.cc:
1311 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
1312 * testsuite/30_threads/shared_future/members/clock_neg.cc:
1314 * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
1316 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
1318 * testsuite/30_threads/stop_token/1.cc: Likewise.
1319 * testsuite/30_threads/stop_token/2.cc: Likewise.
1320 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
1321 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
1323 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
1325 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
1327 * testsuite/30_threads/stop_token/stop_callback/invoke.cc:
1329 * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
1330 * testsuite/30_threads/stop_token/stop_source/assign.cc:
1332 * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
1333 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
1335 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
1336 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
1338 * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
1341 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1343 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
1344 Remove dg-options -std=gnu++2a.
1345 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
1347 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
1349 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
1351 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
1352 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
1354 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
1355 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
1357 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
1358 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1360 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
1361 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
1363 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
1365 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
1366 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
1368 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
1369 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
1371 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1372 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1374 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
1375 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
1376 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
1377 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
1378 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1379 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1380 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
1381 * testsuite/27_io/basic_stringstream/cons/char/97719.cc:
1383 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
1385 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
1386 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
1388 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1389 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1391 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
1392 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
1393 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
1394 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
1395 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
1396 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
1397 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
1398 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
1399 * testsuite/27_io/basic_syncstream/requirements/types.cc:
1401 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
1402 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
1403 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
1405 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
1408 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1410 * testsuite/26_numerics/accumulate/constexpr.cc: Remove
1411 dg-options -std=gnu++2a.
1412 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
1413 * testsuite/26_numerics/adjacent_difference/constexpr.cc:
1415 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
1416 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
1417 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
1418 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
1419 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
1421 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
1422 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
1423 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
1424 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
1425 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
1426 * testsuite/26_numerics/bit/header-2.cc: Likewise.
1427 * testsuite/26_numerics/bit/header.cc: Likewise.
1428 * testsuite/26_numerics/complex/1.cc: Likewise.
1429 * testsuite/26_numerics/complex/2.cc: Likewise.
1430 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
1432 * testsuite/26_numerics/complex/operators/more_constexpr.cc:
1434 * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
1436 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
1438 * testsuite/26_numerics/endian/1.cc: Likewise.
1439 * testsuite/26_numerics/endian/2.cc: Likewise.
1440 * testsuite/26_numerics/endian/3.cc: Likewise.
1441 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
1442 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
1443 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
1444 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
1445 * testsuite/26_numerics/iota/constexpr.cc: Likewise.
1446 * testsuite/26_numerics/lerp/1.cc: Likewise.
1447 * testsuite/26_numerics/lerp/constexpr.cc: Likewise.
1448 * testsuite/26_numerics/lerp/version.cc: Likewise.
1449 * testsuite/26_numerics/midpoint/floating.cc: Likewise.
1450 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
1451 * testsuite/26_numerics/midpoint/pointer.cc: Likewise.
1452 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
1453 * testsuite/26_numerics/midpoint/version.cc: Likewise.
1454 * testsuite/26_numerics/numbers/1.cc: Likewise.
1455 * testsuite/26_numerics/numbers/2.cc: Likewise.
1456 * testsuite/26_numerics/numbers/3.cc: Likewise.
1457 * testsuite/26_numerics/numbers/float128.cc: Likewise.
1458 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
1459 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
1460 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
1461 * testsuite/26_numerics/random/concept.cc: Likewise.
1462 * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
1463 * testsuite/26_numerics/slice/compare.cc: Likewise.
1464 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
1466 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
1468 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
1470 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1472 * testsuite/24_iterators/aliases.cc: Remove dg-options
1474 * testsuite/24_iterators/associated_types/incrementable.traits.cc:
1476 * testsuite/24_iterators/associated_types/iterator.traits.cc:
1478 * testsuite/24_iterators/associated_types/readable.traits.cc:
1480 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
1482 * testsuite/24_iterators/back_insert_iterator/pr93884.cc:
1484 * testsuite/24_iterators/bidirectional/concept.cc: Likewise.
1485 * testsuite/24_iterators/common_iterator/1.cc: Likewise.
1486 * testsuite/24_iterators/common_iterator/100823.cc: Likewise.
1487 * testsuite/24_iterators/common_iterator/2.cc: Likewise.
1488 * testsuite/24_iterators/contiguous/concept.cc: Likewise.
1489 * testsuite/24_iterators/contiguous/tag.cc: Likewise.
1490 * testsuite/24_iterators/counted_iterator/1.cc: Likewise.
1491 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
1492 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
1493 * testsuite/24_iterators/customization_points/92894.cc:
1495 * testsuite/24_iterators/customization_points/iter_move.cc:
1497 * testsuite/24_iterators/customization_points/iter_swap.cc:
1499 * testsuite/24_iterators/customization_points/lwg3420.cc:
1501 * testsuite/24_iterators/forward/concept.cc: Likewise.
1502 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
1504 * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
1506 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
1508 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
1509 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
1511 * testsuite/24_iterators/indirect_callable/projected.cc:
1513 * testsuite/24_iterators/input/concept.cc: Likewise.
1514 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
1515 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
1517 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
1518 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
1520 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
1522 * testsuite/24_iterators/move_iterator/cust.cc: Likewise.
1523 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
1524 * testsuite/24_iterators/move_iterator/input_iterator.cc:
1526 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
1527 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
1528 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
1529 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
1530 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
1532 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
1533 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
1534 * testsuite/24_iterators/output/concept.cc: Likewise.
1535 * testsuite/24_iterators/random_access/concept.cc: Likewise.
1536 * testsuite/24_iterators/range_access/range_access_cpp20.cc:
1538 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
1540 * testsuite/24_iterators/range_operations/100768.cc: Likewise.
1541 * testsuite/24_iterators/range_operations/advance.cc: Likewise.
1542 * testsuite/24_iterators/range_operations/advance_overflow.cc:
1544 * testsuite/24_iterators/range_operations/distance.cc: Likewise.
1545 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
1546 * testsuite/24_iterators/range_operations/next.cc: Likewise.
1547 * testsuite/24_iterators/range_operations/prev.cc: Likewise.
1548 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
1549 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
1550 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
1553 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1555 * testsuite/23_containers/array/comparison_operators/96851.cc:
1556 Remove dg-options -std=gnu++2a.
1557 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
1559 * testsuite/23_containers/array/creation/1.cc: Likewise.
1560 * testsuite/23_containers/array/creation/110167.cc: Likewise.
1561 * testsuite/23_containers/array/creation/2.cc: Likewise.
1562 * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
1563 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
1565 * testsuite/23_containers/array/requirements/constexpr_swap.cc:
1567 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
1568 * testsuite/23_containers/deque/erasure.cc: Likewise.
1569 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
1571 * testsuite/23_containers/deque/operators/cmp_c++20.cc:
1573 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
1574 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
1575 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
1576 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
1578 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
1580 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
1582 * testsuite/23_containers/list/48101-3_neg.cc: Likewise.
1583 * testsuite/23_containers/list/cmp_c++20.cc: Likewise.
1584 * testsuite/23_containers/list/erasure.cc: Likewise.
1585 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
1587 * testsuite/23_containers/list/operations/remove_cxx20_return.cc:
1589 * testsuite/23_containers/list/operations/unique_cxx20_return.cc:
1591 * testsuite/23_containers/map/48101-3_neg.cc: Likewise.
1592 * testsuite/23_containers/map/erasure.cc: Likewise.
1593 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
1595 * testsuite/23_containers/map/operations/contains.cc: Likewise.
1596 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
1597 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
1598 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
1600 * testsuite/23_containers/multimap/operations/contains.cc:
1602 * testsuite/23_containers/multimap/operators/cmp_c++20.cc:
1604 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
1605 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
1607 * testsuite/23_containers/multiset/operations/contains.cc:
1609 * testsuite/23_containers/multiset/operators/cmp_c++20.cc:
1611 * testsuite/23_containers/priority_queue/92878_92947.cc:
1613 * testsuite/23_containers/queue/92878_92947.cc: Likewise.
1614 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
1615 * testsuite/23_containers/set/48101-3_neg.cc: Likewise.
1616 * testsuite/23_containers/set/erasure.cc: Likewise.
1617 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
1619 * testsuite/23_containers/set/operations/contains.cc: Likewise.
1620 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
1621 * testsuite/23_containers/span/1.cc: Likewise.
1622 * testsuite/23_containers/span/101411.cc: Likewise.
1623 * testsuite/23_containers/span/2.cc: Likewise.
1624 * testsuite/23_containers/span/deduction.cc: Likewise.
1625 * testsuite/23_containers/span/explicit.cc: Likewise.
1626 * testsuite/23_containers/span/layout_compat.cc: Likewise.
1627 * testsuite/23_containers/span/lwg3255.cc: Likewise.
1628 * testsuite/23_containers/span/nothrow_cons.cc: Likewise.
1629 * testsuite/23_containers/span/trivially_copyable.cc: Likewise.
1630 * testsuite/23_containers/stack/92878_92947.cc: Likewise.
1631 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
1632 * testsuite/23_containers/unordered_map/48101-3_neg.cc:
1634 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
1635 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
1637 * testsuite/23_containers/unordered_map/operations/1.cc:
1639 * testsuite/23_containers/unordered_map/operations/contains.cc:
1641 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
1643 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
1645 * testsuite/23_containers/unordered_multimap/operations/1.cc:
1647 * testsuite/23_containers/unordered_multimap/operations/contains.cc:
1649 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
1651 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
1653 * testsuite/23_containers/unordered_multiset/operations/1.cc:
1655 * testsuite/23_containers/unordered_multiset/operations/contains.cc:
1657 * testsuite/23_containers/unordered_set/48101-3_neg.cc:
1659 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
1660 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
1662 * testsuite/23_containers/unordered_set/operations/1.cc:
1664 * testsuite/23_containers/unordered_set/operations/contains.cc:
1666 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
1667 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
1669 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
1670 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
1672 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
1674 * testsuite/23_containers/vector/bool/iterator_c++20.cc:
1676 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
1678 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
1680 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
1682 * testsuite/23_containers/vector/capacity/constexpr.cc:
1684 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
1685 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
1686 * testsuite/23_containers/vector/data_access/constexpr.cc:
1688 * testsuite/23_containers/vector/element_access/constexpr.cc:
1690 * testsuite/23_containers/vector/erasure.cc: Likewise.
1691 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
1693 * testsuite/23_containers/vector/modifiers/constexpr.cc:
1695 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
1697 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
1699 * testsuite/23_containers/vector/requirements/version.cc:
1702 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1704 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
1705 dg-options -std=gnu++20.
1706 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
1708 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
1710 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
1711 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
1713 * testsuite/21_strings/basic_string/literals/constexpr.cc:
1715 * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
1717 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
1719 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
1721 * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
1723 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
1725 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
1727 * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
1729 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
1731 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
1733 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
1735 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
1737 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1739 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
1741 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
1743 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
1745 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
1747 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
1749 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
1751 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
1753 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
1755 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
1757 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
1759 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
1761 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
1764 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1766 * testsuite/20_util/allocator/105975.cc: Remove dg-options
1768 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
1769 * testsuite/20_util/allocator/requirements/constexpr.cc:
1771 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
1773 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
1774 * testsuite/20_util/allocator_traits/header.cc: Likewise.
1775 * testsuite/20_util/allocator_traits/members/92878_92947.cc:
1777 * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
1778 * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
1779 * testsuite/20_util/assume_aligned/1.cc: Likewise.
1780 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
1781 * testsuite/20_util/assume_aligned/3.cc: Likewise.
1782 * testsuite/20_util/assume_aligned/97132.cc: Likewise.
1783 * testsuite/20_util/bind/constexpr.cc: Likewise.
1784 * testsuite/20_util/bitset/operations/96303.cc: Likewise.
1785 * testsuite/20_util/common_reference/100894.cc: Likewise.
1786 * testsuite/20_util/common_reference/requirements/alias_decl.cc:
1788 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
1790 * testsuite/20_util/common_reference/requirements/typedefs.cc:
1792 * testsuite/20_util/duration/comparison_operators/three_way.cc:
1794 * testsuite/20_util/exchange/constexpr.cc: Likewise.
1795 * testsuite/20_util/exchange/noexcept.cc: Likewise.
1796 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
1797 * testsuite/20_util/from_chars/compare.cc: Likewise.
1798 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
1799 * testsuite/20_util/function_objects/bind_front/107784.cc:
1801 * testsuite/20_util/function_objects/bind_front/111327.cc:
1803 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
1804 * testsuite/20_util/function_objects/bind_front/97101.cc:
1806 * testsuite/20_util/function_objects/bind_front/constexpr.cc:
1808 * testsuite/20_util/function_objects/constexpr_searcher.cc:
1810 * testsuite/20_util/function_objects/identity/1.cc: Likewise.
1811 * testsuite/20_util/function_objects/invoke/constexpr.cc:
1813 * testsuite/20_util/function_objects/mem_fn/constexpr.cc:
1815 * testsuite/20_util/function_objects/not_fn/constexpr.cc:
1817 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
1818 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
1819 * testsuite/20_util/integer_comparisons/equal.cc: Likewise.
1820 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
1821 * testsuite/20_util/integer_comparisons/greater.cc: Likewise.
1822 * testsuite/20_util/integer_comparisons/greater_equal.cc:
1824 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
1826 * testsuite/20_util/integer_comparisons/greater_neg.cc:
1828 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
1829 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
1831 * testsuite/20_util/integer_comparisons/less.cc: Likewise.
1832 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
1833 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
1835 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
1836 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
1837 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
1839 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
1841 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
1843 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
1844 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
1845 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
1846 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
1847 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
1849 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
1850 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
1851 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
1853 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
1855 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
1857 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
1858 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
1859 * testsuite/20_util/is_pointer_interconvertible/value.cc:
1861 * testsuite/20_util/is_pointer_interconvertible/version.cc:
1863 * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
1865 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
1867 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
1869 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
1870 * testsuite/20_util/optional/assignment/92878_92947.cc:
1872 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
1873 * testsuite/20_util/optional/constexpr/assign.cc: Likewise.
1874 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
1875 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
1876 * testsuite/20_util/optional/constexpr/swap.cc: Likewise.
1877 * testsuite/20_util/optional/relops/96269.cc: Likewise.
1878 * testsuite/20_util/optional/relops/three_way.cc: Likewise.
1879 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
1881 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
1882 * testsuite/20_util/pair/constexpr_assign.cc: Likewise.
1883 * testsuite/20_util/pair/constexpr_swap.cc: Likewise.
1884 * testsuite/20_util/pair/requirements/structural.cc: Likewise.
1885 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
1887 * testsuite/20_util/polymorphic_allocator/allocate_object.cc:
1889 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
1891 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
1892 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
1893 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
1894 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
1896 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
1898 * testsuite/20_util/remove_cvref/value.cc: Likewise.
1899 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
1901 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
1903 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
1904 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
1906 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
1907 * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
1909 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
1910 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
1911 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
1912 * testsuite/20_util/time_point/4.cc: Likewise.
1913 * testsuite/20_util/time_point/comparison_operators/three_way.cc:
1915 * testsuite/20_util/to_address/1.cc: Likewise.
1916 * testsuite/20_util/to_address/1_neg.cc: Likewise.
1917 * testsuite/20_util/to_address/debug.cc: Likewise.
1918 * testsuite/20_util/to_address/lwg3545.cc: Likewise.
1919 * testsuite/20_util/to_chars/compare.cc: Likewise.
1920 * testsuite/20_util/tuple/comparison_operators/three_way.cc:
1922 * testsuite/20_util/tuple/cons/102270.cc: Likewise.
1923 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
1925 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
1926 * testsuite/20_util/type_identity/requirements/alias_decl.cc:
1928 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
1930 * testsuite/20_util/type_identity/requirements/typedefs.cc:
1932 * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
1934 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
1936 * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
1938 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
1940 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
1942 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
1943 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
1944 * testsuite/20_util/unwrap_reference/2.cc: Likewise.
1945 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
1946 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
1947 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
1948 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
1949 * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
1951 * testsuite/20_util/variant/92878_92947.cc: Likewise.
1952 * testsuite/20_util/variant/95915.cc: Likewise.
1953 * testsuite/20_util/variant/constexpr.cc: Likewise.
1954 * testsuite/20_util/variant/relops/three_way.cc: Likewise.
1955 * testsuite/20_util/variant/visit_neg.cc: Likewise.
1956 * testsuite/20_util/variant/visit_r.cc: Likewise.
1957 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
1959 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1961 * testsuite/18_support/comparisons/algorithms/fallback.cc:
1962 Remove dg-options -std=gnu++2a.
1963 * testsuite/18_support/comparisons/algorithms/partial_order.cc:
1965 * testsuite/18_support/comparisons/algorithms/strong_order.cc:
1967 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
1969 * testsuite/18_support/comparisons/algorithms/weak_order.cc:
1971 * testsuite/18_support/comparisons/categories/94565.cc:
1973 * testsuite/18_support/comparisons/categories/partialord.cc:
1975 * testsuite/18_support/comparisons/categories/strongord.cc:
1977 * testsuite/18_support/comparisons/categories/weakord.cc:
1979 * testsuite/18_support/comparisons/categories/zero_neg.cc:
1981 * testsuite/18_support/comparisons/common/1.cc: Likewise.
1982 * testsuite/18_support/comparisons/object/93479.cc: Likewise.
1983 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
1985 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1987 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
1988 Remove dg-options -std=gnu++2a.
1989 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
1990 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
1991 * testsuite/29_atomics/atomic/requirements/types_neg.cc:
1993 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
1994 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
1995 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
1996 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
1997 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
1998 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
1999 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
2000 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
2001 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
2002 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
2003 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
2004 * testsuite/29_atomics/atomic_float/1.cc: Likewise.
2005 * testsuite/29_atomics/atomic_float/95282.cc: Likewise.
2006 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
2007 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
2008 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
2009 * testsuite/29_atomics/atomic_integral/cons/value_init.cc:
2011 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
2012 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
2014 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
2015 * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
2016 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
2017 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
2018 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2019 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
2020 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
2022 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
2024 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
2026 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
2029 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2031 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
2032 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
2034 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2036 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
2038 * config.h.in: Regenerate.
2039 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
2040 basic_filebuf members.
2041 * config/io/basic_file_stdio.cc (__basic_file::native_handle):
2042 Define new function.
2043 * config/io/basic_file_stdio.h (__basic_file::native_handle):
2044 Declare new function.
2045 * configure: Regenerate.
2046 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
2047 * include/bits/version.def (fstream_native_handles): New macro.
2048 * include/bits/version.h: Regenerate.
2049 * include/std/fstream (basic_filebuf::native_handle)
2050 (basic_fstream::native_handle, basic_ifstream::native_handle)
2051 (basic_ofstream::native_handle): New functions.
2052 * src/c++11/Makefile.am: Move compilation of basic_file.cc,
2053 locale_init.cc and localename.cc to here.
2054 * src/c++11/Makefile.in: Regenerate.
2055 * src/c++98/locale_init.cc: Moved to...
2056 * src/c++11/locale_init.cc: ...here.
2057 * src/c++98/localename.cc: Moved to...
2058 * src/c++11/localename.cc: ...here.
2059 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
2060 and localename.cc from here.
2061 * src/c++98/Makefile.in: Regenerate.
2062 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
2063 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
2064 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
2065 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
2066 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
2067 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
2068 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
2070 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2072 * testsuite/libstdc++-dg/conformance.exp: Add log line when
2073 using testsuite_files.
2075 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2077 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
2079 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2081 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2083 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
2085 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
2087 * testsuite/20_util/synchronized_pool_resource/cons.cc:
2089 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
2091 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
2093 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
2095 * testsuite/20_util/synchronized_pool_resource/options.cc:
2097 * testsuite/20_util/synchronized_pool_resource/release.cc:
2099 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
2101 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
2103 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
2105 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2108 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2110 * testsuite/23_containers/span/back_assert_neg.cc: Remove
2111 dg-options and add effective target selector to dg-do. Add
2113 * testsuite/23_containers/span/back_neg.cc: Likewise.
2114 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
2115 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
2116 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
2117 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
2118 * testsuite/23_containers/span/first_neg.cc: Likewise.
2119 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
2120 * testsuite/23_containers/span/front_neg.cc: Likewise.
2121 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
2122 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
2123 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
2124 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
2125 * testsuite/23_containers/span/last_neg.cc: Likewise.
2126 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
2128 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
2130 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
2132 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
2134 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
2136 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
2137 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
2138 * testsuite/24_iterators/range_operations/advance_debug_neg.cc:
2141 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2143 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
2145 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
2146 * testsuite/18_support/type_info/constexpr.cc: Likewise.
2147 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
2148 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2149 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2150 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
2151 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
2152 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
2153 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
2154 * testsuite/20_util/bitset/access/constexpr.cc: Likewise.
2155 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
2156 * testsuite/20_util/bitset/count/constexpr.cc: Likewise.
2157 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
2158 * testsuite/20_util/bitset/operations/constexpr_c++23.cc:
2160 * testsuite/20_util/bitset/version.cc: Likewise.
2161 * testsuite/20_util/from_chars/8.cc: Likewise.
2162 * testsuite/20_util/from_chars/constexpr.cc: Likewise.
2163 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
2164 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
2165 * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
2167 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
2168 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
2169 * testsuite/20_util/move_only_function/call.cc: Likewise.
2170 * testsuite/20_util/move_only_function/cons.cc: Likewise.
2171 * testsuite/20_util/move_only_function/move.cc: Likewise.
2172 * testsuite/20_util/move_only_function/version.cc: Likewise.
2173 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
2174 * testsuite/20_util/optional/monadic/or_else.cc: Likewise.
2175 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
2176 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
2177 * testsuite/20_util/optional/monadic/transform.cc: Likewise.
2178 * testsuite/20_util/pair/p2321r2.cc: Likewise.
2179 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
2180 * testsuite/20_util/reference_from_temporary/value2.cc:
2182 * testsuite/20_util/reference_from_temporary/version.cc:
2184 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
2185 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
2186 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
2187 * testsuite/20_util/to_chars/version.cc: Likewise.
2188 * testsuite/20_util/to_underlying/1.cc: Likewise.
2189 * testsuite/20_util/to_underlying/version.cc: Likewise.
2190 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
2191 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
2192 * testsuite/20_util/unique_ptr/comparison/constexpr.cc:
2194 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
2196 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
2197 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
2198 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
2199 * testsuite/20_util/unreachable/1.cc: Likewise.
2200 * testsuite/20_util/unreachable/version.cc: Likewise.
2201 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
2202 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
2203 * testsuite/21_strings/basic_string/operations/contains/char.cc:
2205 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
2206 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
2207 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
2208 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
2209 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
2210 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
2211 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
2212 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
2213 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
2214 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
2215 * testsuite/23_containers/vector/bool/element_access/1.cc:
2217 * testsuite/24_iterators/const_iterator/1.cc: Likewise.
2218 * testsuite/25_algorithms/contains/1.cc: Likewise.
2219 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
2220 * testsuite/25_algorithms/find_last/1.cc: Likewise.
2221 * testsuite/25_algorithms/find_last_if/1.cc: Likewise.
2222 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
2223 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
2224 * testsuite/25_algorithms/fold_right/1.cc: Likewise.
2225 * testsuite/25_algorithms/iota/1.cc: Likewise.
2226 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
2227 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
2228 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
2229 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
2230 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
2232 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
2234 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
2236 * testsuite/26_numerics/numbers/4.cc: Likewise.
2237 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
2238 * testsuite/27_io/filesystem/path/native/conv_c++23.cc:
2240 * testsuite/27_io/spanstream/1.cc: Likewise.
2241 * testsuite/27_io/spanstream/2.cc: Likewise.
2242 * testsuite/27_io/spanstream/version.cc: Likewise.
2243 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
2245 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
2247 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
2248 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
2250 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
2252 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
2253 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
2255 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
2256 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2257 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2258 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2259 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
2260 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2261 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
2262 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2263 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2264 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2265 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
2266 * testsuite/std/ranges/repeat/1.cc: Likewise.
2267 * testsuite/std/ranges/version_c++23.cc: Likewise.
2268 * testsuite/std/ranges/zip/1.cc: Likewise.
2269 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
2271 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2273 * testsuite/20_util/expected/assign.cc: Remove dg-options.
2274 * testsuite/20_util/expected/bad.cc: Likewise.
2275 * testsuite/20_util/expected/cons.cc: Likewise.
2276 * testsuite/20_util/expected/equality.cc: Likewise.
2277 * testsuite/20_util/expected/illformed_neg.cc: Likewise.
2278 * testsuite/20_util/expected/lwg3877.cc: Likewise.
2279 * testsuite/20_util/expected/lwg3938.cc: Likewise.
2280 * testsuite/20_util/expected/monadic.cc: Likewise.
2281 * testsuite/20_util/expected/observers.cc: Likewise.
2282 * testsuite/20_util/expected/requirements.cc: Likewise.
2283 * testsuite/20_util/expected/swap.cc: Likewise.
2284 * testsuite/20_util/expected/synopsis.cc: Likewise.
2285 * testsuite/20_util/expected/unexpected.cc: Likewise.
2286 * testsuite/20_util/expected/version.cc: Likewise.
2288 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2290 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
2292 * testsuite/20_util/duration/io.cc: Likewise.
2293 * testsuite/std/time/clock/file/io.cc: Likewise.
2294 * testsuite/std/time/clock/file/members.cc: Likewise.
2295 * testsuite/std/time/clock/file/overview.cc: Likewise.
2296 * testsuite/std/time/clock/gps/1.cc: Likewise.
2297 * testsuite/std/time/clock/gps/io.cc: Likewise.
2298 * testsuite/std/time/clock/local/io.cc: Likewise.
2299 * testsuite/std/time/clock/system/io.cc: Likewise.
2300 * testsuite/std/time/clock/tai/1.cc: Likewise.
2301 * testsuite/std/time/clock/tai/io.cc: Likewise.
2302 * testsuite/std/time/clock/utc/1.cc: Likewise.
2303 * testsuite/std/time/clock/utc/io.cc: Likewise.
2304 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
2305 * testsuite/std/time/day/1.cc: Likewise.
2306 * testsuite/std/time/day/io.cc: Likewise.
2307 * testsuite/std/time/exceptions.cc: Likewise.
2308 * testsuite/std/time/format.cc: Likewise.
2309 * testsuite/std/time/hh_mm_ss/1.cc: Likewise.
2310 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
2311 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
2312 * testsuite/std/time/is_am/1.cc: Likewise.
2313 * testsuite/std/time/is_pm/1.cc: Likewise.
2314 * testsuite/std/time/make12/1.cc: Likewise.
2315 * testsuite/std/time/make24/1.cc: Likewise.
2316 * testsuite/std/time/month/1.cc: Likewise.
2317 * testsuite/std/time/month/io.cc: Likewise.
2318 * testsuite/std/time/month_day/1.cc: Likewise.
2319 * testsuite/std/time/month_day/io.cc: Likewise.
2320 * testsuite/std/time/month_day_last/1.cc: Likewise.
2321 * testsuite/std/time/month_day_last/io.cc: Likewise.
2322 * testsuite/std/time/month_weekday/1.cc: Likewise.
2323 * testsuite/std/time/month_weekday/io.cc: Likewise.
2324 * testsuite/std/time/month_weekday_last/1.cc: Likewise.
2325 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
2326 * testsuite/std/time/parse.cc: Likewise.
2327 * testsuite/std/time/syn_c++20.cc: Likewise.
2328 * testsuite/std/time/time_zone/get_info_local.cc: Likewise.
2329 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
2330 * testsuite/std/time/time_zone/requirements.cc: Likewise.
2331 * testsuite/std/time/traits/is_clock.cc: Likewise.
2332 * testsuite/std/time/tzdb/1.cc: Likewise.
2333 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
2334 * testsuite/std/time/tzdb_list/1.cc: Likewise.
2335 * testsuite/std/time/tzdb_list/requirements.cc: Likewise.
2336 * testsuite/std/time/weekday/1.cc: Likewise.
2337 * testsuite/std/time/weekday/io.cc: Likewise.
2338 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
2339 * testsuite/std/time/weekday_last/1.cc: Likewise.
2340 * testsuite/std/time/weekday_last/io.cc: Likewise.
2341 * testsuite/std/time/year/1.cc: Likewise.
2342 * testsuite/std/time/year/2.cc: Likewise.
2343 * testsuite/std/time/year/io.cc: Likewise.
2344 * testsuite/std/time/weekday_indexed/1.cc: Likewise.
2345 * testsuite/std/time/year_month/1.cc: Likewise.
2346 * testsuite/std/time/year_month/2.cc: Likewise.
2347 * testsuite/std/time/year_month/io.cc: Likewise.
2348 * testsuite/std/time/year_month_day/1.cc: Likewise.
2349 * testsuite/std/time/year_month_day/2.cc: Likewise.
2350 * testsuite/std/time/year_month_day/3.cc: Likewise.
2351 * testsuite/std/time/year_month_day/4.cc: Likewise.
2352 * testsuite/std/time/year_month_day/io.cc: Likewise.
2353 * testsuite/std/time/year_month_day_last/1.cc: Likewise.
2354 * testsuite/std/time/year_month_day_last/2.cc: Likewise.
2355 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
2356 * testsuite/std/time/year_month_weekday/1.cc: Likewise.
2357 * testsuite/std/time/year_month_weekday/2.cc: Likewise.
2358 * testsuite/std/time/year_month_weekday/3.cc: Likewise.
2359 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
2360 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
2361 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
2362 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
2363 * testsuite/std/time/zoned_time/1.cc: Likewise.
2364 * testsuite/std/time/zoned_time/custom.cc: Likewise.
2365 * testsuite/std/time/zoned_time/deduction.cc: Likewise.
2366 * testsuite/std/time/zoned_time/io.cc: Likewise.
2367 * testsuite/std/time/zoned_time/req_neg.cc: Likewise.
2368 * testsuite/std/time/zoned_time/requirements.cc: Likewise.
2369 * testsuite/std/time/zoned_traits.cc: Likewise.
2371 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2373 * testsuite/std/format/arguments/args.cc: Remove dg-options.
2374 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
2375 * testsuite/std/format/error.cc: Likewise.
2376 * testsuite/std/format/format_string.cc: Likewise.
2377 * testsuite/std/format/formatter/concept.cc: Likewise.
2378 * testsuite/std/format/formatter/ext_float.cc: Likewise.
2379 * testsuite/std/format/formatter/requirements.cc: Likewise.
2380 * testsuite/std/format/functions/107871.cc: Likewise.
2381 * testsuite/std/format/functions/format.cc: Likewise.
2382 * testsuite/std/format/functions/format_to.cc: Likewise.
2383 * testsuite/std/format/functions/format_to_n.cc: Likewise.
2384 * testsuite/std/format/functions/size.cc: Likewise.
2385 * testsuite/std/format/functions/vformat_to.cc: Likewise.
2386 * testsuite/std/format/parse_ctx.cc: Likewise.
2387 * testsuite/std/format/string.cc: Likewise.
2388 * testsuite/std/format/string_neg.cc: Likewise.
2389 * testsuite/std/format/functions/format_c++23.cc: Removed.
2391 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2393 * testsuite/20_util/function_objects/range.cmp/equal_to.cc:
2395 * testsuite/20_util/function_objects/range.cmp/greater.cc:
2397 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
2399 * testsuite/20_util/function_objects/range.cmp/less.cc:
2401 * testsuite/20_util/function_objects/range.cmp/less_equal.cc:
2403 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
2405 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
2407 * testsuite/20_util/specialized_algorithms/construct_at/1.cc:
2409 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
2411 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
2413 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
2415 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
2417 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
2419 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
2421 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
2423 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
2425 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
2427 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
2429 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
2430 * testsuite/25_algorithms/adjacent_find/constrained.cc:
2432 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
2433 * testsuite/25_algorithms/all_of/constrained.cc: Likewise.
2434 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
2435 * testsuite/25_algorithms/any_of/constrained.cc: Likewise.
2436 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
2437 * testsuite/25_algorithms/binary_search/constrained.cc:
2439 * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
2440 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
2441 * testsuite/25_algorithms/copy/95578.cc: Likewise.
2442 * testsuite/25_algorithms/copy/constexpr.cc: Likewise.
2443 * testsuite/25_algorithms/copy/constrained.cc: Likewise.
2444 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
2445 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
2446 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
2447 * testsuite/25_algorithms/copy_backward/constrained.cc:
2449 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
2451 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
2452 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
2453 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
2454 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
2455 * testsuite/25_algorithms/count/constexpr.cc: Likewise.
2456 * testsuite/25_algorithms/count/constrained.cc: Likewise.
2457 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
2458 * testsuite/25_algorithms/count_if/constrained.cc: Likewise.
2459 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
2460 * testsuite/25_algorithms/equal/95578.cc: Likewise.
2461 * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
2462 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
2463 * testsuite/25_algorithms/equal/constrained.cc: Likewise.
2464 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
2466 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
2467 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
2468 * testsuite/25_algorithms/fill/94017.cc: Likewise.
2469 * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
2470 * testsuite/25_algorithms/fill/constrained.cc: Likewise.
2471 * testsuite/25_algorithms/fill_n/94017.cc: Likewise.
2472 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
2473 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
2474 * testsuite/25_algorithms/find/constexpr.cc: Likewise.
2475 * testsuite/25_algorithms/find/constrained.cc: Likewise.
2476 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
2477 * testsuite/25_algorithms/find_end/constrained.cc: Likewise.
2478 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
2479 * testsuite/25_algorithms/find_first_of/constrained.cc:
2481 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
2482 * testsuite/25_algorithms/find_if/constrained.cc: Likewise.
2483 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
2484 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
2485 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
2486 * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
2487 * testsuite/25_algorithms/generate/constexpr.cc: Likewise.
2488 * testsuite/25_algorithms/generate/constrained.cc: Likewise.
2489 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
2490 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
2491 * testsuite/25_algorithms/heap/constrained.cc: Likewise.
2492 * testsuite/25_algorithms/includes/constrained.cc: Likewise.
2493 * testsuite/25_algorithms/inplace_merge/constrained.cc:
2495 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
2496 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
2497 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
2498 * testsuite/25_algorithms/is_partitioned/constrained.cc:
2500 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
2501 * testsuite/25_algorithms/is_permutation/constrained.cc:
2503 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
2504 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
2505 * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
2507 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
2509 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
2510 * testsuite/25_algorithms/lexicographical_compare/93972.cc:
2512 * testsuite/25_algorithms/lexicographical_compare/95578.cc:
2514 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
2516 * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
2518 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
2520 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
2522 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
2523 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
2524 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
2526 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
2528 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
2530 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
2531 * testsuite/25_algorithms/max/constrained.cc: Likewise.
2532 * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
2533 * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
2534 * testsuite/25_algorithms/merge/constrained.cc: Likewise.
2535 * testsuite/25_algorithms/min/constrained.cc: Likewise.
2536 * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
2537 * testsuite/25_algorithms/minmax/constrained.cc: Likewise.
2538 * testsuite/25_algorithms/minmax_element/constrained.cc:
2540 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
2541 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
2542 * testsuite/25_algorithms/move/93872.cc: Likewise.
2543 * testsuite/25_algorithms/move/95578.cc: Likewise.
2544 * testsuite/25_algorithms/move/constexpr.cc: Likewise.
2545 * testsuite/25_algorithms/move/constrained.cc: Likewise.
2546 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
2547 * testsuite/25_algorithms/move_backward/95578.cc: Likewise.
2548 * testsuite/25_algorithms/move_backward/constrained.cc:
2550 * testsuite/25_algorithms/next_permutation/constexpr.cc:
2552 * testsuite/25_algorithms/next_permutation/constrained.cc:
2554 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
2555 * testsuite/25_algorithms/none_of/constrained.cc: Likewise.
2556 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
2557 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
2558 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
2559 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
2560 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
2562 * testsuite/25_algorithms/partial_sort_copy/constrained.cc:
2564 * testsuite/25_algorithms/partition/constexpr.cc: Likewise.
2565 * testsuite/25_algorithms/partition/constrained.cc: Likewise.
2566 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
2567 * testsuite/25_algorithms/partition_copy/constrained.cc:
2569 * testsuite/25_algorithms/partition_point/constexpr.cc:
2571 * testsuite/25_algorithms/partition_point/constrained.cc:
2573 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
2574 * testsuite/25_algorithms/prev_permutation/constexpr.cc:
2576 * testsuite/25_algorithms/prev_permutation/constrained.cc:
2578 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
2579 * testsuite/25_algorithms/remove/constexpr.cc: Likewise.
2580 * testsuite/25_algorithms/remove/constrained.cc: Likewise.
2581 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
2582 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
2583 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
2584 * testsuite/25_algorithms/remove_copy_if/constrained.cc:
2586 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
2587 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
2588 * testsuite/25_algorithms/replace/constrained.cc: Likewise.
2589 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
2590 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
2591 * testsuite/25_algorithms/replace_copy_if/constexpr.cc:
2593 * testsuite/25_algorithms/replace_copy_if/constrained.cc:
2595 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
2596 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
2597 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
2598 * testsuite/25_algorithms/reverse/constrained.cc: Likewise.
2599 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
2600 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
2601 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
2602 * testsuite/25_algorithms/rotate/constrained.cc: Likewise.
2603 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
2604 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
2605 * testsuite/25_algorithms/sample/constrained.cc: Likewise.
2606 * testsuite/25_algorithms/search/constexpr.cc: Likewise.
2607 * testsuite/25_algorithms/search/constrained.cc: Likewise.
2608 * testsuite/25_algorithms/search_n/97828.cc: Likewise.
2609 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
2610 * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
2611 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
2612 * testsuite/25_algorithms/set_difference/constrained.cc:
2614 * testsuite/25_algorithms/set_intersection/constexpr.cc:
2616 * testsuite/25_algorithms/set_intersection/constrained.cc:
2618 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
2620 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
2622 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
2623 * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
2624 * testsuite/25_algorithms/shift_left/1.cc: Likewise.
2625 * testsuite/25_algorithms/shift_right/1.cc: Likewise.
2626 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
2627 * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
2628 * testsuite/25_algorithms/sort/constrained.cc: Likewise.
2629 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
2630 * testsuite/25_algorithms/stable_partition/constrained.cc:
2632 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
2633 * testsuite/25_algorithms/swap/constexpr.cc: Likewise.
2634 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
2635 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
2636 * testsuite/25_algorithms/transform/constexpr.cc: Likewise.
2637 * testsuite/25_algorithms/transform/constrained.cc: Likewise.
2638 * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
2639 * testsuite/25_algorithms/unique/constrained.cc: Likewise.
2640 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
2641 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
2642 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
2643 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
2644 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
2646 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
2648 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
2651 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2653 * testsuite/std/concepts/1.cc: Remove dg-options.
2654 * testsuite/std/concepts/2.cc: Likewise.
2655 * testsuite/std/concepts/concepts.callable/invocable.cc:
2657 * testsuite/std/concepts/concepts.callable/regular_invocable.cc:
2659 * testsuite/std/concepts/concepts.callable/relation.cc:
2661 * testsuite/std/concepts/concepts.callable/strictweakorder.cc:
2663 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
2664 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
2665 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
2666 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
2667 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
2669 * testsuite/std/concepts/concepts.lang/concept.common/1.cc:
2671 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
2673 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
2674 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
2676 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
2677 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
2678 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
2679 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
2681 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
2682 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
2683 * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
2685 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
2686 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
2687 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
2688 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
2689 * testsuite/std/concepts/concepts.object/movable.cc: Likewise.
2690 * testsuite/std/concepts/concepts.object/regular.cc: Likewise.
2691 * testsuite/std/concepts/concepts.object/semiregular.cc:
2693 * testsuite/std/ranges/97600.cc: Likewise.
2694 * testsuite/std/ranges/access/101782.cc: Likewise.
2695 * testsuite/std/ranges/access/begin.cc: Likewise.
2696 * testsuite/std/ranges/access/begin_neg.cc: Likewise.
2697 * testsuite/std/ranges/access/cbegin.cc: Likewise.
2698 * testsuite/std/ranges/access/cdata.cc: Likewise.
2699 * testsuite/std/ranges/access/cend.cc: Likewise.
2700 * testsuite/std/ranges/access/crbegin.cc: Likewise.
2701 * testsuite/std/ranges/access/crend.cc: Likewise.
2702 * testsuite/std/ranges/access/data.cc: Likewise.
2703 * testsuite/std/ranges/access/empty.cc: Likewise.
2704 * testsuite/std/ranges/access/end.cc: Likewise.
2705 * testsuite/std/ranges/access/end_neg.cc: Likewise.
2706 * testsuite/std/ranges/access/lwg3467.cc: Likewise.
2707 * testsuite/std/ranges/access/p2602.cc: Likewise.
2708 * testsuite/std/ranges/access/rbegin.cc: Likewise.
2709 * testsuite/std/ranges/access/rend.cc: Likewise.
2710 * testsuite/std/ranges/access/size.cc: Likewise.
2711 * testsuite/std/ranges/access/size_neg.cc: Likewise.
2712 * testsuite/std/ranges/access/ssize.cc: Likewise.
2713 * testsuite/std/ranges/adaptors/100479.cc: Likewise.
2714 * testsuite/std/ranges/adaptors/100577.cc: Likewise.
2715 * testsuite/std/ranges/adaptors/93978.cc: Likewise.
2716 * testsuite/std/ranges/adaptors/95322.cc: Likewise.
2717 * testsuite/std/ranges/adaptors/99433.cc: Likewise.
2718 * testsuite/std/ranges/adaptors/all.cc: Likewise.
2719 * testsuite/std/ranges/adaptors/common.cc: Likewise.
2720 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
2722 * testsuite/std/ranges/adaptors/counted.cc: Likewise.
2723 * testsuite/std/ranges/adaptors/detail/copyable_box.cc:
2725 * testsuite/std/ranges/adaptors/drop.cc: Likewise.
2726 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
2727 * testsuite/std/ranges/adaptors/elements.cc: Likewise.
2728 * testsuite/std/ranges/adaptors/filter.cc: Likewise.
2729 * testsuite/std/ranges/adaptors/join.cc: Likewise.
2730 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
2731 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
2732 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
2733 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
2734 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
2735 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
2736 * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
2737 * testsuite/std/ranges/adaptors/p2281.cc: Likewise.
2738 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
2739 * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
2740 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
2741 * testsuite/std/ranges/adaptors/split.cc: Likewise.
2742 * testsuite/std/ranges/adaptors/take.cc: Likewise.
2743 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
2744 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2745 * testsuite/std/ranges/empty_view.cc: Likewise.
2746 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
2747 * testsuite/std/ranges/iota/difference_type.cc: Likewise.
2748 * testsuite/std/ranges/iota/iota_view.cc: Likewise.
2749 * testsuite/std/ranges/iota/iterator.cc: Likewise.
2750 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
2751 * testsuite/std/ranges/iota/max_size_type.cc: Likewise.
2752 * testsuite/std/ranges/istream_view.cc: Likewise.
2753 * testsuite/std/ranges/p2259.cc: Likewise.
2754 * testsuite/std/ranges/p2325.cc: Likewise.
2755 * testsuite/std/ranges/p2367.cc: Likewise.
2756 * testsuite/std/ranges/range.cc: Likewise.
2757 * testsuite/std/ranges/refinements.cc: Likewise.
2758 * testsuite/std/ranges/safe_range.cc: Likewise.
2759 * testsuite/std/ranges/safe_range_types.cc: Likewise.
2760 * testsuite/std/ranges/single_view.cc: Likewise.
2761 * testsuite/std/ranges/sized.cc: Likewise.
2762 * testsuite/std/ranges/subrange/1.cc: Likewise.
2763 * testsuite/std/ranges/subrange/97512.cc: Likewise.
2764 * testsuite/std/ranges/subrange/constexpr.cc: Likewise.
2765 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
2766 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
2767 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
2768 * testsuite/std/ranges/subrange/sizeof.cc: Likewise.
2769 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
2770 * testsuite/std/ranges/view.cc: Likewise.
2772 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2774 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
2776 * testsuite/23_containers/span/contiguous_range_neg.cc:
2778 * testsuite/23_containers/span/everything.cc: Likewise.
2780 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2782 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove
2783 dg-options and add dg-add-options strict_std.
2784 * testsuite/std/ranges/iota/93267.cc: Likewise.
2785 * testsuite/std/ranges/iota/96042.cc: Likewise.
2786 * testsuite/std/ranges/iota/size.cc: Likewise.
2787 * testsuite/std/ranges/subrange/96042.cc: Likewise.
2789 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2791 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
2792 Replace dg-options -std=c++17 with dg-add-options strict_std.
2793 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
2796 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2798 * testsuite/23_containers/deque/48101-2_neg.cc: Replace
2799 dg-options with target selector.
2800 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
2801 * testsuite/23_containers/list/48101-2_neg.cc: Likewise.
2802 * testsuite/23_containers/map/48101-2_neg.cc: Likewise.
2803 * testsuite/23_containers/map/48101_neg.cc: Likewise.
2804 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
2805 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
2806 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
2807 * testsuite/23_containers/set/48101-2_neg.cc: Likewise.
2808 * testsuite/23_containers/unordered_map/48101-2_neg.cc:
2810 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
2812 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
2814 * testsuite/23_containers/unordered_set/48101-2_neg.cc:
2816 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
2818 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2820 * doc/xml/manual/test.xml: Update documentation on running and
2822 * doc/html/manual/test.html: Regenerate.
2823 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp
2824 * testsuite/Makefile.in: Regenerate.
2825 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New
2827 * testsuite/lib/libstdc++.exp (search_for): New utility proc.
2828 (v3-dg-runtest): New proc to replace dg-runtest.
2829 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
2831 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2833 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
2834 Fix test to work for C++23 and C++26 too.
2836 2023-09-15 Patrick Palka <ppalka@redhat.com>
2838 * include/std/bit: Include <concepts>.
2839 (byteswap): Use a type-constraint instead of enable_if_t
2840 inside the return type, and use std::integral.
2841 (_If_is_unsigned_integer): Replace with ...
2842 (__unsigned_integer): ... this.
2843 (rotl): Use a type-constraint instead of enable_if_t inside
2845 (countl_zero): Likewise.
2846 (countl_one): Likewise.
2847 (countr_zero): Likewise.
2848 (countr_one): Likewise.
2849 (popcount): Likewise.
2850 (has_single_bit): Likewise.
2851 (bit_ceil): Likewise.
2852 (bit_floor): Likewise.
2853 (bit_width): Likewise.
2855 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2857 * include/std/variant (variant): Remove derivation from
2858 _Enable_default_constructor base class.
2859 (variant::variant()): Constrain.
2860 * testsuite/20_util/variant/default_ctor.cc: New test.
2862 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2865 * include/std/variant (get<T>): Remove !is_void static
2868 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2870 * include/bits/version.def (to_chars): Define new value for
2872 * include/bits/version.h: Regenerate.
2873 * include/std/charconv (to_chars_result::operator bool): New
2875 (from_chars_result::operator bool): New function.
2876 * testsuite/20_util/to_chars/version.cc: Update expected value.
2877 * testsuite/20_util/from_chars/result.cc: New test.
2878 * testsuite/20_util/to_chars/result.cc: New test.
2880 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2883 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
2885 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2887 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
2888 dg-additional-files. Remove @require@ and @diff@ comments.
2889 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
2890 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
2891 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
2892 * testsuite/lib/dg-options.exp (v3_additional_files): New
2894 (dg-additional-files): New proc.
2895 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy
2896 additional files to test directory.
2898 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2900 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
2901 Use a plain integer for _M_work_count for single-threaded
2903 * include/experimental/memory_resource (__get_default_resource)
2904 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
2905 single-threaded targets.
2906 * src/c++17/default_resource.h: Adjust preprocessor conditions
2907 to match memory_resource.cc.
2908 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
2909 (atomic_mem_res): Use unsynchronized type for single-threaded
2912 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2914 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
2915 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
2916 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
2917 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
2918 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
2919 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
2920 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
2921 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2923 2023-09-14 François Dumont <fdumont@gcc.gnu.org>
2925 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2926 { dg-require-normal-namespace "" }.
2928 2023-09-13 François Dumont <fdumont@gcc.gnu.org>
2930 * include/std/format (std::__format::_Arg_store): Explicit version
2931 namespace on make_format_args friend declaration.
2933 2023-09-12 Patrick Palka <ppalka@redhat.com>
2936 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
2937 a deleted fallback operator() overload. Constrain both the
2938 enabled and deleted overloads accordingly.
2939 * testsuite/20_util/function_objects/not_fn/111327.cc: New test.
2941 2023-09-12 Patrick Palka <ppalka@redhat.com>
2944 * include/std/functional (_Bind_front::operator()): Add deleted
2945 fallback overloads for each const/ref qualifier pair. Give the
2946 enabled overloads dummy constraints to make each one more
2947 specialized than the corresponding deleted overload.
2948 * testsuite/20_util/function_objects/bind_front/111327.cc: New test.
2950 2023-09-12 Patrick Palka <ppalka@redhat.com>
2952 * include/std/functional (_Bind_front0): Remove.
2953 (_Bind_front_t): Adjust.
2955 2023-09-12 Jonathan Wakely <jwakely@redhat.com>
2957 * python/libstdcxx/v6/printers.py: Reformat.
2958 * python/libstdcxx/v6/xmethods.py: Likewise.
2960 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2962 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
2964 (reset_sequence_ptr): New function.
2965 (_Safe_iterator_base::_M_detach)
2966 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
2967 with acquire_sequence_ptr_for_lock.
2968 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
2971 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2973 * src/c++11/Makefile.am: Add new file.
2974 * src/c++11/Makefile.in: Regenerate.
2975 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
2976 * src/c++11/assert_fail.cc: New file.
2978 2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org>
2980 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
2981 (_GLIBCXX_USE_BUILTIN_TRAIT): Define.
2983 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2985 * include/bits/version.def (__cpp_lib_formatters): Define.
2986 * include/bits/version.h: Regenerate.
2987 * include/std/stacktrace (formatter<stacktrace_entry>)
2988 (formatter<basic_stacktrace<Alloc>>): Define.
2989 * include/std/thread (formatter<thread::id, charT>): Define.
2990 * testsuite/19_diagnostics/stacktrace/output.cc: New test.
2991 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2992 std::formatter specializations.
2993 * testsuite/19_diagnostics/stacktrace/version.cc: Check
2994 __cpp_lib_formatters macro.
2995 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads
2997 * testsuite/30_threads/thread/id/operators.cc: Likewise.
2998 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
2999 * testsuite/30_threads/thread/id/output.cc: New test.
3001 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
3003 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
3004 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
3005 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
3007 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
3009 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
3010 * configure: Regenerate.
3011 * doc/html/manual/*: Regenerate.
3012 * doc/xml/manual/using.xml: Update documentation on linking.
3013 * include/std/stacktrace: Remove declarations of libbacktrace
3015 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
3017 (stacktrace_entry::_Info): New class.
3018 (stacktrace_entry::_M_get_info): Use _Info.
3019 (__stacktrace_impl): New class.
3020 (basic_stacktrace): Derive from __stacktrace_impl.
3021 (basic_stacktrace::current): Use __stacktrace_impl::_S_current.
3022 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
3023 libstdc++exp instead of libstdc++_libbacktrace.
3024 * src/Makefile.am (SUBDIRS): Add c++23 directory.
3025 * src/Makefile.in: Regenerate.
3026 * src/c++20/Makefile.am: Fix comment.
3027 * src/c++20/Makefile.in: Regenerate.
3028 * src/c++23/Makefile.am: New file.
3029 * src/c++23/Makefile.in: New file.
3030 * src/c++23/stacktrace.cc: New file with definitions of
3031 stacktrace_entry::_Info and __stacktrace_impl members.
3032 * src/experimental/Makefile.am: Use LIBADD to include other
3034 * src/experimental/Makefile.in: Regenerate.
3035 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
3036 * src/libbacktrace/Makefile.in: Regenerate.
3037 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
3038 dg-options to use -lstdc++exp.
3039 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
3040 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
3041 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
3044 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
3046 * src/libbacktrace/Makefile.am: Remove -Werror.
3047 * src/libbacktrace/Makefile.in: Regenerate.
3049 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
3051 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
3052 * testsuite/Makefile.in: Regenerate.
3054 2023-09-08 Yang Yujie <yangyujie@loongson.cn>
3056 * configure.host: Register t-loongarch in tmake_file.
3057 * config/cpu/loongarch/t-loongarch: New file. Manually refresh
3058 MULTISUBDIR with $(shell $(CXX) --print-multi-directory).
3060 2023-09-07 Bruno Victal <mirai@makinata.eu>
3062 * acinclude.m4: Update docbook xsl URI.
3063 * configure: Regenerate.
3065 2023-09-07 Bruno Victal <mirai@makinata.eu>
3067 * doc/Makefile.am: Fix 'doc-install-info' rule.
3068 Fix typo in commment.
3069 * doc/Makefile.in: Regenerate.
3071 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3073 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
3074 dg-do target selector.
3076 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3078 * testsuite/config/default.exp: Remove trailing whitespace.
3079 * testsuite/lib/dg-options.exp: Likewise.
3080 * testsuite/lib/prune.exp: Likewise.
3081 * testsuite/libstdc++-abi/abi.exp: Likewise.
3082 * testsuite/libstdc++-dg/conformance.exp: Likewise.
3083 * testsuite/libstdc++-prettyprinters/prettyprinters.exp:
3085 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
3086 * testsuite/lib/libstdc++.exp: Likewise.
3087 (check_v3_target_c_std): Fix filename for temporary source file.
3089 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3091 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
3092 chmod, chdir, and getcwd.
3093 * config.h.in: Regenerate.
3094 * configure: Regenerate.
3095 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
3096 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
3097 (fs::permissions): Use USE_CHMOD macro.
3098 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
3099 (chmod, mkdir, getcwd, chdir): Define new macros.
3100 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
3102 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
3103 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
3104 (fs::permissions): Use USE_CHMOD macro.
3106 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3108 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
3110 * configure: Regenerate.
3112 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3114 * testsuite/23_containers/unordered_map/operations/1.cc: Add
3115 dg-options for C++20 mode.
3116 * testsuite/23_containers/unordered_multimap/operations/1.cc:
3118 * testsuite/23_containers/unordered_multiset/operations/1.cc:
3120 * testsuite/23_containers/unordered_set/operations/1.cc:
3122 * testsuite/std/time/parse.cc: Move dg-options before dg-do.
3124 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3126 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
3128 * testsuite/std/ranges/access/cdata.cc: Likewise.
3129 * testsuite/std/ranges/access/cend.cc: Likewise.
3130 * testsuite/std/ranges/access/crbegin.cc: Likewise.
3131 * testsuite/std/ranges/access/crend.cc: Likewise.
3132 * testsuite/std/ranges/adaptors/take.cc: Likewise.
3133 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
3134 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3136 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3138 * include/bits/iterator_concepts.h (__imove::iter_move): Define
3139 poison pill as deleted for consistency.
3140 (__access::begin): Replace with a single declaration.
3141 * include/bits/ranges_base.h (__access::end, __access::rbegin)
3142 (__access::rend, __access::size): Likewise.
3143 * include/bits/version.def (ranges): Update value for C++23.
3144 * include/bits/version.h: Regenerate.
3145 * libsupc++/compare (__compare): Add missing poison pill
3147 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
3148 of __cpp_lib_ranges.
3149 * testsuite/std/ranges/access/p2602.cc: New test.
3151 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3153 * include/bits/iterator_concepts.h (ranges::__cust_imove):
3154 Rename to ranges::__imove.
3155 (_IMove): Rename to _IterMove.
3156 (ranges::__cust_iswap): Rename to ranges::__iswap.
3157 (ranges::__cust): Rename to ranges::_Cpo.
3158 (ranges::__cust_access): Rename to ranges::__access.
3159 * include/bits/ranges_base.h (ranges::__cust_access): Rename to
3161 (ranges::__cust): Rename to ranges::_Cpo.
3162 * include/std/concepts (ranges::__cust_swap): Rename to
3164 (ranges::__cust): Rename to ranges::_Cpo.
3165 * libsupc++/compare (__cmp_cust): Rename to __compare.
3166 (__cmp_algo): Rename to _Cpo.
3168 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3170 * include/bits/version.def (ranges): Update value.
3171 * include/bits/version.h: Regenerate.
3172 * include/std/ranges (__detail::__boxable): Use
3173 move_constructible instead of copy_constructible for C++23.
3174 (__detail::__box<T>): Adjust constraints for partial
3176 (single_view, transform_view): Use __box_constructible instead
3177 of copy_constructible in constraints.
3178 (zip_transform_view, adjacent_transform_view, repeat_view): Use
3179 move_constructible instead of copy_constructible in constraints.
3180 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
3181 construction from move-only argument.
3182 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3183 * testsuite/std/ranges/repeat/1.cc: Likewise.
3184 * testsuite/std/ranges/single_view.cc: Likewise.
3185 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
3186 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
3187 of __cpp_lib_ranges.
3189 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3191 * testsuite/util/testsuite_iterators.h (is_customization_point_object):
3192 Remove parameter name.
3194 2023-09-06 Jonathan Wakely <jwakely@redhat.com>
3196 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
3198 * configure: Regenerate.
3200 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3203 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3206 * configure: Regenerate.
3207 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
3208 non-Canadian builds.
3210 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3213 * configure: Regenerate.
3214 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
3215 non-Canadian builds.
3217 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3219 * testsuite/26_numerics/complex/literals/types.cc: Remove
3220 dg-options and add target selector instead.
3222 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3224 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
3225 and qualify ambiguous calls to get.
3226 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
3227 expected result for std::pow(float, int) as per DR 550.
3229 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3231 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
3232 and add dg-warning for deprecation warnings.
3233 * testsuite/20_util/auto_ptr/2.cc: Likewise.
3234 * testsuite/20_util/auto_ptr/3.cc: Likewise.
3235 * testsuite/20_util/auto_ptr/3946.cc: Likewise.
3236 * testsuite/20_util/auto_ptr/4.cc: Likewise.
3237 * testsuite/20_util/auto_ptr/5.cc: Likewise.
3238 * testsuite/20_util/auto_ptr/6.cc: Likewise.
3239 * testsuite/20_util/auto_ptr/7.cc: Likewise.
3240 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
3241 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
3243 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3245 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3247 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
3249 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
3251 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3253 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3256 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3259 * testsuite/23_containers/vector/26412-1.cc: Moved to...
3260 * testsuite/23_containers/vector/26142-1.cc: ...here.
3261 * testsuite/23_containers/vector/26412-2.cc: Moved to...
3262 * testsuite/23_containers/vector/26142-2.cc: ...here.
3264 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3266 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
3267 * testsuite/26_numerics/complex/56111.cc: Likewise.
3269 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3271 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
3272 Add dg-options to restrict the test to C++98 mode.
3273 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
3276 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3278 * testsuite/20_util/expected/bad.cc: Add missing target
3281 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3283 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
3285 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
3288 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3290 * testsuite/27_io/filesystem/iterators/91067.cc: Add
3291 -Wno-self-move to options.
3292 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
3294 2023-09-01 Vladimir Palevich <palevichva@gmail.com>
3297 * include/bits/vector.tcc (_M_realloc_insert): End guard
3298 lifetime just before assignment to class members.
3299 (_M_default_append): Likewise.
3301 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3303 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
3304 Use __resize_and_overwrite to fill buffer.
3305 (fs::read_symlink) [HAVE_READLINK]: Likewise.
3306 * src/filesystem/ops-common.h (get_temp_directory_from_env)
3307 [FILESYSTEM_IS_WINDOWS]: Likewise.
3309 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3312 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
3313 Add _AtomicRef non-type template parameter and use a loop if it
3315 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
3316 (__atomic_impl::compare_exchange_strong): Likewise.
3317 (atomic_ref::compare_exchange_weak): Use true for NTTP.
3318 (atomic_ref::compare_exchange_strong): Use true for NTTP.
3319 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
3320 Fix test to not rely on atomic_ref::load() to return an object
3321 with padding preserved.
3323 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3325 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
3328 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3330 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
3331 for POSIX readlink before using filesystem::read_symlink.
3333 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3335 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
3336 * configure: Regenerate.
3338 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3340 * include/bits/chrono_io.h (_Parser::operator()): Set failbit
3341 early if invalid values are read when _M_need & _TimeOfDay is
3343 * testsuite/std/time/parse.cc: Check that "25:59" cannot be
3346 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3349 * include/bits/chrono_io.h (_Parser::Operator()): Check %C
3350 values are in range of year::min() to year::max().
3351 * testsuite/std/time/parse.cc: Check out of range centuries.
3353 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3355 * include/std/format (__format::_Sink::_M_reset): Change second
3356 argument from iterator to offset.
3358 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
3361 * testsuite/std/format/string.cc: Check wide character format
3362 strings with out-of-range widths.
3364 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
3367 * include/std/format (__format::__parse_integer): Check for
3370 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3372 * testsuite/std/format/functions/format_to.cc: Avoid warning for
3375 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3377 * include/std/atomic: Add comment to #ifdef and fix indentation.
3378 * include/std/ostream: Check __glibcxx_syncbuf instead of
3379 __cplusplus and _GLIBCXX_HOSTED.
3380 * include/std/thread: Add comment to #ifdef.
3382 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3384 * include/bits/version.def (__cpp_lib_ratio): Define.
3385 * include/bits/version.h: Regenerate.
3386 * include/std/ratio (quecto, ronto, yocto, zepto)
3387 (zetta, yotta, ronna, quetta): Define.
3388 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
3389 dg-error line numbers.
3391 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3393 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
3395 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
3397 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3400 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
3401 not show template arguments.
3402 (StdVariantPrinter): Likewise.
3403 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
3405 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
3406 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
3408 2023-08-23 François Dumont <fdumont@gcc.gnu.org>
3410 * testsuite/util/replacement_memory_operators.h
3411 (counter::scope): New, capture and reset counter count at construction and
3412 restore it at destruction.
3413 (counter::check_new): Add scope instantiation.
3414 * testsuite/23_containers/unordered_map/96088.cc (main):
3415 Add counter::scope instantiation.
3416 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
3417 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
3418 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
3419 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
3420 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
3421 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
3422 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
3423 (operator new(size_t)): Check started.
3424 (main): Set/Unset started.
3425 * testsuite/17_intro/no_library_allocation.cc: New test case.
3427 2023-08-21 Jonathan Wakely <jwakely@redhat.com>
3429 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
3430 Call std::set_terminate before throwing the nested exception.
3432 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
3435 * include/std/format (formatter): Only define specializations
3436 for 16-bit floating-point types for C++23.
3437 * include/std/limits (numeric_limits): Likewise.
3439 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
3441 * include/bits/chrono_io.h (operator<<): Make uses of wide
3442 strings with streams and std::format type-dependent on _CharT.
3443 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
3444 __to_wstring_numeric.
3446 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
3448 * include/bits/chrono_io.h (operator<<): Use __format_context.
3449 * include/std/format (__format::__format_context): New alias
3451 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
3454 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3457 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3459 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
3460 double overload for long double if possible.
3462 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3464 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
3467 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3469 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
3470 double overload for long double if possible.
3472 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3474 * src/c++98/localename.cc (is_C_locale): New function.
3475 (locale::locale(const char*)): Use is_C_locale.
3477 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3480 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
3481 Dispatch to _M_replace or move assignment from a temporary,
3482 based on the iterator type.
3484 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3486 * include/std/format (formatter): Add partial specializations
3487 for extended floating-point types.
3488 * testsuite/std/format/functions/format.cc: Move test_float128()
3490 * testsuite/std/format/formatter/ext_float.cc: New test.
3492 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3494 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
3495 whenever __BFLT16_DIG__ is defined, not only for C++23.
3496 * include/std/limits (numeric_limits<bfloat16_t>): Likewise.
3497 (numeric_limits<_Float16>, numeric_limits<_Float32>)
3498 (numeric_limits<_Float64>): Likewise for other extended
3499 floating-point types.
3501 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3503 * include/experimental/internet (address_v4::to_string): Remove
3504 unused parameter name.
3506 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3508 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
3509 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
3510 excess errors caused by invalid consteval calls.
3512 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3514 * include/bits/chrono_io.h (__units_suffix_misc): Remove.
3515 (__units_suffix): Return a known suffix as string view, do not
3516 write unknown suffixes to a buffer.
3517 (__fmt_units_suffix): New function that formats the suffix using
3519 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
3520 (__chrono_formatter::_M_Z): Correct lifetime of wstring.
3522 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3524 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
3525 string formatters with this macro.
3526 (__formatter_int::_M_format_int, __formatter_fp::format)
3527 (formatter<const void*, C>::format): Use __to_wstring_numeric
3528 instead of std::ctype::widen.
3529 (__formatter_fp::_M_localize): Use hardcoded wchar_t values
3530 instead of std::ctype::widen.
3531 * testsuite/std/format/functions/format.cc: Add more checks for
3532 wstring formatting of arithmetic types.
3534 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3536 * include/bits/basic_string.h (to_string(floating-point-type)):
3537 Implement using std::to_chars for C++26.
3538 * include/bits/version.def (__cpp_lib_to_string): Define.
3539 * include/bits/version.h: Regenerate.
3540 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
3541 Adjust expected result in C++26 mode.
3542 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
3544 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
3546 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
3548 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
3550 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
3552 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
3555 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3557 * include/bits/basic_string.h (to_string(integral-type)): Use
3558 resize_and_overwrite when available.
3559 (__to_wstring_numeric): New helper functions.
3560 (to_wstring): Use std::to_string then __to_wstring_numeric.
3561 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
3562 Remove check for no excess capacity.
3564 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3566 * include/bits/basic_string.h (__resize_and_overwrite): New
3568 * include/bits/basic_string.tcc (__resize_and_overwrite): New
3570 (resize_and_overwrite): Simplify by using reserve instead of
3571 growing the string manually. Adjust for C++11 compatibility.
3572 * include/bits/cow_string.h (resize_and_overwrite): New
3574 (__resize_and_overwrite): New function.
3575 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
3576 Do not depend on cxx11abi.
3577 * include/bits/version.h: Regenerate.
3578 * include/std/format (__formatter_fp::_S_resize_and_overwrite):
3580 (__formatter_fp::format, __formatter_fp::_M_localize): Use
3581 __resize_and_overwrite instead of _S_resize_and_overwrite.
3582 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
3583 Adjust for C++11 compatibility when included by ...
3584 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
3587 2023-08-17 Patrick Palka <ppalka@redhat.com>
3589 * include/bits/regex.h (regex_iterator::iterator_concept):
3590 Define for C++20 as per P2770R0.
3591 (regex_token_iterator::iterator_concept): Likewise.
3592 * include/std/ranges (__detail::__as_lvalue): Define.
3593 (join_view::_Iterator): Befriend join_view.
3594 (join_view::_Iterator::_M_satisfy): Use _M_get_outer
3595 instead of _M_outer.
3596 (join_view::_Iterator::_M_get_outer): Define.
3597 (join_view::_Iterator::_Iterator): Split constructor taking
3598 _Parent argument into two as per P2770R0. Remove constraint on
3599 default constructor.
3600 (join_view::_Iterator::_M_outer): Make this data member present
3601 only when the underlying range is forward.
3602 (join_view::_Iterator::operator++): Use _M_get_outer instead of
3604 (join_view::_Iterator::operator--): Use __as_lvalue helper.
3605 (join_view::_Iterator::operator==): Adjust constraints as per
3607 (join_view::_Sentinel::__equal): Use _M_get_outer instead of
3609 (join_view::_M_outer): New data member when the underlying range
3611 (join_view::begin): Adjust definition as per P2770R0.
3612 (join_view::end): Likewise.
3613 (join_with_view::_M_outer_it): New data member when the
3614 underlying range is non-forward.
3615 (join_with_view::begin): Adjust definition as per P2770R0.
3616 (join_with_view::end): Likewise.
3617 (join_with_view::_Iterator::_M_outer_it): Make this data member
3618 present only when the underlying range is forward.
3619 (join_with_view::_Iterator::_M_get_outer): Define.
3620 (join_with_view::_Iterator::_Iterator): Split constructor
3621 taking _Parent argument into two as per P2770R0. Remove
3622 constraint on default constructor.
3623 (join_with_view::_Iterator::_M_update_inner): Adjust definition
3625 (join_with_view::_Iterator::_M_get_inner): Likewise.
3626 (join_with_view::_Iterator::_M_satisfy): Adjust calls to
3627 _M_get_inner. Use _M_get_outer instead of _M_outer_it.
3628 (join_with_view::_Iterator::operator==): Adjust constraints
3630 (join_with_view::_Sentinel::operator==): Use _M_get_outer
3631 instead of _M_outer_it.
3632 * testsuite/std/ranges/adaptors/p2770r0.cc: New test.
3634 2023-08-17 Patrick Palka <ppalka@redhat.com>
3637 * include/std/ranges (__adaptor::_RangeAdaptorClosure):
3638 Convert into a CRTP class template. Move hidden operator|
3639 friends into namespace scope and adjust their constraints.
3640 (__closure::__is_range_adaptor_closure_fn): Define.
3641 (__closure::__is_range_adaptor_closure): Define.
3642 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
3643 (__adaptor::_Pipe): Likewise.
3644 (views::_All): Likewise.
3645 (views::_Join): Likewise.
3646 (views::_Common): Likewise.
3647 (views::_Reverse): Likewise.
3648 (views::_Elements): Likewise.
3649 (views::_Adjacent): Likewise.
3650 (views::_AsRvalue): Likewise.
3651 (views::_Enumerate): Likewise.
3652 (views::_AsConst): Likewise.
3653 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
3654 expecting that adding empty range adaptor closure objects to a
3655 pipeline doesn't increase the size of a pipeline.
3657 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3659 * include/std/format (__format::_Pres_type): Add _Pres_F.
3660 (__formatter_fp::parse): Use _Pres_F for 'F'.
3661 (__formatter_fp::format): Set __upper for _Pres_F.
3662 * testsuite/std/format/functions/format.cc: Check formatting of
3663 infinity and NaN for each presentation type.
3665 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3667 * include/Makefile.in: Regenerate.
3669 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3671 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
3672 * testsuite/std/format/functions/format.cc: Likewise.
3673 * testsuite/std/format/functions/format_c++23.cc: Likewise.
3675 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3677 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
3678 any "-include bits/stdc++.h" from options and add the macro to
3679 the existing options instead of replacing them.
3681 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
3683 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
3684 the callable with the same size as resize_and_overwrite was
3686 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
3687 Check with small values for the new size.
3688 * testsuite/std/format/functions/format.cc: Check wide
3689 formatting of double values that produce small strings.
3690 * testsuite/std/format/functions/format_c++23.cc: New test.
3692 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
3694 * include/bits/version.def (stds): Update value for C++23.
3695 * include/bits/version.h: Regenerate.
3697 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
3699 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
3700 Fix name of upstream file this was derived from.
3701 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
3703 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
3705 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
3707 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.
3709 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
3711 * libsupc++/typeinfo: Switch to bits/version.h for
3712 __cpp_lib_constexpr_typeinfo.
3713 * libsupc++/new: Switch to bits/version.h for
3714 __cpp_lib_{launder,hardware_interference_size,destroying_delete}.
3715 (launder): Guard behind __cpp_lib_launder.
3716 (hardware_destructive_interference_size)
3717 (hardware_constructive_interference_size): Guard behind
3718 __cpp_lib_hardware_interference_size.
3719 * libsupc++/exception: Switch to bits/version.h for
3720 __cpp_lib_uncaught_exceptions.
3721 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
3722 * libsupc++/compare: Switch to bits/version.h for
3723 __cpp_lib_three_way_comparison.
3724 (three_way_comparable, three_way_comparable_with)
3725 (compare_three_way, weak_order, strong_order, partial_order):
3726 Guard behind __cpp_lib_three_way_comparison >= 201907L.
3727 * include/std/chrono: Drop __cpp_lib_chrono definition.
3728 * include/std/vector: Switch to bits/version.h for
3730 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3731 * include/std/variant: Switch to bits/version.h for
3732 __cpp_lib_variant. Guard whole header behind that FTM.
3733 * include/std/utility: Switch to bits/version.h for
3734 __cpp_lib_{exchange_function,constexpr_algorithms,as_const},
3735 __cpp_lib_{integer_comparison_functions,to_underlying}, and
3736 __cpp_lib_unreachable.
3737 (exchange): Guard behind __cpp_lib_exchange_function.
3738 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
3739 (cmp_greater_equal, in_range): Guard behind
3740 __cpp_lib_integer_comparison_functions.
3741 (to_underlying): Guard behind __cpp_lib_to_underlying.
3742 (unreachable): Guard behind __cpp_lib_unreachable.
3743 * include/std/type_traits: Switch to bits/version.h for
3744 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
3745 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
3746 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
3747 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
3748 __cpp_lib_{result_of_sfinae,transformation_trait_aliases},
3749 __cpp_lib_{type_identity,type_trait_variable_templates},
3750 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
3751 __cpp_lib_{bool_constant,bounded_array_traits}, and
3752 __cpp_lib_has_unique_object_representations.
3753 (integral_constant::operator()): Guard behind
3754 __cpp_lib_integral_constant_callable.
3755 (bool_constant): Guard behind __cpp_lib_bool_constant.
3756 (conjunction, disjunction, negation, conjunction_v, disjunction_v)
3757 (negation_v): Guard behind __cpp_lib_logical_traits.
3758 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
3759 (is_final): Guard behind __cpp_lib_is_final.
3760 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
3761 __cpp_lib_is_nothrow_convertible.
3762 (remove_const_t, remove_volatile_t, remove_cv_t)
3763 (add_const_t, add_volatile_t, add_cv_t): Guard behind
3764 __cpp_lib_transformation_trait_aliases.
3765 (void_t): Guard behind __cpp_lib_void_t.
3766 (is_swappable_with_v, is_nothrow_swappable_with_v)
3767 (is_swappable_with, is_nothrow_swappable_with): Guard behind
3768 __cpp_lib_is_swappable.
3769 (is_nothrow_invocable_r, is_invocable_r, invoke_result)
3770 (is_invocable, invoke_result_t): Guard behind
3771 __cpp_lib_is_invocable.
3772 (alignment_of_v, extent_v, has_virtual_destructor_v)
3773 (is_abstract_v, is_arithmetic_v, is_array_v)
3774 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
3775 (is_constructible_v, is_const_v, is_convertible_v)
3776 (is_copy_assignable_v, is_copy_constructible_v)
3777 (is_default_constructible_v, is_destructible_v)
3778 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
3779 (is_function_v, is_fundamental_v, is_integral_v)
3780 (is_invocable_r_v, is_invocable_v, is_literal_type_v)
3781 (is_lvalue_reference_v, is_member_function_pointer_v)
3782 (is_member_object_pointer_v, is_member_pointer_v)
3783 (is_move_assignable_v, is_move_constructible_v)
3784 (is_nothrow_assignable_v, is_nothrow_constructible_v)
3785 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
3786 (is_nothrow_default_constructible_v, is_nothrow_destructible_v)
3787 (is_nothrow_invocable_r_v, is_nothrow_invocable_v)
3788 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
3789 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
3790 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
3791 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
3792 (is_trivially_assignable_v, is_trivially_constructible_v)
3793 (is_trivially_copyable_v, is_trivially_copy_assignable_v)
3794 (is_trivially_copy_constructible_v)
3795 (is_trivially_default_constructible_v)
3796 (is_trivially_destructible_v, is_trivially_move_assignable_v)
3797 (is_trivially_move_constructible_v, is_trivial_v, is_union_v)
3798 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
3799 Guard behind __cpp_lib_type_trait_variable_templates.
3800 (has_unique_object_representations)
3801 (has_unique_object_representations_v): Guard behind
3802 __cpp_lib_has_unique_object_representation.
3803 (is_aggregate): Guard behind __cpp_lib_is_aggregate.
3804 (remove_cvref, remove_cvref_t): Guard behind
3805 __cpp_lib_remove_cvref.
3806 (type_identity, type_identity_t): Guard behind
3807 __cpp_lib_type_identity.
3808 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
3809 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
3810 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
3811 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
3812 (is_scoped_enum, is_scoped_enum_v): Guard behind
3813 __cpp_lib_is_scoped_enum.
3814 (reference_constructs_from_temporary)
3815 (reference_constructs_from_temporary_v): Guard behind
3816 __cpp_lib_reference_from_temporary.
3817 * include/std/tuple: Switch to bits/version.h for
3818 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
3819 (get<T>): Guard behind __cpp_lib_tuple_by_type.
3820 (apply): Guard behind __cpp_lib_apply.
3821 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
3822 * include/std/syncstream: Switch to bits/version.h for
3823 __cpp_lib_syncbuf. Guard header behind that FTM.
3824 * include/std/string_view: Switch to bits/version.h for
3825 __cpp_lib_{string_{view,contains},constexpr_string_view} and
3826 __cpp_lib_starts_ends_with.
3827 (basic_string_view::starts_with, basic_string_view::ends_with):
3828 Guard behind __cpp_lib_starts_ends_with.
3829 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
3830 Assert as impossible ithout a bug in C++23.
3831 * include/std/string: Switch to bits/version.h for
3833 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3834 * include/std/thread: Switch to bits/version.h for
3836 * include/std/stop_token: Switch to bits/version.h for
3838 * include/std/spanstream: Switch to bits/version.h for
3839 __cpp_lib_spanstream. Guard header behind that FTM.
3840 * include/std/span: Switch to bits/version.h for __cpp_lib_span.
3841 Guard header behind that FTM.
3842 * include/std/source_location: Switch to bits/version.h for
3843 __cpp_lib_source_location. Guard header with that FTM.
3844 * include/std/shared_mutex: Switch to bits/version.h for
3845 __cpp_lib_shared{,_timed}_mutex.
3846 (shared_mutex): Guard behind __cpp_lib_shared_mutex.
3847 * include/std/semaphore: Switch to bits/version.h for
3848 __cpp_lib_semaphore. Guard header behind that FTM.
3849 * include/std/ranges: Switch to bits/version.h for
3850 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
3851 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
3852 and __cpp_lib_ranges_{as_const,enumerate,iota}.
3853 (ranges::zip et al, ranges::chunk et al, ranges::slide et al)
3854 (ranges::chunk_by et al, ranges::join_with et al)
3855 (ranges::stride et al, ranges::cartesian_product et al)
3856 (ranges::as_rvalue et al, ranges::as_const et al)
3857 (ranges::enumerate et al): Guard behind appropriate FTM.
3858 * include/std/optional: Switch to bits/version.h for
3859 __cpp_lib_optional. Guard header behind that FTM.
3860 * include/std/numeric: Switch to bits/version.h for
3861 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
3862 and __cpp_lib_parallel_algorithm.
3863 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
3864 (midpoint): Guard behind __cpp_lib_interpolate.
3865 * include/std/numbers: Switch to bits/version.h for
3866 __cpp_lib_math_constants. Guard header behind that FTM.
3867 * include/std/mutex: Switch to bits/version.h for
3868 __cpp_lib_scoped_lock.
3869 (scoped_Lock): Guard behind __cpp_lib_scoped_lock.
3870 * include/std/memory_resource: Switch to bits/version.h for
3871 __cpp_lib_{polymorphic_allocator,memory_resource}.
3872 (synchronized_pool_resource): Guard behind
3873 __cpp_lib_memory_resource >= 201603L.
3874 (polymorphic_allocator): Guard behind
3875 __cpp_lib_polymorphic_allocator.
3876 * include/std/memory: Switch to bits/version.h for
3877 __cpp_lib_{parallel_algorithm,atomic_value_initialization}.
3878 * include/std/list: Switch to bits/version.h for
3880 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3881 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
3882 Guard header behind that FTM.
3883 * include/std/iterator: Switch to bits/version.h for
3884 __cpp_lib_null_iterators.
3885 * include/std/iomanip: Switch to bits/version.h for
3886 __cpp_lib_quoted_string_io.
3887 (quoted): Guard behind __cpp_lib_quoted_string_io.
3888 * include/std/functional: Switch to bits/version.h for
3889 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
3890 __cpp_lib_{not_fn,booyer_moore_searcher}.
3891 (invoke): Guard behind __cpp_lib_invoke.
3892 (invoke_r): Guard behind __cpp_lib_invoke_r.
3893 (bind_front): Guard behind __cpp_lib_bind_front.
3894 (not_fn): Guard behind __cpp_lib_not_fn.
3895 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
3896 definition behind __cpp_lib_boyer_moore_searcher.
3897 * include/std/forward_list: Switch to bits/version.h for
3899 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3900 * include/std/format: Switch to bits/version.h for
3901 __cpp_lib_format. Guard header behind that FTM.
3902 * include/std/filesystem: Switch to bits/version.h for
3903 __cpp_lib_filesystem. Guard header behind that FTM.
3904 * include/std/expected: Switch to bits/version.h for
3905 __cpp_lib_expected. Guard header behind it.
3906 * include/std/execution: Switch to bits/version.h for
3907 __cpp_lib_{execution,parallel_algorithm}. Guard header behind
3909 * include/std/deque: Switch to bits/version.h for
3911 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3912 * include/std/coroutine: Switch to bits/version.h for
3913 __cpp_lib_coroutine. Guard header behind that FTM.
3914 * include/std/concepts: Switch to bits/version.h for
3915 __cpp_lib_concepts. Guard header behind that FTM.
3916 * include/std/complex: Switch to bits/version.h for
3917 __cpp_lib_{complex_udls,constexpr_complex}.
3918 (operator""if, operator""i, operator""il): Guard behind
3919 __cpp_lib_complex_udls.
3920 * include/std/charconv: Swtich to bits/version.h for
3921 __cpp_lib_{to_chars,constexpr_charconv}.
3922 * include/std/bitset: Switch to bits/version.h for
3923 __cpp_lib_constexpr_bitset.
3924 * include/std/bit: Switch to bits/version.h for
3925 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
3926 (bit_cast): Guard behind __cpp_lib_bit_cast.
3927 (byteswap): Guard behind __cpp_lib_byteswap.
3928 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
3929 (popcount): Guard behind __cpp_lib_bitops.
3930 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
3932 (endian): Guard behind __cpp_lib_endian.
3933 * include/std/barrier: Switch to bits/version.h for
3934 __cpp_lib_barrier. Guard header behind that FTM.
3935 * include/std/atomic: Switch to bits/version.h for
3936 __cpp_lib_atomic_{is_always_lock_free,float,ref}
3937 and __cpp_lib_lock_free_type_aliases.
3938 (*::is_always_lock_free): Guard behind
3939 __cpp_lib_atomic_is_always_lock_free.
3940 (atomic<float>): Guard behind __cpp_lib_atomic_float.
3941 (atomic_ref): Guard behind __cpp_lib_atomic_ref.
3942 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
3943 __cpp_lib_atomic_lock_free_type_aliases.
3944 * include/std/array: Switch to bits/version.h for
3946 (to_array): Guard behind __cpp_lib_to_array.
3947 * include/std/any: Switch to bits/version.h for __cpp_lib_any.
3948 Guard header behind that FTM.
3949 * include/std/algorithm: Switch to bits/version.h for
3950 __cpp_lib_parallel_algorithm.
3951 * include/c_global/cstddef: Switch to bits/version.h for
3953 (byte): Guard behind __cpp_lib_byte.
3954 * include/c_global/cmath: Switch to bits/version.h for
3955 __cpp_lib_{hypot,interpolate}.
3956 (hypot3): Guard behind __cpp_lib_hypot.
3957 (lerp): Guard behind __cpp_lib_interpolate.
3958 * include/c_compatibility/stdatomic.h: Switch to
3959 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that
3961 * include/bits/utility.h: Switch to bits/version.h for
3962 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
3963 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
3964 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
3965 * include/bits/uses_allocator_args.h: Switch to bits/version.h for
3966 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM.
3967 * include/bits/unordered_map.h: Switch to bits/version.h for
3968 __cpp_lib_unordered_map_try_emplace.
3969 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
3970 * include/bits/unique_ptr.h: Switch to bits/version.h for
3971 __cpp_lib_{constexpr_memory,make_unique}.
3972 (make_unique): Guard behind __cpp_lib_make_unique.
3973 * include/bits/stl_vector.h: Switch to bits/version.h for
3974 __cpp_lib_constexpr_vector.
3975 * include/bits/stl_uninitialized.h: Switch to bits/version.h for
3976 __cpp_lib_raw_memory_algorithms.
3977 (uninitialized_default_construct)
3978 (uninitialized_default_construct_n, uninitialized_move)
3979 (uninitialized_move_n, uninitialized_value_construct)
3980 (uninitialized_value_construct_n): Guard behind
3981 __cpp_lib_raw_memory_algorithms.
3982 * include/bits/stl_tree.h: Switch to bits/version.h for
3983 __cpp_lib_generic_associative_lookup.
3984 * include/bits/stl_stack.h: Switch to bits/version.h for
3985 __cpp_lib_adaptor_iterator_pair_constructor.
3986 (stack): Guard iterator-pair constructor behind
3987 __cpp_lib_adaptor_iterator_pair_constructor.
3988 * include/bits/stl_queue.h: Switch to bits/version.h for
3989 __cpp_lib_adaptor_iterator_pair_constructor.
3990 (queue): Guard iterator-pair constructor behind
3991 __cpp_lib_adaptor_iterator_pair_constructor.
3992 * include/bits/stl_pair.h: Switch to bits/version.h for
3993 __cpp_lib_{concepts,tuples_by_type}.
3994 (get): Guard type-getting overloads behind
3995 __cpp_lib_tuples_by_type.
3996 * include/bits/stl_map.h: Switch to bits/version.h for
3997 __cpp_lib_map_try_emplace.
3998 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
3999 * include/bits/stl_list.h: Switch to bits/version.h for
4000 __cpp_lib_list_remove_return_type.
4001 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
4002 [C++20]: guard behind __cpp_lib_list_remove_return_type instead.
4003 * include/bits/stl_iterator.h: Switch to bits/version.h for
4004 __cpp_lib_{constexpr_iterator,array_constexpr} and
4005 __cpp_lib_{make_reverse_iterator,move_iterator_concept}.
4006 (make_reverse_iterator): Guard behind
4007 __cpp_lib_make_reverse_iterator.
4008 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept
4009 changes behind that FTM.
4010 * include/bits/stl_function.h: Switch to bits/version.h for
4011 __cpp_lib_transparent_operators.
4012 (equal_to, not_equal_to, greater, less, greater_equal)
4013 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
4014 (logical_or, logical_not, plus, minus, multiplies, divides)
4015 (modulus, negate): Guard '= void' fwdecls behind
4016 __cpp_lib_transparent_operators.
4017 (plus<void>, minus<void>, multiplies<void>, divides<void>)
4018 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
4019 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
4020 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
4021 (greater_equal<void>, less_equal<void>, bit_not<void>)
4022 (__has_is_transparent): Guard behind
4023 __cpp_lib_transparent_operators.
4024 * include/bits/stl_algobase.h: Switch to bits/version.h for
4025 __cpp_lib_robust_nonmodifying_seq_ops.
4026 (robust equal, mismatch): Guard behind
4027 __cpp_lib_nonmember_container_access.
4028 * include/bits/stl_algo.h: Swtich to bits/version.h for
4029 __cpp_lib_{clamp,sample}.
4030 (clamp): Guard behind __cpp_lib_clamp.
4031 (sample): Guard behind __cpp_lib_sample.
4032 * include/bits/specfun.h: Switch to bits/version.h for
4033 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
4034 * include/bits/shared_ptr_base.h: Switch to bits/version.h for
4035 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
4036 (_Sp_overwrite_tag): Guard behind
4037 __cpp_lib_smart_ptr_for_overwrite.
4038 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
4039 __cpp_lib_atomic_shared_ptr.
4040 * include/bits/shared_ptr.h: Switch to bits/version.h for
4041 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
4042 (shared_ptr<T>::weak_type): Guard behind
4043 __cpp_lib_shared_ptr_weak_type.
4044 (enable_shared_from_this<T>::weak_from_this): Guard behind
4045 __cpp_lib_enable_shared_from_this.
4046 * include/bits/ranges_cmp.h: Switch to bits/version.h for
4048 * include/bits/ranges_algo.h: Switch to bits/version.h for
4049 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
4050 * include/bits/range_access.h: Switch to bits/version.h for
4051 __cpp_lib_nonmember_container_access
4052 (size, empty, data): Guard behind
4053 __cpp_lib_nonmember_container_access.
4054 (ssize): Guard behind __cpp_lib_ssize.
4055 * include/bits/ptr_traits.h: Switch to bits/version.h. for
4056 __cpp_lib_{constexpr_memory,to_address}.
4057 (to_address): Guard behind __cpp_lib_to_address.
4058 * include/bits/node_handle.h: Switch to bits/version.h for
4059 __cpp_lib_node_extract. Guard header behind that FTM.
4060 * include/bits/move_only_function.h: Switch to bits/version.h for
4061 __cpp_lib_move_only_function. Guard header behind that FTM.
4062 * include/bits/move.h: Switch to bits/version.h for
4063 __cpp_lib_addressof_constexpr.
4064 * include/bits/ios_base.h: Switch to bits/version.h for
4065 __cpp_lib_ios_noreplace.
4066 (noreplace): Guard with __cpp_lib_ios_noreplace.
4067 * include/bits/hashtable.h: Switch to bits/version.h for
4068 __cpp_lib_generic_unordered_lookup.
4069 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
4070 __cpp_lib_generic_unordered_lookup.
4071 * include/bits/forward_list.h: Switch to bits/version.h for
4072 __cpp_lib_list_remove_return_type.
4073 (__remove_return_type): Guard behind
4074 __cpp_lib_list_remove_return_type.
4075 * include/bits/erase_if.h: Switch to bits/version.h for
4077 * include/bits/cow_string.h: Switch to bits/version.h for
4078 __cpp_lib_constexpr_string.
4079 * include/bits/chrono.h: Swtich to bits/version.h for
4080 __cpp_lib_chrono{,_udls}.
4081 (ceil): Guard behind __cpp_lib_chrono.
4082 (operator""ns et al): Guard behind __cpp_lib_chrono_udls.
4083 * include/bits/char_traits.h: Switch to bits/version.h for
4084 __cpp_lib_constexpr_char_traits.
4085 * include/bits/basic_string.h: Switch to bits/version.h for
4086 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
4087 (resize_and_overwrite): Guard behind
4088 __cpp_lib_string_resize_and_overwrite.
4089 (operator""s): Guard behind __cpp_lib_string_udls.
4090 * include/bits/atomic_wait.h: Switch to bits/version.h for
4091 __cpp_lib_atomic_wait. Guard header behind that FTM.
4092 * include/bits/atomic_base.h: Switch to bits/version.h for
4093 __cpp_lib_atomic_value_initialization and
4094 __cpp_lib_atomic_flag_test.
4095 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
4097 * include/bits/allocator.h: Switch to bits/version.h for
4098 __cpp_lib_incomplete_container_elements.
4099 * include/bits/alloc_traits.h: Switch to using bits/version.h for
4100 __cpp_lib_constexpr_dynamic_alloc and
4101 __cpp_lib_allocator_traits_is_always_equal.
4102 * include/bits/align.h: Switch to bits/version.h for defining
4103 __cpp_lib_assume_aligned.
4104 (assume_aligned): Guard with __cpp_lib_assume_aligned.
4105 * include/bits/algorithmfwd.h: Switch to bits/version.h for
4106 defining __cpp_lib_constexpr_algorithms.
4107 * include/std/stacktrace: Switch to bits/version.h for
4108 __cpp_lib_stacktrace. Guard header behind that FTM.
4109 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
4110 Update line numbers.
4112 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
4114 * include/Makefile.am (bits_freestanding): Add version.h.
4115 (allcreated): Add version.h.
4116 (${bits_srcdir}/version.h): New rule. Regenerates
4117 version.h out of version.{def,tpl}.
4118 * include/Makefile.in: Regenerate.
4119 * include/bits/version.def: New file. Declares a list of
4120 all feature test macros, their values and their preconditions.
4121 * include/bits/version.tpl: New file. Turns version.def
4122 into a sequence of #if blocks.
4123 * include/bits/version.h: New file. Generated from
4125 * include/std/version: Replace with a __glibcxx_want_all define
4126 and bits/version.h include.
4128 2023-08-14 Paul Dreik <gccpatches@pauldreik.se>
4131 * include/std/format (__formatter_fp::format): Use frexp instead
4134 2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org>
4136 * include/std/type_traits (true_type): Use __bool_constant
4138 (false_type): Likewise.
4139 (bool_constant): Likewise.
4141 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4144 * include/std/format (_Seq_sink::get): Only call _M_overflow if
4145 its precondition is met.
4146 (_Iter_sink::_M_finish): Likewise.
4147 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
4148 internal buffer after running out of space.
4149 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
4150 (_Counting_sink::count): Likewise.
4151 * testsuite/std/format/functions/format_to_n.cc: Check cases
4152 where the output fits into the buffer.
4154 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4157 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
4158 to _ChronoParts operators.
4159 (from_stream, parse): Define new functions.
4160 (__detail::_Parse, __detail::_Parser): New class templates.
4161 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
4163 * include/std/version (__cpp_lib_chrono): Likewise.
4164 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
4165 Adjust expected value of feature test macro.
4166 * testsuite/20_util/duration/io.cc: Test parsing.
4167 * testsuite/std/time/clock/file/io.cc: Likewise.
4168 * testsuite/std/time/clock/gps/io.cc: Likewise.
4169 * testsuite/std/time/clock/system/io.cc: Likewise.
4170 * testsuite/std/time/clock/tai/io.cc: Likewise.
4171 * testsuite/std/time/clock/utc/io.cc: Likewise.
4172 * testsuite/std/time/day/io.cc: Likewise.
4173 * testsuite/std/time/month/io.cc: Likewise.
4174 * testsuite/std/time/month_day/io.cc: Likewise.
4175 * testsuite/std/time/weekday/io.cc: Likewise.
4176 * testsuite/std/time/year/io.cc: Likewise.
4177 * testsuite/std/time/year_month/io.cc: Likewise.
4178 * testsuite/std/time/year_month_day/io.cc: Likewise.
4179 * testsuite/std/time/syn_c++20.cc: Check value of macro and for
4180 the existence of parse and from_stream in namespace chrono.
4181 * testsuite/std/time/clock/local/io.cc: New test.
4182 * testsuite/std/time/parse.cc: New test.
4184 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4187 * include/std/format (__formatter_fp::format): Do not call log10
4190 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4192 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
4193 Check for out-of-range month an weekday indices.
4194 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
4195 month and weekday values.
4197 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4199 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
4201 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
4204 * include/std/format (_Spec::_S_parse_width_or_precision): Check
4205 for empty range before dereferencing iterator.
4206 * testsuite/std/format/string.cc: Check for expected exception.
4207 Fix expected exception message in test_pr110862() and actually
4210 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
4213 * include/std/format (__formatter_fp::format): Check return
4214 value of _M_localize.
4215 * testsuite/std/format/functions/format.cc: Check classic
4218 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
4221 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
4223 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
4224 (__detail::__basic_const_iterator_iter_cat): Likewise.
4225 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
4226 Rename to __iter_category_t.
4228 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4230 * include/bits/chrono.h (duration_cast): Do not use braces
4231 around statements for C++11 constexpr rules.
4232 * include/bits/stl_algobase.h (__lg): Rewrite as a single
4233 statement for C++11 constexpr rules.
4234 * include/experimental/bits/fs_path.h (path::string): Use
4235 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
4236 * include/std/charconv (__to_chars_8): Initialize variable for
4237 C++17 constexpr rules.
4239 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4241 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
4242 warning for loop condition.
4244 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4246 * include/std/complex: Add diagnostic pragma for clang.
4248 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4250 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
4252 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
4253 class-head to struct in friend declaration.
4254 * include/std/chrono (tzdb_list::_Node): Likewise.
4255 * include/std/future (_Task_state_base, _Task_state): Likewise.
4256 * include/std/scoped_allocator (__inner_type_impl): Likewise.
4257 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
4258 (_ValFunClos, _RefFunClos): Change class-head to struct.
4260 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4262 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
4264 * include/bits/regex_executor.tcc: Remove name of unused
4266 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
4268 * include/bits/stl_uninitialized.h: Likewise.
4269 * include/bits/streambuf_iterator.h (operator==): Likewise.
4270 * include/bits/uses_allocator.h: Likewise.
4271 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
4272 * include/std/chrono (zoned_time): Likewise.
4273 * include/std/future (__future_base::_S_allocate_result):
4275 (packaged_task): Likewise.
4276 * include/std/optional (_Optional_payload_base): Likewise.
4277 * include/std/scoped_allocator (__inner_type_impl): Likewise.
4278 * include/std/tuple (_Tuple_impl): Likewise.
4280 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4282 * include/bits/new_allocator.h (__new_allocator): Define copy
4283 assignment operator as defaulted.
4284 * include/std/complex (complex<float>, complex<double>)
4285 (complex<long double>): Define copy constructor as defaulted.
4287 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4289 * include/std/format: Fix some warnings.
4290 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
4291 unused function template.
4293 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
4296 * include/std/format (__formatter_fp::format): Do not use
4297 __builtin_abs and __builtin_log10 with arbitrary floating-point
4300 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
4303 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
4304 Constrain partial specialization for contiguous iterators to
4305 require the value type to be CharT.
4306 * testsuite/std/format/functions/format_to.cc: New test.
4308 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
4311 * include/std/format (_Scanner::_M_on_replacement_field):
4312 Check for expected '}' before incrementing iterator.
4313 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
4315 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
4317 * configure: Regenerate.
4319 2023-08-07 Alan Modra <amodra@gmail.com>
4321 * configure: Regenerate.
4323 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
4325 * configure: Regenerate.
4327 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
4329 * configure: Regenerate.
4331 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
4333 * configure: Regenerate.
4335 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
4337 * configure: Regenerate.
4339 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
4341 * configure: Regenerate.
4343 2023-08-06 François Dumont <fdumont@gcc.gnu.org>
4345 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
4348 2023-07-30 François Dumont <fdumont@gcc.gnu.org>
4350 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
4352 * src/c++11/locale-inst-monetary.h: Likewise.
4353 * src/c++11/locale-inst-numeric.h: Likewise.
4355 2023-07-27 Jonathan Wakely <jwakely@redhat.com>
4358 * include/std/format (__formatter_fp::format): Ensure __expc is
4359 always set for all presentation types. Set __z correctly for
4361 * testsuite/std/format/functions/format.cc: Check problem cases.
4363 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
4366 * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
4368 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
4371 * include/bits/stl_bvector.h (vector(const vector&)): Access
4372 iterators before allocating.
4373 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
4375 * testsuite/23_containers/vector/bool/110807.cc: New test.
4377 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
4379 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
4381 * include/bits/stl_algo.h (random_shuffle): Correct comments.
4382 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
4383 deprecated warnings.
4384 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
4385 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4386 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
4389 2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
4391 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
4393 * testsuite/26_numerics/gcd/105844.cc: Likewise.
4394 * testsuite/26_numerics/lcm/105844.cc: Likewise.
4396 2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
4398 * include/std/format (_Formatting_scanner::_M_on_chars): Add
4399 missing constexpr specifier.
4400 (_Formatting_scanner::_M_format_arg): Likewise.
4402 2023-07-24 Jonathan Wakely <jwakely@redhat.com>
4405 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
4406 throw an exception for zero result.
4407 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
4409 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4412 * src/c++17/floating_from_chars.cc (from_chars): Only define
4413 _Float128 overload when using __strfromf128.
4415 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4418 * include/bits/chrono.h (duration): Improve static assert
4420 (__is_ratio): Move to ...
4421 * include/std/ratio (__is_ratio): ... here.
4422 (__is_ratio_v): New variable template and partial
4424 (__are_both_ratios): New function template.
4425 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
4426 Add static assertion.
4427 * testsuite/20_util/ratio/requirements/type_constraints.cc:
4429 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
4430 Adjust expected error.
4431 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
4434 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4436 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
4437 Do not set __is_neg for hh_mm_ss before calling
4438 _M_format_to_ostream. Change __print_sign lambda to only check
4439 __is_neg for durations and hh_mm_ss types.
4440 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
4442 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
4444 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4447 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
4448 Handle duration and hh_mm_ss.
4449 * testsuite/20_util/duration/io.cc: Check locale-specific
4451 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
4453 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4455 * include/std/format (__write_padded): Initialize first element
4456 of array to avoid a -Wmaybe-uninitialized warning.
4458 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4461 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
4462 allowed modifiers for %z and %Z. Fix -Wparentheses and
4463 -Wnarrowing warnings.
4464 (__formatter_chrono::_M_format): Call new functions for %d, %e,
4466 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
4467 subsecond precision.
4468 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
4470 (__formatter_chrono::_M_e): Replace with _M_d_e and use
4472 (__formatter_chrono::_M_I): Replace with _M_H_I and use
4474 (__formatter_chrono::_M_m): New function.
4475 (__formatter_chrono::_M_M): New function.
4476 (__formatter_chrono::_M_r): Use _M_locale_fmt.
4477 (__formatter_chrono::_M_S): Likewise.
4478 (__formatter_chrono::_M_u_w): Likewise.
4479 (__formatter_chrono::_M_U_V_W): Likewise.
4480 (__formatter_chrono::_M_X): Use _S_floor_seconds.
4481 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
4482 (__formatter_chrono::_S_altnum): Remove function.
4483 (__formatter_chrono::_S_dd_zero_fill): Remove function.
4484 (__formatter_chrono::_S_floor_seconds): New function.
4485 (__formatter_chrono::_M_locale_fmt): New function.
4486 * testsuite/std/time/clock/system/io.cc: Adjust expected output
4487 for locale-specific formats and check modified formats.
4488 * testsuite/std/time/clock/utc/io.cc: Likewise.
4489 * testsuite/std/time/zoned_time/io.cc: New test.
4491 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4494 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
4495 allow a single modifier.
4496 * testsuite/std/time/format.cc: Check multiple modifiers.
4498 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4501 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4502 Remove dg-require-string-conversions.
4503 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4505 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4507 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4509 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4512 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4515 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
4516 Define in terms of std::stod.
4518 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4521 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
4523 [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
4524 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
4525 Declare in namespace std.
4526 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
4528 2023-07-13 Jonathan Wakely <jwakely@redhat.com>
4531 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
4532 depend on _GLIBCXX_USE_C99_STDLIB.
4533 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
4534 in terms of stol and stoul respectively.
4535 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
4538 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
4541 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
4542 conversions to wide strings.
4543 * testsuite/experimental/filesystem/path/construct/95048.cc:
4546 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
4548 * config/io/basic_file_stdio.cc: Define LFS macros.
4549 (__basic_file<char>::open): Use fopen unconditionally.
4550 (get_file_offset): Use lseek unconditionally.
4551 (__basic_file<char>::seekoff): Likewise.
4552 (__basic_file<char>::showmanyc): Use fstat unconditionally.
4554 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
4557 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
4558 and define _GLIBCXX_USE_FSEEKO_FTELLO.
4559 * config.h.in: Regenerate.
4560 * configure: Regenerate.
4561 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
4562 Check for fwrite error correctly.
4563 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
4564 fread error correctly.
4565 (get_file_offset): New function.
4566 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
4567 fseeko if available. Use get_file_offset instead of return value
4569 (__basic_file<char>::showmanyc): Use get_file_offset.
4571 2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
4573 * include/std/type_traits (__make_unsigned_selector): Use
4574 __is_enum built-in trait.
4575 (__make_signed_selector): Likewise.
4576 (__underlying_type_impl): Likewise.
4578 2023-07-06 Tianqiang Shuai <1101282468@qq.com>
4580 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
4583 2023-07-06 Jonathan Wakely <jwakely@redhat.com>
4586 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
4588 * doc/html/manual/configure.html: Regenerate.
4590 2023-07-05 Thomas Rodgers <trodgers@redhat.com>
4592 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
4594 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
4596 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
4598 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
4600 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
4602 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
4605 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4607 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
4608 Skip as UNSUPPORTED for C++98 mode.
4609 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
4612 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4615 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
4616 Do not use std::fill_n during constant evaluation.
4618 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4620 * include/bits/vector.tcc (_M_default_append): Replace try-block
4623 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4625 * include/bits/iterator_concepts.h (projected): Add typename.
4627 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
4629 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
4630 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
4632 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
4634 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
4635 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
4636 Define to OpenMP 5.0 pragmas even for GCC 10.0+.
4637 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
4639 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
4641 * include/bits/alloc_traits.h (_Destroy): Qualify call.
4642 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
4643 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
4645 2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
4647 * testsuite/lib/libstdc++.exp: Remove additional flag handled
4650 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
4653 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
4654 * config.h.in: Regenerate.
4655 * configure: Regenerate.
4656 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
4657 * include/std/iostream: Use new autoconf macro as well as
4659 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
4662 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
4664 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
4667 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
4670 * src/c++11/random.cc (random_device::_M_init): Throw
4671 std::system_error when the requested device is a valid token but
4672 not available at runtime.
4674 2023-06-30 Hans-Peter Nilsson <hp@axis.com>
4677 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
4678 __INT32_TYPE__ instead of int32_t.
4680 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
4682 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
4683 with USE_ATOMIC_LIST_HEAD.
4684 (list_mutex): Replace global object with function. Use local
4685 static object when std::mutex constructor isn't constexpr.
4687 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
4690 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
4691 copy_file_range can be called with loff_t* arguments.
4692 * configure: Regenerate.
4693 * src/filesystem/ops-common.h (copy_file_copy_file_range):
4694 Use loff_t for offsets.
4696 2023-06-29 Tom Tromey <tromey@adacore.com>
4698 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
4701 2023-06-28 Jan Hubicka <jh@suse.cz>
4703 PR middle-end/109849
4704 * include/bits/c++config (std::__terminate): Mark cold.
4705 * include/bits/functexcept.h: Mark everything as cold.
4706 * libsupc++/exception: Mark terminate and unexpected as cold.
4708 2023-06-26 Thomas Rodgers <trodgers@redhat.com>
4710 * include/pstl/algorithm_fwd.h: Synchronize with upstream.
4711 * include/pstl/algorithm_impl.h: Likewise.
4712 * include/pstl/execution_defs.h: Likewise.
4713 * include/pstl/execution_impl.h: Likewise.
4714 * include/pstl/glue_algorithm_impl.h: Likewise.
4715 * include/pstl/glue_execution_defs.h: Likewise.
4716 * include/pstl/glue_memory_impl.h: Likewise.
4717 * include/pstl/glue_numeric_impl.h: Likewise.
4718 * include/pstl/memory_impl.h: Likewise.
4719 * include/pstl/numeric_fwd.h: Likewise.
4720 * include/pstl/numeric_impl.h: Likewise.
4721 * include/pstl/parallel_backend.h: Likewise.
4722 * include/pstl/parallel_backend_serial.h: Likewise.
4723 * include/pstl/parallel_backend_tbb.h: Likewise.
4724 * include/pstl/parallel_impl.h: Likewise.
4725 * include/pstl/pstl_config.h: Likewise.
4726 * include/pstl/unseq_backend_simd.h: Likewise.
4727 * include/pstl/utils.h: Likewise.
4728 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
4730 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
4732 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
4734 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
4736 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
4737 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
4739 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
4741 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
4743 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
4745 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
4747 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
4749 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
4751 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
4753 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
4755 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
4757 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
4759 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
4761 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
4763 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
4765 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
4767 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
4769 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
4771 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
4773 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
4775 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
4777 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
4779 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
4781 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
4783 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
4785 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
4787 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
4789 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
4791 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
4793 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
4795 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
4797 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
4799 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
4801 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
4803 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
4805 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
4807 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
4809 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
4811 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
4813 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
4815 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
4817 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
4819 * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
4821 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
4823 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
4825 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
4827 * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
4829 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4831 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
4833 * testsuite/util/pstl/test_utils.h:
4836 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4839 * include/std/format (__format::__parse_integer): Fix buffer
4840 overflow for wide chars.
4841 (formatter<const void*, C>::format): Cast to uintptr_t instead
4843 * testsuite/std/format/string.cc: Test too-large widths.
4845 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4847 * include/bits/iterator_concepts.h (projected): Replace class
4848 template with alias template denoting an ADL-proofed helper.
4849 (incremental_traits<projected<Iter, Proj>>): Remove.
4850 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
4853 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4855 * include/debug/helper_functions.h (__get_distance)
4856 (__check_singular, __valid_range_aux, __valid_range): Qualify
4857 calls to disable ADL.
4858 (__check_singular_aux(const _Safe_iterator_base*)): Declare
4859 overload that was previously found via ADL.
4861 2023-06-23 Jonathan Wakely <jwakely@redhat.com>
4863 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
4866 2023-06-20 Jonathan Wakely <jwakely@redhat.com>
4868 * include/std/array (to_array(T(&)[N])): Remove redundant
4870 (to_array(T(&&)[N])): Remove redundant std::move.
4872 2023-06-16 Alexandre Oliva <oliva@adacore.com>
4874 * testsuite/20_util/from_chars/4.cc: Skip long double on
4877 2023-06-16 Joel Brobecker <brobecker@adacore.com>
4879 * configure.ac ["x${with_newlib}" = "xyes"]: Define
4880 HAVE_HYPOTF. Add compile-checks for various long double
4881 math functions as well.
4882 * configure: Regenerate.
4884 2023-06-14 Jonny Grant <jg@jguk.org>
4886 * doc/xml/manual/extensions.xml: Remove demangle exception
4887 description and include.
4888 * doc/html/manual/ext_demangling.html: Regenerate.
4890 2023-06-10 Hans-Peter Nilsson <hp@axis.com>
4892 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
4893 [! SIMULATOR_TEST]: Also exclude running test05.
4894 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
4896 2023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
4898 * include/std/type_traits: Use using instead of typedef
4900 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4903 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
4904 Only define if _Float128 and long double have different
4907 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4910 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
4911 (basic_endpoint, basic_resolver_entry, resolver_base)
4912 (basic_resolver_results, basic_resolver): Only define if the tcp
4913 or udp protocols will be defined.
4915 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4917 * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
4918 * configure: Regenerate.
4919 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
4920 * doc/html/manual/abi.html: Regenerate.
4922 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4925 * include/std/format (formatter<const void*, charT>::parse):
4926 Only alow 0 and P for C++26 and non-strict modes.
4927 (formatter<const void*, charT>::format): Use toupper for P
4928 type, and insert zero-fill characters for 0 option.
4929 * testsuite/std/format/functions/format.cc: Check pointer
4930 formatting. Only check P2510R3 extensions conditionally.
4931 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
4932 extensions conditionally.
4934 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4937 * include/std/array (to_array): Initialize arrays of trivial
4938 types using memcpy. For non-trivial types, use lambda
4939 expressions instead of a separate helper function.
4940 (__to_array): Remove.
4941 * testsuite/23_containers/array/creation/110167.cc: New test.
4943 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4945 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
4947 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
4949 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
4951 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
4953 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
4955 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
4957 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
4959 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
4961 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
4964 2023-06-07 Jakub Jelinek <jakub@redhat.com>
4967 * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
4968 (double_to_chars_test_cases,
4969 double_scientific_precision_to_chars_test_cases_2,
4970 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
4971 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
4972 Add unconditional tests with corresponding double constants
4973 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
4974 0x1.7440bbff418b9p-18.
4976 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4978 * testsuite/util/testsuite_abi.cc (check_version): Re-add
4981 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4983 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
4984 Require effective target exceptions_enabled instead of using
4986 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
4987 shrink_to_fit() to be a no-op without exceptions enabled.
4988 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
4990 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
4991 Require effective target exceptions_enabled.
4992 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
4994 * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
4996 * testsuite/ext/new_allocator/check_allocate_max_size.cc:
4998 * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
5000 * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
5003 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
5005 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
5006 affected by rounding.
5007 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
5008 double before comparing for equality.
5009 * testsuite/20_util/from_chars/6.cc: Likewise.
5010 * testsuite/20_util/variant/86874.cc: Use values that aren't
5011 affected by rounding.
5012 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
5013 original value instead of to floating-point-literal.
5014 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
5015 Cast arithmetic result to double before comparing for equality.
5016 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
5018 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
5020 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
5021 the absolute difference is less than 0.01 instead of comparing
5022 to two decimal places.
5023 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
5024 Cast arithmetic result to double before comparing for equality.
5025 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
5027 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
5029 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
5031 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
5033 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
5035 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
5037 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
5040 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5042 * configure.ac: Use AS_IF.
5043 * configure: Regenerate.
5045 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
5047 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
5048 'UNSUPPORTED: [...]: exception handling disabled'.
5050 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5052 * testsuite/util/testsuite_abi.cc (check_version): Add
5053 CXXABI_1.3.15 symver and make it the latestp. Remove
5054 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
5056 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5057 Jakub Jelinek <jakub@redhat.com>
5060 * include/std/limits: (numeric_limits<__float128>): Define
5061 for __STRICT_ANSI__ as well.
5062 * testsuite/18_support/numeric_limits/128bit.cc: Remove
5063 check for __STRICT_ANSI__.
5065 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5067 * configure.ac: Use AS_IF.
5068 * configure: Regenerate.
5070 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
5073 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
5074 to avoid casts to other vector types. Implement store as
5075 succession of power-of-2 sized memcpy to avoid PR90424.
5077 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
5080 * include/experimental/bits/simd_builtin.h (_S_masked_store):
5081 Call into deduced ABI's SimdImpl after conversion.
5082 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
5083 Don't use _mm_maskmoveu_si128. Use the generic fall-back
5084 implementation. Also fix masked stores without SSE2, which
5085 were not doing anything before.
5087 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
5089 * include/experimental/bits/simd.h (__bit_cast): Use
5090 __gnu__::__vector_size__ instead of gnu::vector_size.
5092 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5095 * include/std/array (__array_traits<T, 0>::operator T*()): Make
5096 conversion operator explicit.
5097 (array::front): Use size_type as subscript operand.
5098 (array::data): Use static_cast to make conversion explicit.
5099 * testsuite/23_containers/array/element_access/110139.cc: New
5102 2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
5104 * include/bits/locale_classes.tcc: Remove check for
5105 codecvt<char8_t, char, mbstate_t> facet.
5107 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5109 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
5110 close-on-exec flag on file descriptors.
5112 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5115 * src/filesystem/ops-common.h (do_copy_file): Check for empty
5116 files by trying to read a character.
5117 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
5120 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
5122 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
5123 * config.h.in: Regenerate.
5124 * configure: Regenerate.
5125 * src/filesystem/ops-common.h (copy_file_copy_file_range):
5126 Define new function.
5127 (do_copy_file): Use it.
5129 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
5131 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
5132 * config.h.in: Regenerate.
5133 * configure: Regenerate.
5134 * src/filesystem/ops-common.h (copy_file_sendfile): Define new
5135 function for sendfile logic. Loop to support large files. Skip
5137 (do_copy_file): Use it.
5139 2023-06-04 Jason Merrill <jason@redhat.com>
5142 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
5143 * config/abi/pre/gnu.ver: Add it.
5145 2023-06-02 François Dumont <fdumont@gcc.gnu.org>
5147 * include/parallel/algobase.h: Include <parallel/search.h>.
5149 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5151 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
5152 Add const to equality operator.
5154 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5156 * include/std/expected (expected::and_then, expected::or_else)
5157 (expected::transform_error): Use _M_val and _M_unex instead of
5158 calling value() and error(), as per LWG 3938.
5159 (expected::transform): Likewise. Remove incorrect std::move
5160 calls from lvalue overloads.
5161 (expected<void, E>::and_then, expected<void, E>::or_else)
5162 (expected<void, E>::transform): Use _M_unex instead of calling
5164 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
5165 and transform, and for std::expected<void, E>.
5166 * testsuite/20_util/expected/lwg3938.cc: New test.
5168 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5171 * include/bits/stl_vector.h (_Vector_base::_M_invariant):
5173 (vector::size, vector::capacity): Remove calls to _M_invariant.
5174 * include/bits/vector.tcc (vector::_M_fill_assign): Add
5175 optimization hint to reallocating path.
5176 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
5178 * testsuite/23_containers/vector/capacity/invariant.cc: Moved
5180 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
5181 ...here. Check assign(FwdIter, FwdIter) too.
5182 * testsuite/23_containers/vector/types/1.cc: Revert addition
5183 of -Wno-stringop-overread option.
5185 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5187 * doc/xml/manual/evolution.xml: Document removal of implicit
5188 allocator rebinding extensions in strict mode and for C++20.
5189 * doc/html/*: Regenerate.
5191 2023-06-01 Jason Merrill <jason@redhat.com>
5193 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
5194 handlers in the cleanup phase.
5196 2023-06-01 Matthias Kretz <m.kretz@gsi.de>
5199 * include/experimental/bits/simd.h (__vectorized_sizeof): With
5200 __have_neon_a32 only single-precision float works (in addition
5203 2023-06-01 François Dumont <fdumont@gcc.gnu.org>
5205 * include/bits/stl_algo.h
5206 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
5207 * include/bits/stl_algobase.h: ...here.
5208 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
5209 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
5210 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
5212 * include/parallel/algobase.h: ...here.
5213 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
5214 includes. Include <bits/stl_algobase.h>.
5216 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5219 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
5220 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
5221 * config.h.in: Regenerate.
5222 * configure: Regenerate.
5223 * include/c_global/cmath (float_t, double_t): Guard using new
5224 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
5226 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5228 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
5229 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
5230 for C99 rounding functions to here.
5231 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
5232 functions from here.
5233 * config.h.in: Regenerate.
5234 * configure: Regenerate.
5235 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
5236 of _GLIBCXX_USE_C99_MATH_TR1.
5237 * include/bits/random.tcc: Likewise.
5238 * include/c_compatibility/math.h: Likewise.
5239 * include/c_global/cmath: Likewise.
5240 * include/ext/random: Likewise.
5241 * include/ext/random.tcc: Likewise.
5242 * include/std/complex: Likewise.
5243 * testsuite/20_util/from_chars/4.cc: Likewise.
5244 * testsuite/20_util/from_chars/8.cc: Likewise.
5245 * testsuite/26_numerics/complex/proj.cc: Likewise.
5246 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
5247 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
5249 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
5251 * testsuite/util/testsuite_random.h: Likewise.
5253 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5255 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
5257 (vector::size(), vector::capacity()): Call _M_invariant().
5258 * testsuite/23_containers/vector/capacity/invariant.cc: New test.
5259 * testsuite/23_containers/vector/types/1.cc: Add suppression for
5260 false positive warning (PR110060).
5262 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5265 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
5266 defined before trying to use _Float128.
5268 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5270 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
5271 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
5272 * configure: Regenerate.
5274 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5276 * include/bits/unique_lock.h: Include <bits/error_constants.h>
5277 here for std::errc constants.
5278 * include/std/mutex: Do not include <bits/error_constants.h> and
5281 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5283 * configure.ac: Replace use of -o operator for test.
5284 * configure: Regenerate.
5286 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5288 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
5289 noexcept to all constructors except the default constructor.
5290 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
5291 (scoped_allocator_adaptor::outer_allocator): Likewise.
5292 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
5294 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5297 * include/std/limits (numeric_limits<__float128>): Define.
5298 * testsuite/18_support/numeric_limits/128bit.cc: New test.
5300 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5302 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
5303 msp430 to all 16-bit targets.
5304 * configure: Regenerate.
5306 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5309 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
5310 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
5311 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
5313 (from_chars(const char*, const char*, double&, chars_format)):
5314 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
5315 (from_chars(const char*, const char*, _Float128&, chars_format))
5316 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
5317 defined, otherwise parse a long double and convert to _Float128.
5319 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5322 * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
5323 Add deprecated attribute to non-standard overload.
5324 * doc/xml/manual/evolution.xml: Document deprecation.
5325 * doc/html/*: Regenerate.
5326 * testsuite/27_io/manipulators/standard/char/1.cc: Add
5327 dg-warning for expected deprecated warning.
5328 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
5329 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
5330 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
5332 2023-05-30 Alexandre Oliva <oliva@adacore.com>
5334 * testsuite/20_util/from_chars/4.cc: Skip long double test06
5336 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
5339 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
5342 * include/experimental/bits/simd.h (to_native): Use int NTTP
5343 as specified in PTS2.
5344 (to_compatible): Likewise. Add missing tag to call mask
5346 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
5349 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
5351 * testsuite/experimental/simd/tests/integer_operators.cc:
5352 Compute expected value differently to avoid getting turned into
5355 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
5357 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
5358 double <-> (u)long conversion tests conditional on sizeof(long
5359 double) and sizeof(long).
5361 2023-05-26 Matthias Kretz <m.kretz@gsi.de>
5363 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
5364 Negative __y is UB, so prefer signed compare.
5366 2023-05-25 Jonathan Wakely <jwakely@redhat.com>
5368 * testsuite/util/testsuite_allocator.h (PointerBase): Add
5369 relational operators.
5371 2023-05-25 Alexandre Oliva <oliva@adacore.com>
5373 * testsuite/20_util/to_chars/long_double.cc: Expect execution
5374 fail on x86-vxworks.
5376 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
5379 * include/experimental/bits/simd.h (__intrinsic_type): If
5380 __ALTIVEC__ is defined, map gnu::vector_size types to their
5381 corresponding __vector T types without losing unsignedness of
5382 integer types. Also prefer long long over long.
5383 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
5384 object to the expected unsigned vector type.
5386 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
5389 * include/experimental/bits/simd.h (__intrinsic_type):
5390 Specialize __intrinsic_type<double, 8> and
5391 __intrinsic_type<double, 16> in any case, but provide the member
5392 type only with __aarch64__.
5394 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
5397 * include/experimental/bits/simd_neon.h (_S_reduce): Add
5398 constexpr and make NEON implementation conditional on
5399 not __builtin_is_constant_evaluated.
5401 2023-05-23 Matthias Kretz <m.kretz@gsi.de>
5404 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
5405 Avoid vector builtin subscripting in constant expressions.
5406 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
5407 (const_where_expression, where_expression, where)
5408 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
5409 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
5411 * include/experimental/bits/simd_builtin.h (__vector_permute)
5412 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
5413 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
5414 (_MaskImplBuiltin::_S_store): Add constexpr.
5415 (_CommonImplBuiltin::_S_store_bool_array)
5416 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
5417 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
5418 constant_evaluated case.
5419 * include/experimental/bits/simd_fixed_size.h
5420 (_S_masked_load): Reword comment.
5421 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
5422 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
5423 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
5424 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
5425 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
5427 (_SimdTuple::operator[], _M_set): Add constexpr and add
5428 constant_evaluated case.
5429 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
5430 * include/experimental/bits/simd_scalar.h: Add constexpr.
5431 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
5432 constexpr and add constant_evaluated case.
5433 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
5434 (_S_less_equal): Value-initialize to satisfy constexpr
5436 (_MaskImplX86::_S_load): Add constant_evaluated case.
5437 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
5438 case. Value-initialize local variables.
5439 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
5440 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
5442 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
5445 2023-05-22 Matthias Kretz <m.kretz@gsi.de>
5447 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
5448 __infn into #ifdef'ed block.
5449 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
5450 constants only when used.
5451 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
5452 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
5453 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
5455 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
5456 Move totest and expect1 into #ifdef'ed block.
5458 2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
5460 * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
5461 * doc/html/manual/strings.html: Regenerate.
5463 2023-05-17 Jakub Jelinek <jakub@redhat.com>
5466 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
5468 2023-05-17 Jakub Jelinek <jakub@redhat.com>
5471 * include/c_global/cmath (atan2, fmod, pow): Move
5472 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
5473 __gnu_cxx::__bfloat16_t overloads.
5474 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
5476 (fma): Move __gnu_cxx::__promote_3 using template after
5477 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
5479 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5481 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
5482 checks for float_round_style and float_denorm_style.
5484 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5486 * include/bits/c++config: Add system_header pragma.
5488 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5490 * include/std/expected (expected::and_then, expected::or_else)
5491 (expected::transform, expected::transform_error): Fix exception
5492 specifications as per LWG 3877.
5493 (expected<void, E>::and_then, expected<void, E>::transform):
5495 * testsuite/20_util/expected/lwg3877.cc: New test.
5497 2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
5499 * include/std/type_traits: Use __bool_constant instead of
5502 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5504 * configure: Regenerate.
5506 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5509 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
5510 * config.h.in: Regenerate.
5511 * configure: Regenerate.
5512 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
5513 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
5514 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
5515 instead of hardcoded 64.
5517 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5519 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
5520 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
5521 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
5522 * config.h.in: Regenerate.
5523 * configure: Regenerate.
5524 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
5525 instead of _GLIBCXX_USE_C99_FENV_TR1.
5526 * include/c_global/cfenv: Likewise.
5527 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
5528 of _GLIBCXX_USE_C99_CTYPE_TR1.
5530 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5532 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
5533 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
5534 <inttypes.h> features in C++11 mode and define
5535 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
5536 * config.h.in: Regenerate.
5537 * configure: Regenerate.
5538 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
5539 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
5540 of _GLIBCXX_USE_C99_STDINT_TR1.
5541 * include/c_compatibility/inttypes.h: Check
5542 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
5543 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
5544 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
5545 * include/c_compatibility/stdatomic.h: Check
5546 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
5547 * include/c_compatibility/stdint.h: Likewise.
5548 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
5549 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
5550 _GLIBCXX_USE_C99_INTTYPES_TR1 and
5551 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
5552 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
5553 instead of _GLIBCXX_USE_C99_STDINT_TR1.
5554 * include/std/atomic: Likewise.
5555 * src/c++11/cow-stdexcept.cc: Likewise.
5556 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
5558 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
5561 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5563 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
5564 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
5565 * config.h.in: Regenerate.
5566 * configure: Regenerate.
5567 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
5568 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
5569 instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
5571 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5573 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
5574 assertion to ensure expected exception is throw.
5576 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5578 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
5579 printer for chrono::zoned_time for cx11 ABI and tzdb effective
5582 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5584 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
5585 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
5586 * configure: Regenerate.
5588 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5590 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
5591 to check for nan, nanf, and nanl.
5592 * configure: Regenerate.
5594 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5596 * include/bits/char_traits.h (char_traits<char16_t>): Do not
5597 depend on _GLIBCXX_USE_C99_STDINT_TR1.
5598 (char_traits<char32_t>): Likewise.
5599 * include/experimental/source_location: Likewise.
5601 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5603 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
5604 (atomic_int_least16_t, atomic_uint_least16_t)
5605 (atomic_int_least32_t, atomic_uint_least32_t)
5606 (atomic_int_least64_t, atomic_uint_least64_t)
5607 (atomic_int_fast16_t, atomic_uint_fast16_t)
5608 (atomic_int_fast32_t, atomic_uint_fast32_t)
5609 (atomic_int_fast64_t, atomic_uint_fast64_t)
5610 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
5611 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
5613 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5615 * include/bits/algorithmfwd.h (shuffle): Do not depend on
5616 _GLIBCXX_USE_C99_STDINT_TR1.
5617 * include/bits/ranges_algo.h (shuffle): Likewise.
5618 * include/bits/stl_algo.h (shuffle): Likewise.
5619 * include/ext/random: Likewise.
5620 * include/ext/throw_allocator.h (random_condition): Likewise.
5621 * include/std/random: Likewise.
5622 * src/c++11/cow-string-inst.cc: Likewise.
5623 * src/c++11/random.cc: Likewise.
5625 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5627 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
5628 _GLIBCXX_USE_C99_STDINT_TR1.
5630 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5632 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
5633 on _GLIBCXX_USE_C99_STDINT_TR1.
5635 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5637 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
5638 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
5639 * testsuite/experimental/string_view/typedefs.cc: Likewise.
5641 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5643 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
5644 (auto_locale, auto_ferounding): New class types.
5645 (from_chars_impl): Use auto_locale and auto_ferounding.
5647 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5650 * include/std/chrono (hh_mm_ss::__fits): Remove variable
5652 (hh_mm_ss::__subseconds): Remove __fits from constraints.
5653 * testsuite/std/time/hh_mm_ss/109772.cc: New test.
5654 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
5655 hh_mm_ss<duration<int, std::pico>>.
5657 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5659 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
5660 * include/bits/basic_ios.h: Add static assertion checking
5661 traits_type::value_type.
5662 * include/bits/basic_string.h: Likewise. Do not rebind
5663 allocator, and add static assertion checking its value_type.
5664 (basic_string::_Alloc_traits_impl): Remove class template.
5665 (basic_string::_S_allocate): New static member function.
5666 (basic_string::assign): Use _S_allocate.
5667 * include/bits/basic_string.tcc (basic_string::_M_create)
5668 (basic_string::reserve, basic_string::_M_replace): Likewise.
5669 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
5670 Disable for C++20 and later.
5671 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
5674 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5677 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
5678 and negative zero correctly.
5679 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
5681 2023-05-10 François Dumont <fdumont@gcc.gnu.org>
5683 * include/bits/hashtable_policy.h
5684 (_NodeBuilder<>::_S_build): Use __node_ptr.
5685 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
5686 (_AllocNode<>): Likewise.
5687 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
5688 to call std::is_permutation in the non-unique key implementation.
5689 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
5691 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
5692 (_Hashtable<>::_M_insert_bucket_begin): Likewise.
5693 (_Hashtable<>::_M_remove_bucket_begin): Likewise.
5694 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
5696 (_Hashtable<>::find): Likewise.
5697 (_Hashtable<>::_M_emplace): Likewise.
5698 (_Hashtable<>::_M_insert_unique): Likewise.
5700 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
5702 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
5703 Print floating-point durations correctly.
5704 (StdChronoTimePointPrinter): Support printing only the value,
5705 not the type name. Uncomment handling for known clocks.
5706 (StdChronoZonedTimePrinter): Remove type names from output.
5707 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
5708 (StdChronoTimeZonePrinter): Add equals sign to output.
5709 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
5711 2023-05-05 Alexandre Oliva <oliva@adacore.com>
5713 * testsuite/20_util/from_chars/4.cc: Skip long double test06
5715 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
5718 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
5720 * doc/xml/manual/abi.xml (abi.versioning.history): Document
5721 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
5722 * doc/html/manual/abi.html: Regenerate.
5724 2023-05-04 Florian Weimer <fweimer@redhat.com>
5726 * doc/xml/manual/abi.xml (abi.versioning.history): Add
5727 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
5730 2023-05-03 Jakub Jelinek <jakub@redhat.com>
5732 * src/c++17/floating_from_chars.cc
5733 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
5734 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
5735 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
5736 _ZSt8to_charsPcS_u9__ieee128.
5737 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
5738 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
5739 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
5740 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
5741 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
5743 2023-05-03 Jakub Jelinek <jakub@redhat.com>
5745 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
5746 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
5747 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
5748 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
5749 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
5751 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
5754 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
5755 Jonathan Wakely <jwakely@redhat.com>
5758 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
5759 Initialize _M_string_length.
5761 2023-05-02 Jakub Jelinek <jakub@redhat.com>
5763 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5764 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
5765 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
5766 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
5767 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
5768 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
5769 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5770 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
5772 2023-05-02 Jakub Jelinek <jakub@redhat.com>
5775 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
5778 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5780 * include/bits/random.h (gamma_distribution): Add to the right
5782 (discrete_distribution, piecewise_constant_distribution)
5783 (piecewise_linear_distribution): Create a new doxygen group and
5784 fix the incomplete doxygen comments.
5785 * include/bits/uniform_int_dist.h (uniform_int_distribution):
5786 Add to doxygen group.
5788 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5790 * include/bits/uses_allocator.h: Add missing @file comment.
5791 * include/bits/regex.tcc: Remove stray doxygen comments.
5792 * include/experimental/memory_resource: Likewise.
5793 * include/std/bit: Tweak doxygen @cond comments.
5794 * include/std/expected: Likewise.
5795 * include/std/numbers: Likewise.
5797 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5799 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
5802 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5804 * include/bits/move.h: Simplify opening/closing namespace std.
5806 2023-04-28 Jakub Jelinek <jakub@redhat.com>
5809 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
5810 _ZSt21ios_base_library_initv.
5811 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
5812 symver and make it the latestp.
5813 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
5814 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
5815 * include/std/iostream: If init_priority attribute is supported
5816 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
5817 symbol into the object.
5818 * configure: Regenerated.
5820 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5822 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
5823 * include/std/format: Likewise.
5825 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5827 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
5828 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
5830 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5832 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
5834 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
5836 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
5838 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
5840 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
5842 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
5843 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
5844 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
5845 (_DEFINE_BINARY_OPERATOR): Likewise.
5847 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5849 * include/bits/memory_resource.h: Improve doxygen comments.
5850 * include/std/memory_resource: Likewise.
5852 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5855 * include/bits/basic_string.h: Improve doxygen comments.
5856 * include/bits/cow_string.h: Likewise.
5857 * include/bits/forward_list.h: Likewise.
5858 * include/bits/fs_dir.h: Likewise.
5859 * include/bits/fs_path.h: Likewise.
5860 * include/bits/quoted_string.h: Likewise.
5861 * include/bits/stl_bvector.h: Likewise.
5862 * include/bits/stl_map.h: Likewise.
5863 * include/bits/stl_multimap.h: Likewise.
5864 * include/bits/stl_multiset.h: Likewise.
5865 * include/bits/stl_set.h: Likewise.
5866 * include/bits/stl_vector.h: Likewise.
5867 * include/bits/unordered_map.h: Likewise.
5868 * include/bits/unordered_set.h: Likewise.
5869 * include/std/filesystem: Likewise.
5870 * include/std/iomanip: Likewise.
5872 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5875 * src/c++11/random.cc (__throw_syserr): New function.
5876 (random_device::_M_init, random_device::_M_init_pretr1): Use new
5877 function for bad tokens.
5878 (random_device::_M_getval): Use new function for read errors.
5879 * testsuite/util/testsuite_random.h (random_device_available):
5880 Change catch handler to use std::system_error.
5882 2023-04-24 Patrick Palka <ppalka@redhat.com>
5884 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
5885 Fix propagation of sign bit.
5886 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
5887 non-standard 'signed typedef-name'. Add some compile-time tests
5888 for right-shifting a negative __max_diff_type value by more than
5891 2023-04-19 Patrick Palka <ppalka@redhat.com>
5892 Jonathan Wakely <jwakely@redhat.com>
5895 * include/bits/utility.h (_Nth_type): Conditionally define in
5896 terms of __type_pack_element if available.
5897 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
5898 additional errors from the new built-in.
5900 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5903 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5906 * src/Makefile.am: Move globals_io.cc to here.
5907 * src/Makefile.in: Regenerate.
5908 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5909 * src/c++98/Makefile.in: Regenerate.
5910 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5911 symbol name and then export with GLIBCXX_3.4.31 symver.
5912 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5913 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5915 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5917 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5919 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5921 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5923 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5925 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5927 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5929 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5931 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5934 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5937 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5939 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5941 * doc/xml/manual/extensions.xml: Fix example to declare and
5942 qualify std::free, and use NULL instead of 0.
5943 * doc/html/manual/ext_demangling.html: Regenerate.
5944 * libsupc++/cxxabi.h: Adjust doxygen comments.
5946 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5949 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5951 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5954 * src/Makefile.am: Move globals_io.cc to here.
5955 * src/Makefile.in: Regenerate.
5956 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5957 * src/c++98/Makefile.in: Regenerate.
5958 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5959 symbol name and then export with GLIBCXX_3.4.31 symver.
5960 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5961 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5963 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5965 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5967 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5969 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5971 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5973 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5975 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5977 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5979 2023-04-18 Patrick Palka <ppalka@redhat.com>
5982 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
5984 * include/std/ranges (range_adaptor_closure): Define for C++23.
5985 * include/std/version (__cpp_lib_ranges): Bump value for
5987 * testsuite/std/ranges/version_c++23.cc: Bump expected value
5988 of __cpp_lib_ranges.
5989 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
5991 2023-04-18 Patrick Palka <ppalka@redhat.com>
5993 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
5995 (__cpp_lib_ranges_iota): Likewise.
5996 (__cpp_lib_ranges_find_last): Likewise.
5997 (__cpp_lib_fold): Rename to ...
5998 (__cpp_lib_ranges_fold): ... this.
5999 * include/std/version: As above.
6000 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
6001 renaming __cpp_lib_fold.
6002 * testsuite/std/ranges/version_c++23.cc: Verify values
6003 of the above feature-test macros.
6005 2023-04-18 Patrick Palka <ppalka@redhat.com>
6008 * include/std/ranges (views::_AsConst::operator()): Add
6009 missing const to constant_range test.
6010 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
6011 Improve formatting. Adjust expected type of v2.
6014 2023-04-14 Patrick Palka <ppalka@redhat.com>
6016 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
6017 (const_sentinel_t): Likewise.
6018 (range_const_reference_t): Likewise.
6019 (constant_range): Likewise.
6020 (__cust_access::__possibly_const_range): Likewise, replacing ...
6021 (__cust_access::__as_const): ... this.
6022 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
6023 (__cust_access::_CEnd::operator()): Likewise.
6024 (__cust_access::_CRBegin::operator()): Likewise.
6025 (__cust_access::_CREnd::operator()): Likewise.
6026 (__cust_access::_CData::operator()): Likewise.
6027 * include/bits/ranges_util.h (ranges::__detail::__different_from):
6028 Make it an alias of std::__detail::__different_from.
6029 (view_interface::cbegin): Define for C++23.
6030 (view_interface::cend): Likewise.
6031 * include/bits/stl_iterator.h (__detail::__different_from): Define.
6032 (iter_const_reference_t): Define for C++23.
6033 (__detail::__constant_iterator): Likewise.
6034 (__detail::__is_const_iterator): Likewise.
6035 (__detail::__not_a_const_iterator): Likewise.
6036 (__detail::__iter_const_rvalue_reference_t): Likewise.
6037 (__detail::__basic_const_iter_cat):: Likewise.
6038 (const_iterator): Likewise.
6039 (__detail::__const_sentinel): Likewise.
6040 (const_sentinel): Likewise.
6041 (basic_const_iterator): Likewise.
6042 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
6043 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
6044 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
6046 (make_const_iterator): Define for C++23.
6047 (make_const_sentinel): Likewise.
6048 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
6049 (as_const_view): Likewise.
6050 (enable_borrowed_range<as_const_view>): Likewise.
6051 (views::__detail::__is_ref_view): Likewise.
6052 (views::__detail::__can_is_const_view): Likewise.
6053 (views::_AsConst, views::as_const): Likewise.
6054 * include/std/span (span::const_iterator): Likewise.
6055 (span::const_reverse_iterator): Likewise.
6056 (span::cbegin): Likewise.
6057 (span::cend): Likewise.
6058 (span::crbegin): Likewise.
6059 (span::crend): Likewise.
6060 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
6061 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
6062 behave independently of C++20 vs C++23.
6063 * testsuite/std/ranges/version_c++23.cc: Verify value of
6064 __cpp_lib_ranges_as_const macro.
6065 * testsuite/24_iterators/const_iterator/1.cc: New test.
6066 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
6068 2023-04-14 Patrick Palka <ppalka@redhat.com>
6070 * include/bits/ranges_base.h (__cust_access::__as_const)
6071 (__cust_access::_CBegin, __cust::cbegin)
6072 (__cust_access::_CEnd, __cust::cend)
6073 (__cust_access::_CRBegin, __cust::crbegin)
6074 (__cust_access::_CREnd, __cust::crend)
6075 (__cust_access::_CData, __cust::cdata): Move down definitions to
6076 shortly after the definition of input_range.
6078 2023-04-14 Patrick Palka <ppalka@redhat.com>
6080 * include/bits/ranges_algo.h: Include <optional> for C++23.
6081 (__cpp_lib_fold): Define for C++23.
6082 (in_value_result): Likewise.
6083 (__detail::__flipped): Likewise.
6084 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
6085 (__detail::__indirectly_binary_left_foldable): Likewise.
6086 (___detail:__indirectly_binary_right_foldable): Likewise.
6087 (fold_left_with_iter_result): Likewise.
6088 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
6089 (__fold_left_fn, fold_left): Likewise.
6090 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
6092 (__fold_left_first_fn, fold_left_first): Likewise.
6093 (__fold_right_fn, fold_right): Likewise.
6094 (__fold_right_last_fn, fold_right_last): Likewise.
6095 * include/std/version (__cpp_lib_fold): Likewise.
6096 * testsuite/25_algorithms/fold_left/1.cc: New test.
6097 * testsuite/25_algorithms/fold_right/1.cc: New test.
6099 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
6101 * include/std/format (formatter): Add comment to deleted default
6102 constructor of primary template.
6103 (_Checking_scanner): Add static_assert.
6105 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6107 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
6108 * doc/html/*: Regenerate.
6110 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6112 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
6113 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
6114 namespace to avoid clashing with libc struct.
6115 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
6117 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
6118 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
6119 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
6120 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
6121 * testsuite/experimental/synchronized_value.cc: Require gthreads
6122 and add missing option for pthreads targets.
6124 2023-04-12 Patrick Palka <ppalka@redhat.com>
6126 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
6128 (__detail::__range_with_movable_reference): Likewise.
6129 (enumerate_view): Likewise.
6130 (enumerate_view::_Iterator): Likewise.
6131 (enumerate_view::_Sentinel): Likewise.
6132 (views::__detail::__can_enumerate_view): Likewise.
6133 (views::_Enumerate, views::enumerate): Likewise.
6134 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
6135 * testsuite/std/ranges/version_c++23.cc: Verify value of
6136 __cpp_lib_ranges_enumerate.
6137 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
6139 2023-04-12 Patrick Palka <ppalka@redhat.com>
6141 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
6142 Propagate _M_trailing_empty in the const-converting constructor
6144 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
6146 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
6148 2023-04-12 Patrick Palka <ppalka@redhat.com>
6150 * src/c++17/floating_from_chars.cc: Include <algorithm>,
6151 <iterator>, <limits> and <cstdint>.
6153 2023-04-12 Patrick Palka <ppalka@redhat.com>
6156 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
6157 parameter types of the lambda wrapper passed to adjacent_find.
6158 (chunk_by_view::_M_find_prev): Likewise.
6159 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
6162 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6165 * include/experimental/internet (basic_endpoint::basic_endpoint()):
6166 Ensure that the required union members are active. Only define
6167 as constexpr for C++20 and later.
6168 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
6170 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
6171 check constexpr default constructor for C++20 and later.
6172 * testsuite/experimental/net/internet/endpoint/extensible.cc:
6175 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6177 * src/c++20/tzdata.zi: Import new file from 2023c release.
6179 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6181 * include/precompiled/stdc++.h (C++17): Don't double-include
6182 <charconv>, once with wrong conditions.
6183 * testsuite/18_support/96817.cc: Require hosted.
6184 * testsuite/18_support/bad_exception/59392.cc: Ditto.
6185 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
6186 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
6187 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6190 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6192 * include/bits/c++config: When __STDC_HOSTED__ is zero,
6193 disable _GLIBCXX_DEBUG and, if it was set, enable
6194 _GLIBCXX_ASSERTIONS.
6195 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
6196 Include <bits/c++config.h> when determining whether debug is
6197 set, in order to inherit the logic from above
6199 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6201 * testsuite/17_intro/versionconflict.cc: New test.
6202 * include/std/version: Allow disabling the system_header pragma
6203 via _GLIBCXX_TESTING_SYSHDR.
6205 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6207 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
6208 Synchronize the definition block with...
6209 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
6210 ... this one here. Also define the 202202L value, rather than
6211 leaving it up to purely unique_ptr.h, so that the value is
6212 synchronized across all headers.
6213 (__gnu_debug::_Safe_iterator_base): Move into new conditional
6215 * include/std/memory (__cpp_lib_atomic_value_initialization):
6216 Define on freestanding under the same conditions as in
6218 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
6219 Also define on freestanding.
6220 (__cpp_lib_to_chars): Ditto.
6221 (__cpp_lib_gcd): Ditto.
6222 (__cpp_lib_gcd_lcm): Ditto.
6223 (__cpp_lib_raw_memory_algorithms): Ditto.
6224 (__cpp_lib_array_constexpr): Ditto.
6225 (__cpp_lib_nonmember_container_access): Ditto.
6226 (__cpp_lib_clamp): Ditto.
6227 (__cpp_lib_constexpr_char_traits): Ditto.
6228 (__cpp_lib_constexpr_string): Ditto.
6229 (__cpp_lib_sample): Ditto.
6230 (__cpp_lib_lcm): Ditto.
6231 (__cpp_lib_constexpr_iterator): Ditto.
6232 (__cpp_lib_constexpr_char_traits): Ditto.
6233 (__cpp_lib_interpolate): Ditto.
6234 (__cpp_lib_constexpr_utility): Ditto.
6235 (__cpp_lib_shift): Ditto.
6236 (__cpp_lib_ranges): Ditto.
6237 (__cpp_lib_move_iterator_concept): Ditto.
6238 (__cpp_lib_constexpr_numeric): Ditto.
6239 (__cpp_lib_constexpr_functional): Ditto.
6240 (__cpp_lib_constexpr_algorithms): Ditto.
6241 (__cpp_lib_constexpr_tuple): Ditto.
6242 (__cpp_lib_constexpr_memory): Ditto.
6244 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
6246 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
6247 timeout factor on hppa*-*-*.
6249 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
6251 * include/bits/regex.h (sub_match::swap): New function.
6252 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
6254 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
6256 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
6258 * doc/html/manual/ext_demangling.html: Regenerate.
6260 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
6262 PR tree-optimization/107087
6263 * include/bits/cow_string.h (basic_string::size()): Add
6264 optimizer hint that _S_empty_rep()._M_length is always zero.
6265 (basic_string::length()): Call size().
6267 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
6270 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
6271 Add attribute access with access-mode 'none'.
6272 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
6274 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
6276 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
6277 Revert change from member function to data member. Fix for
6278 constant evaluation by detecting which union member is active.
6279 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
6282 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6285 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
6286 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
6288 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6290 * include/experimental/internet (ip::make_address): Implement
6292 (ip::address_v4::broadcast()): Avoid undefined shift.
6293 (ip::basic_endpoint): Fix member functions for constexpr.
6294 (ip::basic_endpoint::_M_is_v6): Replace member function with
6295 data member, adjust member functions using it.
6296 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
6298 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6299 constexpr checks to work in C++14.
6300 * testsuite/experimental/net/internet/address/v4/creation.cc:
6302 * testsuite/experimental/net/internet/endpoint/cons.cc:
6304 * testsuite/experimental/net/internet/network/v4/cons.cc:
6306 * testsuite/experimental/net/internet/network/v4/members.cc:
6308 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
6310 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6312 * include/std/expected (expected::value() &): Use const lvalue
6313 for unex member passed to bad_expected_access constructor, as
6316 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6319 * include/std/expected (expected::transform): Use
6320 std::remove_cv_t instead of std::remove_cvref_t.
6321 (expected::transform_error): Likewise.
6322 (expected<cv void, E>::transform): Likewise.
6323 (expected<cv void, E>::transform_error): Likewise.
6324 * include/std/optional (transform): Use std::remove_cv_t.
6325 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
6327 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6329 * include/std/optional (optional): Adjust static assertion to
6330 reject arrays and functions as well as references.
6331 * testsuite/20_util/optional/requirements_neg.cc: New test.
6333 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6336 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
6337 std::use_facet instead of cached _M_num_get facet.
6338 (istream::operator>>(short&)): Likewise.
6339 (istream::operator>>(int&)): Likewise.
6340 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
6341 std::use_facet instead of cached _M_num_put facet.
6343 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6345 * include/bits/char_traits.h (char_traits::copy): Return without
6346 using memcpy if n==0.
6347 (char_traits::assign): Likewise for memset.
6349 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6352 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
6353 hint for compiler that local strings fit in the local buffer.
6355 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6358 * include/std/chrono (__detail::__get_leap_second_info): Update
6359 expiry date of hardcoded leapseconds list.
6360 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
6362 * src/c++20/tzdata.zi: Import new file from 2023a release.
6363 * testsuite/std/time/time_zone/get_info_local.cc: Only check
6364 transitions for Egypt up to 2014.
6366 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
6368 * include/experimental/bits/simd.h (is_simd_flag_type): New.
6369 (_IsSimdFlagType): New.
6370 (copy_from, copy_to, load ctors): Constrain _Flags using
6373 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
6375 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
6376 _Base::_S_divides if the optimized _S_divides function is hidden
6377 via the preprocessor.
6379 2023-03-27 Jakub Jelinek <jakub@redhat.com>
6381 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
6382 warning if size_t is not unsigned long.
6384 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6386 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
6387 Add overload, as per LWG 3893.
6388 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
6389 Check assignment from nullptr.
6391 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6393 * include/std/format (formatter<const charT[N], charT>): Do not
6394 define partial speclialization, as per LWG 3833.
6395 * testsuite/std/format/formatter/requirements.cc: Check it.
6397 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6399 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
6401 * testsuite/20_util/exchange/constexpr.cc: Check for it.
6403 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6405 * include/std/version (__cpp_lib_format): Define.
6406 * testsuite/std/format/functions/format.cc: Check it.
6408 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6410 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
6411 Pass rvalues to the callback, as now allowed by LWG 3645.
6412 Enforce preconditions on the return value.
6413 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
6416 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6418 * include/std/format: Add a comment noting that the resolution
6419 of LWG 3720 has been applied..
6421 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6423 * include/bits/regex.h (match_results): Add allocator-extended
6424 copy and move constructors, as per LWG 2195.
6425 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
6427 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6429 * include/bits/stream_iterator.h (istream_iterator): Add
6430 constexpr to copy constructor, as per LWG 3600.
6431 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
6432 Check copy construction.
6434 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6436 * include/experimental/bits/simd_x86.h
6437 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
6438 with __RECIPROCAL_MATH__.
6440 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6442 * include/experimental/bits/simd_detail.h: Don't define
6443 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
6444 * include/experimental/bits/simd_x86.h (_S_divides): Remove
6445 check for __clang__.
6447 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6449 * include/experimental/bits/simd_detail.h: Don't declare the
6450 simd API as constexpr with Clang.
6451 * include/experimental/bits/simd_x86.h (__movm): New.
6452 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
6454 (_SimdImplX86::_S_masked_unary): Clang does not implement the
6455 same builtins. Implement the function using __movm, ?:, and -
6456 operators on vector_size types instead.
6458 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6460 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
6461 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
6463 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
6465 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
6468 2023-03-20 Marek Polacek <polacek@redhat.com>
6471 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
6472 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
6473 * testsuite/23_containers/span/explicit.cc: Likewise.
6475 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
6478 * include/std/expected (expected<void>::expected(in_place_t)):
6479 Remove template-head.
6481 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
6484 * testsuite/18_support/coroutines/hash.cc: Use const object
6487 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
6490 * include/std/coroutine (hash<>::operator()): Add const.
6491 * testsuite/18_support/coroutines/hash.cc: New test.
6493 2023-03-14 Patrick Palka <ppalka@redhat.com>
6496 * include/std/ranges (repeat_view): Remove redundant parentheses
6498 (repeat_view::_Iterator): Correct the requires-clause.
6500 2023-03-14 Patrick Palka <ppalka@redhat.com>
6502 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
6504 (__cpp_lib_move_iterator_concept): Define for C++20.
6505 (move_iterator::iterator_concept): Strengthen as per P2520R0.
6506 * include/std/version (__cpp_lib_move_iterator_concept): Define
6508 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
6510 2023-03-14 Patrick Palka <ppalka@redhat.com>
6512 * include/bits/ranges_util.h (view_interface::empty): Add
6513 preferred overloads that use ranges::size when the range is
6514 sized as per LWG 3715.
6515 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
6517 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
6519 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
6520 Only define for C++17 and later.
6522 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
6524 * src/Makefile.am: Add comment about linker script fragments.
6525 * src/Makefile.in: Regenerate.
6527 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
6530 * include/bits/mask_array.h (mask_array): Add assertions to
6531 assignment operators.
6532 * include/std/valarray (valarray::operator[](valarray<bool>)):
6534 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
6535 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
6536 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
6537 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
6538 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
6539 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
6540 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
6541 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
6542 * testsuite/26_numerics/valarray/mask.cc: New test.
6544 2023-03-13 Jakub Jelinek <jakub@redhat.com>
6546 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
6547 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
6549 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
6551 * doc/Makefile.am: Add comment referring to documentation.
6552 * doc/Makefile.in: Regenerate.
6554 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
6556 * doc/html/*: Regenerate.
6558 2023-03-13 Jonny Grant <jg@jguk.org>
6560 * doc/xml/faq.xml: Update copyright year.
6562 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
6564 * include/bits/allocator.h: Fix typo in comment.
6566 2023-03-12 Jakub Jelinek <jakub@redhat.com>
6568 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
6569 if it isn't mangled as DF16b but u6__bf16.
6571 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
6573 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
6575 * doc/html/manual/documentation_hacking.html: Regenerate.
6577 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
6580 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
6581 Remove self-recursion in __init__. Add missing _supports.
6582 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
6585 2023-03-09 Patrick Palka <ppalka@redhat.com>
6587 * include/std/ranges
6588 (cartesian_product_view::_Iterator::_Iterator): Remove
6589 constraint on default constructor as per LWG 3849.
6590 (cartesian_product_view::_Iterator::_M_prev): Adjust position
6591 of _Nm > 0 test as per LWG 3820.
6592 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
6593 checking only on sized cartesian products.
6594 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
6596 2023-03-09 Patrick Palka <ppalka@redhat.com>
6599 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
6601 (repeat_view::_M_pred): Likewise.
6602 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
6603 * testsuite/std/ranges/repeat/1.cc (test05): New test.
6605 2023-03-09 Patrick Palka <ppalka@redhat.com>
6608 * include/std/ranges (__detail::__can_single_view): New concept.
6609 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
6610 end of the function declarator.
6611 (__detail::__can_iota_view): New concept.
6612 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
6613 end of the function declarator.
6614 (__detail::__can_istream_view): New concept.
6615 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
6616 end of the function declarator.
6617 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
6618 * testsuite/std/ranges/istream_view.cc (test08): New test.
6619 * testsuite/std/ranges/single_view.cc (test07): New test.
6621 2023-03-09 Patrick Palka <ppalka@redhat.com>
6624 * include/std/ranges (cartesian_product_view::end): When
6625 building the tuple of iterators, avoid calling ranges::begin on
6626 the first range if __empty_tail is false.
6627 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
6629 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
6632 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
6635 2023-03-07 Jakub Jelinek <jakub@redhat.com>
6637 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
6638 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
6639 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
6640 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
6641 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
6643 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
6646 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
6647 not match symbols in namespace std::__gnu_cxx11_ieee128.
6648 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
6649 std::__gnu_cxx11_ieee128::money_{get,put}.
6651 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
6653 * libsupc++/eh_personality.cc: Fix spelling in comment.
6655 2023-03-03 Alexandre Oliva <oliva@adacore.com>
6657 * testsuite/30_threads/async/async.cc (test04): Initialize
6658 steady_start, renamed from steady_begin, next to slow_start.
6659 Increase tolerance for final wait.
6661 2023-03-03 Alexandre Oliva <oliva@adacore.com>
6663 * testsuite/libstdc++-prettyprinters/80276.cc: Add
6664 std::string to debug info.
6665 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
6667 2023-03-03 Alexandre Oliva <oliva@adacore.com>
6672 * include/bits/std_thread.h (thread::_M_thread_deps): New
6673 static implicitly-inline member function.
6674 (std::thread template ctor): Pass it to _M_start_thread.
6675 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
6676 parameter, force it live on entry.
6678 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6680 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
6681 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
6683 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
6684 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
6687 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
6689 * include/bits/cow_string.h: Fix typo in comment.
6691 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
6693 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
6694 current time zone cannot be determined.
6695 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
6696 HAVE_TZDB macro and test all members unconditionally.
6698 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
6701 * include/bits/uses_allocator_args.h
6702 (uses_allocator_construction_args): Implement LWG 3527.
6703 * testsuite/20_util/pair/astuple/get-2.cc: New test.
6704 * testsuite/20_util/scoped_allocator/108952.cc: New test.
6705 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
6707 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
6710 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
6711 Add __assign_one static member function.
6712 (__copy_move<true, false, RA>): Likewise.
6713 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
6715 (__copy_move_backward<IsMove, true, RA>): Likewise.
6716 * testsuite/25_algorithms/copy/108846.cc: New test.
6717 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
6718 * testsuite/25_algorithms/copy_n/108846.cc: New test.
6719 * testsuite/25_algorithms/move/108846.cc: New test.
6720 * testsuite/25_algorithms/move_backward/108846.cc: New test.
6722 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
6724 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
6727 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
6729 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
6731 * include/bits/basic_string.h (resize_and_overwrite): Add
6734 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
6736 * include/experimental/bits/simd.h: Line breaks and indenting
6737 fixed to follow the libstdc++ standard.
6738 * include/experimental/bits/simd_builtin.h: Likewise.
6739 * include/experimental/bits/simd_fixed_size.h: Likewise.
6740 * include/experimental/bits/simd_neon.h: Likewise.
6741 * include/experimental/bits/simd_ppc.h: Likewise.
6742 * include/experimental/bits/simd_scalar.h: Likewise.
6743 * include/experimental/bits/simd_x86.h: Likewise.
6745 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
6748 * include/experimental/bits/simd_fixed_size.h
6749 (_SimdImplFixedSize::_S_broadcast): Replace inline with
6750 _GLIBCXX_SIMD_INTRINSIC.
6751 (_SimdImplFixedSize::_S_generate): Likewise.
6752 (_SimdImplFixedSize::_S_load): Likewise.
6753 (_SimdImplFixedSize::_S_masked_load): Likewise.
6754 (_SimdImplFixedSize::_S_store): Likewise.
6755 (_SimdImplFixedSize::_S_masked_store): Likewise.
6756 (_SimdImplFixedSize::_S_min): Likewise.
6757 (_SimdImplFixedSize::_S_max): Likewise.
6758 (_SimdImplFixedSize::_S_complement): Likewise.
6759 (_SimdImplFixedSize::_S_unary_minus): Likewise.
6760 (_SimdImplFixedSize::_S_plus): Likewise.
6761 (_SimdImplFixedSize::_S_minus): Likewise.
6762 (_SimdImplFixedSize::_S_multiplies): Likewise.
6763 (_SimdImplFixedSize::_S_divides): Likewise.
6764 (_SimdImplFixedSize::_S_modulus): Likewise.
6765 (_SimdImplFixedSize::_S_bit_and): Likewise.
6766 (_SimdImplFixedSize::_S_bit_or): Likewise.
6767 (_SimdImplFixedSize::_S_bit_xor): Likewise.
6768 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
6769 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
6770 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
6771 explicit about not always-inline, yet).
6772 (_SimdImplFixedSize::_S_isinf): Likewise.
6773 (_SimdImplFixedSize::_S_isfinite): Likewise.
6774 (_SimdImplFixedSize::_S_isnan): Likewise.
6775 (_SimdImplFixedSize::_S_isnormal): Likewise.
6776 (_SimdImplFixedSize::_S_signbit): Likewise.
6778 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
6781 * include/experimental/bits/simd_builtin.h
6782 (_SimdImplBuiltin::_S_masked_unary): More efficient
6783 implementation of masked inc-/decrement for integers and floats
6785 * include/experimental/bits/simd_x86.h
6786 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
6787 builtins for masked inc-/decrement.
6789 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6791 * include/experimental/executor (executor): Constrain template
6794 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6796 * include/experimental/internet (basic_endpoint): Add missing
6797 constexpr to comparison operators.
6798 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
6800 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6802 * include/experimental/internet (network_v4::netmask()): Avoid
6804 (network_v4::broadcast()): Optimize and fix for targets with
6805 uint_least32_t wider than 32 bits.
6806 (network_v4::to_string(const Allocator&)): Fix for custom
6807 allocators and optimize using to_chars.
6808 (operator==(const network_v4&, const network_v4&)): Add missing
6810 (operator==(const network_v6&, const network_v6&)): Likewise.
6811 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
6812 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
6814 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6816 * include/experimental/internet (address_4(const bytes_type&)):
6817 Use __builtin_bit_cast if available, otherwise convert to
6819 (address_v4::to_bytes()): Likewise, but convert from network
6821 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6822 incorrect tests. Check for constexpr too.
6823 * testsuite/experimental/net/internet/address/v4/creation.cc:
6825 * testsuite/experimental/net/internet/address/v4/members.cc:
6826 Check that bytes_type is a standard-layout type.
6828 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6830 * include/experimental/internet (address_v4::to_string):
6832 * testsuite/experimental/net/internet/address/v4/members.cc:
6833 Check more addresses.
6835 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6837 * include/ext/aligned_buffer.h (__aligned_buffer): Add
6840 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6842 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
6845 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6847 * testsuite/experimental/simd/tests/reductions.cc: Introduce
6848 max_distance as the type-dependent max error.
6850 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6852 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
6853 int. The actual range of these indexes is very small.
6855 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6857 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
6858 (_S_bit_shift_right): Declare constexpr. The implementation was
6859 already expecting constexpr evaluation.
6861 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6864 * include/experimental/bits/simd_detail.h
6865 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
6868 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6871 * include/experimental/bits/simd.h (__vector_broadcast):
6872 Implement via __vector_broadcast_impl instead of
6873 __call_with_n_evaluations + 2 lambdas.
6874 (__vector_broadcast_impl): New.
6876 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6878 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
6879 Avoid destruction of the mutex pool.
6881 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6883 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
6885 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
6888 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6890 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
6893 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
6895 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
6897 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
6899 * include/experimental/bits/simd.h (__extract_part, split):
6900 Use reserved name for template parameter.
6902 2023-02-20 Andreas Schwab <schwab@suse.de>
6904 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
6906 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
6908 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
6909 * doc/html/faq.html: Regenerate.
6911 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6913 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
6914 between scalars requires the __bit_cast helper function instead
6917 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6919 * include/experimental/bits/simd_x86.h
6920 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
6921 (_SimdImplX86::_S_less_equal): Do not call
6922 __builtin_is_constant_evaluated in constexpr-if.
6924 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6926 * testsuite/experimental/simd/tests/bits/verify.h
6927 (verify::verify): Use %zx for size_t in format string.
6929 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6931 * testsuite/experimental/simd/generate_makefile.sh: Generate and
6932 pre-compile pch.h, which includes all headers that do not depend
6933 on command-line macros.
6934 * testsuite/experimental/simd/tests/bits/main.h: New file.
6935 (iterate_abis, main): Moved from verify.h.
6936 * testsuite/experimental/simd/tests/bits/verify.h
6937 (iterate_abis, main): Moved to main.h.
6938 * testsuite/experimental/simd/tests/bits/conversions.h: Add
6940 (genHalfBits): Simplify.
6941 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
6943 (make_alternating_mask): Moved from mask_loadstore.
6944 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
6946 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
6947 * testsuite/experimental/simd/tests/mask_loadstore.cc
6948 (make_mask, make_alternating_mask): Removed.
6949 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
6950 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
6952 * testsuite/experimental/simd/tests/abs.cc: Only include
6955 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
6956 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
6957 * testsuite/experimental/simd/tests/casts.cc: Ditto.
6958 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
6959 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
6960 * testsuite/experimental/simd/tests/generator.cc: Ditto.
6961 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
6962 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
6963 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
6964 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
6965 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
6966 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
6967 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
6968 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
6969 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
6970 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
6971 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
6972 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
6973 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
6974 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
6975 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
6976 * testsuite/experimental/simd/tests/simd.cc: Ditto.
6977 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
6978 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
6979 * testsuite/experimental/simd/tests/splits.cc: Ditto.
6980 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
6981 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
6982 * testsuite/experimental/simd/tests/where.cc: Ditto.
6984 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6986 * testsuite/experimental/simd/README.md: Document the timeout
6987 and timeout-factor directives. Minor typo fixed.
6989 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6992 * include/experimental/bits/simd_detail.h: Define
6993 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6994 * include/experimental/bits/simd.h: Annotate lambdas with
6995 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6996 * include/experimental/bits/simd_builtin.h: Ditto.
6997 * include/experimental/bits/simd_converter.h: Ditto.
6998 * include/experimental/bits/simd_fixed_size.h: Ditto.
6999 * include/experimental/bits/simd_math.h: Ditto.
7000 * include/experimental/bits/simd_neon.h: Ditto.
7001 * include/experimental/bits/simd_x86.h: Ditto.
7003 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
7005 * include/experimental/bits/simd.h
7006 (_SimdWrapper::_M_is_constprop_none_of)
7007 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
7008 computed result still satisfies __builtin_constant_p.
7010 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7012 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
7015 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7017 * include/Makefile.am: Add new header.
7018 * include/Makefile.in: Regenerate.
7019 * include/experimental/synchronized_value: New file.
7020 * testsuite/experimental/synchronized_value.cc: New test.
7022 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7024 * include/experimental/optional: Fix header name in comment.
7026 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7028 * include/std/format (__format::_Arg_store): New class template.
7029 (basic_format_args): Remove nested type _Store and add deduction
7030 guide from _Arg_store.
7031 (basic_format_arg, make_format_args): Adjust.
7032 * testsuite/std/format/arguments/lwg3810.cc: New test.
7034 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7036 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
7037 constraints to constructors and add deleted overloads for the
7038 dangling cases, as per P2255R2.
7039 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
7040 make dangling cases ill-formed.
7041 * testsuite/20_util/pair/dangling_ref.cc: New test.
7043 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7045 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
7047 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7049 * include/ext/throw_allocator.h: Use reserved names for
7052 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7054 * testsuite/17_intro/names_pstl.cc: Add space after effective
7057 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7059 * include/pstl/algorithm_fwd.h (__pattern_search_n)
7060 (__brick_unique_copy, __brick_adjacent_find)
7061 (__brick_generate_n, __pattern_generate_n): Use reserved names
7063 * include/pstl/algorithm_impl.h (__brick_unique_copy)
7064 (__pattern_reverse, __brick_generate_n): Likewise.
7065 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
7066 (__prefer_parallel_tag): Likewise.
7067 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
7068 * include/pstl/glue_numeric_defs.h (adjacent_difference):
7070 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
7072 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
7073 * include/pstl/unseq_backend_simd.h (_Combiner)
7074 (__simd_min_element, __simd_minmax_element): Likewise.
7075 * testsuite/17_intro/names_pstl.cc: New test.
7077 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7079 * include/bits/fs_ops.h (create_directory): Use reserved name
7081 * include/bits/ranges_algo.h (__contains_subrange_fn):
7083 * include/bits/regex_automaton.h (_State_base::_M_print):
7085 * include/bits/regex_automaton.tcc(_State_base::_M_print):
7087 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
7088 * include/experimental/bits/fs_ops.h (create_directory):
7090 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
7091 (recursive_timed_mutex:_M_clocklock): Likewise.
7092 * include/std/tuple (basic_common_reference): Likewise.
7093 * libsupc++/cxxabi_init_exception.h
7094 (__cxa_init_primary_exception): Likewise.
7095 * testsuite/17_intro/names.cc: Add checks.
7097 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
7099 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
7100 to www.open-std.org and https.
7101 * doc/html/manual/status.html: Regenerate.
7103 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
7106 * include/std/atomic (atomic_flag_wait): Add.
7107 (atomic_flag_wait_explicit): Add.
7108 (atomic_flag_notify): Add.
7109 (atomic_flag_notify_explicit): Add.
7110 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
7111 Add test case to cover missing atomic_flag free functions.
7113 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
7116 * include/std/atomic (atomic_flag_test): Add.
7117 (atomic_flag_test_explicit): Add.
7118 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
7119 test case to cover missing atomic_flag free functions.
7120 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
7123 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
7125 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
7126 "The Component Object Model" reference.
7127 * doc/html/manual/policy_data_structures.html: Regenerate.
7129 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7131 * doc/xml/manual/containers.xml: Tweak a link to N1780
7133 * doc/html/manual/associative.html: Regenerate.
7135 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7137 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
7138 * doc/html/manual/facets.html: Regenerate.
7140 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
7142 * doc/xml/manual/policy_data_structures_biblio.xml: Update
7143 link to "Worst-case efficient priority queues".
7144 * doc/html/manual/policy_data_structures.html: Regenerate.
7146 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
7148 * doc/xml/manual/using.xml: Document newly-freestanding
7149 headers and the effect of the -ffreestanding flag.
7150 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
7152 * doc/xml/manual/configure.xml: Document that hosted installs
7153 respect __STDC_HOSTED__.
7154 * doc/xml/manual/test.xml: Document how to run tests in
7156 * doc/html/*: Regenerate.
7158 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
7160 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
7161 (__find_last_if_fn): Likewise.
7163 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
7165 * include/std/type_traits: Add diagnostic pragmas around
7166 references to deprecated std::aligned_storage and
7167 std::aligned_union traits.
7168 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
7169 Add dg-warning for et c++23.
7170 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
7172 * testsuite/20_util/aligned_storage/value.cc: Likewise.
7173 * testsuite/20_util/aligned_union/1.cc: Likewise.
7174 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
7177 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
7179 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
7180 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
7181 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
7182 * include/std/type_traits (aligned_storage, aligned_union)
7183 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
7184 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
7185 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
7187 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
7189 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
7190 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
7191 consistent with other 'deprecated' macros.
7192 * include/std/type_traits (is_pod, is_pod_v): Use
7193 _GLIBCXX20_DEPRECATED_SUGGEST instead.
7195 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
7197 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
7198 * Makefile.in: Regenerate.
7199 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
7200 There's no history to be compatible with.
7201 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
7202 source files from the build.
7203 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7204 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7205 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7206 * src/Makefile.in: Regenerate.
7207 * src/c++11/Makefile.in: Regenerate.
7208 * src/c++17/Makefile.in: Regenerate.
7209 * src/c++20/Makefile.in: Regenerate.
7210 * src/c++98/Makefile.in: Regenerate.
7212 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
7214 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
7215 filesystem, libbacktrace and experimental.
7216 * src/Makefile.in: Regenerate.
7218 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
7221 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
7224 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
7226 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
7227 * doc/html/manual/documentation_hacking.html: Regenerate.
7229 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
7231 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
7232 storage to the move-from instance when allocators are equal.
7233 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
7236 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
7238 * config/os/gnu-linux/os_defines.h [!__linux__]
7239 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
7241 2023-02-03 Patrick Palka <ppalka@redhat.com>
7243 * include/bits/ranges_algo.h (__find_last_fn, find_last):
7245 (__find_last_if_fn, find_last_if): Define.
7246 (__find_last_if_not_fn, find_last_if_not): Define.
7247 * testsuite/25_algorithms/find_last/1.cc: New test.
7248 * testsuite/25_algorithms/find_last_if/1.cc: New test.
7249 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
7251 2023-02-03 Patrick Palka <ppalka@redhat.com>
7253 * include/bits/ranges_algo.h (out_value_result): Define.
7254 (iota_result): Define.
7255 (__iota_fn, iota): Define.
7256 * testsuite/25_algorithms/iota/1.cc: New test.
7258 2023-02-03 Patrick Palka <ppalka@redhat.com>
7260 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
7261 (__contains_subrange_fn, contains_subrange): Define.
7262 * testsuite/25_algorithms/contains/1.cc: New test.
7263 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
7265 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7267 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
7268 * doc/html/manual/abi.html: Regenerate.
7270 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7272 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
7273 errc::function_not_supported instead of errc::not_supported.
7275 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7277 * include/std/sstream (basic_stringbuf::view): Define for old
7279 (basic_istringstream::view, basic_0stringstream::view)
7280 (basic_stringstream::view): Likewise.
7281 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
7282 { dg-require-effective-target cxx11_abi }.
7283 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
7285 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
7286 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
7288 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
7289 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
7290 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
7291 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
7294 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7297 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
7298 conversion operators for directory iterator comparisons with
7299 std::default_sentinel_t.
7300 * include/bits/fs_path.h (path::path(string_view, _Type))
7301 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
7303 * src/c++17/fs_path.cc: ... here.
7304 * testsuite/27_io/filesystem/path/108636.cc: New test.
7306 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7308 * include/std/variant (variant::operator=): Implement resolution
7310 * testsuite/20_util/variant/lwg3585.cc: New test.
7312 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7314 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
7316 * doc/html/manual/using_exceptions.html: Regenerate.
7318 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7320 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
7321 * doc/html/manual/debug.html: Regenerate.
7323 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
7325 * src/c++11/random.cc (random_device::_M_fini): Do not try to
7326 close the file handle if the target doesn't support the
7327 /dev/random and /dev/urandom files.
7329 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
7331 * config/os/generic/error_constants.h (errc::value_too_large)
7333 * src/c++11/system_error.cc
7334 (system_category::default_error_condition) [__AVR__]: Only match
7335 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
7336 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
7337 for ENOENT etc. in switch.
7338 (fs::remove_all) [__AVR__]: Likewise.
7339 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
7342 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
7344 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
7346 * configure: Regenerate.
7348 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
7351 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
7352 struct at end of S0.
7354 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
7356 * doc/xml/manual/shared_ptr.xml: Move links from both
7357 http://open-std.org and http://www.open-std.org to
7358 https://www.open-std.org.
7359 * doc/html/manual/memory.html: Regenerate.
7361 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7363 * doc/xml/manual/appendix_contributing.xml: Adjust link to
7364 ISO C++ standard at ANSI.
7365 Move link to www.open-std.org to https.
7366 * doc/html/manual/appendix_contributing.html: Regenerate.
7368 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7370 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
7372 * doc/html/manual/documentation_hacking.html: Regenerate.
7374 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7376 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
7377 * doc/html/manual/abi.html: Regenerate.
7379 2023-01-27 Jakub Jelinek <jakub@redhat.com>
7382 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
7383 include features.h if present and then check __GLIBC__ and
7384 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
7385 __GLIBC_PREREQ which isn't defined yet.
7387 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
7389 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
7392 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
7395 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
7397 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
7399 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
7400 rules named "+" for compatibility with older tzdata.zi files.
7402 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
7405 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
7407 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
7409 * testsuite/23_containers/map/modifiers/108554.cc: New test.
7411 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
7414 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
7415 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
7417 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
7419 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
7421 * doc/html/manual/bugs.html: Regenerate.
7423 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
7426 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
7427 /etc/sysconfig/clock.
7429 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
7432 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
7433 std::make_reverse_iterator.
7434 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
7435 (make_from_tuple): Add static assertion from P2255 to diagnose
7436 dangling references.
7437 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
7438 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
7440 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
7442 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
7443 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
7444 (_Safe_iterator::operator++(int)): Use latter.
7445 (_Safe_iterator::operator--(int)): Likewise.
7446 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
7448 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
7450 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
7451 (_Safe_local_iterator::operator++(int)): Use latter.
7452 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
7453 entry associated to the array entry.
7455 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
7457 * include/bits/fs_path.h (u8path): Add deprecated attribute.
7458 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
7459 -Wno-deprecated-declarations for C++20 and later.
7460 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
7462 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
7463 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
7464 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
7466 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
7468 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
7469 Always call _M_fini and _M_getentropy.
7471 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
7473 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
7474 to www.open-std.org to use https.
7475 (COM: Component Model Object Technologies): Rename from...
7476 (The Component Object Model): ...to.
7477 * doc/html/manual/policy_data_structures.html: Regenerate.
7479 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
7481 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
7482 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
7483 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
7485 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
7487 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
7488 of $host. Fix check for file being present during native build.
7489 * configure: Regenerate.
7491 2023-01-17 Martin Liska <mliska@suse.cz>
7493 * src/libbacktrace/Makefile.in: Regenerate.
7495 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
7497 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
7499 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
7502 * include/c_compatibility/stdatomic.h: Change copyright line to
7503 be consistent with other headers contributed under DCO terms.
7504 * include/std/expected: Add full stop to copyright line.
7505 * src/c++20/tzdb.cc: Likewise.
7507 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
7509 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
7511 * doc/xml/manual/status_cxx2017.xml: Ditto.
7512 * doc/xml/manual/status_cxx2020.xml: Ditto.
7513 * doc/xml/manual/status_cxx2023.xml: Ditto.
7514 * doc/html/manual/status.html: Regenerate.
7516 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
7518 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
7519 and fail gracefully if defining the weak symbol doesn't work.
7521 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
7524 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
7525 fix to other iterator category.
7526 (_Safe_iterator<>::operator--(int)): Likewise.
7527 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
7529 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
7530 (invalid_local_iterator_post_increment): New.
7531 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
7533 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
7536 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
7538 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
7541 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
7543 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
7545 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
7547 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
7548 windows.h. Add pecoff as FORMAT_FILE.
7549 * config.h.in: Regenerate.
7550 * configure: Regenerate.
7551 * src/libbacktrace/Makefile.am: Regenerate.
7552 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
7554 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
7556 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
7557 raw __name if __cxa_demangle could not demangle it.
7559 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7562 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
7565 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7567 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
7569 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
7571 * testsuite/std/time/tzdb_list/1.cc: Likewise.
7573 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7575 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
7576 --with-libstdcxx-zoneinfo-dir configure option with
7577 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
7579 * config.h.in: Regenerate.
7580 * configure: Regenerate.
7581 * doc/xml/manual/configure.xml: Document configure option.
7582 * doc/html/manual/configure.html: Regenerate.
7583 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
7584 * src/c++20/Makefile.in: Regenerate.
7585 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
7586 null pointer if no directory is configured.
7587 (zoneinfo_dir): Replace with ...
7588 (zoneinfo_file): New function.
7589 (tzdata_stream): New istream class.
7590 (remote_version, reload_tzdb): Use tzdata_stream.
7591 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
7592 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
7593 tzdata.zi file in default location.
7594 * src/c++20/tzdata.zi: New file.
7596 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7598 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
7599 * testsuite/std/time/month_day/io.cc: New test.
7600 * testsuite/std/time/month_day_last/io.cc: New test.
7601 * testsuite/std/time/month_weekday/io.cc: New test.
7602 * testsuite/std/time/month_weekday_last/io.cc: New test.
7603 * testsuite/std/time/weekday_indexed/io.cc: New test.
7604 * testsuite/std/time/weekday_last/io.cc: New test.
7605 * testsuite/std/time/year_month/io.cc: New test.
7606 * testsuite/std/time/year_month_day_last/io.cc: New test.
7607 * testsuite/std/time/year_month_weekday/io.cc: New test.
7608 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
7610 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
7612 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
7614 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
7617 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7619 * include/bits/std_mutex.h: Include <errno.h>.
7621 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
7623 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
7624 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
7625 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
7626 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
7627 std::make_unique with a freestanding-compatible wrapper around
7629 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
7630 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
7631 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
7633 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
7634 of __cpp_lib_ranges in !HOSTED.
7636 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
7638 * include/Makefile.am: Install bits/char_traits.h,
7640 * include/Makefile.in: Regenerate.
7641 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
7642 mbstate-only bits behind appropriate #ifs.
7643 * include/std/string_view: Gate <iostream> functionality behind
7645 * include/std/version: Enable __cpp_lib_constexpr_string_view
7646 and __cpp_lib_starts_ends_with in !HOSTED.
7647 * include/std/ranges: Re-enable __is_basic_string_view on
7648 freestanding, include <string_view> directly.
7649 * include/precompiled/stdc++.h: Include <string_view> when
7651 * testsuite/20_util/function_objects/searchers.cc: Skip testing
7652 boyer_moore searchers on freestanding
7653 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
7654 <string>-related tests behind __STDC_HOSTED__.
7655 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
7656 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
7657 unused <stdexcept> include.
7658 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
7659 unused <vector> include.
7660 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
7661 Guard <string> related testing behind __STDC_HOSTED__.
7662 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
7663 Guard <stdexcept> related tests behind __STDC_HOSTED__.
7664 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7666 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7667 Guard <stdexcept> tests behind __STDC_HOSTED__.
7668 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
7669 Enable test on freestanding, guard <stdexcept> bits behind
7671 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
7672 Guard <stdexcept> bits behind __STDC_HOSTED__.
7673 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
7676 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
7679 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
7680 errors in incomplete multibyte sequences.
7681 (utf16_in): Remove surrogates parameter. Fix conditions for
7683 (utf16_out): Fix condition for returning partial.
7684 (ucs2_in): Do not pass surrogates argument to utf16_in.
7685 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
7686 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
7688 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
7691 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7694 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
7695 __GTHREAD_LEGACY_MUTEX_T if defined.
7697 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7700 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
7701 Export __try_use_facet specializations for facets in namespace
7703 * config/os/gnu-linux/ldbl-ieee128-extra.ver
7704 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
7706 * testsuite/util/testsuite_abi.cc: Add to lists of known and
7709 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7711 * include/bits/std_mutex.h: Remove <system_error> include.
7712 * include/std/condition_variable: Add <bits/error_constants.h>
7714 * include/std/mutex: Likewise.
7715 * include/std/shared_mutex: Likewise.
7717 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
7720 * include/experimental/memory_resource
7721 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
7722 (do_allocate, do_deallocate): Check it.
7723 * testsuite/experimental/memory_resource/new_delete_resource.cc:
7724 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
7726 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
7728 * doc/xml/manual/abi.xml: Add latest library versions.
7729 * doc/html/manual/abi.html: Regenerate.
7731 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
7734 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
7735 unused _Alloc_node instance.
7737 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
7739 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
7740 Define as unsigned long if always lock-free, and unsigned int
7743 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
7745 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
7746 __catch macros for exception handling.
7748 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
7751 * include/bits/stl_algobase.h (__lg): Replace six overloads with
7752 a single function template for all integer types.
7753 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
7754 arithmetic results back to _Distance.
7756 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
7759 * include/std/span (span::span()): Un-simplify constraint to
7760 work for size_t of lesser rank than int.
7762 2023-01-07 LIU Hao <lh_mouse@126.com>
7764 PR middle-end/108300
7765 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
7767 * src/c++11/thread.cc: Likewise.
7768 * src/c++17/fs_ops.cc: Likewise.
7769 * src/filesystem/ops.cc: Likewise.
7771 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7774 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
7776 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7779 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
7780 template and partial specialization for synchronizing access to
7781 time_zone::_Impl::infos.
7782 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
7785 2023-01-06 Patrick Palka <ppalka@redhat.com>
7788 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
7789 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
7790 (__cpp_lib_ranges_chunk): Likewise.
7791 (__cpp_lib_ranges_slide): Likewise.
7792 (__cpp_lib_ranges_chunk_by): Likewise.
7793 (__cpp_lib_ranges_join_with): Likewise.
7794 (__cpp_lib_ranges_repeat): Likewise.
7795 (__cpp_lib_ranges_stride): Likewise.
7796 (__cpp_lib_ranges_cartesian_product): Likewise.
7797 (__cpp_lib_ranges_as_rvalue): Likewise.
7798 * include/std/version: Ditto.
7799 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
7801 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
7802 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
7803 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
7804 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
7805 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
7806 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
7807 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
7808 * testsuite/std/ranges/repeat/1.cc: Likewise.
7809 * testsuite/std/ranges/zip/1.cc: Likewise.
7810 * testsuite/std/ranges/version_c++23.cc: New test.
7812 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7815 * include/std/bitset (operator>>): Use alloca in the right
7816 scope, not in a constructor.
7817 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
7819 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7822 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
7823 Disable visiting floating-point types.
7825 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7828 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
7829 (_Safe_iterator::operator--(int)): Do not hold lock around
7830 construction of return value.
7832 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
7834 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
7835 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
7836 lock release. Revise loop.
7837 (__atomic_add): Likewise.
7839 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7842 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
7844 (StdChronoTimePointPrinter::to_string): Use it.
7846 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7849 * include/std/functional (_Bind_front): Add no_unique_address
7850 attribute to data members.
7851 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
7852 size of call wrappers with empty types for targets and bound
7855 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7858 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
7859 using only last component of the name.
7861 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7865 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
7866 the latest symbol version.
7867 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
7868 atomic<_Node*> is not always lock free.
7869 (USE_ATOMIC_LIST_HEAD): New macro.
7870 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
7871 definition of weak symbol.
7872 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
7873 (tzdb_list::_Node::_S_list_head): New function for accessing
7874 list head efficiently.
7875 (tzdb_list::_Node::_S_cache_list_head): New function for
7876 updating _S_list_head.
7878 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7881 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
7882 duration rep is unsigned.
7883 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
7885 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
7888 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
7889 Add __gnu_cxx::zoneinfo_dir_override().
7891 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
7894 * include/std/array (__array_traits<T, 0>::operator T*()): Add
7896 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
7897 std::array<T, 0>::data().
7900 Copyright (C) 2023 Free Software Foundation, Inc.
7902 Copying and distribution of this file, with or without modification,
7903 are permitted in any medium without royalty provided the copyright
7904 notice and this notice are preserved.